Get a single MULTI-PROJECT cycle (PT-938)
GET/api/cycle-sets/:id/cycles/:cycleId
Get a single MULTI-PROJECT cycle (PT-938). {id} is the cycle's projectSetId, read from a cycle row — a project set is internal plumbing with no list or management surface, so there is no endpoint that enumerates sets. 404 if the cycle is not in this set (a project- or initiative-scoped cycle, or a cycle of a sibling set, resolves to nothing). Access requires 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 — an projects.read.own grant does NOT satisfy it, even though matchPermission lets .own satisfy a base permission elsewhere. tasks.read is deliberately NOT required: this route returns a cycle row, not task rows.
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 the required permission, or the x-act-as-org selector named a non-member org. All collapse to a byte-identical 403 (no existence oracle).
Cycle not found, archived, or not in this project set