API 参考 / schedule
POST /api/v1/schedule/propagation/preview · previewSchedulePropagation
R-00029「预览即真值」:与 POST /schedule/propagation/apply 共用同一段计算 (core/schedule.Propagate),但只算不写——不改任何工作项日期、不产 ChangeSet/Event、 不触发里程碑状态边沿。返回体就是 apply 的 PropagationResult,因此 「预览报几条」== 「apply 落库几条」,逐条前后日期也一致。 影响面按整张排期图的拓扑序算:apply 会顺带修掉图中别处已存在、与本次改期无关的 依赖违反,预览因此必须把那些条目也报出来,否则用户确认前看到的影响面小于真实影响面。 权限与 apply 同级(schedule 模块 manage):预览暴露的是与写命令逐字段相同的计算结果, 读级权限不足以看它。projectId 由子域租户上下文注入,不在 path。
鉴权:项目 API Token(Authorization: Bearer wfp_…)。详见 Agent 接入。
workItemId(必填)startOndueOnaffectedItems(必填)affectedItems[].workItemId(必填)affectedItems[].beforeStartOn(必填)affectedItems[].beforeDueOn(必填)affectedItems[].afterStartOn(必填)affectedItems[].afterDueOn(必填)affectedItems[].shiftedDays(必填)criticalPathChanged(必填)projectedEndOn(必填)milestoneRisks(必填)milestoneRisks[].id(必填)milestoneRisks[].kind(必填)milestoneRisks[].severity(必填)milestoneRisks[].message(必填)milestoneRisks[].entityType(必填)milestoneRisks[].entityId(必填)freezeRisks(必填)freezeRisks[].id(必填)freezeRisks[].kind(必填)freezeRisks[].severity(必填)freezeRisks[].message(必填)freezeRisks[].entityType(必填)freezeRisks[].entityId(必填)401:Problem 错误响应403:Problem 错误响应404:Problem 错误响应422:Problem 错误响应curl -X POST "https://你的项目.workflow.games/api/v1/schedule/propagation/preview" \
-H "Authorization: Bearer wfp_…" \
-H "content-type: application/json" \
--data '{"workItemId":"018f3c2e-0000-7000-8000-000000000000","startOn":"2026-08-01","dueOn":"2026-08-01"}'HTTP/1.1 200
{
"affectedItems": [
{
"workItemId": "018f3c2e-0000-7000-8000-000000000000",
"beforeStartOn": "2026-08-01",
"beforeDueOn": "2026-08-01",
"afterStartOn": "2026-08-01",
"afterDueOn": "2026-08-01",
"shiftedDays": 1
}
],
"criticalPathChanged": true,
"projectedEndOn": "2026-08-01",
"milestoneRisks": [
{
"id": "018f3c2e-0000-7000-8000-000000000000",
"kind": "dependency",
"severity": "low",
"message": "示例文本",
"entityType": "requirement",
"entityId": "018f3c2e-0000-7000-8000-000000000000"
}
],
"freezeRisks": [
{
"id": "018f3c2e-0000-7000-8000-000000000000",
"kind": "dependency",
"severity": "low",
"message": "示例文本",
"entityType": "requirement",
"entityId": "018f3c2e-0000-7000-8000-000000000000"
}
]
}合同真值:OpenAPI 3.1(0.1.0)。
相关:Agent 接入指南 · 使用指南 · API 参考索引