# EVA Gateway 错误码

接口地址与调用方式请参阅 [EVA Gateway 接入文档](./gateway-api)，参数说明请参阅 [EVA Gateway 参数说明](./models-and-parameters)。

调用 EVA Gateway API 时，错误响应由两部分组成：HTTP 状态码和响应体中的业务错误码。业务错误码提供更具体的错误说明。

## 错误响应示例

以下为预算不足时的错误响应。其中，HTTP 状态码为 `429`，业务错误码为 `40005`：

```json
{
  "error": {
    "code": "40005",
    "message": "Budget exceeded",
    "type": "client",
    "param": null
  }
}
```

`type` 表示错误来源：`client` 表示客户端请求错误，`gateway` 表示网关错误，`upstream` 表示模型供应商或其他上游服务错误。

## 错误码说明

| 业务错误码 | HTTP 状态码 | `type`     | 错误信息                                           |
| ---------: | ----------: | ---------- | -------------------------------------------------- |
|    `40001` |       `401` | `client`   | 鉴权失败，请检查 API Key 和 `Authorization` 请求头 |
|    `40002` |       `400` | `client`   | 请求体格式错误、缺少必填字段或字段值无法解析       |
|    `40003` |       `400` | `client`   | 当前模型不支持指定的参数或选项                     |
|    `40004` |       `403` | `client`   | 当前 API Key 无权访问对应的模型或能力              |
|    `40005` |       `429` | `client`   | 项目额度或账户余额不足                             |
|    `41000` |       `400` | `client`   | 指定的模型或供应商不支持当前服务类型               |
|    `41003` |       `400` | `client`   | 无法识别指定的模型或供应商                         |
|    `42000` |       `400` | `client`   | 指定的 LLM 模型未对当前网关开放                    |
|    `42001` |       `400` | `client`   | LLM 请求体无效                                     |
|    `42002` |       `408` | `client`   | LLM 流式请求超时                                   |
|    `50001` |       `500` | `upstream` | 上游服务调用失败、超时或中断                       |
|    `50002` |       `500` | `upstream` | 网关访问上游服务时鉴权失败                         |
|    `50003` |       `429` | `gateway`  | 当前请求已达到入口并发上限                         |
|    `50004` |       `503` | `gateway`  | 网关依赖服务暂时不可用                             |
|    `50009` |       `500` | `gateway`  | 网关内部异常                                       |
|    `51000` |       `500` | `gateway`  | 上游连接池容量已耗尽                               |
|    `51001` |       `500` | `gateway`  | 获取上游连接失败                                   |
|    `51002` |       `500` | `gateway`  | 路由命中的供应商未在网关注册                       |
|    `51003` |       `500` | `gateway`  | 对应服务未配置默认供应商                           |
|    `51004` |       `429` | `gateway`  | 当前 ASR 或 TTS 并发额度已用尽                     |
|    `52001` |       `503` | `gateway`  | LLM 网关繁忙，暂时无法接收更多请求                 |
|    `52010` |       `502` | `upstream` | LLM 上游服务调用失败                               |
|    `52011` |       `504` | `upstream` | LLM 上游服务响应超时                               |
|    `52012` |       `429` | `upstream` | LLM 上游服务触发限流                               |

联系技术支持时，请提供请求时间、请求路径、HTTP 状态码、完整错误响应，以及响应头中的 `autoark-trace-id`。
