Transition work-item status

Applies one valid Execute flow-state transition. For Jira-backed work items, DigitalStack passes the mapped/provider transition through to Jira and records the resulting DS transition.

POST/api/v1/work-items/:id/status

Authorization

work-items:transitionapi key scoperequired
Required scope when calling with an API key.

Path parameters

idstringrequired
Canonical work-item ID

Example: work_01k2...

Request body

to_state_idstringrequired
DigitalStack Execute flow-state ID
provider_transition_idstringoptional
Provider transition ID when source writeback requires one
expected_versionnumberoptional
Optimistic work-item version guard
notestringoptional
Optional transition note
confirmbooleanrequired
Must be true
Example request
{
  "to_state_id": "state_doing",
  "provider_transition_id": "31",
  "expected_version": 8,
  "note": "Started implementation",
  "confirm": true
}

Request

curl -X POST "https://www.digitalstack360.com/api/v1/work-items/work_01k2.../status" \
  -H "Authorization: Bearer $DS_API_KEY" \
  -H "Idempotency-Key: work-42-status-in-progress-v8" \
  -H "Content-Type: application/json" \
  -d '{"to_state_id":"state_doing","provider_transition_id":"31","expected_version":8,"note":"Started implementation","confirm":true}'

Examples use a placeholder key from your environment. Store your key in $DS_API_KEY — never commit it.

Response

200 OK
{
  "data": {
    "work_item": {
      "id": "work_01k2...",
      "status_bucket": "in_progress",
      "version": 9
    },
    "transition": {
      "id": "wtr_01k7...",
      "from_bucket": "todo",
      "to_bucket": "in_progress"
    },
    "source_writeback": {
      "mode": "provider_passthrough",
      "source_system": "jira",
      "provider_operation": "jira.transitionIssue",
      "provider_result": "applied"
    }
  }
}

Errors

401
missing_auth

No credentials provided

401
invalid_api_key

API key is invalid or revoked

400
bad_request

Missing or invalid request fields

403
scope_insufficient

Key lacks the required write scope

403
scope_insufficient

Key lacks work-items:transition scope

400
invalid_transition

Target flow state is not available

400
provider_transition_required

Provider-backed transition is missing a transition id