NormaHub knowledge base

Ошибки и безопасные повторы

Определяйте причину по HTTP-статусу и полю error.code, а для поддержки сохраняйте X-Request-Id.

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

{
  "error": {
    "message": "Human-readable message",
    "type": "invalid_request_error",
    "code": "invalid_request"
  }
}

Коды ответа

400
invalid_request
Проверьте JSON и обязательные поля маршрута.
401
invalid_api_key
Ключ отсутствует, неверен или отозван.
402
insufficient_balance
Пополните баланс владельца API-ключа.
403
model_not_allowed
Модель или endpoint недоступны этому ключу.
413
request_too_large
Уменьшите тело запроса или передаваемый контекст.
429
budget_exceeded
Достигнут лимит API-ключа.
503
provider_unavailable
Временно недоступна модель или upstream-провайдер.

Retry policy

Повторяйте временные 429 и 5xx с exponential backoff и jitter. Ограничивайте количество попыток и общий deadline операции.

Не повторяйте автоматически 400, 401, 402, 403 и 413. Сначала исправьте запрос, ключ, баланс, разрешения или размер payload.

Диагностика

Сохраняйте HTTP-статус, error.code и заголовок X-Request-Id. Не записывайте полный API-ключ и конфиденциальное содержимое запроса в обычные application logs.