REST API
Ошибки и лимиты
Agent различает ошибки транспорта (HTTP-коды на запросе) и ошибки обработки (статус failed с человекочитаемым error).
HTTP-коды
| Код | Когда |
|---|---|
401 | Токен отсутствует, невалиден, просрочен или в чёрном списке. |
403 | Задача принадлежит другому пользователю. |
404 | Задача не найдена. |
409 | POST /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. Это защищает
от «зависших» задач.