List work items

Lists canonical Execute work items in the resolved workspace. This is not a legacy tickets API and does not expose board-specific coordinates.

GET/api/v1/work-items

Authorization

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

Query parameters

project_idstringrequired
DigitalStack project id — required. Work items are read through the source provider bound to this project.

Example: proj_abc123

team_idstringoptional
Filter by Execute team

Example: team_abc123

sprint_idstringoptional
Filter by sprint

Example: sprint_abc123

parent_idstringoptional
Filter by parent work item

Example: work_abc123

assignee_user_idstringoptional
Filter by assigned user

Example: user_abc123

status_bucketstringoptional
Repeat or comma-separate canonical buckets

Example: todo,in_progress

limitnumberoptional
Maximum items, 1–100

Example: 50

cursorstringoptional
DS-592 — opaque continuation token from a prior page's response.pagination.cursor. Omit for the first page; follow pagination.has_more / pagination.cursor to retrieve every matching item across pages.

Example: eyJjcmVhdGVkX2F0IjoiMjAyNi0wOC0wMVQyMDo1NTozMloiLCJpZCI6IjA1NjQxMTUyLi4uIn0

Request

curl -X GET "https://www.digitalstack360.com/api/v1/work-items?project_id=proj_abc123" \
  -H "Authorization: Bearer $DS_API_KEY"

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

Response

200 OK
{
  "data": [
    {
      "id": "work_01k2...",
      "team_id": "team_abc123",
      "sprint_id": "sprint_abc123",
      "parent_id": null,
      "key": "DSN-42",
      "title": "Implement board projection API",
      "description": "Return canonical bucket columns without making board coordinates authoritative.",
      "kind": "task",
      "flow_state_id": "state_todo",
      "status_bucket": "todo",
      "assignee_user_id": "user_abc123",
      "reporter_user_id": null,
      "labels": [
        "api"
      ],
      "points": 3,
      "source": "user",
      "created_by_user_id": "user_reporter",
      "created_at": "2026-07-15T14:22:04Z",
      "updated_at": "2026-07-15T14:22:04Z"
    }
  ],
  "meta": {
    "limit": 50,
    "count": 1
  },
  "pagination": {
    "limit": 50,
    "cursor": null,
    "has_more": false,
    "truncated": false
  }
}

Errors

401
missing_auth

No credentials provided

401
invalid_api_key

API key is invalid or revoked

403
scope_insufficient

Key lacks work-items:read scope

400
invalid_limit

limit is outside the 1–100 range

400
invalid_status_bucket

status_bucket is not a canonical Execute bucket

400
invalid_cursor

cursor is malformed or unrecognized — omit it to restart from the first page