API 参考 / work-items
GET /api/v1/work-items/{workItemId}/workflow · getWorkItemWorkflow
一次拿到该工作项自己钉定的工作流版本的完整状态机(states / slots / transitions, 含每条边的 guards 原始 config、actions 与 route)以及当前状态下逐边的可用性判定。 在此之前,外部调用方要拼出同样的视图得发三个请求:GET /projects/{projectId}/workflow-bindings 取绑定 → GET /projects/{projectId}/workflows/{templateId}/versions/{versionId} 取图 → GET .../transitions 取当前可走的边;而且拿到的是项目当前绑定的版本,对象钉在旧版本时 展示与求值会漂移。本端点恒按对象自己钉的 workflowVersionId 返回,不会漂。 用途:外部流程在下发纪律前先校验其可执行性——「这个项目的工作项能不能从 A 直接走到 B」看 transitions 的拓扑,「我现在能不能走」看 availableTransitions[].allowed。 状态机的形状由项目管理员在 /settings/workflows 配置:内置需求工作流从 backlog 只能到 in_review / rejected,要加别的出边请在那里改,不是 API 的限制。 templateId 供拼配置面链接与调既有的版本详情端点;模板名从 GET /projects/{projectId}/workflows 取。 权限与 GET .../transitions 同档(响应内含逐边 availability)。
鉴权:项目 API Token(Authorization: Bearer wfp_…)。详见 Agent 接入。
workItemId(必填)templateId(必填)versionId(必填)versionNo(必填)currentStateKey(必填)states(必填)states[].key(必填)states[].name(必填)states[].semantic(必填)states[].colorstates[].positionstates[].isInitial(必填)states[].isTerminal(必填)states[].layoutslots(必填)slots[].key(必填)slots[].name(必填)slots[].origin(必填)slots[].cardinality(必填)slots[].multiResolutionslots[].isOwnerSlot(必填)slots[].sortOrdertransitions(必填)transitions[].idtransitions[].nametransitions[].fromKeytransitions[].toKey(必填)transitions[].global(必填)transitions[].requireReasontransitions[].sortOrdertransitions[].guardstransitions[].guards[].phase(必填)transitions[].guards[].type(必填)transitions[].guards[].configtransitions[].guards[].errorMessagetransitions[].guards[].sortOrder(必填)transitions[].guards[].enabled(必填)transitions[].actionstransitions[].actions[].kind(必填)transitions[].actions[].fieldKeytransitions[].actions[].valuetransitions[].routetransitions[].route.targetSlotKey(必填)transitions[].route.emptyFallbacktransitions[].route.notifyPolicyavailableTransitions(必填)availableTransitions[].toStateKey(必填)availableTransitions[].name(必填)availableTransitions[].allowed(必填)availableTransitions[].blockedReasonavailableTransitions[].guardCodeavailableTransitions[].requireReasonavailableTransitions[].href(必填)availableTransitions[].method(必填)403:Problem 错误响应404:Problem 错误响应422:Problem 错误响应curl -X GET "https://你的项目.workflow.games/api/v1/work-items/{workItemId}/workflow" \
-H "Authorization: Bearer wfp_…"HTTP/1.1 200
{
"templateId": "018f3c2e-0000-7000-8000-000000000000",
"versionId": "018f3c2e-0000-7000-8000-000000000000",
"versionNo": 1,
"currentStateKey": "示例文本",
"states": [
{
"key": "示例文本",
"name": "示例标题",
"semantic": "示例文本",
"isInitial": true,
"isTerminal": true
}
],
"slots": [
{
"key": "示例文本",
"name": "示例标题",
"origin": "示例文本",
"cardinality": "single",
"isOwnerSlot": true
}
],
"transitions": [
{
"toKey": "示例文本",
"global": true,
"id": "018f3c2e-0000-7000-8000-000000000000"
}
],
"availableTransitions": [
{
"toStateKey": "示例文本",
"name": "示例标题",
"allowed": true,
"href": "示例文本",
"method": "示例文本"
}
]
}合同真值:OpenAPI 3.1(0.1.0)。
相关:Agent 接入指南 · 使用指南 · API 参考索引