MasterOS文档
文档

API 参考

MasterOS API 暴露的真实 REST 端点,按资源组织,位于 /v1 前缀之下。

这些是当前真实的端点

本参考文档精确记录了 API 当前的实际实现。它是手写的,并非从 API 自身真实的 OpenAPI spec 生成而来(该 spec 实际所在位置见 Versioning)——请关注 Changelog 以留意两者之间的偏差。

所有端点都相对于 API 的 base URL,位于 /v1 前缀之下(参见 Versioning)。所有需要认证的端点都使用由 POST /v1/auth/verify-login-code 设置的 httpOnly session cookie——目前还没有单独的 API 密钥认证方式(参见 Authentication)。

auth

MethodPathAuth备注
POST/v1/auth/request-login-code—{ email }. 通过邮件发送 6 位验证码,首次使用时创建账户;始终返回相同的消息。按 IP 和按邮箱分别进行限流。
POST/v1/auth/verify-login-code—{ email, code }. 设置 session cookie。按 IP 和按邮箱分别进行限流。
POST/v1/auth/logoutsession清除 session cookie。
GET/v1/auth/mesession返回当前用户。
GET/v1/auth/google—重定向到 Google OAuth。
GET/v1/auth/google/callback—OAuth 回调;成功后重定向回应用内。
GET/v1/auth/facebook—重定向到 Facebook OAuth。
GET/v1/auth/facebook/callback—OAuth 回调;成功后重定向回应用内。
POST/v1/auth/forgot-password—{ email }。无论该邮箱是否已注册,始终返回相同的消息。
POST/v1/auth/reset-password—{ token, password }。Token 仅可使用一次,且会过期。

chat

MethodPathAuth备注
POST/v1/chatsession{ model, messages, conversationId?, idempotencyKey }。以纯文本形式流式返回响应体;响应的 x-conversation-id 头携带 conversation id。idempotencyKey 是必需的——使用相同 key 重试的请求永远不会重复计费或重复调用供应商。

skills

MethodPathAuth备注
POST/v1/skillssession{ name, instruction, input_schema?, output_schema? }。创建一个你账户私有的 Skill。
GET/v1/skillssession列出你自己的 Skill。
GET/v1/skills/templatessession列出可复制为你自己 Skill 的起始模板。
POST/v1/skills/templates/:id/duplicatesession将一个模板复制为你自己的新 Skill。
POST/v1/skills/importsession{ name, instruction, input_schema?, output_schema?, version? }——与 GET /v1/skills/:id/export 产生的数据形状完全一致,因此 export → import 可以往返互通。任何其他字段(id、owner_id、organization_id、allowed_tools)都会被直接拒绝;被导入的 Skill 永远不会从文件中带入工具绑定(tool binding)。
GET/v1/skills/:idsession你拥有的一个 Skill,包含它的所有版本。
GET/v1/skills/:id/exportsession可移植的 { name, instruction, input_schema, output_schema, version } 数据形状,与 import 端点的输入相匹配。
POST/v1/skills/:id/versionssession{ instruction, input_schema?, output_schema? }。发布一个新的不可变版本。
POST/v1/skills/:id/runsession{ model, input, conversationId?, idempotencyKey }。重新进入与 POST /v1/chat 相同的 chat 处理流程,input 代替那一条用户消息——具有相同的 idempotency/quota/ledger 行为。

conversations

MethodPathAuth备注
GET/v1/conversationssession列出你自己的对话。
GET/v1/conversations/:idsession单个对话及其消息。对于你不拥有的对话会返回 404。

files

MethodPathAuth备注
GET/v1/filessession列出你自己已上传的文件。
POST/v1/filessessionMultipart 上传,字段名为 file。接受纯文本、Markdown、PDF 和 .docx,最大 20 MB。
DELETE/v1/files/:idsession删除一个你拥有的文件(存储对象 + 记录)。

plans

MethodPathAuth备注
GET/v1/plans—(公开)列出各 plan 的价格和允许使用的模型——刻意设为公开,以便在登录前就能看到价格。

billing

MethodPathAuth备注
POST/v1/billing/checkoutsession{ planId, provider: "sepay" | "paddle" }。被收取的金额始终来自服务端对 plan 的查询,绝不会来自客户端。Free 和 Enterprise 这两个 plan 无法通过此方式结账。
GET/v1/billing/quotasession你当前的每日 quota 限额与剩余余额。

运行中的 API 还存在另外两个资源,但本文档中没有将它们作为面向客户的功能记录:/v1/webhooks/*(仅入站,由 SePay/Paddle 调用——不是你自己要调用的东西)和 /v1/admin/*(内部使用,仅限 admin)。

API 参考 — MasterOS 文档