查询余额与额度
一次返回所有可能让下一个请求被拒绝的因素:账户余额、订阅套餐的配额窗口、 以及当前 Key 自己的花费上限。 这三者存放在不同的地方(余额在数据库、套餐配额在 Redis 计数器、Key 花费是 对调用日志的聚合),拆成三个接口只会让每个客户端都调三次再拼起来,所以合并 在这里。 ### 金额一律是字符串 账本精度是 `numeric(20,8)`,用浮点数往返会丢掉在「已花费」和「上限」之间做 比较时才会显现的位数。所有金额字段都是十进制字符串,单位见 `currency`。 ### 套餐字段何时缺席 `plan.has_active_plan` 为 `false` 时,其余套餐字段一并省略,表示当前按余额 计费。配额计数器所在的 Redis 短暂不可用时也会走这个分支——此时余额仍然准确, 接口不会整体失败。 `api_key` 在调用方使用 OAuth 设备令牌(CLI / 桌面端登录)时为 `null`: 那不是 API Key,没有 Key 级别的上限可报。
一次返回所有可能让下一个请求被拒绝的因素:账户余额、订阅套餐的配额窗口、 以及当前 Key 自己的花费上限。
这三者存放在不同的地方(余额在数据库、套餐配额在 Redis 计数器、Key 花费是 对调用日志的聚合),拆成三个接口只会让每个客户端都调三次再拼起来,所以合并 在这里。
金额一律是字符串
账本精度是 numeric(20,8),用浮点数往返会丢掉在「已花费」和「上限」之间做
比较时才会显现的位数。所有金额字段都是十进制字符串,单位见 currency。
套餐字段何时缺席
plan.has_active_plan 为 false 时,其余套餐字段一并省略,表示当前按余额
计费。配额计数器所在的 Redis 短暂不可用时也会走这个分支——此时余额仍然准确,
接口不会整体失败。
api_key 在调用方使用 OAuth 设备令牌(CLI / 桌面端登录)时为 null:
那不是 API Key,没有 Key 级别的上限可报。
Authorization: Bearer sk-juc-...
前缀必须是恰好 Bearer (首字母大写 + 单个空格)。bearer、BEARER
或用制表符分隔都会被判为无效。
除 API Key 外,也接受 OAuth 设备访问令牌(仅限 oauth_access 类型的 JWT;
普通网页会话令牌会被拒绝)。
In: header
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/open/balance"{ "currency": "CNY", "balance": "128.45000000", "lifetime_spend": "71.55000000", "plan": { "has_active_plan": false }, "api_key": { "name": "生产环境", "prefix": "sk-juc-A1b2C3d4", "daily_cost_limit": "50", "monthly_cost_limit": null, "total_cost_limit": null, "daily_cost_used": "3.21000000", "monthly_cost_used": "44.90000000", "total_cost_used": "71.55000000" }}限流与并发
并发限制的语义、模型列表端点的限流,以及计费口径。
查询当前凭证 GET
返回本次请求所用凭证的元信息:名称、前缀、创建与最近使用时间、过期时间、 花费上限、允许的模型分组。 **不会回显密钥本身或它的哈希。** 调用方已经持有密钥,再返回一遍只会让每一层 代理日志都变成一份凭证泄露。 `allowed_groups` 为空数组时有歧义——可能是「不限分组」,也可能是「限制到了 空集合」。`allowed_groups_unrestricted` 就是用来区分这两者的。 用 OAuth 设备令牌调用时,返回 `auth_type: "oauth_device_token"` 和一句说明, 其余字段不返回。