更新日期:2026-07-20
适用场景
当客户需要对每个 API Key 做监控时,推荐使用 Crazyrouter 的管理接口组合,而不是直接拿业务侧sk-xxx 去查询:
- 获取当前账号下的 API Key 列表
- 按时间范围、Key 名称、模型名称查询调用日志
- 汇总某个 Key 的总消耗额度
- 基于系统汇率参数换算美元花费
管理接口使用的是用户身份认证,不是模型调用时使用的业务 Token。
认证方式
管理接口必须同时携带以下两个请求头:access_token:用户登录后生成的访问令牌,用于控制台/管理接口认证New-Api-User:当前用户 ID,必须与access_token对应的用户一致sk-xxx:业务调用 Token,只用于模型调用,不用于/api/token/*、/api/log/*这类管理接口
推荐接入流程
建议按以下顺序接入:- 调用
/api/token/获取当前账号下的 Key 列表 - 按
token_name调用/api/log/self拉取某个 Key 的明细日志 - 调用
/api/log/self/stat获取同条件下的汇总额度 - 调用
/api/status获取quota_per_unit - 使用
quota / quota_per_unit换算美元花费
1. 获取 API Key 列表
cURL
idnamestatusused_quotamodel_limits_enabledmodel_limits
2. 查询某个 Key 的调用日志
通过/api/log/self 查询当前用户自己的消费日志,建议至少带上:
typetoken_namestart_timestampend_timestampppage_size
cURL
关键字段说明
cost_usd 为按系统换算口径返回的美元花费,计算方式为 quota / quota_per_unit。如果你的生产环境尚未升级到包含该字段的版本,可先使用汇总额度自行换算。3. 查询汇总消耗
如果不需要逐条日志,只想做监控面板或日报,推荐调用汇总接口:cURL
quota:该筛选条件下的总消耗额度rpm、tpm:当前接口保留字段,可用于扩展监控
4. 查询当前账户余额
如果客户不只是想按某个业务 Key 做监控,而是想直接在自己的后台展示 Crazyrouter 账户当前余额,可以调用/api/user/self。
请求头与其他管理接口一致:
cURL
换算方法:
/api/user/self 更适合“展示当前账户总余额”;/api/log/self 和 /api/log/self/stat 更适合“按时间范围、按 Key、按模型”做消耗分析。5. 换算美元花费
系统换算参数可通过公开接口/api/status 获取:
cURL
Python 接入示例
监控建议
对客户侧监控,推荐至少落以下维度:- 按
token_name统计调用次数、总额度、总花费 - 按
model_name统计模型消耗分布 - 按
other.request_path区分/v1/chat/completions、/v1/responses等接口 - 按
other.http_status统计成功率与失败率 - 按
other.request_id保留问题排查链路
常见问题
为什么管理接口不能直接使用 sk-xxx?
因为 sk-xxx 是业务调用凭证,由 TokenAuth 中间件校验;而 /api/token/*、/api/log/self* 这类管理接口走的是用户身份认证,需要 access_token 和 New-Api-User。
是否可以按某个 Key 查自己的日志?
可以。推荐通过token_name 过滤 /api/log/self 和 /api/log/self/stat。
是否可以直接通过 API 拿到花费金额?
如果服务端版本已支持cost_usd 字段,则日志明细中可直接获取单条请求的美元花费。对于汇总口径,建议使用 quota / quota_per_unit 自行换算,结果与控制台展示口径一致。