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:Anthropic 的 API 暂时过载。

当通过 SSE 接收流式响应时,可能会在返回 200 响应后发生错误,在这种情况下,错误处理将不会遵循这些标准机制。

错误格式

错误始终以 JSON 格式返回,顶层包含一个 error 对象,该对象始终包含 typemessage 值。例如:

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

根据我们的版本控制政策,我们可能会扩展这些对象中的值,并且 type 值可能会随时间增加。

请求 ID

每个 API 响应都包含一个唯一的 request-id 标头。此标头包含类似 req_018EeWyXxfu5pfWkrYcMdjWG 的值。当就特定请求联系支持时,请包含此 ID 以帮助我们快速解决您的问题。

我们的官方 SDK 在顶层响应对象上提供此值作为属性,包含 x-request-id 标头的值:

Was this page helpful?