文档首页/📘 API 参考

API 参考

基地址 https://ai.syctra.com/api/v1 · 除标注 公开 外,所有接口都需要 Authorization: Bearer <token>。认证、错误、限流与安全请见 API 与原生集成

运行 —— 与智能体对话

POST /chat

启动一次持久运行并立即返回。

字段类型默认说明
messagestring必填。 你要智能体做的事
app_namestring"main"目标智能体。任意目录键(interactivedata_copilotcontract_review_dzslide_masterfinance_master…)或 custom_<id>(你自建的)
session_iduuid新建继续已有会话;留空则新开一个
attachmentsstring[]来自 POST /uploads 的上传 ID
kb_idsstring[]运行期间智能体可检索的知识库
kb_enhanceboolfalse用大模型改写 RAG 答案(更慢、更充实)
planboolfalse计划模式:智能体先写步骤计划再执行,并发出 plan / plan_step
modelstring账号默认模型目录键 —— 见 GET /models
reasoningboolfalse回答前进行更长时间的推理
data_workspace_iduuid要操作的 Data Lab 工作区
client_tzstringUTCIANA 时区,如 "Asia/Shanghai"
idempotency_keystring可安全重放:同一个 key 返回同一次运行
{ "run_id": "…", "session_id": "…", "cursor": 0, "resumed": false,
  "status": "running", "queue_seq": 0 }

statusrunning;会话忙时为 queued(前一次结束后自动开始);或 blocked

方法路径用途
POST/tasks/chat 相同但显式后台化 —— 适合批处理
GET/runs/{run_id}/events运行的 SSE 流(见下)
POST/runs/{run_id}/respond回答智能体的提问(user_choicequiz、审批)
POST/runs/{run_id}/cancel停止运行
GET/sessions/{id}/queue查看会话待办队列
POST/sessions/{id}/queue/resume恢复因失败而暂停的队列

GET /runs/{run_id}/events —— 事件流

text/event-stream。每个事件带 id(单调递增的 seq)、event(类型)和 data(JSON)。 可续传:用 Last-Event-ID: <seq>?after=<seq> 重连,游标之后的内容会从持久存储回放 —— 不丢工作,也不重复计费。

分组事件
回答token(文本片段)· usage(token 计数)· done · error
工具tool_call · tool_result · sandbox_stdout
计划plan(有序步骤)· plan_step(序号 + 状态)
文档document_start · document_delta · document_end(携带 artifact_id
交付物artifact · file(PDF/DOCX/PPTX/XLSX)· image · slides · webpage · chart · sheet
研究sources(网页结果)· graph(知识图谱)· browser(浏览器操作截图)· maps
人工介入user_choice · choice_answer · quiz · approval(等待你确认的动作)
通信email_draft · email_sent · social · call
法务工作室dossier · timeline · doc_summary · findings · contract · clause · contract_compare · consultation · legal_issues · ref_check · deadline · watch_synthesis · watch_change · watch_diff
招聘candidate · iv_job · iv_candidate · iv_questions · iv_grid · iv_answers · iv_ask · iv_plan
业务prospect · cerfa · exhibition · finance · site_map · site_pack

只要纯文本回答,消费 tokendoneerror 即可;其余是结构化卡片,可渲染也可忽略。遇到 未知事件类型应跳过而不是当作错误 —— 新类型会不断加入。

方法路径用途
GET/models你账号可用的模型目录
GET/sessions列出会话
GET/sessions/{id}单个会话及其最近事件
PATCH DELETE/sessions/{id}重命名 / 删除
GET/sessions/{id}/messages完整消息历史
GET/sessions/{id}/artifacts该会话产出的全部文件
POST/sessions/{id}/branch从某个节点分叉会话
POST/sessions/{id}/truncate将会话截断到某条消息
GET POST/sessions/{id}/versions产物版本历史 / 还原
GET/sessions/search?q=全文搜索你的会话

文件

方法路径用途
POST/uploads{filename, content_base64, mime, session_id?}{upload_id}。自动解析(OCR、视觉、转写)。单文件最大 200 MB
GET/uploads/{id}解析状态与抽取文本
GET/uploads/{id}/raw原始字节
POST/artifacts用你自己的内容创建产物
GET/artifacts/{id}下载生成的文件
POST/export将 Markdown/HTML 渲染为 PDF、DOCX 或 PPTX
POST/export-text纯文本导出

把上传 ID 放进 attachments 即可附加到某次运行。支持:PDF、Office、图片、音频、视频、 CSV/Excel、ZIP(递归解包)。

知识库(RAG)

方法路径用途
POST GET/kb创建 / 列出知识库
PATCH DELETE/kb/{id}重命名 / 删除
GET POST/kb/{id}/documents列出 / 添加文档(异步入库)
POST/kb/query/stream流式查询(见下)
GET PUT/kb/{id}/config检索配置(法务 / 企业 / 时间线 / 通用)、全文检索语言、预算。PUT 会重写所有字段 —— 请提交完整对象
GET/kb/{id}/chunks · /entities · /graph查看索引、抽取实体、知识图谱
GET/kb/{id}/file/{doc_id} · /image/{image_id}源文档 / 抽取的图片
POST GET/kb/{id}/conversations多轮 RAG 会话
GET/kb/{id}/conversations/{cid}/messages会话历史
GET POST DELETE/kb/{id}/connectors从外部源同步;/kb/connectors/catalog 列出可用连接器
POST GET DELETE/kb/{id}/share发布公开查询链接
GET/kb/pricing每次查询的计费模型
curl -N -X POST https://ai.syctra.com/api/v1/kb/query/stream \
  -H "Authorization: Bearer $TOKEN" -H 'content-type: application/json' -d '{
    "kb_id": "…", "q": "满 12 个月后适用哪些解约条款?",
    "mode": "full", "cite": true, "enhance": false, "agent": false, "top_k": 20
  }'
字段取值说明
modeauto · quick · full · deep · graph_local · graph_global检索深度。auto 依问题自动选择
citebool行内 [N] 引用及来源 ID
enhancebool用大模型改写答案
agentbool检索前先拆解多问题
doc_idstring只在单个文档内检索
conversation_iduuid继续多轮会话

自定义智能体

方法路径用途
GET/agent-tools可为智能体开启的能力目录
GET POST/agents/custom列出 / 创建
GET PUT DELETE/agents/custom/{id}读取 / 修改 / 删除
POST/agents/custom/persona从上传的文字中提炼人物设定
GET/marketplace · /marketplace/{id}已发布的智能体
POST/marketplace/{id}/install · /publish · /unpublish安装 / 发布 / 下架
{
  "name": "招投标分析师", "emoji": "📑",
  "description": "阅读招标文件并给出投或不投的结论",
  "instruction": "你是一名公共采购分析师…",
  "tool_keys": ["web", "deep_research", "documents", "knowledge_base", "database"],
  "model": "standard", "visibility": "private",
  "examples": ["分析这份招标文件"], "tags": ["采购"]
}

能力键:knowledge_base · web · deep_research · agent_team · computer_use · algerian_law · documents · slides · charts · images · webpage · code · quiz · email · planning · scraping · prospecting · linkedin · meta · obsidian · knowledge_graph · scheduling · workspace_files · data_engineering · database · n8n · stripe · paypal · notion · github · gitlab · elevenlabs · microsoft · atlassian · slack · s3 · apify · mcp_remote

运行方式与其他智能体一致:POST /chat"app_name": "custom_<id>"

调度器

方法路径用途
GET POST/cron列出 / 创建定时运行
PATCH DELETE/cron/{id}暂停、修改、删除
POST/cron/{id}/run立即执行一次
{ "name": "周一竞品监测", "cron_expr": "0 8 * * 1",
  "timezone": "Asia/Shanghai", "prompt": "总结上周的动向…",
  "app_name": "main", "delivery_email": "team@acme.com" }

标准 5 字段 cron。delivery_email 会把最终答案发到邮箱;留空则不发送。

Data Lab

方法路径用途
GET POST/data/workspaces列出 / 创建持久 DuckDB 工作区
PATCH DELETE/data/workspaces/{id}重命名 / 删除
POST/data/workspaces/{id}/ingest导入 Excel/CSV —— 支持杂乱表格、多行表头、一张表里多个数据块
GET/data/workspaces/{id}/tables · /files查看表结构与来源
POST/data/workspaces/{id}/query在工作区上执行 SQL
DELETE/data/workspaces/{id}/tables/{table}删除表

智能体集群

方法路径用途
GET/swarm/api/teams · /catalogue · /health可用团队与引擎状态
POST/swarm/api/run启动多智能体运行
GET/swarm/api/run/{id}/streamSSE 进度
POST/swarm/api/run/{id}/cancel终止
GET/swarm/api/dossiers · /{id} · /{id}/file/{name}产出的档案及其文件
POST/swarm/api/convert · /template/inspect转换输出 / 检查演示模板

文档与项目

方法路径用途
GET/docspace文件夹树与文档
POST PATCH DELETE/folders, /folders/{id}管理文件夹
POST PATCH DELETE/documents, /documents/{id}管理文档
GET/documents/{id}/content读取内容
POST/documents/{id}/attach把文档挂到会话上
POST/docspace/import-zip批量导入
GET POST/projects, /projects/{id}汇总会话与文件的工作区
POST GET DELETE/projects/{id}/members项目权限

分享(公开链接)

方法路径用途
POST GET DELETE/sessions/{id}/share发布会话
GET/shared/{slug}公开 读取已分享会话
GET/shared/{slug}/artifacts/{id}公开 已分享会话中的产物
GET POST/shared/{slug}/comments公开 评论区
POST/shared/{slug}/clone把分享的会话复制到自己账号
POST GET DELETE/docshare分享文档 / 文件夹
GET/shared-doc/{slug}公开 已分享文档
GET/shared-kb/{slug} · POST /shared-kb/{slug}/query/stream公开 知识库链接,查询计费给所有者

公开链接是未列出的 URL,不是认证。凡是你发布的内容,任何拿到链接的人都能读取 —— 而对已分享 知识库的查询会计费给。用对应的 DELETE 撤销。

可嵌入挂件

集成 → Widget 中创建挂件,然后在你的站点粘贴一行:

<script src="https://ai.syctra.com/embed.js" data-key="pk_live_…" async></script>

可选 data-position="bottom-left" | "bottom-right"。挂件调用的是 /embed-api 下的一套独立 公开接口 —— 公开密钥不是 API 密钥,读不到你的账号:

方法路径用途
GET/embed-api/config/{public_key}公开 挂件配置
POST/embed-api/chat公开 访客消息
GET/embed-api/runs/{run_id}/events公开 回答流
GET/embed-api/history/{public_key}/{visitor_id}公开 访客历史
GET POST PATCH DELETE/embed-widgets所有者管理(需认证)

/embed-api/*/scim/v2/* 位于域名根路径下,不在 /api/v1 之下 —— 例如 https://ai.syctra.com/embed-api/chat

只有被列入公开白名单的智能体才能绑定到挂件,访客流量按挂件限流,每次对话都计费给所属组织。 发布前请限制允许的来源域名。

团队、组织与账号供给

方法路径用途
GET/enterprise · /enterprise/analytics · /enterprise/retention组织、用量、留存策略
POST DELETE/enterprise/teams, /teams/{id}管理团队
POST DELETE/enterprise/teams/{id}/members…成员关系
POST DELETE/enterprise/teams/{id}/grants团队可使用哪些智能体
POST/enterprise/teams/{id}/invite · /invites/revoke · /invites/resend邀请
GET POST/invite/{token}, /invite/{token}/accept公开 接受邀请
GET PUT DELETE/enterprise/ssoSAML / OIDC 单点登录
POST/enterprise/scim-token签发 SCIM 供给令牌
GET/me/caps · /me/teams · POST /me/active-team调用者的权限与团队
GET POST DELETE/teams, /groups, /share-targets轻量团队、群组、分享目标

SCIM 2.0 位于 https://ai.syctra.com/scim/v2,使用独立令牌(不是 API 密钥): GET|POST /UsersGET|PUT|PATCH|DELETE /Users/{id}GET /Groups

账号、通知与隐私

方法路径用途
GET PATCH/auth/me个人资料
POST/auth/change-password · /auth/logout凭据 / 退出
GET/balance额度余额
GET POST/notifications, /notifications/read站内通知
PUT/me/notify-email · /me/low-balance-pct通知偏好
GET POST/push/vapid-key, /push/subscribeWeb Push 订阅
GET DELETE PUT/memory, /memory/{id}, /memory/settings长期记忆:查看、删除、关闭
GET/account/exportGDPR 导出你拥有的全部数据
DELETE/accountGDPR 删除账号及其数据
GET POST/approvals, /approvals/{id}/decide批准或拒绝受管控动作
GET PUT/approval-settings哪些能力需要人工审批

其他接口

方法路径用途
GET POST DELETE/deadlines…法务期限日程
POST GET DELETE/meetings…会议转写与纪要
POST GET DELETE/dubbings…, GET /dubbing/languages视频 / 音频配音任务
POST GET DELETE/email-compose, /email-templates已撰写邮件与模板
POST/email/send通过平台发送邮件
GET POST DELETE/prompts保存的提示词
POST/feedback · /message-feedback产品反馈与单条回答反馈
GET/healthz · /readyz · /metrics公开 存活、就绪、Prometheus 指标

集成注意事项

  • 目前没有出站 webhook。 跟踪长任务请保持 SSE 连接,或轮询 GET /sessions/{id} —— 两种方式下运行都不会因你断开而中止。
  • 轮询要克制。 优先用 SSE;确需轮询时请带上你已持有的 cursor
  • 保存游标。 持久化你处理过的最后一个 seq,能让集成在崩溃后安全恢复。
  • 固定智能体。 app_name 决定行为、成本与可用工具 —— 请显式指定,别依赖默认的 main
  • 优先处理 402429 这是健康集成在生产环境中真正会遇到的两个错误;其他错误通常 说明载荷有问题。