Workflows overview
Workflows constrain how work items move between states in a project.
The workflow object
Attributes
created_atstring (date-time)When the record was created.
created_by_idstring (uuid)The user who created the record.
descriptionstringFree-form description.
idstring (uuid)Unique identifier.
is_activebooleanWhether the record is active.
is_defaultbooleanMake this the default for its parent. Setting it clears the flag on the previous default.
namestringDisplay name.
work_item_type_idsarray of stringIds of the associated work item types.
Response200
json
{
"created_at": "2026-01-14T09:22:41.478363Z",
"created_by_id": "16c61a3a-512a-48ac-b0be-b6b46fe6f430",
"description": "What this is for.",
"id": "b7e42a19-3c5d-4f80-9a26-8d1c0f4e7b53",
"is_active": true,
"is_default": false,
"name": "Example name",
"work_item_type_ids": [["16c61a3a-512a-48ac-b0be-b6b46fe6f430"]]
}Endpoints
| Method | Path | Description |
|---|---|---|
GET | /api/v2/workspaces/{slug}/projects/{project_id}/workflows/ | List workflows |
GET | /api/v2/workspaces/{slug}/projects/{project_id}/workflows/{pk}/ | Get a workflow |
POST | /api/v2/workspaces/{slug}/projects/{project_id}/workflows/ | Create a workflow |
PATCH | /api/v2/workspaces/{slug}/projects/{project_id}/workflows/{pk}/ | Update a workflow |
DELETE | /api/v2/workspaces/{slug}/projects/{project_id}/workflows/{pk}/ | Delete a workflow |
Response shaping
Every workflow read accepts ?fields= for sparse responses — see Sparse fields. Errors follow the shared problem+json contract.

