Ошибки и лимиты
Agent различает ошибки транспорта (HTTP-коды на запросе) и ошибки обработки (статус failed с человекочитаемым error).
HTTP-коды
| Код | Когда |
|---|---|
401 | Токен отсутствует, невалиден, просрочен или в чёрном списке. |
403 | Задача принадлежит другому пользователю. |
404 | Задача не найдена. |
409 | POST /tool-results или POST /cancel для задачи не в статусе 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 на пользователя), поэтому гонки при параллельных запросах исключены. Дождитесь терминального
статуса части задач или повторите позже.
Сама по себе задача в interrupted терминального статуса не достигнет: она ждёт вашего ответа
и держит слот. Что именно занимает лимит, показывает
GET /api/tasks?status=interrupted; дальше — либо
ответить, либо освободить слот отменой
(POST /api/tasks/{uuid}/cancel, а разом —
POST /api/tasks/cancel-interrupted).
Ошибки обработки (status: failed)
Если задача упала уже в обработке, HTTP-запрос на её создание был успешным, но статус станет
failed, а причина ляжет в error. Сырые тела ответов Aist Back никогда не
попадают в error — только человекочитаемые сообщения.
error | Причина |
|---|---|
Assistant is not available | Ассистент недоступен (404 от Aist Back при создании чата/хода). |
Insufficient balance | Недостаточно баланса (402 от Aist Back). |
Token revoked | Токен отозван в процессе обработки. |
processing), планировщик автоматически переводит задачу в failed. Это защищает
от «зависших» задач.