REST API

Результат и статусы

GET /api/tasks/{uuid} возвращает текущий статус и, для завершённых задач, результат в поле turn.

GET /api/tasks/{uuid}

Потеряли uuid или нужно окинуть взглядом все свои задачи — есть список задач с фильтром по статусу.

Ответ

ПолеТипОписание
uuidstringИдентификатор задачи.
statusstringТекущий статус (см. ниже).
turnobject | nullРезультат от Aist Core. Заполнен при completed. См. Структура turn.
errorstring | nullЧеловекочитаемая причина при failed; при canceled — переданный вами reason.
created_atstringМомент создания задачи.
completed_atstring | nullМомент перехода в терминальный статус.
pending_tool_callsarrayТолько при interrupted — вызовы клиентских инструментов, ждущие ответа.

Жизненный цикл статусов

pending ──▶ processing ──┬──▶ completed        # успех, turn заполнен
                         ├──▶ failed            # ошибка, error заполнен
                         └──▶ interrupted ──┬──▶ processing ──▶ …   # ждём client_tools
                                            └──▶ canceled          # отказались отвечать
СтатусЗначение
pendingЗадача в очереди, ещё не отправлена в Aist Core.
processingAist Core принял ход и обрабатывает его.
interruptedМодель вызвала клиентский инструмент — ждёт результата от вас. См. Клиентские инструменты.
completedТерминальный. Результат в turn.
failedТерминальный. Причина в error.
canceledТерминальный. Вы отказались от прерванной задачи через POST /api/tasks/{uuid}/cancel — причина в error.

Терминальные статусы — completed, failed и canceled: после них задача не меняется. interrupted — промежуточный: он требует вашего действия и снова переходит в processing после отправки результатов инструментов либо заканчивается canceled, если вы отказались отвечать.

Стратегия опроса

Опрашивайте GET /api/tasks/{uuid} с интервалом ~1–2 с, пока status не станет терминальным (или interrupted, если используете клиентские инструменты). SDK делает это за вас — см. waitForTask.

Доступ только владельцу
Задачу можно получить только тем же пользователем (sub в JWT), что её создал — иначе 403. Завершённые, упавшие и отменённые задачи хранятся 30 дней, затем удаляются.