API 错误代码说明
2xx
范围的状态码表示成功。4xx
范围的状态码表示客户端错误(例如,请求参数错误、认证失败等)。5xx
范围的状态码表示服务器端错误。{
"error": {
"type": "authentication_error", // 错误类型
"message": "提供的API密钥不正确。", // 人类可读的错误信息
"code": "invalid_api_key", // (option) 更细粒度的程序化错误码
"param": null // (option) 指示哪个参数有问题
}
}
400 Bad Request
- 请求错误
400 Bad Request
状态码表示服务器因认为客户端错误(例如,请求语法格式错误、无效的请求消息帧,或欺骗性的请求路由)而无法或不会处理该请求。error_type
: request_error
internal_code
: invalid_request
(或者更具体的,如 malformed_json
, missing_required_parameter
, invalid_parameter_value
)Content-Type
请求头与实际发送的请求体不匹配,或者缺少必要的认证头信息(尽管 401
更常用于认证问题,但有时格式错误的认证头也可能导致 400
)。Content-Type
与您发送的数据格式相符(例如,application/json
用于JSON数据)。400
错误的响应体中提供更具体的错误细节,指出是哪个字段或哪个方面出了问题。例如:{
"error": {
"type": "validation_error",
"message": "Invalid value for parameter 'age'. Expected an integer.",
"code": "invalid_parameter_value",
"param": "age" // 指示哪个参数有问题
}
}
401 Unauthorized
- 认证失败
401 Unauthorized
状态码表示请求由于缺乏有效的身份验证凭据而应用失败。error_type
: authentication_error
1. 认证信息无效或权限不足
internal_code
: authentication_failed
2. 提供的API密钥不正确
internal_code
: invalid_api_key
403 Forbidden
- 禁止访问
403 Forbidden
状态码表示服务器理解请求客户端的请求,但是拒绝执行此请求。与 401 Unauthorized
不同,身份验证通常不是问题,而是客户端没有访问该资源的权限。error_type
: permission_error
internal_code
: permission_denied
429 Too Many Requests
- 请求过于频繁
429 Too Many Requests
状态码表示用户在给定的时间内发送了太多的请求(即“速率限制”)。error_type
: limit_error
1. TPM (Tokens Per Minute) 限制超出
internal_code
: tpm_limit_exceeded
429
错误后逐渐增加重试间隔。2. RPM (Requests Per Minute) 限制超出
internal_code
: rpm_limit_exceeded