Skills Management
Endpoints for managing assistant skills (capabilities).
GET /api/assistants/{id}/skills
List all skills for an assistant.
Authentication: Required (AI seat)
Response:
{
"_links": {
"self": { "href": "/api/assistants/{id}/skills" }
},
"_embedded": {
"inf:assistant-skill": [
{
"id": "skill-123",
"assistantId": "team:sales-assistant",
"type": "dataset-query",
"name": "Query Sales Data",
"description": "Search and analyze sales records",
"data": {},
"datasetId": "sales-data",
"dataset": {
"id": "sales-data",
"name": "Sales Data"
}
}
]
},
"start": 0,
"count": 1,
"total": 1
}
POST /api/assistants/{id}/skills
Add a skill to an assistant.
Permission: assistant:write
Request Body:
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Skill type (e.g., dataset-query, web-search) |
name | string | No | Skill name |
description | string | No | Skill description |
data | object | No | Skill configuration (default: ) |
datasetId | string | No | Associated dataset ID |
datasourceId | string | No | Associated datasource ID |
reportId | string | No | Associated report ID |
queryId | string | No | Associated query ID |
templateId | string | No | Associated template ID |
integrationId | string | No | Associated integration ID |
Response: 201 Created
GET /api/assistants/{id}/skills/{skillId}
Get a specific skill.
Response: Skill object
PUT /api/assistants/{id}/skills/{skillId}
Update a skill.
Permission: assistant:write
Request Body: Same fields as POST
Response: Updated skill object
DELETE /api/assistants/{id}/skills/{skillId}
Remove a skill from an assistant.
Permission: assistant:write
Response: 204 No Content
GET /api/assistants/{id}/skills/{skillId}/driver
Get the skill driver implementation details.
Response:
{
"id": "dataset-query",
"name": "Dataset Query",
"description": "Query and analyze dataset records",
"toolDefinition": {...}
}