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:
| Field | Type | Required |
|---|---|---|
ownerId | string | Yes |
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:
| Field | Type | Required | Description |
|---|---|---|---|
accessLevel | integer | Yes | Access 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
| Level | Name | Permissions |
|---|---|---|
| 1 | Read | View toolkit, use tools in chats |
| 2 | Write | Edit toolkit, manage tools, configure settings |
| 3 | Admin | Full 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"]
}
}