← Главная

Claude API 错误

Claude API 错误实用参考:响应格式、HTTP 状态码、常见原因以及安全重试规则。

更新于:2026 年 7 月 25 日。

错误格式

Claude API Tech 可以返回 Anthropic 或 OpenAI 兼容格式的错误。两种格式的 error 对象都包含错误类型和说明;Anthropic 格式中的 request_id 可帮助在调试或联系支持时定位具体请求。

Anthropic Error Format

JSON
{
  "type": "error",
  "error": {
    "type": "rate_limit_error",
    "message": "Rate limit exceeded"
  },
  "request_id": "req_..."
}

OpenAI Error Format

JSON
{
  "error": {
    "message": "Invalid model ID",
    "type": "invalid_request_error",
    "code": "invalid_model"
  }
}

常见 HTTP 错误

HTTP类型含义
400invalid_request_errorJSON 无效、缺少必填字段、模型不支持某参数,或 messages 结构错误。
401authentication_errorAPI 密钥缺失、格式错误、已撤销或已过期。
403permission_error密钥有效,但无权访问模型、workspace 或其他资源。
404not_found_errorEndpoint、模型或资源 ID 不存在。
409conflict_error请求与资源当前状态冲突,例如资源被并发修改。
413request_too_largeHTTP 请求体过大。Anthropic 对 Messages 和 Token Counting API 的限制为 32 MB。
429rate_limit_error超出请求数、输入 token 或输出 token 限制;流量突然增长也可能触发加速限制。
500api_errorAPI 发生意外的内部错误。
504timeout_errorAPI 未能及时完成请求。
529overloaded_errorAPI 因整体流量暂时过载。

安全重试规则

仅重试临时错误,并逐次增加尝试之间的等待时间。

  1. 1遇到 429、500、504 和 529 时可以重试;其他 4xx 错误应先修正请求。
  2. 2服务器返回 retry-after 请求头时,始终遵守其中的等待时间。
  3. 3没有 retry-after 时,使用带随机 jitter 和最大延迟限制的指数退避。
  4. 4限制尝试次数,保留 request_id,不要盲目重试非幂等操作。
const RETRYABLE = new Set([429, 500, 504, 529]); async function requestWithRetry(url: string, init: RequestInit) {  for (let attempt = 0; attempt < 5; attempt++) {    const response = await fetch(url, init);    if (response.ok) return response;     if (!RETRYABLE.has(response.status) || attempt === 4) {      throw new Error(`Request failed: ${response.status}`);    }     const retryAfter = response.headers.get("retry-after");    const retryAfterSeconds = Number(retryAfter);    const backoff = Math.min(500 * 2 ** attempt, 10_000);    const delay = retryAfter !== null && Number.isFinite(retryAfterSeconds)      ? retryAfterSeconds * 1000      : backoff + Math.random() * 250;     await new Promise((resolve) => setTimeout(resolve, delay));  }}

准备好开始了吗?

只需 2 分钟即可使用所有 Claude 模型的 API。

快速开始