Workflows
Statuses, the transitions allowed between them, and the workflow definitions that bind them to a project.
Scopes: workflows:read, workflows:write
A workflow is a set of statuses plus the transitions permitted between them. It
is what makes PUT /tasks/{key}/ refuse to move a task from In review to
Done when the project says that move needs to go through QA first.
Read before you write
An integration that sets status should read the transitions first:
GET /api/v1/statuses/?project=12
GET /api/v1/transitions/?workflow=4Setting a status the workflow does not allow returns INVALID_TRANSITION with
the from/to pair in details — recoverable, but only if you know what the
legal moves were.
Statuses are protected
A status that tasks reference cannot be deleted. The reference is protected at the database level, so the delete is refused rather than cascading and taking the tasks with it. Move the tasks first.
Reordering statuses changes board column order only:
POST /api/v1/statuses/reorder/Endpoints
| Method | Path | Scope |
|---|---|---|
GET | /api/v1/statuses/ | workflows:read |
POST | /api/v1/statuses/ | workflows:write |
POST | /api/v1/statuses/reorder/ | workflows:write |
GET | /api/v1/statuses/{id}/ | workflows:read |
PUT | /api/v1/statuses/{id}/ | workflows:write |
DELETE | /api/v1/statuses/{id}/ | workflows:write |
GET | /api/v1/transitions/ | workflows:read |
POST | /api/v1/transitions/ | workflows:write |
GET | /api/v1/transitions/{id}/ | workflows:read |
PUT | /api/v1/transitions/{id}/ | workflows:write |
DELETE | /api/v1/transitions/{id}/ | workflows:write |
GET | /api/v1/workflows/ | workflows:read |
POST | /api/v1/workflows/ | workflows:write |
GET | /api/v1/workflows/{id}/ | workflows:read |
PUT | /api/v1/workflows/{id}/ | workflows:write |
DELETE | /api/v1/workflows/{id}/ | workflows:write |