查看 Markdown
GET/api/tokenBudget/getQuotaStatus

查询配额状态

查询指定身份主体当前的配额管控状态,包含绑定的策略、周期额度、已用与剩余额度、下次重置时间。不传 scopeAgentId 查询主体的全局账户;传入共享配额的一组智能体中任意一个智能体的ID,查询该智能体所属智能体组账户,同一组内不同智能体ID的查询结果一致,scopeAgents 列出该组的全部智能体。两类账户叠加生效、任一耗尽即拦截,因此判断主体在某智能体上能否使用,需同时查看全局账户与该智能体所在组账户的 blocked。页面展示额度入口时请直接使用 limited 字段,仅 limited 为 true 的用户需要展示。判断主体能否正常使用只需看 blocked 字段:仅当已绑定策略且额度耗尽时为 true。若所查账户尚未绑定配额策略(如该智能体不在主体的任何智能体组中),接口正常返回且 bound 为 false,表示不受该账户管控。加油包明细请用「查询加油包列表」接口查询。

请求参数

请求头参数1 个字段

X-Principal-Idintegernullable

身份主体ID(Long类型)。通过API访问时必须传递以标识操作主体;通过页面访问时无需传递。可通过「身份主体」模块的创建接口获取。

Query 参数1 个字段

scopeAgentIdintegernullable

共享配额的一组智能体中任意一个智能体的ID(可选)。不传表示全局账户;传入时按该智能体所属智能体组定位到对应账户,同一组内不同智能体ID的定位结果一致

响应

200

httpStatusCodeintegernullable

HTTP状态码

messagestringnullable

响应消息

响应数据

successbooleannullable

是否成功

requestIdstringnullable

上游请求ID,用于跨系统链路追踪排查问题

errCodestringnullable

上游错误码,前端可据此做特殊UI处理

查看 Markdown
GET/api/tokenBudget/listScopedQuotaStatus

查询智能体组账户的配额消耗状态

查询指定身份主体名下全部智能体组账户(仅在一组智能体上生效、组内共享额度,一组可只含一个智能体),每项结构与「查询配额状态」相同,且 scopeAgents 必不为空,列出该组的智能体及名称(智能体已删除时名称为空)。不含全局账户,全局账户请用「查询配额状态」不传 scopeAgentId 查询。主体没有任何智能体组账户时返回空列表。页面可用本接口决定是否展示按智能体的额度分组。

请求参数

请求头参数1 个字段

X-Principal-Idintegernullable

身份主体ID(Long类型)。通过API访问时必须传递以标识操作主体;通过页面访问时无需传递。可通过「身份主体」模块的创建接口获取。

响应

200

httpStatusCodeintegernullable

HTTP状态码

messagestringnullable

响应消息

响应数据

successbooleannullable

是否成功

requestIdstringnullable

上游请求ID,用于跨系统链路追踪排查问题

errCodestringnullable

上游错误码,前端可据此做特殊UI处理

查看 Markdown
GET/api/tokenBudget/listTopups

查询加油包列表

查询指定身份主体某个配额账户名下的全部加油包明细(含加油包ID,可用于撤销)。不传 scopeAgentId 查询全局账户的加油包;传入共享配额的一组智能体中任意一个智能体的ID,查询这组智能体共享账户的加油包。返回结果含已过期、已耗尽的加油包(由 expired、exhausted 标记区分),不含已撤销的加油包。若所查账户尚未绑定配额策略,返回空列表。

请求参数

请求头参数1 个字段

X-Principal-Idintegernullable

身份主体ID(Long类型)。通过API访问时必须传递以标识操作主体;通过页面访问时无需传递。可通过「身份主体」模块的创建接口获取。

Query 参数1 个字段

scopeAgentIdintegernullable

共享配额的一组智能体中任意一个智能体的ID(可选)。不传表示全局账户;传入时按该智能体所属智能体组定位到对应账户,同一组内不同智能体ID的定位结果一致

响应

200

httpStatusCodeintegernullable

HTTP状态码

messagestringnullable

响应消息

响应数据

successbooleannullable

是否成功

requestIdstringnullable

上游请求ID,用于跨系统链路追踪排查问题

errCodestringnullable

上游错误码,前端可据此做特殊UI处理

查看 Markdown
GET/api/tokenBudget/listPolicies

查询配额策略列表

分页查询分配给当前应用的配额策略列表,支持按策略名称模糊过滤,按分配时间倒序返回。策略由租户管理员通过工单分配给应用,未分配给当前应用的策略不会出现在列表中。返回的 policyId 用于「绑定配额策略」接口,绑定前可先通过本接口确认策略的额度上限与重置规则。本接口仅支持通过API调用。

请求参数

Query 参数3 个字段

keywordstringnullable

策略名称模糊关键字(可选)

pageintegernullable

页码,从1开始

pageSizeintegernullable

每页记录数,取值范围1~100

响应

200

httpStatusCodeintegernullable

HTTP状态码

messagestringnullable

响应消息

响应数据

successbooleannullable

是否成功

requestIdstringnullable

上游请求ID,用于跨系统链路追踪排查问题

errCodestringnullable

上游错误码,前端可据此做特殊UI处理

查看 Markdown
POST/api/tokenBudget/bindPolicy

绑定配额策略

为指定身份主体绑定配额策略并开启Token额度管控,绑定后该主体的消耗会按策略周期额度计量与拦截。

  • 不传 scopeAgentIds 绑定全局账户(在全部智能体上生效);传一个或多个智能体ID则为这组智能体绑定一个智能体组账户,组内智能体共享同一份额度。
  • 智能体组账户与全局账户叠加扣减、任一耗尽即拦截,适合「同一用户在不同智能体上限额不同」的场景。
  • 同一主体只能绑定一个全局账户,且同一智能体只能属于主体的一个智能体组账户;重复绑定或所传智能体已在其他组中会返回错误,如需更换策略请先解绑。
  • 所有智能体必须归属当前应用空间,否则返回 400。
  • scopeAgentId(已废弃)与 scopeAgentIds 互斥,不能同时传。
  • 仅能绑定已分配给当前应用的策略,绑定未分配的策略会返回 403 错误。
  • policyId 可通过「查询配额策略列表」接口查询获取,或由租户管理员提供。
  • 本接口仅支持通过API调用。

请求参数

请求头参数1 个字段

X-Principal-Idintegernullable

身份主体ID(Long类型)。通过API访问时必须传递以标识操作主体;通过页面访问时无需传递。可通过「身份主体」模块的创建接口获取。

请求体(JSON)3 个字段

policyIdintegerrequired

配额策略ID,由租户管理员在租户控制台创建后提供

scopeAgentIdintegernullable

(已废弃,请使用 scopeAgentIds)共享配额的一组智能体中任意一个智能体的ID,选填。不传或 0 表示为主体绑定全局账户(在全部智能体上生效);传智能体ID则为主体绑定仅在该智能体上生效的单成员智能体组账户,与全局账户叠加扣减、任一耗尽即拦截。与 scopeAgentIds 互斥,不能同时传

scopeAgentIdsarraynullable

共享配额的智能体ID列表,选填。不传表示为主体绑定全局账户(在全部智能体上生效);传一个或多个智能体ID则为这组智能体绑定一个智能体组账户,组内智能体共享同一份额度,与全局账户叠加扣减、任一耗尽即拦截。列表中每项须为正整数,所有智能体必须归属当前应用空间。与 scopeAgentId 互斥,不能同时传

响应

200

httpStatusCodeintegernullable

HTTP状态码

messagestringnullable

响应消息

dataobjectnullable

响应数据

successbooleannullable

是否成功

requestIdstringnullable

上游请求ID,用于跨系统链路追踪排查问题

errCodestringnullable

上游错误码,前端可据此做特殊UI处理

查看 Markdown
POST/api/tokenBudget/unbindPolicy

解绑配额策略

解除指定身份主体某个配额账户的Token配额管控。不传请求体或不传 scopeAgentId 时解绑全局账户,解绑后该主体恢复不限额使用(若仍有智能体组账户,则在对应智能体上仍受限);传入共享配额的一组智能体中任意一个智能体的ID时,解绑这组智能体共享的整个账户,组内全部智能体同时解除管控,全局账户与其他组账户不受影响。注意:解绑会同时作废该账户名下全部加油包,剩余额度不退还;重新绑定后额度从零开始计量,不继承解绑前的已用量。仅能解绑策略已分配给当前应用的账户,否则返回 403 错误。本接口仅支持通过API调用。

请求参数

请求头参数1 个字段

X-Principal-Idintegernullable

身份主体ID(Long类型)。通过API访问时必须传递以标识操作主体;通过页面访问时无需传递。可通过「身份主体」模块的创建接口获取。

请求体(JSON)1 个字段

scopeAgentIdintegernullable

共享配额的一组智能体中任意一个智能体的ID,选填。不传或 0 表示解绑主体的全局账户;传入时按该智能体所属智能体组定位到对应账户并整体解绑,组内全部智能体同时解除管控,全局账户与其他组账户不受影响

响应

200

httpStatusCodeintegernullable

HTTP状态码

messagestringnullable

响应消息

dataobjectnullable

响应数据

successbooleannullable

是否成功

requestIdstringnullable

上游请求ID,用于跨系统链路追踪排查问题

errCodestringnullable

上游错误码,前端可据此做特殊UI处理

查看 Markdown
POST/api/tokenBudget/grantTopup

充值加油包

为指定身份主体的某个配额账户充值一次性追加额度(加油包),用于周期主额度不足时临时提额。不传 scopeAgentId 充入全局账户;传入共享配额的一组智能体中任意一个智能体的ID时,充入这组智能体共享的智能体组账户,要求该账户已存在。加油包不参与周期重置,用完即止、过期作废;消耗时先扣主额度再扣加油包,多个加油包之间先扣临近过期的。充值要求目标账户已存在,且所绑策略已分配给当前应用,否则返回 403 错误。本接口仅支持通过API调用。

请求参数

请求头参数1 个字段

X-Principal-Idintegernullable

身份主体ID(Long类型)。通过API访问时必须传递以标识操作主体;通过页面访问时无需传递。可通过「身份主体」模块的创建接口获取。

请求体(JSON)4 个字段

scopeAgentIdintegernullable

共享配额的一组智能体中任意一个智能体的ID,选填。不传或 0 表示充入主体的全局账户;传入时按该智能体所属智能体组定位到对应账户并将加油包充入该账户,组内智能体共享这份额度,要求该账户已存在

tokenAmountintegerrequired

加油包额度(Token 数),必须大于0

expireAtstringnullable

加油包失效时间,不传表示长期有效直到用完;传值时必须晚于当前时间。过期后剩余额度作废且不退还

remarkstringnullable

备注,选填,用于记录本次充值原因,最长200个字符

响应

200

httpStatusCodeintegernullable

HTTP状态码

messagestringnullable

响应消息

响应数据

successbooleannullable

是否成功

requestIdstringnullable

上游请求ID,用于跨系统链路追踪排查问题

errCodestringnullable

上游错误码,前端可据此做特殊UI处理

查看 Markdown
POST/api/tokenBudget/revokeTopup

撤销加油包

撤销指定身份主体某个配额账户名下的加油包,该加油包剩余额度立即作废且不退还,已消耗部分不受影响。不传 scopeAgentId 在全局账户下查找加油包;传入共享配额的一组智能体中任意一个智能体的ID时,在该组账户下查找,须与充值时定位到同一账户。加油包ID可通过「查询加油包列表」接口获取;系统会校验该加油包确实属于该账户,不属于时拒绝操作;同时要求该账户所绑策略已分配给当前应用,否则返回 403 错误。本接口仅支持通过API调用。

请求参数

请求头参数1 个字段

X-Principal-Idintegernullable

身份主体ID(Long类型)。通过API访问时必须传递以标识操作主体;通过页面访问时无需传递。可通过「身份主体」模块的创建接口获取。

请求体(JSON)2 个字段

scopeAgentIdintegernullable

共享配额的一组智能体中任意一个智能体的ID,选填。不传或 0 表示加油包属于主体的全局账户;传入时按该智能体所属智能体组定位到对应账户并在该账户下查找加油包,须与充值时定位到同一账户,否则会因归属校验不通过而拒绝

topupIdintegerrequired

加油包ID,可通过「查询加油包列表」接口获取

响应

200

httpStatusCodeintegernullable

HTTP状态码

messagestringnullable

响应消息

dataobjectnullable

响应数据

successbooleannullable

是否成功

requestIdstringnullable

上游请求ID,用于跨系统链路追踪排查问题

errCodestringnullable

上游错误码,前端可据此做特殊UI处理

查看 Markdown
POST/api/tokenBudget/resetQuotaUsage

即时重置配额

立即将指定身份主体某个配额账户的主额度本期已用量清零,并记录一条重置流水,用于周期内需要立刻恢复额度的场景。不传请求体或不传 scopeAgentId 时重置全局账户;传入共享配额的一组智能体中任意一个智能体的ID时,只重置这组智能体共享的智能体组账户,其他账户不受影响。仅清零主额度:加油包剩余额度不受影响,账户绑定关系与策略配置也不改变,后续周期重置照常触发。已用量为 0 时幂等返回成功。所查账户尚未绑定配额策略时返回 400;账户所绑策略未分配给当前应用时返回 403。本接口仅支持通过API调用。

请求参数

请求头参数1 个字段

X-Principal-Idintegernullable

身份主体ID(Long类型)。通过API访问时必须传递以标识操作主体;通过页面访问时无需传递。可通过「身份主体」模块的创建接口获取。

请求体(JSON)1 个字段

scopeAgentIdintegernullable

共享配额的一组智能体中任意一个智能体的ID,选填。不传或 0 表示重置主体的全局账户;传入时按该智能体所属智能体组定位到对应账户并只重置该账户,全局账户与其他组账户不受影响

响应

200

httpStatusCodeintegernullable

HTTP状态码

messagestringnullable

响应消息

dataobjectnullable

响应数据

successbooleannullable

是否成功

requestIdstringnullable

上游请求ID,用于跨系统链路追踪排查问题

errCodestringnullable

上游错误码,前端可据此做特殊UI处理