按状态码查
错误内容里通常有 code 和 message。同一个状态码可能有不同原因,以这两项为准。例如密钥写错时返回:
{"code": "INVALID_API_KEY", "message": "Invalid API key"}| 状态码 | 常见 code / 提示 | 原因和处理 |
|---|---|---|
| 401 | API_KEY_REQUIRED | 没带密钥。请求头写成 Authorization: Bearer sk-… |
| 401 | INVALID_API_KEY | 密钥不存在、没复制完整或已删除。到控制台重新复制 |
| 401 | API_KEY_DISABLED | 密钥被禁用,在「API 密钥」页重新启用 |
| 403 | INSUFFICIENT_BALANCE | 账户余额不足,充值后恢复。余额不足时连模型列表也会被拒绝 |
| 403 | API_KEY_EXPIRED | 密钥过了有效期,修改有效期或新建一把 |
| 403 | ACCESS_DENIED | 当前 IP 不在这把密钥的白名单里,或在黑名单里 |
| 404 | Not Found | 地址写错,常见是重复的 /v1 或多写了接口路径 |
| 404 | Model … is not available for this group | 模型不在密钥的分组里,换分组或换模型,见模型列表 |
| 429 | API key 额度已用完 | 密钥的额度上限用完,在控制台调高或重置 |
| 429 | API_KEY_RATE_5H_EXCEEDED 等 | 5 小时 / 1 天 / 7 天的用量上限到了,等时间窗口过去或调高上限 |
| 429 | Too many pending requests | 同时进行的请求太多,降低并发后重试 |
| 429 | accounts are currently rate-limited | 上游暂时限流,等几秒到几十秒再试 |
| 502 / 503 / 504 | — | 上游暂时不可用或超时,按重试建议退避重试 |
短时间内多次用错误或缺失的密钥请求,同一来源会被暂时限制,返回 429 INVALID_AUTH_RATE_LIMITED,先修好密钥再试。密钥只能放在请求头里,放在网址参数(?key=)里会返回 400。
看清楚返回了什么
加 -i 可以看到状态码和响应头,其中 x-request-id 是这次请求的编号:
curl -sS -i https://api.mallowapi.com/v1/models \
-H "Authorization: Bearer $MALLOW_API_KEY" | head -n 20没有任何 HTTP 状态码、直接超时或连接失败,问题在网络层,见国内网络接入。
联系我们时请提供
- 出错的时间(含时区)、客户端和版本
- 请求的接口路径和模型名
- HTTP 状态码、
x-request-id和错误内容
不要发送 API Key、完整的 Authorization 请求头或包含隐私的请求内容。发到 support@mallowapi.com。