Auth & Accounts
登录、会话、device flow、用户、角色与 API Key。
读取当前浏览器或 Bearer 登录态
读取当前浏览器或 Bearer 登录态
检查管理员密钥是否已配置
检查管理员密钥是否已配置
通过管理员密钥建立恢复会话
用于首个管理员恢复、无账号时的恢复登录以及权限恢复。
通过邮箱密码建立账号会话
普通账号和管理员账号统一使用这一入口登录。
清理当前浏览器会话
清理当前浏览器会话
读取账号邀请信息
返回邀请邮箱、显示名称、24 小时有效期和可选接受时间,不返回数据库中的 token 哈希。管理员重新生成邀请后,旧链接立即失效。
接受账号邀请并设置初始密码
接受一次性邀请、设置密码并撤销该账号已有的浏览器会话。
创建设备登录请求
CLI / Desktop / Web 先调用此接口获取 device code、user code 与浏览器批准地址,
轮询 device flow 结果并换取 API Key
返回 `authorization_pending` 时继续按 `intervalSeconds` 轮询;
在浏览器中批准一次 device 登录
在浏览器中批准一次 device 登录
在浏览器中拒绝一次 device 登录
在浏览器中拒绝一次 device 登录
读取当前账号资料
读取当前账号资料
更新当前账号资料
更新当前账号资料
列出当前可管理的 API Key
列出当前可管理的 API Key
创建新的 API Key
创建新的 API Key
撤销一个 API Key
撤销一个 API Key
列出权限分组与定义
列出权限分组与定义
列出所有全局角色
列出所有全局角色
创建自定义角色
创建自定义角色
更新角色名称、说明或权限
更新角色名称、说明或权限
删除一个自定义角色
删除一个自定义角色
列出账号和聚合权限摘要
Sub2API 绑定状态默认使用 10 秒进程内缓存并合并相同用户的并发查询;绑定状态不写入 Workflow Server 数据库。
获取 Sub2API API 密钥分组配置
读取 Sub2API 的 API 密钥分组,并合并 Workflow Server 数据库中保存的开放选择。
保存可向 Server 用户提供的 Sub2API API 密钥分组
保存前会重新读取 Sub2API 分组并校验所有 groupId。空数组表示不向 Server 用户提供任何分组。
从 Sub2API 同步 API 密钥分组展示
绕过短期缓存重新读取 Sub2API 的 API 密钥分组,合并已保存的开放选择并记录管理员同步审计事件。
配置一个 Sub2API 分组的用户开放状态和套餐价格
配置一个 Sub2API 分组的用户开放状态和套餐价格
获取全部 Sub2API 用户订阅
分页读取 Sub2API 管理接口中的订阅、套餐周期和用量,并用 Workflow 账号资料补充可匹配的用户身份。
模拟退款并取消 Sub2API 订阅
退款金额必须大于 0,且不能超过该 Sub2API 订阅关联的 Workflow 已完成模拟付款总额。
获取当前用户可用的 AI 配置与权益
组合管理员开放分组、Sub2API 余额、余额分组用量、订阅用量和密钥配置状态;用户状态默认使用 10 秒进程内缓存,分组默认使用 60 秒进程内缓存,相同并发查询会合并。缓存过期后的临时网络、超时、限流或 5xx 故障可在默认 5 分钟 stale 窗口内返回最后一次成功结果;强制刷新和权威 4xx 不降级。Server 不把权益、用量、绑定状态或密钥状态同步到 Workflow Server 数据库,也不返回 Sub2API 密钥或密钥 ID。
保存当前用户的 AI provider 使用偏好
按顺序保存管理员已开放的 Sub2API 分组 ID。`GET /api/auth/sub2api/catalog` 的 `groups` 和 `GET /api/auth/sub2api/llm-credentials` 的 `credentials` 会使用相同顺序;运行目录会跳过当前不可用的配置,但不会在模型请求已经开始后跨 provider 重试。未提交的新分组按默认分组 ID 顺序追加;空数组删除用户偏好并恢复默认顺序。
获取当前用户的 AI 请求用量
从 Sub2API 分页读取当前登录用户的逐次模型请求和时间范围汇总。响应只保留模型、配置、入口、Token、费用、耗时和计费方式等展示字段,不返回 Sub2API Key、用户资料、IP、User-Agent、上游请求 ID 或内部账号标识。读取使用默认 10 秒进程内缓存、并发合并和默认 5 分钟 stale-if-error 窗口,不同步到 Workflow Server 数据库。
获取当前用户可用的服务器 AI 凭据目录
返回已开放、分组有效、用户 Key 为 active,且订阅分组存在 active 订阅的配置。`credentials` 遵循当前用户保存的 provider 使用偏好,失效、停用、模型为空或模型读取失败的配置会跳过,后续有效项保持相对顺序。只读 Sub2API 明细遵循短期缓存和有界 stale-if-error 策略;无缓存或兜底窗口已过期时,上游不可用仍返回 502。Sub2API 决定可用模型,Workflow Server 使用内置版本化模型目录补充视觉、联网、推理和工具调用能力;未知模型不声明能力。响应包含一小时短期代理凭据,但不包含真实 Sub2API Key。只有具有用户身份的账号会话、账号 API Key 或 Server runtime capability 可用;无用户身份的管理员 Key 返回 403。
代理 Anthropic Messages 请求
使用服务器 AI 目录签发的短凭据代理 JSON 或 SSE 请求。Server 移除客户端认证、Cookie 和逐跳 header,再注入实际 Sub2API Key。请求开始后短凭据到期不会中断已经建立的流。
代理 OpenAI Responses 请求
仅转发到固定的 Sub2API `/v1/responses` 路径,支持 JSON 与 SSE;请求体上限为 50 MiB,客户端断开时取消上游请求。
代理 OpenAI Chat Completions 请求
仅转发到固定的 Sub2API `/v1/chat/completions` 路径,支持 JSON 与 SSE;不接受客户端指定任意上游 URL。
获取一个 AI 分组支持的模型
仅允许查询管理员已向用户开放的分组。分组启用自定义模型列表时以该列表为准;未启用时从 Sub2API 分页读取分组内 active 账号的当前模型列表并合并去重。Server 默认使用 60 秒进程内缓存并合并相同并发请求,不把模型列表同步到 Workflow Server 数据库。
启用一个余额计费 AI 分组
首次启用时为当前用户创建对应分组的 Sub2API API 密钥;已有停用密钥时直接恢复为 active,不会充值账户余额,也不返回密钥内容或 ID。
停用一个余额计费 AI 分组
将当前用户对应分组的现有 Sub2API API 密钥状态改为 inactive;不会删除密钥,也不返回密钥内容或 ID。
获取当前用户的 Sub2API 订单
获取当前用户的 Sub2API 订单
创建待付款的 Sub2API 订单
订阅套餐订单绑定一个分组并使用管理员价格;余额充值是账户级订单,不绑定分组,金额由 amountCents 指定。该步骤不调用 Sub2API。
模拟付款并将订单履约到 Sub2API
订阅订单分配或续期 30 天订阅后创建分组密钥;余额订单只增加当前 Sub2API 用户的账户级共享余额。
邀请一个新用户
邀请一个新用户
为已有受邀用户重新生成邀请链接
为已有受邀用户重新生成邀请链接
更新用户邮箱、显示名称、临时密码或启停状态
更新用户邮箱、显示名称、临时密码或启停状态
校验 Workflow 用户的 Sub2API 绑定状态
使用确定性 Sub2API 邮箱实时查询用户,并返回 bound 或 unbound 状态;上游不可用时返回 502。
将 Workflow 用户绑定为 Sub2API 普通用户
使用 Workflow 用户 ID 生成 Sub2API 用户名和 `<userId>@workflow-code.local` 邮箱。
解除 Workflow 用户的 Sub2API 绑定
按确定性邮箱查找并删除对应的 Sub2API 普通用户,Workflow 用户不受影响。
覆盖指定用户的角色集合
覆盖指定用户的角色集合