错误

模型调用失败时,错误结构取决于所选协议:

{
"error": {
"message": "missing api key",
"type": "missing_api_key"
}
}

状态码

HTTP 状态码error.type原因处理方式
400invalid_request_error请求体错误、messages 为空、body 过大修正请求,不重试
401missing_api_key没有 API Key补充所选协议对应的 API Key 请求头
403invalid_api_keyKey 无效或不是 ACTIVE换有效 Key
403policy_rejectedIP、模型、tier 或策略不允许调整 Key 策略
402insufficient_quota额度或钱包余额不足充值或调整预算
502routing_error没有可用模型或路由失败短退避重试
502upstream_error上游模型失败短退避重试
503 / 504upstream_error依赖服务暂时不可用或超时指数退避重试

排障字段

字段来源
X-Request-ID请求头
model / tier请求体
HTTP 状态码响应状态
error.type / error.message错误响应体

重试判断

export function shouldRetryJoyTokenError(status: number, type?: string) {
if (status === 503 || status === 504) return true;
if (status === 502 && (type === "routing_error" || type === "upstream_error")) return true;
return false;
}

不要对 400401402403 做无限重试。先修正请求、认证、预算或策略。