Skip to main content

The cycles a whole SELECTION may join — the intersection of the eligible sets of every task in the selection, computed server-side

POST 

/api/tasks/eligible-cycles

The cycles a whole SELECTION may join — the intersection of the eligible sets of every task in the selection, computed server-side. Feeds the "Add to cycle" bulk action so it does not offer a cycle the bulk patch would refuse AS OF THIS RESPONSE — eligibility is a fact about the moment it was read, and the write revalidates it under row locks, so a cycle completed or re-scoped in between is still rejected there. POST rather than GET because the selection (up to 100 ids) is the input; it reads and mutates nothing. canClear reports separately whether "no cycle" is offerable, which is false when any selected task sits in a completed (scope-frozen) cycle. Gated at the same bar as the write it precedes, so an affordance is never refused to a caller the write would accept; initiative- and project-set-scoped cycles are included only for callers holding the corresponding org-wide grants. Under the per-project cycle estimate policy (PT-1091), a planned or active cycle the bulk write would refuse with CYCLE_ESTIMATE_REQUIRED is still returned but carries an ESTIMATE_REQUIRED blocker naming the blocked tasks with their allowed values.

Request​

Responses​

Successful response