Sharing & Ownership
Endpoints for managing assistant access and ownership.
Ownership
GET /api/assistants/{id}/owner
Get the owner of an assistant.
Response:
{
"ownerId": "team:analytics",
"ownerType": "team"
}
PUT /api/assistants/{id}/owner
Change assistant ownership.
Permission: assistant:changeOwner
Request Body:
| Field | Type | Required |
|---|---|---|
ownerId | string | Yes |
Response: Updated assistant object
Shares
GET /api/assistants/{id}/shares
List all shares for an assistant.
Authentication: Required (AI seat)
Response:
{
"_links": {
"self": { "href": "/api/assistants/{id}/shares" }
},
"_embedded": {
"inf:share": [
{
"assistantId": "team:sales-assistant",
"principalId": "team:marketing",
"accessLevel": 2,
"createdAt": "2024-01-15T10:00:00Z"
}
]
},
"start": 0,
"count": 1,
"total": 1
}
GET /api/assistants/{id}/shares/{principalId}
Get a specific share.
Response: Share object
PUT /api/assistants/{id}/shares/{principalId}
Create or update a share.
Permission: assistant: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/assistants/{id}/shares/{principalId}
Remove a share.
Permission: assistant:share
Response: 204 No Content
Access Levels
| Level | Name | Permissions |
|---|---|---|
| 1 | Read | View assistant, use in chats |
| 2 | Write | Edit assistant, manage skills/datasets/secrets |
| 3 | Admin | Full control, change ownership, manage shares |
Favorites
GET /api/assistants/{id}/favorite
Check if assistant is favorited by current user.
Response:
{
"favorited": true
}
PUT /api/assistants/{id}/favorite
Add assistant to favorites.
Response: Favorite object
DELETE /api/assistants/{id}/favorite
Remove assistant from favorites.
Response: 204 No Content