平台管理 API

管理你自己的账号资源——密钥、日志、用量、偏好设置。 这些接口不是用来调模型的,鉴权方式也和网关端点完全不同。

🔑
这里用登录 token,不是 API Key

需登录的接口一律用登录后拿到的 access token,放在 Authorization: Bearer <token> 里。 sk-rouertcode-… 填进来是无效的—— API Key 只在网关的 /v1/* 端点上生效。反之亦然。

通用约定

所有平台接口的基础路径是 /api/v1/user/user,响应统一封装:

统一响应结构
// 单对象
{ "code": 0, "message": "ok", "data": { ... } }

// 分页
{ "code": 0, "message": "ok", "data": [ ... ],
  "total": 128, "page": 1, "size": 20 }
⚠️
code: 0 才是成功

平台接口的 code网关错误码两套独立体系: 这里 0 表示成功,非 0 表示失败;网关那边压根没有 0。 判断成功不要只看 HTTP 200——业务失败时 HTTP 也可能是 200。

分页接口统一接受 page(从 1 开始)与 size 两个查询参数。

公开接口(无需登录)

模型列表

GET /api/v1/user/user/models

返回所有已启用且允许客户端可见的模型。字段说明见 模型、准入与回退

定价

GET /api/v1/user/user/pricing
200 OK
{
  "code": 0,
  "message": "ok",
  "data": {
    "system_rate": 100,
    "user_rate": 100,
    "models": [
      {
        "model_id": "claude-sonnet-5",
        "name": "Claude Sonnet 5",
        "vendor_code": "anthropic",
        "vendor_name": "Anthropic",
        "vendor_icon": "...",
        "vendor_rate": 100,
        "credential_rate": 100,
        "forward_model_id": "...",
        "support_features": ["text", "image"],
        "input_price": "3.00",
        "output_price": "15.00",
        "cache_input_price": "0.30",
        "cache_output_price": "3.75",
        "billing_modes": 1,
        "image_price": "0",
        "video_price": "0"
      }
    ]
  }
}
💡
这是个「可选鉴权」接口

不带 token 也能调,此时 user_rate 恒为 100(原价)。 带上有效的登录 token,返回的就是你个人的倍率—— token 无效不会报错,只是退回 100。所以算个人实际价格时务必确认 token 有效。

价格单位是元 / 百万 token。完整费用公式见 计费、积分与订阅

其它公开接口

方法路径用途
GET/gateway-nodes网关节点及其倍率
GET/model-rank/list模型排行榜
GET/model-rank/speed模型速度排行
GET/announcement/active当前生效的公告
POST/feedback提交反馈(匿名可用,同 IP 60 秒一次)

API Key 管理

创建

POST /api/v1/user/user/api-key
namestring必填

密钥名称,最长 100 字符。建议按用途命名,方便日后按名字停用。

policy_idinteger可选

要挂载的限制策略。订阅自带的策略优先级更高,见 限流

expires_atstring可选

过期时间,格式 2026-12-31 23:59:59。不填表示永不过期。

statusstring可选

状态,默认启用。

200 OK
{
  "code": 0,
  "message": "ok",
  "data": { "api_key": "sk-rouertcode-xxxxxxxxxxxxxxxx" }
}
🔒
明文只在这一次返回里出现

服务端只存哈希,之后任何接口都拿不回明文。 没保存就只能删掉重建。详见 鉴权与 API Key

查询与删除

方法路径说明
GET/api-key/page分页列表,只返回前缀,不含明文
GET/api-key/detail/:id单条详情
DELETE/api-key?ids=1,2,3ID 走查询参数,不是请求体,支持批量

日志与用量

方法路径说明
GET/call-log/page调用日志:模型、协议、token 数、耗时、错误码、倍率快照
GET/call-log/detail/:id单次调用详情
GET/consumption-log/page消费记录:每笔扣费的金额构成
GET/balance-log/page余额/积分变动:充值、兑换、消费
GET/stats/overview用量总览
GET/stats/trend用量趋势
GET/stats/models按模型维度的用量分布
🧾
对账从调用日志开始

调用日志记录的是调用当时的倍率快照,事后改倍率不会让历史账单漂移。 「有调用但没扣费」通常是订阅覆盖(subscription_covered)或 BYOK,不是漏记。

账户与偏好

方法路径说明
GET/profile账号资料(含用户类型,决定模型准入的认证等级)
GET/ext扩展信息:余额、积分、倍率、各类开关
PUT/api-billing开关「API 扣费访问」——新账号报 40202 就是它没开
PUT/points/auto-exchange开关自动兑换——「充了钱却报积分不足」就是它没开
POST/points/exchange手动把余额兑换成积分
PUT/extra-api-quota设置订阅外月度消费上限(元,0 为不限)
GET / PUT/preference用户偏好,回退模型在这里配(约一分钟内生效)
GET/subscription/page订阅记录
GET/subscription/policy-limit当前订阅带来的限制策略明细

BYOK 凭证

托管你自己的上游厂商凭证。用 BYOK 调用时平台不扣费, 费用直接产生在你的厂商账户上。

方法路径说明
GET/credential/vendors可托管的厂商清单
GET/credential/page已托管的凭证列表
POST/credential/test连通性测试,建议加之前先测
POST / PUT/credential新增 / 修改
DELETE/credential?ids=1,2,3删除,ID 走查询参数
GET/credential/stats凭证使用统计
⚠️
BYOK 不豁免模型准入限制

准入限制针对的是模型本身,不是计费来源。用自己的凭证照样可能被 40203 拦下,见 模型、准入与回退

调用示例

platform.sh
# 公开接口,不需要任何凭证
curl https://www.apigoto.com/api/v1/user/user/models

# 需登录接口,用登录 token(不是 sk-rouertcode-…)
curl https://www.apigoto.com/api/v1/user/user/api-key/page?page=1&size=20 \
  -H "Authorization: Bearer $APIGOTO_ACCESS_TOKEN"
🖥️
日常操作用控制台更方便

上面这些接口在用户中心都有对应页面。接口更适合做自动化—— 比如定时拉调用日志做自己的报表、按项目批量轮换密钥。