REST API
Результат и статусы
GET /api/tasks/{uuid} возвращает текущий статус и, для завершённых задач, результат в поле turn.
GET
/api/tasks/{uuid}
Ответ
| Поле | Тип | Описание |
|---|---|---|
uuid | string | Идентификатор задачи. |
status | string | Текущий статус (см. ниже). |
turn | object | null | Результат от Aist Core. Заполнен при completed. См. Структура turn. |
error | string | null | Человекочитаемая причина при failed. |
created_at | string | Момент создания задачи. |
completed_at | string | null | Момент перехода в терминальный статус. |
pending_tool_calls | array | Только при interrupted — вызовы клиентских инструментов, ждущие ответа. |
Жизненный цикл статусов
pending ──▶ processing ──┬──▶ completed # успех, turn заполнен ├──▶ failed # ошибка, error заполнен └──▶ interrupted ──▶ processing ──▶ … # ждём client_tools
| Статус | Значение |
|---|---|
pending | Задача в очереди, ещё не отправлена в Aist Core. |
processing | Aist Core принял ход и обрабатывает его. |
interrupted | Модель вызвала клиентский инструмент — ждёт результата от вас. См. Клиентские инструменты. |
completed | Терминальный. Результат в turn. |
failed | Терминальный. Причина в error. |
Терминальные статусы — completed и failed: после них задача не меняется.
interrupted — промежуточный: он требует вашего действия и снова переходит в
processing после отправки результатов инструментов.
Стратегия опроса
Опрашивайте GET /api/tasks/{uuid} с интервалом ~1–2 с, пока status не станет
терминальным (или interrupted, если используете клиентские инструменты). SDK делает это
за вас — см. waitForTask.
Доступ только владельцу
Задачу можно получить только тем же пользователем (sub в JWT), что её создал —
иначе 403. Завершённые и упавшие задачи хранятся 30 дней, затем удаляются.