额度查询(OpenAI 兼容)

OpenAI Dashboard Billing 兼容端点——第三方客户端探测账号额度与用量的标准接口。

这两个端点是 OpenAI Dashboard Billing API 的兼容实现,供第三方客户端/工具按 OpenAI 生态的 标准方式探测账号额度,不是积木自定义的接口。如果你在开发自己的应用, 更推荐用 令牌管理 里的 GET /api/usage/token—— 字段更直观、专为积木场景设计。本页接口的存在价值是兼容那些已经按 OpenAI 协议写好额度查询逻辑的 现成客户端,让它们接入积木时无需改代码。

端点总览

方法路径说明
GET/dashboard/billing/subscription查询账号的额度上限(OpenAI 订阅信息兼容结构)
GET/v1/dashboard/billing/subscription同上,/v1 前缀别名
GET/dashboard/billing/usage查询账号的已用额度
GET/v1/dashboard/billing/usage同上,/v1 前缀别名

鉴权与模型调用接口一致:Authorization: Bearer <sk- 令牌>,见 鉴权与令牌。两个路径变体(带 /v1 与不带)行为完全相同, 只是为了兼容不同客户端约定的 base_url 拼法。

额度上限查询

GET/dashboard/billing/subscription

无请求参数。

响应200
{
  "object": "billing_subscription",
  "has_payment_method": true,
  "soft_limit_usd": 42.5,
  "hard_limit_usd": 42.5,
  "system_hard_limit_usd": 42.5,
  "access_until": 1780000000
}
has_payment_methodbool

固定返回 true,与积木实际支付配置无关,仅为兼容 OpenAI 客户端的字段存在性检查

soft_limit_usd / hard_limit_usd / system_hard_limit_usdnumber

三个字段取值相同,含义是「账号总额度」(已用 + 剩余)。单位与数值随平台的额度展示方式变化,见下文

access_untilint64

令牌过期时间(Unix 秒),0 表示不适用;含义随「额度统计粒度」变化,见下文

字段名带 _usd 不代表数值一定是美元。 实际单位由平台的额度展示配置决定,可能是美元、人民币、 积分或原始 tokens 数量——这是为了让字段结构保持 OpenAI 兼容,同时又能适配平台自身的额度单位。 接入时不要硬编码「除以某个汇率」的换算逻辑,按返回的数值直接展示即可。

额度统计粒度

响应内容取决于平台是否开启「按令牌统计用量」:

  • 按令牌统计(默认):soft_limit_usd 等字段反映当前令牌的总额度(剩余 + 已用), access_until 为该令牌的过期时间;令牌开启不限额度时,三个额度字段固定返回 100000000
  • 按账号统计:字段反映整个账号的总额度,access_until 恒为 0

这一行为由平台管理员配置决定,调用方无法感知当前处于哪种模式,只需读取返回值。

已用额度查询

GET/dashboard/billing/usage

无请求参数。

响应200
{
  "object": "list",
  "total_usage": 1250.4
}
total_usagenumber

已用额度,单位是「额度展示单位的百分之一」(OpenAI 官方约定 total_usage 以美分为单位,本接口延续同一约定:数值 = 已用额度 × 100)

total_usage 的统计范围同样跟随上文「额度统计粒度」:按令牌统计时只反映当前令牌的已用额度, 按账号统计时反映整个账号。

错误响应

两个端点在读取额度失败时(内部错误,非常罕见)返回 HTTP 200,error 对象承载原因; 两个端点的 type 取值不同:

/dashboard/billing/subscription 内部读取失败(罕见)200
{
  "error": {
    "message": "...",
    "type": "upstream_error"
  }
}
/dashboard/billing/usage 内部读取失败(罕见)200
{
  "error": {
    "message": "...",
    "type": "jimu_api_error"
  }
}

正常的鉴权失败(令牌无效/缺失)仍走标准模型接口错误路径,见 错误处理与请求追踪。

请求示例

curl https://api.jimu.chat/dashboard/billing/subscription \
  -H "Authorization: Bearer $JIMU_API_KEY"

curl https://api.jimu.chat/dashboard/billing/usage \
  -H "Authorization: Bearer $JIMU_API_KEY"