# WorkflowStatus

One status in a workflow: the column a work item sits in, with the colour the badge is drawn in and whether reaching it resolves the item. Statuses belong to exactly one workflow and cannot be moved between workflows. Which statuses a work item may move to is a separate collection: the workflow transitions.

## Used by
- GET /api/v2/workflow-statuses: List workflow statuses (WorkflowStatusList)
- POST /api/v2/workflow-statuses: Create a workflow status (WorkflowStatus)
- GET /api/v2/workflow-statuses/{workflow_status}: Read a workflow status (WorkflowStatus)
- PATCH /api/v2/workflow-statuses/{workflow_status}: Update a workflow status (WorkflowStatus)

## WorkflowStatus fields
- id (integer, required): Unique identifier.
- workflow_id (integer, required): Workflow this status belongs to. A status cannot be moved to another workflow: its transitions and the work items sitting in it belong to this one.
- name (string ≤ 255, required): Status name as shown on the board column and the status badge, e.g. `To do`.
- color (string ≤ 255, required): Six-digit hex colour, e.g. `#6b7280`. A stored value that is not six-digit hex reads back as `#6b7280`, so writing this field back unchanged replaces the malformed original.
- is_resolution (boolean, required): Whether a work item reaching this status counts as resolved. Drives the backlog's done state and what a completed sprint carries over.
- order (integer, required, server-assigned): Position within the workflow, left to right on the board; set by dragging in plnnrly and not writable. API-created statuses are created at 0 and fall back to the id tiebreaker.
- created_at (timestamp (YYYY-MM-DDThh:mm:ssZ), required): Creation timestamp.
- updated_at (timestamp (YYYY-MM-DDThh:mm:ssZ), required): Last-write timestamp; use for incremental sync.
- workflow (Ref or WorkflowSummary, required): Workflow this status belongs to.
- links (WorkflowStatusLinks, required)
  - self (url, required): The canonical URI of this record.

## Variants

### WorkflowStatusList

What a collection returns, and what `?view=summary` returns on a single record.

10 fields.
Identical to the detail object above.

### WorkflowStatusSummary

The embedded form: what you get when another resource carries this one and you did not `include` it.

4 fields.
Omits: workflow_id, order, created_at, updated_at, workflow, links

### WorkflowStatusLinks

The `links` object on this resource.

Keys: self

## Example
```json
{
  "id": 1,
  "workflow_id": 4,
  "name": "Done",
  "color": "#22c55e",
  "is_resolution": true,
  "order": 1,
  "created_at": "2026-03-04T09:15:00Z",
  "updated_at": "2026-03-04T09:15:00Z",
  "workflow": {
    "id": 1
  },
  "links": {
    "self": "https://<your-url>/api/v2/work-items/1"
  }
}
```
