RenderFox AI
FC +
Войти Регистрация

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

Ошибки OpenAI-совместимых endpoints содержат error.message, type, code, param и request_id. Messages использует собственную формат ошибок Anthropic. Заголовок X-Request-ID помогает найти запрос при обращении в поддержку.

HTTP-коды

  • 400: некорректный JSON, отсутствующий или неправильный Idempotency-Key.
  • 401: ключ невалиден, отозван, истёк или принадлежит другому окружению.
  • 402: недостаточно FC или превышен бюджет ключа; генерация не запускалась.
  • 403: недостаточно прав, запрещённая модель или IP.
  • 404: недоступная модель, чужой/отсутствующий объект или несохранённый Responses.
  • 409: конфликт idempotency, уже принятый незавершённый запрос или изменившийся расчёт стоимости.
  • 413 / 422: размер либо параметры запроса не соответствуют контракту.
  • 429: лимит запросов, токенов или параллельных запросов; используйте Retry-After.
  • 500 / 502 / 503 / 504: внутренняя ошибка, провайдер, недоступность или deadline; проверьте состояние запроса перед повтором.

Idempotency

Пример ответа с HTTP 401:

json
{
  "error": {
    "message": "Invalid API key",
    "type": "authentication_error",
    "code": "invalid_api_key",
    "param": null,
    "request_id": "req_0123456789abcdef0123456789abcdef"
  }
}

Одинаковые аккаунт, метод, Idempotency-Key и тело возвращает тот же запрос и результат. Изменённое тело с тем же ключом даёт 409. Рекомендуется UUID, сохранённый клиентом до запроса. Максимум 128 видимых ASCII-символов.

Не создавайте новый Idempotency-Key после неизвестного timeout. Провайдер мог принять исходный запрос. Location ведёт на /v1/requests/{id}; для чтения нужен usage:read. Повтор не должен означать новую платную попытку.

Лимиты и retry

Ответы включают X-RateLimit-Limit/Remaining для requests и tokens, reset UTC и Retry-After для 429. Лимит токенов в минуту учитывает предварительный резерв. Ротация ключа не обнуляет бюджетную группу.

Сообщения об ошибках не содержат секретов и содержимого вашего запроса. Для обращения в поддержку достаточно идентификатора запроса и времени UTC, без полного API-ключа.