Ошибки
HTTP ошибки
Наш API следует предсказуемому формату HTTP кодов ошибок:
-
400 -
invalid_request_error
: Возникла проблема с форматом или содержанием вашего запроса. Мы также можем использовать этот тип ошибки для других статус-кодов 4XX, не перечисленных ниже. -
401 -
authentication_error
: Проблема с вашим API ключом. -
403 -
permission_error
: Ваш API ключ не имеет разрешения на использование указанного ресурса. -
404 -
not_found_error
: Запрашиваемый ресурс не найден. -
413 -
request_too_large
: Запрос превышает максимально допустимое количество байтов. -
429 -
rate_limit_error
: Ваша учетная запись достигла лимита скорости. -
500 -
api_error
: Произошла неожиданная ошибка внутри систем Anthropic. -
529 -
overloaded_error
: API Anthropic временно перегружен.Ошибки 529 могут возникать, когда API Anthropic испытывают высокий трафик среди всех пользователей. В редких случаях, если у вашей организации резко увеличилось использование, вы можете увидеть этот тип ошибки. Чтобы избежать ошибок 529, постепенно увеличивайте свой трафик и поддерживайте постоянные паттерны использования.
При получении потокового ответа через SSE возможно, что ошибка может произойти после возврата ответа 200, в этом случае обработка ошибок не будет следовать этим стандартным механизмам.
Формы ошибок
Ошибки всегда возвращаются в формате JSON с объектом верхнего уровня error
, который всегда включает значения type
и message
. Например:
В соответствии с нашей политикой версионирования, мы можем расширить значения внутри этих объектов, и возможно, что значения type
будут расти со временем.
ID запроса
Каждый ответ API включает уникальный заголовок request-id
. Этот заголовок содержит значение, такое как req_018EeWyXxfu5pfWkrYcMdjWG
. При обращении в службу поддержки по поводу конкретного запроса, пожалуйста, включите этот ID, чтобы помочь нам быстро решить вашу проблему.
Наши официальные SDK предоставляют это значение как свойство объектов ответа верхнего уровня, содержащее значение заголовка request-id
:
Длительные запросы
Мы настоятельно рекомендуем использовать потоковый Messages API или Message Batches API для длительных запросов, особенно тех, которые выполняются более 10 минут.
Мы не рекомендуем устанавливать большие значения max_tokens
без использования нашего потокового Messages API
или Message Batches API:
- Некоторые сети могут разрывать неактивные соединения через переменный период времени, что может привести к сбою запроса или таймауту без получения ответа от Anthropic.
- Сети различаются по надежности; наш Message Batches API может помочь вам управлять риском сетевых проблем, позволяя вам опрашивать результаты вместо требования непрерывного сетевого соединения.
Если вы создаете прямую интеграцию с API, вы должны знать, что установка TCP socket keep-alive может уменьшить влияние таймаутов неактивных соединений в некоторых сетях.
Наши SDK будут проверять, что ваши не-потоковые запросы Messages API не ожидаются превысить 10-минутный таймаут, а также установят опцию сокета для TCP keep-alive.