REST API 參考
自動記憶 API
| 方法 | 路徑 | 用途 |
|---|---|---|
GET | /v1/auto | 讀取目前範圍的自動記憶策略 |
PUT | /v1/auto | 啟用、暫停或設定 ACP 自動記憶路由 |
POST | /v1/auto/redaction-audits | 記錄去識別中繼資料,不包含原始內容 |
POST | /v1/sessions/:id/events | 本機 ACP 與原生橋接事件傳遞 |
POST | /v1/sessions/:id/compile | 本機 ACP 服務整理記錄 |
Auto API 保存使用者與工作區策略。本機 ACP 服務負責事件傳遞與整理;應用接入透過明確工作階段生命週期介面記錄任務。
Agent 身分與訊息
帶 API Key 的 Agent REST 請求使用 X-TokST-Actor: agent。伺服器綁定穩定的 agt_... 身分碼,用戶端提交的 Agent ID 會被拒絕。可使用 GET /v1/agents?workspace_id=<uuid>、POST /v1/agent-messages、GET /v1/agent-messages/inbox、GET /v1/agent-messages/events、POST /v1/agent-messages/:id/acknowledge 與 POST /v1/agent-messages/:id/close。
TokST 在 https://api.tokst.com/v1 提供需驗證的 REST 介面,另有一個無需驗證的健康檢查。生產 API 與網頁控制台和遠端 MCP 使用相同的使用者與工作區存取規則。
機器可讀的 OpenAPI 3.1 文件位於 https://api.tokst.com/openapi.json,供程式化用戶端讀取驗證方式、介面類型、請求參數與回應結構。
TokST Local 使用私有 CLI 與 stdio MCP 設定。Local 記憶保存在目前裝置的 SQLite 中,不提供網路 REST 監聽;雲端 API 服務雲端工作區與知識庫。
決策、架構、會議紀要和工作可在記憶 content 欄位中使用結構化 Markdown。短事實可使用純文字。金鑰、私鑰、原始推理和暫時工具輸出保留在記憶之外。
回應與錯誤模型
成功回應會傳回 OpenAPI 3.1 契約中定義的 JSON 結構。錯誤回應統一使用:
{
"error": "quota_exceeded",
"code": "quota_exceeded",
"message": "目前月度額度已用盡,請在重置時間後重試或升級容量。"
}
error 保持相容;code 是機器可讀的標準錯誤碼;message 提供復原建議,用戶端不應依賴其文字做程式判斷。
限流回應標頭
已驗證 REST 回應提供以下額度視窗回應標頭:
| 回應標頭 | 含義 |
|---|---|
RateLimit-Limit | 目前額度視窗允許的總呼叫數 |
RateLimit-Remaining | 目前額度視窗剩餘呼叫數 |
RateLimit-Reset | 距離額度視窗重置的秒數 |
Retry-After | HTTP 429 時傳回,表示再次請求前應等待的秒數 |
當 RateLimit-Remaining 接近零時應降低呼叫頻率。收到 429 後,應等待 Retry-After 再繼續請求。TokST 目前提供拉取式 REST、MCP 與工作階段事件介面,暫未提供公開的出站 Webhook。
驗證
透過 Authorization 請求標頭傳送 TokST API 金鑰:
curl https://api.tokst.com/v1/status \
-H "Authorization: Bearer tk_live_xxxxxxxxxxxxxxxx"
請把 API 金鑰保存在密鑰管理器或環境變數中。URL 查詢驗證僅用於舊版 MCP 工作階段相容,REST 請求應使用請求標頭。
邀請與權益
| 方法 | 路徑 | 說明 |
|---|---|---|
GET | /v1/referrals/me | 讀取邀請碼、統計和遮罩後的受邀使用者記錄 |
GET | /v1/benefits/me | 讀取 Pro 權益、基礎方案和目前有效方案 |
POST | /v1/benefits/:id/activate | 啟用一筆待使用 Pro 權益 |
新帳戶歸因僅在透過邀請連結註冊時寫入。經此 API、網頁、CLI 或 MCP 建立的有效記憶會自動啟用已驗證的邀請。
邀請與權益
| 方法 | 路徑 | 說明 |
|---|---|---|
GET | /v1/referrals/me | 讀取邀請碼、統計和遮罩後的受邀使用者記錄 |
GET | /v1/benefits/me | 讀取 Pro 權益、基礎方案和目前有效方案 |
POST | /v1/benefits/:id/activate | 啟用一筆待使用 Pro 權益 |
新帳戶歸因僅在透過邀請連結註冊時寫入。經此 API、網頁、CLI 或 MCP 建立的有效記憶會自動啟用已驗證的邀請。
遠端 MCP 的 OAuth
遠端 MCP 用戶端使用 OAuth 2.1 授權碼流程與 PKCE。連接 https://api.tokst.com/mcp 後,用戶端會探索 /.well-known/oauth-protected-resource 與 /.well-known/oauth-authorization-server,開啟 TokST 完成帳戶與工作區確認,並儲存可更新的 Bearer 憑證。REST 自動化繼續使用 API 金鑰。
介面清單
健康與帳戶
| 方法 | 路徑 | 驗證 | 說明 |
|---|---|---|---|
GET | /health | 否 | 服務健康檢查 |
GET | /v1/status | 是 | 方案、月用量、儲存、個人工作區與知識庫配額、團隊工作區配額及統計 |
智能體與訊息
| 方法 | 路徑 | 說明 |
|---|---|---|
GET | /v1/agents | 列出工作區可信智能體;需要 workspace_id |
POST | /v1/agent-messages | 以可信智能體身分傳送定向或廣播訊息 |
GET | /v1/agent-messages/inbox | 讀取可信智能體收件匣;可使用 workspace_id 篩選 |
GET | /v1/agent-messages/events | 開啟可信智能體 SSE 事件流;workspace_id 可篩選首次未讀快照 |
POST | /v1/agent-messages/:id/acknowledge | 確認訊息回執 |
POST | /v1/agent-messages/:id/close | 關閉訊息回執 |
SSE 請求需要 Authorization: Bearer $TOKST_API_KEY 與 X-TokST-Actor: agent。事件包括 ready、message.created、heartbeat 與 auth.revoked;CLI 透過 tokst agent listen 處理重新連線和未讀訊息補償。
記憶
| 方法 | 路徑 | 說明 |
|---|---|---|
POST | /v1/memories | 建立記憶並產生嵌入 |
GET | /v1/memories | 列出作用中的記憶 |
GET | /v1/memories/context | 產生分組上下文快照 |
POST | /v1/memories/search | 關鍵字優先搜尋,必要時使用作用域語意回退 |
GET | /v1/memories/:id | 取得單筆記憶及附件中繼資料 |
PATCH | /v1/memories/:id | 更新內容、標題、類型或標籤 |
POST | /v1/memories/:id/verify | 使用證據、可信度或有效期限驗證記憶 |
POST | /v1/memories/:id/supersede | 將記憶標記為已由新記錄取代 |
POST | /v1/memories/:id/archive | 封存記憶 |
POST | /v1/memories/:id/append | 追加內容並重新產生嵌入 |
POST | /v1/memories/:id/restore | 還原已封存記憶 |
DELETE | /v1/memories/:id | 刪除記憶及其 R2 物件 |
知識庫
| 方法 | 路徑 | 說明 |
|---|---|---|
GET | /v1/atlases | 列出可存取知識庫 |
GET | /v1/atlases/:id | 取得單一知識庫 |
POST | /v1/atlases | 建立知識庫 |
PATCH | /v1/atlases/:id | 重新命名或替換路由關鍵字 |
DELETE | /v1/atlases/:id | 刪除知識庫、其中的記憶及 R2 物件 |
工作區
| 方法 | 路徑 | 說明 |
|---|---|---|
GET | /v1/workspaces | 列出可存取工作區 |
GET | /v1/workspaces/:id | 取得單一工作區 |
POST | /v1/workspaces | 建立工作區 |
DELETE | /v1/workspaces/:id | 刪除空工作區;仍有知識庫時回傳 409 |
GET | /v1/workspaces/:id/members | 列出工作區成員和角色 |
GET | /v1/workspaces/:id/invitations | 列出已發出的邀請 |
POST | /v1/workspaces/:id/invitations | 建立一個或多個邀請;使用 emails、role、expiresInDays |
PATCH | /v1/workspaces/:id/members/:userId | 調整為 admin 或 member;請求本文需要 confirm: true |
DELETE | /v1/workspaces/:id/members/:userId?confirm=true | 移除成員 |
POST | /v1/workspaces/:id/leave | 離開工作區;請求本文需要 confirm: true |
POST | /v1/workspaces/:id/owner-transfer | 轉讓給既有成員;請求本文需要 userId 和 confirm: true |
GET | /v1/workspace-invitations | 列出目前使用者待處理的邀請 |
POST | /v1/workspace-invitations/:id/respond | 接受或拒絕邀請;請求本文需要 accept 和 confirm: true |
DELETE | /v1/workspace-invitations/:id | 撤銷待處理邀請;攜帶 ?confirm=true |
記憶請求
建立
curl -X POST https://api.tokst.com/v1/memories \
-H "Authorization: Bearer $TOKST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "週五生產部署需要審批。",
"type": "decision",
"title": "發佈策略",
"tags": ["deploy", "policy"],
"atlasId": "00000000-0000-0000-0000-000000000000"
}'
content 為必填,type 預設為 note。支援 fact、decision、preference、task、architecture 和 note。提供 workspaceId 時必須與目標知識庫相符。
列表與上下文
# type 支援單值或逗號分隔列表;limit 範圍為 1-100
curl "https://api.tokst.com/v1/memories?atlas_id=$ATLAS_ID&type=decision,note&limit=20" \
-H "Authorization: Bearer $TOKST_API_KEY"
curl "https://api.tokst.com/v1/memories/context?atlas_id=$ATLAS_ID&limit=10" \
-H "Authorization: Bearer $TOKST_API_KEY"
搜尋
curl -X POST https://api.tokst.com/v1/memories/search \
-H "Authorization: Bearer $TOKST_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"發佈審批規則","atlas_id":"'$ATLAS_ID'","mode":"auto","limit":10}'
mode 支援 auto、keyword、semantic 和 hybrid,預設使用 auto。回應同時包含 mode 與 meta,其中記錄請求/最終模式、快取層級、強關鍵字判定和各階段耗時。
keyword回傳標題和正文的排序結果。semantic只回傳向量結果。hybrid始終使用 RRF 融合兩路結果。keyword_fallback表示 embedding 在硬逾時或服務異常後完成關鍵字降級。
更新與追加
curl -X PATCH https://api.tokst.com/v1/memories/mem_xxx \
-H "Authorization: Bearer $TOKST_API_KEY" \
-H "Content-Type: application/json" \
-d '{"content":"更新後的策略","type":"decision","tags":[]}'
curl -X POST https://api.tokst.com/v1/memories/mem_xxx/append \
-H "Authorization: Bearer $TOKST_API_KEY" \
-H "Content-Type: application/json" \
-d '{"content":"已由發佈負責人批准。"}'
空 tags 陣列會清除現有標籤。內容更新和追加都會重新產生語意嵌入。
驗證與取代
curl -X POST https://api.tokst.com/v1/memories/mem_xxx/verify \
-H "Authorization: Bearer $TOKST_API_KEY" \
-H "Content-Type: application/json" \
-d '{"evidence":"https://example.com/policy","confidence":0.95,"validUntil":"2027-01-01T00:00:00Z"}'
curl -X POST https://api.tokst.com/v1/memories/mem_old/supersede \
-H "Authorization: Bearer $TOKST_API_KEY" \
-H "Content-Type: application/json" \
-d '{"replacementMemoryId":"mem_new"}'
驗證會將記錄標記為已審核並儲存支撐中繼資料。取代會將舊記錄標記為 superseded,同時保留與新記憶的關聯。
知識庫與工作區請求
curl -X POST https://api.tokst.com/v1/workspaces \
-H "Authorization: Bearer $TOKST_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"平台團隊"}'
curl -X POST https://api.tokst.com/v1/atlases \
-H "Authorization: Bearer $TOKST_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"生產環境","workspaceId":"'$WORKSPACE_ID'","keywords":["deploy","release"]}'
刪除知識庫會級聯刪除記憶和附件物件。工作區刪除維持非級聯行為:先刪除其中的知識庫,再刪除空工作區。
檔案工作流程
檔案傳輸使用統一 Supabase Edge Function /functions/v1/tokst。這些路由接受 POST /auth/exchange 回傳的短期使用者 JWT;一般 REST 路由接受 tk_live_... API 金鑰。
| 方法 | Edge 路徑 | 用途 |
|---|---|---|
POST | /auth/exchange | 以 API 金鑰換取使用者 JWT |
POST | /storage/upload-url | 驗證所有權和配額,建立待處理附件,回傳簽名 PUT URL |
POST | /storage/confirm-upload | 確認 R2 物件存在,記錄真實大小和 MIME,啟用附件 |
GET | /storage/download-url | 回傳有效期 15 分鐘的簽名下載 URL |
POST | /storage/delete-objects | 由伺服器管理且驗證所有權的物件清理 |
CLI、網頁控制台和 MCP 工具已實作該工作流程。完整範例請參閱檔案附件。
回應與錯誤模型
成功回應包含 ok: true,錯誤回應包含穩定的 error 代碼。
| 狀態 | 含義 | 常見代碼 |
|---|---|---|
400 | 請求內容、查詢或資源關係無效 | invalid_query、atlas_workspace_mismatch |
401 | 缺少或使用了無效 API 金鑰 | missing_api_key、invalid_key |
403 | 金鑰已撤銷或物件存取遭拒 | revoked、forbidden |
404 | 路由或可存取資源不存在 | not_found |
409 | 目前資源狀態阻止操作 | workspace_not_empty、上傳物件不存在 |
429 | 達到月配額或滾動頻率限制 | quota_exceeded、rate_limited |
500 | 伺服器端故障 | internal_error |
所有資源查詢都受驗證使用者和工作區成員關係約束。作用域外的資源不會作為可存取資源回傳。
版本與棄用策略
TokST 將穩定的雲端 REST 路由維持在 /v1。新增欄位、端點和選用請求參數可在
/v1 內發布。移除欄位、改變欄位語意或改變授權行為的調整會使用新的主版本路徑。
TokST 會在本參考文件和版本歷程中,至少提前 90 天公告端點或欄位的計畫退役。
公告期間,受影響的 HTTP 回應會在適用時回傳 Deprecation: true 與 Sunset 日期。
用戶端應將未知回應欄位視為前向相容,並使用穩定的 error 代碼實作復原邏輯。
MCP 端點
同一主機在 https://api.tokst.com/mcp 提供完整的 46 個 MCP Streamable HTTP 工具。請參閱 MCP 參考;部署可設定 TOKST_MCP_TOOLSET=core 使用聚焦的 11 個記憶工具。
會話記憶 API
智能體請求攜帶 X-TokST-Actor: agent,TokST 自動注入可信 agt_... 身分。
| 方法 | 端點 | 用途 |
|---|---|---|
POST | /v1/sessions | 建立會話並回傳範圍內上下文 |
GET | /v1/sessions | 依工作區、知識庫、狀態與範圍列出會話 |
POST | /v1/sessions/bulk | 批次封存、還原或刪除最多 100 條已選擇工作階段 |
GET | /v1/sessions/candidates | 依工作區、知識庫、狀態與範圍列出待審核候選 |
GET | /v1/sessions/:id | 取得會話、候選、檢查點和上下文 |
POST | /v1/sessions/:id/units | 在自動工作階段中建立或恢復一個持久任務單元 |
POST | /v1/sessions/:id/candidates | 保存候選記憶 |
POST | /v1/sessions/:id/units/:unitId/finalize | 在工作階段保持作用中時將一個任務單元保存為關聯正式記憶 |
POST | /v1/sessions/:id/complete | 最後一個任務單元保存後關閉自動工作階段 |
POST | /v1/sessions/:id/checkpoints | 保存進度摘要 |
POST | /v1/sessions/:id/finalize | 寫入快照並編譯候選內容 |
POST | /v1/sessions/:id/reopen | 恢復 ACP 工作階段並更新關聯的自動記憶 |
POST | /v1/sessions/:id/automatic-memory/revert | 封存關聯自動記憶並保留工作階段稽核 |
POST | /v1/sessions/:id/candidates/:candidateId/moderate | 編譯、駁回或撤銷候選 |
POST | /v1/sessions/:id/archive | 封存或還原會話 |
自動橋接器使用任務單元:獨立任務建立一筆正式記憶,同一任務的追問更新對應單元。工作階段生命週期、冪等行為、智能體交接、審核權限、本機行為和後台治理請閱讀工作階段記憶指南。