错误码
AnyPath 网关公开错误码与 HTTP 状态
AnyPath 网关错误响应使用统一结构:
{
"error": {
"message": "Human-readable error description",
"type": "error_code",
"code": "error_code",
"param": "parameter_name"
}
}
运行时 JSON 中的 type 字段恒等于 code(两者都携带规范错误码)。
下表中的 error_type 仅用于文档分组,不会作为 JSON type 字段的值出现。
以下是完整的公开错误码清单。
| Code | HTTP | error_type (分组) | 默认说明 |
|---|---|---|---|
auth_required | 401 | authentication | 需要认证,请在 Authorization header 中提供有效 API key。 |
auth_invalid | 401 | authentication | API key 无效。 |
auth_expired | 401 | authentication | API key 已过期。 |
forbidden | 403 | authorization | 没有权限执行此操作。 |
spending_limit_exceeded | 403 | authorization | API key 支出上限已达到。 |
rate_limit_exceeded | 429 | rate_limit | 已触发速率限制,请按 Retry-After 提示重试。 |
supplier_rate_limited | 429 | rate_limit | 该模型的资源提供方当前已达到速率上限,请按 Retry-After 提示重试。 |
invalid_request | 400 | invalid_request | 请求格式错误或包含无效数据。 |
validation_error | 400 | invalid_request | 请求体校验失败。 |
unsupported_request_field | 400 | invalid_request | 所选模型厂商路由不支持一个或多个请求字段。 |
invalid_argument | 400 | invalid_request | 一个或多个参数无效。 |
request_too_large | 413 | invalid_request | 请求体超过允许大小。 |
invalid_content_type | 415 | invalid_request | Content-Type 不受支持。 |
model_not_found | 404 | not_found | 请求的模型不存在或不可用。 |
model_unavailable | 503 | provider | 请求的模型暂时不可用。 |
not_found | 404 | not_found | 请求的资源不存在。 |
provider_error | 502 | provider | 模型厂商返回错误。 |
provider_timeout | 504 | provider | 模型厂商请求超时。 |
provider_circuit_open | 503 | provider | 目标模型厂商熔断中,暂时无法请求。 |
internal_error | 500 | server | 内部服务错误。 |
gateway_timeout | 504 | server | 请求超时。 |
not_implemented | 501 | server | 此功能或端点尚未实现。 |
不要依赖非 registry 的 hint 字段。客户端逻辑应根据 HTTP 状态码和 error.code 来处理。如果响应包含 Retry-After 等 header,再按 header 处理。