Skip to main content

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:

FieldTypeRequired
ownerIdstringYes

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:

FieldTypeRequiredDescription
accessLevelintegerYesAccess 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

LevelNamePermissions
1ReadView assistant, use in chats
2WriteEdit assistant, manage skills/datasets/secrets
3AdminFull 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