Developer guide
Код ошибки
Действия и правила повторной попытки по кодам состояния
Если апстрим возвращает 4xx·5xx, шлюз передаёт этот код без изменений; в остальных случаях применяются правила из таблицы ниже.
400·401·403·404·413 — это коды, требующие исправления запроса или настроек, а 409·429·5xx — коды, при которых клиенту следует подождать и повторно отправить тот же запрос.
Формат тела ошибки различается в зависимости от спецификации, а error.type в пути, совместимом с Anthropic, определяется кодом состояния.
Причина ошибки 403 определяется по error.message, а значения лимитов и использования проверяются в консоли.
Код состояния
| Код | Значение | Действия |
|---|---|---|
| 400 | Недопустимое значение запроса. Параметр limit списка моделей, совместимых с Anthropic, выходит за пределы 1–1000, либо предпринята попытка продолжить потоковую передачу сохранённого ответа через GET /responses/{responseId}?stream=true. | Исправьте значение, чтобы оно находилось в допустимом диапазоне. Получайте сохранённый ответ без stream. |
| 401 | Ключ отсутствует, истёк или был отозван. | Проверьте состояние ключа на странице API-ключей, а также имя заголовка и префикс Bearer. |
| 403 | Нет разрешения на доступ к модели, превышен лимит использования, недостаточно кредитов или вы не являетесь владельцем голоса. | Проверьте причину в error.message, а числовые значения — на экране в разделе проверки лимитов и использования ниже. |
| 404 | Модель не существует или недоступна с этим ключом (включая модели, поддержка которых прекращена). Также возвращается, если вызван несуществующий путь или запрошен результат CleviDrive после истечения 3-дневного срока хранения. | Сначала проверьте список моделей, доступных для вызова, с помощью GET /models. Сверьте путь с таблицей на странице «Вызов API». |
| 408 · 409 · 413 | Превышено время ожидания вышестоящего сервиса, возникла перегрузка или превышен размер запроса. Ограничение времени для голосовых и voice-путей составляет 5 минут, а максимальный размер запроса — 28 MiB. | Если в ответе 409 есть Retry-After, подождите указанное время и повторите тот же запрос. При 413 разделите запрос на части. |
| 429 | Вышестоящий поставщик применил ограничение скорости. | Если есть Retry-After, подождите указанное время и повторите запрос; если его нет, выполните повторную попытку с экспоненциальной задержкой. |
| 5xx | Временная ошибка шлюза или вышестоящего сервиса (включая 503). | Выполните повторную попытку с экспоненциальной задержкой. Если ошибка повторяется, обратитесь в службу поддержки. |
Код 402 не возвращается. Недостаток кредитов и превышение лимита использования возвращаются как 403.
Повторные попытки и обращение в службу поддержки
Шлюз не генерирует собственные ответы 429 и не выполняет повторные попытки или постановку в очередь вместо вышестоящего сервиса. Ожидание и повторные попытки выполняет клиент.
При обращении в службу поддержки сообщите об этом через раздел «Справка и контакты», указав X-Request-Id. Если X-Request-Id не был отправлен, значение, выданное сервером, находится в заголовке request-id ответа, совместимого с Anthropic.
Тело ошибки
Формат тела ошибки зависит от спецификации. Ошибки upstream передаются в сокращённом виде только с сообщением; стек и внутренние поля не передаются.
Тело ошибки для совместимого с OpenAI пути.
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}Тело ошибки для совместимого с Anthropic пути. Значение error.type определяется в зависимости от кода состояния, как указано в таблице ниже.
{
"type": "error",
"error": {
"type": "authentication_error",
"message": "..."
},
"request_id": "rqid..."
}| Код состояния | error.type |
|---|---|
| 400 | invalid_request_error |
| 401 | authentication_error |
| 403 | permission_error |
| 404 | not_found_error |
| 413 | request_too_large |
| 429 | rate_limit_error |
| 529 | overloaded_error |
| Другие коды | api_error |
Проверка лимитов и использования
Значения лимитов различаются для каждого рабочего пространства. Проверьте причину ошибки 403 в error.message, затем проверьте значения на следующих экранах.
| Что проверить | Экран консоли |
|---|---|
| Лимиты, применяемые к рабочему пространству | Назначенные лимиты использования в разделе «Обзор» |
| Диапазон, разрешённый планом, и остаток | План и кредиты |
| Фактическое использование (количество вызовов по моделям и ключам, предполагаемое списание кредитов) | Использование |
| Состояние ключа (истёк ли срок действия или был ли ключ отозван) | API-ключи |