iterations; the product UI calls the same thing a phase.
List phases
Parameters
Get all phases
Get the current phase
The current phase is the first active non-system phase by sort order. Use this when the user says “add it to the current phase”.iteration is null and _meta._tip explains how to list or create one.
Phase fields
Create a phase
Later, Backlog, Polish and Catch-all are rejected (case-insensitive) with 400 "'Backlog' is a forbidden phase name ...". A duplicate name returns 400 "Iteration 'X' already exists".
To fit existing unassigned jobs into phases, prefer the phase-assign workflow; it groups by theme and reuses phases where a job fits.
Update a phase
PATCH semantics. Use this to rename, close, describe, reorder, or attach git tags.data: name, status, description, gitTags, sortOrder, completedAt. Marking a phase done sets completedAt automatically. Done phases are hidden from the UI dropdown and the matrix. Renaming a phase updates the iteration field on every job and task assigned to it.
The addIteration shape is accepted too: { "action": "updateIteration", "iteration": { "name": "MVP", "status": "done" } }.
Closing a phase that still has open jobs
A closed phase cannot hold open work. If the phase has open jobs, closing it returns:409. Either mark the jobs done first, or retry with "ejectOpenJobs": true to move them to Later and close the phase in one call. The response then lists them:
Delete a phase
400 "Cannot delete system iterations"). An unknown name returns 404. Move or close the phase’s jobs before deleting it; the delete itself does not reassign them.
Reorder phases
Pass the full ordered list of phase names.Webhook events
addIteration, updateIteration and deleteIteration fire iteration.added, iteration.updated and iteration.deleted. Reordering does not fire an event. See Webhooks.
