REST API 参考

这篇文档面向客户端开发者和集成方。读完后,你可以找到本地 API 地址、响应格式、鉴权头、资源端点、会话端点和产出端点。

默认服务地址:

http://127.0.0.1:8787

通用约定

大多数 JSON 接口返回 envelope:

{
  "success": true,
  "data": {}
}

错误响应:

{
  "success": false,
  "error": {
    "code": "RESOURCE_NOT_FOUND",
    "message": "resource not found"
  }
}

文件下载和 artifact 下载返回二进制响应;上传接口使用 multipart/form-data。

身份与鉴权

仅支持密码会话 Cookie 与 CSRF。业务请求需携带登录后的 df_session;非安全方法还需 X-CSRF-Token(来自 df_csrf Cookie):

X-CSRF-Token: <token_from_df_csrf_cookie>

Web v1 不暴露 workspace 切换;自建集成除非自行管理 workspace 路由,否则使用登录会话绑定的 workspace。/api/v1/*POST /api/copilotkit 必须使用同一会话,否则 session、资源、文件、产出和 run events 会落到不同用户作用域。

身份接口

Method Path 用途
GET /api/v1/me 读取当前用户和 workspace。

密码认证接口

Method Path 用途
GET /api/v1/auth/status 读取公开认证状态(含 registrationEnabled,不含密钥)。
POST /api/v1/auth/register 创建用户账号和验证 token。
POST /api/v1/auth/login 登录并设置 df_sessiondf_csrf Cookie。
POST /api/v1/auth/verify-email 验证邮箱 token。
POST /api/v1/auth/password/forgot 请求密码重置。
POST /api/v1/auth/password/reset 使用 token 重置密码。
GET /api/v1/auth/csrf 读取当前 CSRF token。
POST /api/v1/auth/logout 退出当前会话。
POST /api/v1/auth/logout-all 注销当前用户所有会话。
GET /api/v1/auth/sessions 列出当前用户的活跃会话。
DELETE /api/v1/auth/sessions/:id 注销单个会话。
POST /api/v1/auth/password/change 修改当前用户密码。

健康与能力

Method Path 用途
GET /healthz 进程存活(liveness)。
GET /ready 就绪探针:Mastra / builtin 初始化完成;响应含 startup_msphases
GET /api/v1/capabilities 读取后端能力开关。
GET /api/v1/me 读取当前身份。
curl http://127.0.0.1:8787/healthz
curl http://127.0.0.1:8787/ready
curl http://127.0.0.1:8787/api/v1/capabilities

Agent Runtime

Method Path 用途
POST /api/copilotkit 启动 Agent run,返回 AG-UI 事件流。
POST /api/v1/runs/:id/cancel 取消正在运行的 run。

POST /api/copilotkit 使用 CopilotKit / AG-UI RunAgentInput。详见 Agent Runtime 与 AG-UI 参考

会话

Method Path 用途
GET /api/v1/sessions 列出服务端会话。支持 limitcursor
PATCH /api/v1/sessions/:sessionId 更新会话标题。
DELETE /api/v1/sessions/:sessionId 永久删除会话及其对话、run、产物与子分支。
GET /api/v1/sessions/:sessionId/conversation 读取服务端权威对话历史。支持 limit
GET /api/v1/sessions/:sessionId/checkpoints 列出已持久化的上下文 checkpoint。支持 limit
GET /api/v1/sessions/:sessionId/trace-dag 读取 run/step/tool/output 语义图。支持 limit
POST /api/v1/sessions/:sessionId/branches 从已结束 run 或 checkpoint 创建持久分支。请求体:{ "runId": "..." }{ "checkpointId": "..." }
GET /api/v1/checkpoints/:checkpointId 读取 checkpoint 元数据。
GET /api/v1/checkpoints/:checkpointId/context-package 读取 checkpoint 元数据及上下文快照。

会话接口用于 Web/TUI 恢复历史、显示标题、读取 tool-call 配对,并支持从 checkpoint 重新提问。conversation 响应包含 messagesrunEventRefstoolCalls,并可包含 checkpointsbranchbranches。每个 checkpoint 从现有 run、message 和 run event 派生,包含 runIdstatus、消息位置范围、事件 seq 范围、开始/结束时间和可选错误信息;它表示一轮 run 的可恢复历史边界。分支会话引用父会话到 fork checkpoint 之前的历史,不复制旧消息;读取分支时返回可见父前缀加上分支自身消息。

工作区配置

Method Path 用途
GET /api/v1/workspace-config 读取工作区资源默认配置。
PATCH /api/v1/workspace-config 更新默认启用状态。
GET /api/v1/run-defaults 读取 run 默认配置。

这些路由代理当前 workspace 中已配置的兼容 Data Link 或 DataGraph MCP 资源,不提供内置图服务。

Method Path 用途
GET /api/v1/datalink/servers 列出已配置的兼容服务。
GET /api/v1/datalink/:serverId/graph 读取并标准化 workspace 图。
POST /api/v1/datalink/:serverId/explore 使用自然语言查询探索图。
POST /api/v1/datalink/:serverId/tables 通过已配置服务添加表数据源。
DELETE /api/v1/datalink/:serverId/tables/:tableId 通过已配置服务移除表。
POST /api/v1/datalink/:serverId/rebuild 重建外部图。

/api/v1/datagraph/* 可作为 /api/v1/datalink/* 的别名。

数据源

Method Path 用途
GET /api/v1/datasource-types 发现支持的数据源类型和字段 schema。
GET /api/v1/datasources 列出数据源。
POST /api/v1/datasources 创建数据源。
GET /api/v1/datasources/:id 读取数据源详情。
PATCH /api/v1/datasources/:id 更新数据源。
DELETE /api/v1/datasources/:id 删除数据源。
POST /api/v1/datasources/:id/test 测试连接。
POST /api/v1/datasources/:id/introspect 抓取 schema,返回 job。
GET /api/v1/datasources/:id/schema 读取 schema 快照。支持 qincludeStats
GET /api/v1/datasources/:id/tables/:table/preview 预览表数据。支持 schemalimitoffsetorderBy

后端不暴露任意 SQL REST 入口。SQL 分析通过 Agent 工具执行。

模型

Method Path 用途
GET /api/v1/model-profiles 列出模型配置。
POST /api/v1/model-profiles 创建模型配置。
GET /api/v1/model-profiles/:id 读取模型配置。
PATCH /api/v1/model-profiles/:id 更新模型配置。
DELETE /api/v1/model-profiles/:id 删除模型配置。
POST /api/v1/model-profiles/:id/test 测试 provider。

知识库

Method Path 用途
GET /api/v1/knowledge-bases 列出知识库。
POST /api/v1/knowledge-bases 创建知识库。
GET /api/v1/knowledge-bases/:id 读取知识库。
PATCH /api/v1/knowledge-bases/:id 更新知识库。
DELETE /api/v1/knowledge-bases/:id 删除知识库。
POST /api/v1/knowledge-bases/:id/test 验证配置。
GET /api/v1/knowledge-bases/:id/files 列出文档。
POST /api/v1/knowledge-bases/:id/files 上传文档。
DELETE /api/v1/knowledge-bases/:id/files/:documentId 硬删除单个文档(级联清理 chunks/FTS/embeddings)。
POST /api/v1/knowledge-bases/:id/files/:documentId/reindex 重试/重建单个文档向量;成功后 status 置为 ready
POST /api/v1/knowledge-bases/:id/files/import 从 FileAssetRef 导入文档。
POST /api/v1/knowledge-bases/:id/search 检索调试。
POST /api/v1/knowledge-bases/:id/reindex 重建索引,返回 job;成功后文档 status 置为 ready

MCP 与 Skill

Method Path 用途
GET / POST /api/v1/mcp-servers 列出或创建 MCP Server。
GET / PATCH / DELETE /api/v1/mcp-servers/:id 读取、更新或删除 MCP Server。
POST /api/v1/mcp-servers/:id/test 测试 MCP Server。
GET /api/v1/mcp-servers/:id/tools 拉取 tools manifest。
GET / POST /api/v1/skills 列出或上传 Skill。
POST /api/v1/skills/select 预览本次 run 的 Skill 筛选结果。
GET / PATCH / DELETE /api/v1/skills/:id 读取、更新或删除 Skill。
POST /api/v1/skills/:id/test 测试 Skill。
POST /api/v1/skills/:id/validate 验证 Skill。
POST /api/v1/skills/:id/replace 替换 Skill package。

文件

Method Path 用途
GET /api/v1/files 列出文件资产。支持 scopeoriginsourcesessionId
POST /api/v1/files 批量上传文件。需在 multipart 字段或请求头提供 session id。
GET /api/v1/files/:id 读取文件引用。
POST /api/v1/files/:id/promote 把 session-scoped 文件提升为跨会话工作区文件。
DELETE /api/v1/files/:id 删除文件引用。
GET /api/v1/files/:id/download 下载文件内容。
POST /api/v1/chat/uploads 上传本次对话附件。

Artifact

Method Path 用途
GET /api/v1/artifacts?sessionId=:sessionId 列出某个会话的产出。
GET /api/v1/artifacts/:id 读取产出详情。
GET /api/v1/artifacts/:id/preview 读取预览 JSON。
GET /api/v1/artifacts/:id/content 读取 inline 内容。
GET /api/v1/artifacts/:id/download 下载产出。可带 format
POST /api/v1/artifacts/:id/promote 把文件型产出加入工作区文件。
POST /api/v1/artifacts/:id/export 导出指定格式,返回 job。

Query History

Method Path 用途
GET /api/v1/query-history 列出 SQL 查询历史。支持 sessionIddatasourceIdfavoritelimit
POST /api/v1/query-history/:id/favorite 收藏一条查询。
POST /api/v1/query-history/:id/unfavorite 取消收藏。
PATCH /api/v1/query-history/:id { "favorite": true | false } 更新收藏状态。

Jobs

Method Path 用途
GET /api/v1/jobs/:id 查询异步任务。
POST /api/v1/jobs/:id/cancel 取消异步任务。

写入约定

  • JSON 请求体默认上限为 1 MiB。
  • PATCH 支持 revisionIf-Match 乐观并发控制。
  • schema 抓取、索引重建、artifact export 可使用 Idempotency-Key
  • 凭据只在创建或更新资源时提交。
  • 读接口不返回明文密码、Token 或完整连接串。

延伸阅读