鉴权
所有 /v1/* 接口使用 Authorization Bearer sk-lt-... 鉴权(Claude 的 /v1/messages 也接受 x-api-key);API Key 的配额、模型白名单、IP 白名单与限流行为
所有 /v1/* 接口都要求在请求头中携带 API Key:
Authorization: Bearer sk-lt-...缺失该请求头、或值不以 Bearer sk-lt- 开头,直接返回 401。
Claude 系列的 /v1/messages 与 Anthropic 官方一致,也接受 x-api-key: sk-lt-...(Anthropic SDK、Claude Code 配 ANTHROPIC_API_KEY 时使用);两个头都带时以 Authorization 为准。
管理 API Key
在控制台API Key 管理页可以:
- 创建 key(可填名称,可选设置配额)。
- 随时查看已创建 key 的明文。
- 禁用 key,立即生效,无需等待缓存过期。
限制行为
| 限制 | 触发条件 | HTTP | code | 说明 |
|---|---|---|---|---|
| 配额 | 已设置配额的 key 累计已结算用量达到配额 | 403 | quota_exceeded | 不设置配额则不受限;仅对非 GET/HEAD 请求生效,查询接口不受影响;用账户与用量接口(GET /v1/account/usage)查询配额状态 |
| 模型白名单 | key 配有白名单,且请求的模型不在其中 | 403 | model_not_allowed | 不设置白名单则可调用全部模型;控制台暂未开放白名单自助设置 |
| 鉴权失败 | key 不存在、已禁用、已过期、缺失或格式错误 | 401 | invalid_api_key | 缺失或格式错误时 message 为 missing or malformed API key,否则为 invalid or disabled API key |
| IP 白名单 | key 配有 IP 白名单,且客户端 IP 不在其中 | 403 | ip_not_allowed | message 为 client IP not allowed for this key |
| 限流 | 用户或 key 的请求频率超限(非 GET/HEAD) | 429 | rate_limit_exceeded | 稍后重试;限流组件不可用时返回 503 limits_unavailable |
| 账户 API 已停用 | 账户的 API 调用被关闭 | 503 | model_call_failed | message 为 Model call failed, please try again later. |
以上错误的响应体结构相同,以 401 为例(request_id 每次不同):
{"error":{"code":"invalid_api_key","message":"invalid or disabled API key","request_id":"...","type":"invalid_api_key"}}quota_exceeded 的 message 为 API key quota exceeded (settled usage),model_not_allowed 的 message 为 model not allowed for this key。完整错误码见错误码。
安全建议
- 不要把 API Key 硬编码或暴露在前端、客户端、移动端代码中,始终从服务端调用。
- 怀疑泄露时,立即在控制台禁用该 key 并创建新 key。