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. Мы рекомендуем наращивать нагрузку постепенно и поддерживать постоянные схемы использования.

При получении потокового ответа через SSE возможно возникновение ошибки после возврата ответа 200, в этом случае обработка ошибок не будет следовать этим стандартным механизмам.

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

Ошибки всегда возвращаются в формате JSON с объектом верхнего уровня error, который всегда включает значения type и message. Например:

JSON
{
  "type": "error",
  "error": {
    "type": "not_found_error",
    "message": "The requested resource could not be found."
  }
}

В соответствии с нашей политикой версионирования, мы можем расширять значения внутри этих объектов, и возможно, что значения type будут со временем увеличиваться.

Идентификатор запроса

Каждый ответ API включает уникальный заголовок request-id. Этот заголовок содержит значение, такое как req_018EeWyXxfu5pfWkrYcMdjWG. При обращении в службу поддержки по поводу конкретного запроса, пожалуйста, укажите этот ID, чтобы помочь нам быстро решить вашу проблему.

Наши официальные SDK предоставляют это значение как свойство объектов ответа верхнего уровня, содержащее значение заголовка x-request-id:

Длительные запросы

Мы настоятельно рекомендуем использовать потоковый API сообщений или API пакетов сообщений для длительных запросов, особенно тех, которые длятся более 10 минут.

Мы не рекомендуем устанавливать большие значения max_tokens без использования нашего потокового API сообщений или API пакетов сообщений:

  • Некоторые сети могут разрывать неактивные соединения через определенный период времени, что может привести к сбою запроса или тайм-ауту без получения ответа от Anthropic.
  • Сети различаются по надежности; наш API пакетов сообщений может помочь вам управлять риском проблем с сетью, позволяя опрашивать результаты, а не требовать непрерывного сетевого соединения.

Если вы создаете прямую интеграцию с API, вы должны знать, что установка TCP socket keep-alive может уменьшить влияние тайм-аутов неактивных соединений в некоторых сетях.

Наши SDK проверят, что ваши не потоковые запросы API сообщений не превысят тайм-аут в 10 минут и также установят параметр сокета для TCP keep-alive.