REST API
Assistants
Where to get assistant_id and llm_model_id: the list of assistants the token owner can see, and the models of each one.
Listing assistants
GET
/api/assistants
Returns the same assistants the token owner sees in the Aist Ai catalog: the user's own assistants plus the
catalog of their organization, bundle or plan. id is the assistant_id you pass when
creating a task.
curl https://agent.aist-ai.com/api/assistants \ -H "Authorization: Bearer $AIST_AGENT_TOKEN" \ -H "Accept: application/json"
{
"data": [
{
"id": 3,
"slug": "writer",
"title": "Editor",
"description": "Writes and edits texts",
"avatar_url": "https://…",
"owned": false,
"categories": ["Work", "Creativity"]
}
]
}
| Field | Description |
|---|---|
id | assistant_id for POST /api/tasks. |
slug | Key for requesting the assistant's models (see below). |
title, description, avatar_url | Display data — same as in the catalog. |
owned | true — the assistant was created by the user. |
categories | Catalog categories. Each assistant appears once, even if it belongs to several. |
Hidden assistants are not listed
The list matches what the user sees on the website. Assistants that aren't in the catalog (internal ones,
built for integrations) don't show up here — the platform administrator gives you their assistant_id
along with access. You create tasks with such an ID as usual.
Code execution is not available through Agent yet
Assistants called through Agent don't run code: even if an assistant can do it in the catalog, it won't have
that tool in a task, and code_execution in options is false.
Reading spreadsheets and documents works as usual.
Video works like images
If an assistant has a video generator, the clip is generated right inside the task and arrives as a
file item in output. Unlike the chat on the website, Agent has no confirmation step.
Assistant models
GET
/api/assistants/{slug}
Pass models[].id to a task as llm_model_id. Without it, the assistant answers with the
model marked is_default: true. An assistant the token can't access returns 404.
{
"id": 3,
"slug": "writer",
"title": "Editor",
"description": "Writes and edits texts",
"avatar_url": "https://…",
"models": [
{ "id": 11, "label": "Fast", "description": null, "is_default": true, "features": [] },
{ "id": 12, "label": "Deep", "description": "Thinks longer", "is_default": false, "features": [] }
],
"options": { "internet_search": true, "read_documents": true, … }
}
# A task for a specific model of the assistant { "assistant_id": 3, "llm_model_id": 12, "input": [{ "type": "text", "text": "…" }] }
Errors
| Code | When |
|---|---|
401 | The token was not accepted, has expired or was revoked. |
404 | No assistant with this slug, or the token can't access it. |
502 | Aist Backend is temporarily unavailable — try again later. |
The same without writing code — in the dashboard: paste your token, and the assistants with their models are on the Assistants tab.