Ошибки
Обработка ошибок
Наше API использует стандартные коды ответов HTTP для индикации успеха или неудачи запроса. В случае ошибки тело ответа будет содержать JSON-объект с дополнительной информацией, помогающей диагностировать проблему.
Структура ответа при ошибке
Все ошибки, возвращаемые API, имеют единую структуру для удобства программной обработки.
{
"error": {
"message": "Подробное описание того, что пошло не так.",
"type": "тип_ошибки",
"code": 4xx_или_5xx_код
}
}
message
(string): Человекочитаемое описание ошибки.type
(string): Уникальный идентификатор типа ошибки (например,unauthorized_request
,rate_limit
).code
(integer): HTTP-код состояния, соответствующий ошибке.
Коды ошибок
Ниже приведено подробное описание основных ошибок, с которыми вы можете столкнуться.
400 Bad Request
Тип: bad_request
Эта ошибка указывает на то, что сервер не смог обработать ваш запрос из-за фундаментальной проблемы в нём, не связанной с валидацией полей (см. ошибку 422).
Возможные причины:
- Запрос не соответствует требованиям безопасности или цензуры.
- Запрос содержит неподдерживаемые или недоступные данные.
- Общая некорректность запроса, которую сервер не может обработать.
401 Unauthorized
Тип: unauthorized_request
Возникает, если ваш запрос не был авторизован.
Возможные причины:
- API ключ не предоставлен в заголовке
Authorization
. - Предоставленный API ключ недействителен или указан с ошибкой.
402 Payment Required
Тип: zero_balance
Эта ошибка означает, что на балансе вашего API ключа недостаточно средств для выполнения запроса.
Возможные причины:
- Ваш баланс равен нулю.
403 Forbidden
Тип: access_forbidden
Доступ к API временно или постоянно запрещён. Эта мера предназначена для защиты сервиса от злоупотреблений и непреднамеренных DDoS-атак.
Возможные причины:
- Слишком большое количество запросов с неверным API ключом (ошибка 401) за короткий промежуток времени.
- Слишком большое количество запросов к API при нулевом балансе (ошибка 402).
- Слишком частое превышение лимитов на запросы (ошибка 429).
- Попытка подбора API ключа или кода пополнения может привести к постоянной блокировке без возможности разблокировки.
404 Not Found
Тип: not_found
Указывает, что запрашиваемый ресурс не найден.
Возможные причины:
- ID модели, указанный в запросе, не существует или модель отключена.
- Вы пытаетесь использовать модель с конечной точкой (эндпоинтом), которая её не поддерживает (например, модель для генерации текста в эндпоинте для генерации изображений).
- Неверный URL-адрес конечной точки API.
408 Request Timeout
Тип: request_timeout
Возникает, если обработка вашего запроса моделью заняла слишком много времени и была прервана, чтобы избежать "зависания".
Возможные причины:
- Высокая нагрузка на модель.
- Внутренний сбой модели при обработке сложного запроса.
413 Payload Too Large
Тип: payload_too_large
Эта ошибка означает, что ваш запрос слишком велик для обработки.
Возможные причины:
- Количество токенов в вашем запросе (например, в поле
messages
для чат-моделей) превышает максимальную длину контекста для выбранной модели.
422 Unprocessable Entity
Тип: invalid_request_error
Указывает на то, что запрос синтаксически корректен, но содержит неверные или невалидные значения в полях, которые не соответствуют документации.
Возможные причины:
- Неверное значение для перечисляемого поля (например,
role: "userok"
вместоrole: "user"
). - Неподдерживаемый размер изображения, неверный формат данных и т.д.
- В поле
message
ответа на эту ошибку обычно содержится подробная информация о том, какое именно поле и почему является невалидным.
429 Too Many Requests
Тип: rate_limit
Возникает, когда вы превысили свой лимит на количество запросов в минуту (RPM).
Возможные причины:
- Слишком высокая частота отправки запросов. Проверьте ваш текущий лимит RPM.
500 Internal Server Error
Тип: internal_server_error
Общая ошибка, указывающая на непредвиденный сбой на стороне нашего сервера. Если вы столкнулись с этой ошибкой, пожалуйста, повторите запрос позже.
503 Service Unavailable
Тип: service_unavailable
Эта ошибка означает, что запрашиваемая вами модель в данный момент недоступна.
Возможные причины:
- Модель перегружена запросами.
- Возникли временные технические проблемы со стороны провайдера модели.