Ошибки

Тела ошибок — конверт OpenAI:

{ "error": { "message": "insufficient balance", "type": "invalid_request_error", "code": "..." } }

Коды

КодСмыслЧто делать
400Плохой JSON или несовместимые поляПоправьте тело
401Нет ключа, неизвестный или отозванныйВыпустите новый ключ
402Не хватает балансаПополните
404Неизвестный путь или model_not_foundПроверьте /v1/models
429Лимит одновременных запросов хостаПодождите или включите повтор
502Апстрим / нет хоста / запасной маршрут упалПовторите позже; смотрите статус
504 / таймаут клиентаХост медленный или промпт слишком большойУвеличьте таймаут клиента; урежьте контекст

Сообщения, которые вы реально увидите

Когда повторять

Повторяйте 429 и 502 с джиттером. Не повторяйте 401 и 402. Не долбите 404 model_not_found в цикле — ждите, пока модель вернётся в /v1/models.

Статус и ваш запрос

Страница статуса может показать модель «здоровой» (шарды есть), а ваш запрос всё равно получит 429. Здоровье — это инвентарь. 429 — это полная очередь.