Skip to main content

Sharing & Ownership

Endpoints for managing toolkit access and ownership.

Ownership

GET /api/toolkits/{id}/owner

Get the owner of a toolkit.

Response:

{
"ownerId": "team:engineering",
"ownerType": "team"
}

PUT /api/toolkits/{id}/owner

Change toolkit ownership.

Permission: toolkit:changeOwner

Request Body:

FieldTypeRequired
ownerIdstringYes

Response: Updated toolkit object


Shares

GET /api/toolkits/{id}/shares

List all shares for a toolkit.

Permission: toolkit:read

Response:

{
"_links": {
"self": { "href": "/api/toolkits/{id}/shares" }
},
"_embedded": {
"inf:share": [
{
"toolkitId": "team:github-toolkit",
"principalId": "team:product",
"accessLevel": 2,
"createdAt": "2024-01-15T10:00:00Z"
}
]
},
"start": 0,
"count": 1,
"total": 1
}

GET /api/toolkits/{id}/shares/{principalId}

Get a specific share.

Response: Share object

PUT /api/toolkits/{id}/shares/{principalId}

Create or update a share.

Permission: toolkit:share

Request Body:

FieldTypeRequiredDescription
accessLevelintegerYesAccess level (1=read, 2=write, 3=admin)

Example Request:

{
"accessLevel": 2
}

Response: Share object

DELETE /api/toolkits/{id}/shares/{principalId}

Remove a share.

Permission: toolkit:share

Response: 204 No Content


Access Levels

LevelNamePermissions
1ReadView toolkit, use tools in chats
2WriteEdit toolkit, manage tools, configure settings
3AdminFull control, change ownership, manage shares

GET /api/toolkits/{id}/driver

Get the driver implementation for a toolkit.

Permission: toolkit:read

Response:

{
"id": "mcp-remote",
"name": "MCP Remote",
"description": "Remote MCP server integration",
"capabilities": {
"discovery": true,
"streaming": true,
"authentication": ["oauth", "apikey"]
}
}