Skip to main content

Read a cycle's List and Board task models (PT-730)

GET 

/api/projects/:id/cycles/:cycleId/tasks

Read a cycle's List and Board task models (PT-730). Returns three parts: (1) groups — tasks grouped by status for the List view, with a DERIVED "Awaiting review" group first when present (approval-ready status OR a non-empty pr_link not yet done; empty groups omitted) and CANCELLED tasks excluded. Completion takes PRECEDENCE over Awaiting review: a completed status is Done, including a completed QA (QA is always treated as approval-ready), so it is not surfaced as Awaiting review; (2) tasks — the flat, server-classified rows for the Board view, each carrying its four-lane lane (cancelled rows carry lane: null, which the Board skips), so both views share one canonical classification and cannot drift. Each row carries its OWN resolved status presentation (statusLabel / statusColor / statusCategory); since PT-828 the status CATALOG is no longer returned on either arm, so nothing has to be joined by status name client-side. Plus scope / done / remaining stats: scope counts EVERY member (cancelled included), so the presentation-only cancelled exclusion never changes it. Those STATS are live only while the cycle is planned or active (PT-917): a completed cycle reports its frozen close snapshot, with stats.source / stats.measurement describing the figure and all three counts null when the measurement is "unavailable" (close snapshot missing or unusable). The task GROUPS/tasks always list CURRENT membership — a close snapshot stores aggregates, not task identities — so after an auto-recurrence rollover the stats and the members legitimately disagree

Request

Responses

Successful response