错误参考

标准化的错误格式及最常见的错误代码。

格式

无论是哪个端点,所有错误都遵循相同的 JSON 结构:

json
{
  "error": {
    "code": "insufficient_credits",
    "message": "Solde de credits insuffisant ou budget mensuel du projet depasse.",
    "request_id": "9480fe92-f68e-4731-b98e-d35a5e8b9819",
    "details": {}
  }
}

request_id 用于在各服务之间端到端地标识该请求——如果您因意外错误联系我们,提供该值会很有帮助。

常见错误代码

HTTP代码含义
401missing_api_key缺少 Authorization 请求头。
401invalid_api_keyAPI 密钥无效、已被撤销或已过期。
403insufficient_scope该密钥不具备此类别所需的权限范围。
403not_a_member您不属于该组织。
403csrf_check_failed缺少安全请求头(会话 Cookie,不适用于 API 密钥调用)。
404model_not_foundrouting_strategy 为 "manual" 时使用了目录中不存在的 model。
404no_model_available没有模型符合所请求的条件。
402insufficient_credits账户额度余额不足,或项目月度预算已超支。
409conflict当前状态与请求的操作不兼容(例如智能体对话未处于 idle 状态)。
422validation_error请求体无效(缺少字段、类型错误等)。
429rate_limit_exceeded该密钥的请求过于频繁——参见速率限制。
503all_providers_unavailable所有候选供应商均调用失败(参见路由与故障转移)。

在 SDK 中

官方 SDK 会将每个 HTTP 状态码区间转换为一个类型化的错误类(AuthenticationErrorPermissionDeniedErrorNotFoundErrorInsufficientCreditsErrorConflictErrorValidationErrorRateLimitErrorServerError),它们除了错误消息外都暴露 .code.status.requestId.details。参见 JavaScript SDK / Python SDK