错误码
InOneAPI 错误响应使用 HTTP 状态码表达错误类别,并在 JSON 响应体中返回可读的 error.code 与 error.message。客户端应以 HTTP 状态码决定重试策略,以 error.code 定位具体原因。
响应格式
{
"error": {
"code": "INVALID_REQUEST_BODY",
"message": "Request body is invalid",
"type": "invalid_request"
}
}
通用错误码
| HTTP | code | 含义 |
|---|---|---|
| 400 | INVALID_REQUEST_BODY | 请求体不是合法 JSON,必填字段缺失,或字段类型、枚举、范围不符合接口要求。 |
| 400 | INVALID_MODEL | model 为空、不可用,或当前项目不允许调用该模型。 |
| 401 | UNAUTHORIZED | API Key 缺失、格式错误、已撤销或签名无效。 |
| 403 | FORBIDDEN | 项目、子密钥、模型限制或工作区策略拒绝本次调用。 |
| 404 | RESOURCE_NOT_FOUND | 请求的任务、文件、模型或路径不存在。 |
| 409 | RESOURCE_STATE_CONFLICT | 资源状态不允许当前操作,例如重复删除或任务状态不可变更。 |
| 429 | RATE_LIMITED | 达到 RPM、TPM、并发、预算或供应商限流。应遵循 Retry-After。 |
| 500 | INTERNAL_ERROR | 平台内部错误。请保留 X-Gateway-Trace-ID 联系支持。 |
| 502 | UPSTREAM_ERROR | 上游供应商认证、协议、网络或响应格式异常。 |
| 503 | ROUTE_UNAVAILABLE | 当前模型没有可用路由,或路由被主动熔断。 |
| 504 | UPSTREAM_TIMEOUT | 上游请求超时。异步生成任务可能已经创建,避免盲目重复提交。 |
协议转换错误
| HTTP | code | 含义 |
|---|---|---|
| 400 | PROTOCOL_TRANSFORM_FAILED | 请求 DSL 转换失败,通常是映射字段缺失或输入超出协议约束。 |
| 400 | AUDIO_FORMAT_UNSUPPORTED | 音频输出格式与模型或映射配置不匹配。 |
| 400 | PROTOCOL_STREAM_UNSUPPORTED | 当前映射不支持所请求的流式协议。 |
| 502 | PROTOCOL_RESPONSE_TRANSFORM_FAILED | 上游响应无法转换为 InOneAPI 公共响应。 |
排查建议
优先检查 model、API Key 权限、项目预算、请求参数和服务商映射状态。需要支持介入时,请提供 HTTP 状态码、error.code、请求时间、模型 ID 和 X-Gateway-Trace-ID,不要发送密钥或敏感内容。