任務、發布與綁定
需要 company manager。受限 API key 對 tasks / bindings 一律 404。
步驟
- 建任務 —
POST /tasks(SandboxTaskCreateRequest):name1–256、description≤2048。owner_scope:chatroom/department/company;owner_id:對應的 id。agent_enabled(預設 false):是否允許 Agent 提交此任務(見 Agent 確認流程)。
- 建任務版本(draft) —
POST /tasks/{task_id}/versions(SandboxTaskVersionCreateRequest):environment_version_id:綁定一個ready的環境版本。startup_script/work_script(各 ≤1 MiB)、ordinary_env(≤100 名稱、每項 ≤64 KiB)。input_instructions/input_example(≤64 KiB,給使用者看的說明)。timeout_seconds(預設 1800,ge=1,le≈7天)。secret_slot_declarations:宣告需要的 secret slot(見 Secret)。requires_confirmation(預設 false):Agent 提交是否需要人為確認。
- 編輯 draft(選)—
PATCH /tasks/{task_id}/versions/{vid}(僅 draft 可改)。 - 發布 —
POST /tasks/{task_id}/versions/{vid}/publish→state: "published"。只有 published 才能綁定/執行。 - 分享(選,跨部門/公司/聊天室)—
POST /tasks/{task_id}/shares(target_kind+target_id)。撤銷:.../shares/{grant_id}/revoke。 - 綁定到聊天室 —
POST /bindings(chatroom_id+task_id+task_version_id)。把「已發布的某個版本」釘進聊天室。
版本升級(binding)
- 綁定會釘住精確版本。任務出了新版本時,binding 的
update_available會變 true。 - 要升級到新版本,明確呼叫
POST /bindings/{binding_id}/accept-version(task_version_id)——不會自動跳版。 - 撤銷綁定:
POST /bindings/{binding_id}/revoke。
擁有者 vs 借用者
- 你擁有的任務/版本:回應含腳本、
source_digest、secret_slot_declarations等。 - 別人分享給你的:回應省略上述擁有者專屬欄位,只給執行所需(
secret_slot_names等)。
常見錯誤
- 409:發布/歸檔時的非法狀態轉換。
- 404:未授權 / 跨公司分享目標 / 受限 key。
- 422:欄位驗證(大小、pattern、未知欄位)。
下一步:執行與取回結果。
Last updated on