文档API 参考错误码

错误码

三种错误信封、错误类别与 HTTP 状态码对照、常见错误一览。

网关对外呈现三家 API 的形状,错误响应也长成对应家的样子——按请求路径决定:/v1/messages* 走 Anthropic 形状,/v1beta/* 走 Google 形状,其余走 OpenAI 形状。这样各家 SDK 的错误解析都能正常工作。

三种错误信封

OpenAI
{
  "error": {
    "message": "Invalid API key",
    "type": "invalid_request_error",
    "param": null,
    "code": null
  }
}
Anthropic
{
  "type": "error",
  "error": {
    "type": "authentication_error",
    "message": "Invalid API key"
  }
}
Google
{
  "error": {
    "code": 401,
    "message": "Invalid API key",
    "status": "UNAUTHENTICATED"
  }
}

错误类别与状态码对照

类别HTTPOpenAI typeAnthropic typeGoogle status
鉴权失败401invalid_request_errorauthentication_errorUNAUTHENTICATED
权限不足403invalid_request_errorpermission_errorPERMISSION_DENIED
资源不存在404invalid_request_errornot_found_errorNOT_FOUND
入口不受支持404invalid_request_errornot_found_errorINVALID_ARGUMENT
请求无效400invalid_request_errorinvalid_request_errorINVALID_ARGUMENT
限流429rate_limit_errorrate_limit_errorRESOURCE_EXHAUSTED
额度/余额不足402insufficient_quotabilling_errorRESOURCE_EXHAUSTED
请求体过大413invalid_request_errorinvalid_request_errorINVALID_ARGUMENT
上游故障502api_errorapi_errorUNAVAILABLE
过载503server_erroroverloaded_errorUNAVAILABLE
内部错误500api_errorapi_errorINTERNAL

常见错误一览

文案 idHTTP含义与处置
key_missing / key_invalid401未携带或无效的 API Key,检查鉴权头。
key_disabled / key_expired / key_ip_denied403Key 被停用/过期/来源 IP 不在白名单。
key_quota_exhausted402Key 消费额度用尽,等待周期重置或调整额度。
balance_exhausted402账户余额不足,充值后重试。
rpm_exceeded / concurrent_exceeded429超出 RPM 或并发上限,退避后重试。
model_missing400请求缺少 model 字段。
model_not_found / model_disabled404模型不存在或已下架,对照模型列表检查拼写。
no_upstream_for_model404暂无可提供该模型的货源,稍后重试或联系管理员。
moderation_blocked403内容审核未通过,调整请求内容后重试。
body_too_large413请求体超过该入口的体积上限,压缩内联媒体或换接口。
upstream_timeout / upstream_unreachable / all_upstreams_down502上游超时/不可达/全部熔断,退避后重试。
server_busy503网关在飞请求总量已满,稍后重试。

错误文案按账号偏好语言本地化(鉴权前按 Accept-Language,默认英文)。程序逻辑请依据 HTTP 状态码与 type/status 字段分支,不要匹配 message 文本。

重试与退避的具体做法见错误处理与重试