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
- 200
- 401
- 403
- 404
Successful response
Unauthorized — authentication credentials are missing or invalid
Forbidden — the x-act-as-org selector named an organisation the caller is not an ACTIVE member of (or the caller lacks the required permission).
Cycle not found or archived