Errors
Формат ошибок и типичные коды ответов AllTokens API.
Формат ответа об ошибке
Ошибки возвращаются в виде JSON с полем error:
json
{
"error": {
"code": 400,
"message": "Detailed error description"
}
}В части endpoint'ов может присутствовать вложенная структура (например error.message, error.metadata). Поле message даёт краткое описание, пригодное для логирования и отображения пользователю.
HTTP-коды
| Код | Описание |
|---|---|
| 400 | Bad Request — неверные параметры, отсутствует обязательное поле, невалидный JSON |
| 401 | Unauthorized — отсутствует или неверный API-ключ (Authorization / X-API-Key) |
| 404 | Not Found — модель не найдена, генерация не найдена, нет подходящих моделей/провайдеров по заданным ограничениям |
| 429 | Too Many Requests — превышен лимит запросов (rate limit). В заголовках могут быть X-Rate-Limit-* |
| 500 | Internal Server Error — внутренняя ошибка сервера |
Типичные сообщения
- 400 — "Query parameter 'id' is required", "Request body is required", "Invalid JSON", "generation_id is required (body or query)"
- 401 — "Unauthorized"
- 404 — "Model not found", "Generation not found", "No models match your request and model restrictions", "No allowed providers are available for the selected model" (в metadata может быть список доступных провайдеров)
- 429 — предел запросов; повторите позже или учтите заголовки X-Rate-Limit-Remaining, X-Rate-Limit-Reset
- 500 — "Internal server error", "Route preview failed", "Failed to fetch generation"
Рекомендации
- Всегда проверяйте HTTP-код и при 4xx/5xx разбирайте тело ответа (error.message).
- При 429 используйте экспоненциальную задержку перед повтором.
- При 404 на generation (GET /api/v1/generation или route/explain) метаданные могут появляться с задержкой — повторите запрос через 1–2 секунды.