# Grok API 错误代码

按 HTTP 状态诊断 Grok API 错误，仅对限流或临时服务器故障进行安全重试。

## 错误响应格式

```json
{
  "error": {
    "message": "Invalid model ID",
    "type": "invalid_request_error",
    "code": "invalid_model"
  }
}
```

## 错误代码

| 代码 | 原因 | 处理方法 | 重试 |
| --- | --- | --- | --- |
| 400 | 请求无效 | 修复 JSON、字段和值类型。 | 否 |
| 401 | API 密钥缺失或无效 | 检查 Authorization 请求头。 | 否 |
| 403 | 访问被禁止 | 检查账户和模型权限。 | 否 |
| 404 | endpoint 或模型 ID 错误 | 检查 base URL、路径和模型。 | 否 |
| 405 | HTTP 方法错误 | 使用文档指定的方法。 | 否 |
| 415 | Content-Type 错误 | 发送 JSON 并设置 application/json。 | 否 |
| 422 | 字段校验失败 | 修复请求结构。 | 否 |
| 429 | 超过 rate limit | 降低并发并遵循 Retry-After。 | 是，使用 backoff |
| 500 | 临时服务器错误 | 保存 request ID 并限制重试次数。 | 是 |
| 502/503/504 | 临时 gateway 故障 | 逐步增加重试延迟。 | 是 |

## 安全重试

- 修复请求前不要重试不可重试的 4xx 响应。
- 存在 Retry-After 时优先遵循。
- 限制尝试次数并使用带 jitter 的指数退避。
- 有副作用的操作应使用 idempotency。
