Developer guide
Код помилки
Дії та правила повторних спроб за кодами стану
Шлюз передає код без змін, якщо upstream повертає 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 | Перевищено час очікування висхідного сервера, виникло перевантаження або перевищено розмір запиту. Для шляхів голосу й озвучення обмеження часу становить 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 |