主题
GET /api/quota
查询当前 API Key 关联账号的套餐、配额与下一次调用的扣费决策(查询本身不会扣费、不计入 usage log,也不受限速约束)。
请求
GET https://mcp.keepamore.com/api/quota也支持 Keepa 官方兼容别名 GET /api/token,二者完全等价。仅需鉴权头,无其他参数。
响应
json
{
"code": "0000",
"msg": "查询成功",
"data": {
"serverTime": "2026-05-11T03:21:45.000Z",
"offPeakWindow": {
"start": "19:00",
"end": "07:00",
"timezone": "Asia/Shanghai"
},
"offPeakActive": false,
"activeBilling": "general",
"nextCallRejectReason": null,
"nextCallRejectMessage": null,
"keyWarning": null,
"general": {
"subscribed": true,
"plan": { "id": 12, "name": "通用标准" },
"subscriptionEnd": "2026-06-01T00:00:00.000Z",
"quantity": 1,
"minute": { "limit": 60, "used": 3, "remaining": 57 },
"daily": { "limit": 10000, "used": 234, "remaining": 9766 },
"monthly": { "limit": 300000, "used": 12345, "remaining": 287655 },
"resetAt": {
"minute": "2026-05-11T03:22:00.000Z",
"daily": "2026-05-12T00:00:00.000Z",
"monthly": "2026-06-01T00:00:00.000Z"
}
},
"off_peak": { "subscribed": false }
}
}字段说明
| 字段 | 含义 |
|---|---|
serverTime | 服务器当前 UTC 时间(ISO8601) |
offPeakWindow | 闲时套餐生效时段(24h 制);timezone 默认 Asia/Shanghai |
offPeakActive | 当前时刻是否处于闲时窗口 |
activeBilling | 下一次调用会扣减哪个钱包:general / off_peak / null(无可用套餐) |
nextCallRejectReason / nextCallRejectMessage | 若下一次调用会被立即拒绝,给出原因码与描述;正常时为 null |
keyWarning | API Key 级别的提示(如即将过期),无则 null |
general / off_peak | 两个钱包的快照;未订阅时为 { "subscribed": false },订阅时见下表 |
Bucket 字段(general / off_peak 订阅后)
| 字段 | 含义 |
|---|---|
subscribed | 固定 true |
plan.id / plan.name | 套餐 ID 与显示名 |
subscriptionEnd | 当前订阅周期的截止时间(ISO8601) |
quantity | 本套餐购买数量倍率(用于多套合并) |
minute | 每分钟限速桶:{ limit, used, remaining };remaining 为 null 时表示该维度不限速 |
daily | 日配额桶,结构同 minute |
monthly | 月配额桶,结构同 minute |
resetAt | 三个维度各自的下一次重置时间(ISO8601) |
window | 仅 off_peak 携带:闲时窗口 { start, end, timezone },等同顶层 offPeakWindow |
code = 5000仅在内部异常时出现;正常路径恒为0000。无任何错误码与扣费相关。
示例
bash
# 请将 km_xxx 替换为你的 API Key
curl "https://mcp.keepamore.com/api/quota" \
-H "X-API-Key: km_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"js
// 请将 km_xxx 替换为你的 API Key
const resp = await fetch("https://mcp.keepamore.com/api/quota", {
headers: { "X-API-Key": "km_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" },
});
const data = await resp.json();
console.log(data);js
// 请将 km_xxx 替换为你的 API Key
const axios = require("axios");
const { data } = await axios.get("https://mcp.keepamore.com/api/quota", {
headers: { "X-API-Key": "km_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" },
});
console.log(data);python
# 请将 km_xxx 替换为你的 API Key
import requests
resp = requests.get(
"https://mcp.keepamore.com/api/quota",
headers={"X-API-Key": "km_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}
)
print(resp.json())失败响应
| HTTP | code | 场景 |
|---|---|---|
| 401 | 4001 | 未携带或格式非法 |
| 403 | 4003 | Key 被吊销 |
| 500 | 5000 | 服务端异常 |
和 MCP 的对应
本端点与 MCP 工具 keepa_get_quota 完全等价,数据来源一致。