REST API

Ошибки и лимиты

Agent различает ошибки транспорта (HTTP-коды на запросе) и ошибки обработки (статус failed с человекочитаемым error).

HTTP-коды

КодКогда
401Токен отсутствует, невалиден, просрочен или в чёрном списке.
403Задача принадлежит другому пользователю.
404Задача не найдена.
409POST /tool-results для задачи не в статусе interrupted.
422Тело запроса не прошло валидацию.
429Превышен лимит активных задач.

422 — валидация

{ "message": "…", "errors": { "input": ["The input field is required."] } }

429 — лимит задач

{ "message": "Too many active tasks. Maximum 5 concurrent tasks allowed." }

Лимит активных задач

Одновременно у пользователя допускается не более 5 активных задач — в статусах pending, processing или interrupted. Проверка и создание атомарны (Redis-lock на пользователя), поэтому гонки при параллельных запросах исключены. Дождитесь терминального статуса части задач или повторите позже.

Ошибки обработки (status: failed)

Если задача упала уже в обработке, HTTP-запрос на её создание был успешным, но статус станет failed, а причина ляжет в error. Сырые тела ответов Aist Back никогда не попадают в error — только человекочитаемые сообщения.

errorПричина
Assistant is not availableАссистент недоступен (404 от Aist Back при создании чата/хода).
Insufficient balanceНедостаточно баланса (402 от Aist Back).
Token revokedТокен отозван в процессе обработки.
Таймаут принятия
Если Aist Core не подтвердил приём задачи в течение 30 секунд (не пришёл webhook processing), планировщик автоматически переводит задачу в failed. Это защищает от «зависших» задач.