共有三类 HTTP 接口:应用背后的 editor API、每个 published site(已发布站点)的端点,以及供智能体使用的 MCP 端点。
编辑器 API
Web 应用把 /api/** 代理到 api Worker。请求使用仅限 HTTP 的会话 cookie 并经过 CSRF 检查;每个路由都会检查调用者在该站点上的角色。你没有任何角色的站点会返回 404,与不存在的站点相同,因此 id 绝不会泄露。超出套餐上限时返回 402 plan_limit。
认证
| 方法 | 路径 | 用途 |
|---|---|---|
POST | /auth/signup | 创建编辑器账户 |
POST | /auth/login | 开始会话(按 IP 和邮箱限流) |
POST | /auth/logout | 结束会话 |
GET | /auth/me | 当前登录的用户 |
GET | /auth/realtime-token | 用于站点房间的短期令牌 |
POST | /auth/password-reset/request · /confirm | 重置密码(在接入邮件发送前返回 501) |
POST | /auth/verify-email/request · /confirm | 验证邮箱地址(在接入邮件发送前返回 501) |
POST | /auth/invites · /invites/accept | 邀请加入和加入工作区(在接入邮件发送前返回 501) |
站点和页面
| 方法 | 路径 | 用途 |
|---|---|---|
GET POST | /sites | 列出或创建站点 |
GET PATCH DELETE | /sites/:siteId | 读取、重命名(slug:管理员)或删除站点 |
GET POST | /sites/:siteId/pages | 列出或创建页面 |
GET PATCH DELETE | /pages/:pageId | 读取、更新或删除页面 |
PUT | /pages/:pageId/doc | 替换页面文档 |
GET POST | /sites/:siteId/members | 站点成员 |
GET POST | /sites/:siteId/assets | 列出或上传资源 |
POST | /sites/:siteId/publish | 发布到预发布环境(编辑者)或生产环境(管理员) |
GET | /sites/:siteId/publishes?environment= | staging 或 production 的最近发布,从新到旧,包括线上版本以及由谁发布或回滚(编辑者;邮箱仅对管理员可见) |
POST | /sites/:siteId/rollback | 把环境回滚到它最近的某次发布,{ environment, publishId }:预发布环境(编辑者)或生产环境(管理员) |
POST | /sites/:siteId/export | 静态导出 ZIP(管理员) |
CMS 和表单
| 方法 | 路径 | 用途 |
|---|---|---|
GET POST | /sites/:siteId/collections | 集合 |
GET POST | /sites/:siteId/collections/:id/items | 条目 |
POST | …/items/:itemId/publish · unpublish · archive | 条目生命周期 |
GET | …/items/:itemId/versions | 条目版本,配合 …/:versionId/restore 恢复 |
GET | /sites/:siteId/forms/:formId/submissions(.csv) | 提交记录,JSON 或 CSV |
数据和逻辑
| 方法 | 路径 | 用途 |
|---|---|---|
GET POST PATCH DELETE | /sites/:siteId/integrations | 集成(写入:管理员) |
POST | /sites/:siteId/integrations/:id/test | 测试连接 |
POST | /sites/:siteId/run | 在编辑器中运行查询或操作 |
GET POST PUT DELETE | /sites/:siteId/workflows | 服务端工作流 |
POST | /sites/:siteId/workflows/:id/test | 测试运行(通过 …/runs/:runId/stream 流式输出) |
GET POST PATCH DELETE | /sites/:siteId/tables | 原生表及 …/rows |
GET PATCH DELETE | /sites/:siteId/visitors | 访客,以及 …/visitor-roles |
平台
| 方法 | 路径 | 用途 |
|---|---|---|
GET POST DELETE | /sites/:siteId/domains | 自定义域名,…/:id/refresh 重新检查 |
GET | /billing/plans | 套餐和上限 |
PUT | /billing/workspaces/:id/plan · /sites/:siteId/billing/plan | 更改套餐(Stripe Checkout) |
GET POST | /catalog/templates | 模板,…/:id/use 用于创建站点 |
GET POST | /catalog/plugins | 插件目录;在 /sites/:siteId/plugins 按站点安装 |
POST | /sites/:siteId/ai | AI 编辑(server-sent events) |
POST | /sites/:siteId/ai/expression | 表达式助手:编写、修复或解释表达式(server-sent events) |
GET | /workspaces/:workspaceId/ai/usage | 某月的 AI 花费:token、预估费用、配额,按站点和任务(管理员可按成员查看) |
GET | /workspaces/:workspaceId/ai/runs | 某月的 AI 请求,从新到旧,含 token 和预估费用 |
GET POST DELETE | /workspaces/:id/api-keys | 用于 MCP 的工作区 API 密钥 |
已发布站点
http
# Published sites (any domain of the site)
POST /api/_forms/:formId form submission (Turnstile token required)
POST /api/_q/:name client query of a page
ALL /api/<your path> your server workflow endpoints and webhooks
POST /_auth/signup | login | logout | magic-link
GET /_auth/magic?token=… completes a magic link
GET /_auth/me the current visitor
表单和查询按 IP 限流。带访问规则的页面,其查询也要通过同样的规则。
MCP
POST /mcp 使用 JSON-RPC(MCP streamable HTTP),以工作区 API 密钥作为 bearer token。GET /mcp 返回 405:不存在由服务端发起的流。
bash
curl -X POST https://<mcp host>/mcp \
-H 'Authorization: Bearer mk_…' \
-H 'content-type: application/json' \
-d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/list" }'