API 参考 / work-items
POST /api/v1/work-items/{workItemId}/transition · executeWorkItemTransition
执行一次工作流转移:校验守卫(permission_guard)→ CAS 写状态 + 激活槽/待办人 → 产 work_item.updated 事件(与路由变更时的 work_item.routed)→ 写转移日志。 CAS 并发冲突返回 409(前端刷新后重试);守卫拒绝返回 403;拓扑非法、requireReason 边缺原因、 或对终态重复流转返回 422。内置 canceled 边要求非空原因;缺陷进入 canceled 会清空旧 resolution。 鉴权模块按目标条目自身的 type 判定:缺陷(type=bug)走 bugs 模块、其余走 subtasks, 均要求 >= edit(缺陷即 type=bug 的工作项,没有独立端点)。
鉴权:项目 API Token(Authorization: Bearer wfp_…)。详见 Agent 接入。
workItemId(必填)toStateKey(必填)reasonid(必填)displayKey(必填)requirementId(必填)roomId(必填)severityresolutionparentIdtitle(必填)descriptiontype(必填)availableTransitionsavailableTransitions[].toStateKey(必填)availableTransitions[].name(必填)availableTransitions[].allowed(必填)availableTransitions[].blockedReasonavailableTransitions[].guardCodeavailableTransitions[].requireReasonavailableTransitions[].href(必填)availableTransitions[].method(必填)status(必填)priority(必填)ownerId(必填)creatorId(必填)role(必填)startOn(必填)dueOn(必填)estimateDays(必填)progress(必填)sortOrder(必填)customFieldsworkflowVersionId(必填)activeSlotKey(必填)activeUserId(必填)lastActorIdstateEnteredAt(必填)slotscreatedAt(必填)updatedAt(必填)403:Problem 错误响应404:Problem 错误响应409:Problem 错误响应422:Problem 错误响应curl -X POST "https://你的项目.workflow.games/api/v1/work-items/{workItemId}/transition" \
-H "Authorization: Bearer wfp_…" \
-H "content-type: application/json" \
--data '{"toStateKey":"示例文本","reason":"操作原因(会记入变更流)"}'HTTP/1.1 200
{
"id": "018f3c2e-0000-7000-8000-000000000000",
"displayKey": "示例文本",
"requirementId": "018f3c2e-0000-7000-8000-000000000000",
"roomId": "018f3c2e-0000-7000-8000-000000000000",
"title": "示例标题",
"type": "task",
"status": "示例文本",
"priority": "P0",
"ownerId": "018f3c2e-0000-7000-8000-000000000000",
"creatorId": "018f3c2e-0000-7000-8000-000000000000",
"role": "示例文本",
"startOn": "2026-08-01",
"dueOn": "2026-08-01",
"estimateDays": 1,
"progress": 1,
"sortOrder": 1,
"workflowVersionId": "018f3c2e-0000-7000-8000-000000000000",
"activeSlotKey": "示例文本",
"activeUserId": "018f3c2e-0000-7000-8000-000000000000",
"stateEnteredAt": "示例文本",
"createdAt": "示例文本",
"updatedAt": "2026-08-01"
}合同真值:OpenAPI 3.1(0.1.0)。
相关:Agent 接入指南 · 使用指南 · API 参考索引