Ошибки возвращаются в формате OpenAI (а на /v1/messages — в формате Anthropic), поэтому SDK показывают их сообщения как есть. Сообщения — на русском.
{
"error": {
"message": "Недостаточно средств: доступно 1.20 ₽ ...",
"type": "insufficient_quota",
"code": "insufficient_balance"
}
}
| HTTP | code | Что случилось и что делать |
|---|---|---|
| 401 | missing_api_key invalid_api_key revoked_api_key | Ключ не передан, не существует или отозван. Проверьте заголовок Authorization: Bearer sk-neurly-… и ключ в кабинете. |
| 402 | insufficient_balance | Не хватает баланса на ориентировочную стоимость запроса. Пополните или включите автопополнение. |
| 403 | account_blocked | Аккаунт заблокирован — напишите в поддержку. |
| 404 | model_not_found | Модели с таким слагом нет. Сверьтесь с каталогом: формат провайдер/модель. |
| 429 | key_budget_exhausted | Исчерпан бюджет ключа — поднимите лимит в кабинете или дождитесь сброса периода. |
| 400–499 | — | Ошибка провайдера о параметрах запроса (пробрасываем как есть). Стоимость не списывается. |
| 502 | upstream_error | Провайдер модели не ответил. Мы ничего не списали — просто повторите запрос. |
| 503 | upstream_unavailable | Сервис временно недоступен, проверьте статус. |
Каждый ответ содержит заголовок X-Neurly-Request-Id. Прикладывайте его к письму в поддержку — найдём запрос за минуту. Тот же id виден в журнале запросов.
На 5xx безопасно ретраить с экспоненциальной задержкой: за неудавшиеся запросы мы не списываем деньги, дублей списаний не будет.