Read a MULTI-PROJECT cycle's List and Board task models (PT-938) — the project-set arm of the PT-828 cross-project board, with the same response shape and the same three cross-project properties
GET/api/cycle-sets/:id/cycles/:cycleId/tasks
Read a MULTI-PROJECT cycle's List and Board task models (PT-938) — the project-set arm of the PT-828 cross-project board, with the same response shape and the same three cross-project properties. Members span every project the set names, each readable row carrying its OWN projectId, a projectLabel and status presentation resolved from THAT project's catalog; list groups are keyed by that presentation in a total order; and a member in a project the caller cannot read is REDACTED to the PT-283 sentinels and placed in one neutral "Restricted" group. Classification and every aggregate run BEFORE redaction, so stats and the burndown are VIEWER-INDEPENDENT.
Access: acting in the set's organisation with an ACTIVE INTERNAL membership (a GUEST is project-scoped by policy and is excluded outright), plus FULL-scope projects.read AND FULL-scope tasks.read. A .own-only grant of either is rejected — this route enumerates other people's tasks across projects. Every denial returns the byte-identical uniform 403.
Request
Responses
- 200
- 401
- 403
- 404
Successful response
Unauthorized — authentication credentials are missing or invalid
Forbidden — the project set is inaccessible or unknown, its id is malformed, the caller lacks full projects.read or full tasks.read, or the x-act-as-org selector named a non-member org. All collapse to 403 (no existence oracle).
Cycle not found, archived, or scoped to a project, an initiative, or a sibling set