Nika Gateway

Коды ошибок

Формат ошибок API и коды 401, 402, 403, 429 — причины и что делать

Коды ошибок

Формат ошибки

Ошибки возвращаются в формате OpenAI:

{
  "error": {
    "message": "Недостаточно средств на балансе",
    "type": "billing_error",
    "code": "insufficient_funds"
  }
}

Коды шлюза

КодЗначениеЧто делать
401Невалидный ключ или истёк его срок жизниПроверьте ключ; при истёкшем сроке создайте новый в кабинете
402Недостаточно средств на балансеПополните баланс. Запрос к провайдеру в этом случае не уходит
403Бюджет ключа исчерпан или модель не разрешена для ключаДождитесь авто-сброса бюджета, увеличьте бюджет или поправьте список моделей в настройках ключа
429Превышен rate limitПовторяйте запрос с экспоненциальной задержкой (backoff)

Ошибки провайдера

Если ошибку вернул сам провайдер (4xx/5xx апстрима), шлюз пробрасывает её ответ как есть, а зарезервированные средства возвращает на баланс полностью. При 5xx и 429 от провайдера шлюз сам выполняет повторные попытки.

Рекомендации по повторам

  • 429 — повтор с экспоненциальной задержкой и джиттером (1s, 2s, 4s, …).
  • 5xx провайдера — безопасно повторять: деньги за неотработанный запрос не списываются.
  • 400 — не повторять: исправьте запрос (неизвестная модель, пустой messages и т.п.).
  • 401 / 402 / 403 — повтор бессмысленен до устранения причины.

Диагностика

  • GET /v1/balance — проверить баланс аккаунта;
  • GET /v1/key — проверить остаток бюджета и срок действия ключа;
  • поле code в теле ошибки — машиночитаемая причина (insufficient_funds, budget_exceeded, model_not_allowed и т.д.).