Skip to main content

接口概述

令牌管理接口让你用程序完成 API Key 的全生命周期管理,不必逐个在控制台点击。 最常见的场景是批量发放:给团队成员、给下游客户、给不同项目各发一把 Key, 并分别限制能花多少钱能用哪些模型用到什么时候

额度限制

remain_quota 设定这把 Key 最多能消费多少

模型限制

models 设定白名单,调用名单外的模型直接被拒

有效期限制

expired_time 设定到期时间,到点自动失效
只需要建一两把 Key 的话,直接用控制台更快,见 如何创建 KEY。 本接口面向需要自动化发放、定期轮换、或把 Key 管理接入自有系统的场景。

如何获取系统令牌

令牌管理接口用系统令牌认证,与 API Key 不是一回事。
1

访问控制台

访问 api.apiyi.com/account/profile 个人中心页面
2

找到系统令牌

在页面最下方找到「账号选项 - 系统令牌」部分
3

生成 AccessToken

输入当前的账户密码后,会得到一个 AccessToken,该密钥可用于后续接口的查询数据
获取系统令牌
系统令牌可以创建和删除 API Key,请像保管账号密码一样保管它。系统令牌本身不能调用模型(拿去请求 /v1/chat/completions 会被拒绝),但它能创建出可以调用 模型的 API Key。因此泄漏系统令牌的后果比泄漏单把 API Key 严重得多 —— 请存进密钥管理工具而不是写在代码里,不要提交进代码仓库,并定期轮换。

端点一览

所有端点的认证方式相同:Authorization 请求头填系统令牌裸值,不加 Bearer 前缀 基础地址为 https://api.apiyi.com

创建令牌

请求示例

请求字段

unlimited_quota 缺省为 false,而 remain_quota 缺省为 0 —— 两者一起缺省时会建出一把 额度为 0、无法使用的令牌。要么显式给 remain_quota 赋值,要么把 unlimited_quota 设为 true
模型白名单请使用 models 字段。响应结构里还存在 model_limitsmodel_limits_enabledallow_ips 三个字段, 传入它们不会报错(接口仍返回 200),但当前不会生效 —— 回读时这些字段仍为空。 需要限制可用模型请使用 models,需要限制来源 IP 请在自己的服务侧实现。

响应示例

响应里的 key 是明文,且不含 sk- 前缀。 实际使用时需要自己拼上前缀, 即上例中真正的 API Key 是 sk-K1RPzapu…请在创建时就妥善保存并分发,不要把包含 key 的响应体留在日志文件里。

批量创建

服务端没有批量创建接口 —— 在请求体里传 count 之类的参数不会生效,仍然只创建一把。 批量发放的做法是在客户端循环调用创建接口。

三重限制怎么用

额度限制

remain_quota 是这把令牌能消费的额度上限,换算关系与余额查询 一致:

换算规则

500,000 额度 = $1.00 美金 (USD)
例如给下游客户发一把最多消费 $10 的 Key,就设 remain_quota: 5000000unlimited_quota: false。用量可以从令牌的 used_quota 字段读取。

模型限制

models 是逗号分隔的白名单。设置后,用这把 Key 调用名单外的模型会被直接拒绝:
返回 HTTP 403,不产生扣费。不传 models 表示不限制。

有效期限制

expired_time 是 Unix 秒时间戳,-1 表示永不过期。例如发一把 30 天后失效的 Key:

查询令牌

关键字段:

更新令牌

更新接口需要传完整对象,不是增量更新(patch)。正确做法是:先 GET 拿到令牌的完整对象 → 修改需要变更的字段 → 把整个对象 PUT 回去。 只传要改的那几个字段会把其余字段清空。

禁用与删除

禁用(保留记录)

禁用后该 Key 立即失效,再用它调用模型会返回 401,但令牌记录和历史用量仍然保留。

删除(不可恢复)

批量删除同样在客户端循环即可:
删除是不可恢复操作。如果只是想临时停用,用上面的禁用方式,历史用量记录会保留下来便于对账。

常见问题

响应里的 key 不含 sk- 前缀,实际使用时需要自己拼上,即 sk- + key 的值。
最可能的原因是创建时既没传 remain_quota,也没把 unlimited_quota 设为 true —— 两者的缺省组合会建出一把额度为 0 的令牌。重新创建时显式指定其中之一即可。
这两个字段(以及 model_limits_enabled)当前不生效,传入不会报错但也不会落库。 限制可用模型请使用 models 字段;限制来源 IP 目前需要在你自己的服务侧实现。
服务端没有批量创建接口,在请求体里传 count 之类的参数不会生效。 批量发放请在客户端循环调用创建接口,参考上面「批量创建」一节的示例。
更新接口需要传完整对象。先 GET 拿到完整对象,改完再整个 PUT 回去, 不要只传要改的那几个字段。
禁用(status: 2)后 Key 立即失效,但令牌记录与历史用量保留,可以随时改回 1 恢复。 删除是不可恢复的,记录一并移除。临时停用建议用禁用。
令牌对象的 used_quota 字段就是这把 Key 的累计消费(÷ 500,000 = 美元)。 需要按时间段拆分或看每次调用的明细,用日志查询 APItoken_name 参数过滤。

注意事项

系统令牌不是 API Key,两者不能互换
  • API Keysk- 开头)用于 /v1/* 推理端点
  • 系统令牌(一串不带前缀的字符)用于 /api/* 管理端点
用错会分别得到 401 与 Invalid token 错误。
妥善保管明文 Key创建接口的响应体、以及令牌列表接口的返回,都包含 Key 明文。请注意:
  • 不要把包含 key 的原始响应写进日志文件或提交进代码仓库
  • 分发给团队成员时使用安全渠道,不要通过聊天群直接发送
  • 这段明文不带 sk- 前缀,常见的密钥扫描工具可能扫不出来,不要依赖自动化检查兜底
操作建议
  • 批量创建时建议在循环里加适度间隔,避免瞬时并发过高
  • 给每把 Key 起有意义的 name(如 team-aliceprod-webhook),便于后续在日志里按 token_name 归因
  • 定期轮换:新建 Key → 切流量 → 禁用旧 Key 观察一段时间 → 确认无调用后再删除

相关文档