Run bulk work-item operation

Applies one bounded labels, assignment, or estimate command to up to 50 validated work items with per-item idempotency and per-item results.

POST/api/v1/work-items/operations/bulk

Authorization

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

Request body

work_item_idsarrayrequired
1–50 work-item IDs
commandstringrequired"labels" | "assignment" | "estimate"
Bulk command
payloadobjectrequired
Command payload
confirmbooleanrequired
Must be true
Example request
{
  "work_item_ids": [
    "work_01k2...",
    "work_01k3..."
  ],
  "command": "labels",
  "payload": {
    "add": [
      "api"
    ]
  },
  "confirm": true
}

Request

curl -X POST "https://www.digitalstack360.com/api/v1/work-items/operations/bulk" \
  -H "Authorization: Bearer $DS_API_KEY" \
  -H "Idempotency-Key: bulk-work-labels-20260715" \
  -H "Content-Type: application/json" \
  -d '{"work_item_ids":["work_01k2...","work_01k3..."],"command":"labels","payload":{"add":["api"]},"confirm":true}'

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

Response

200 OK
{
  "data": {
    "count": 2,
    "results": [
      {
        "work_item": {
          "id": "work_01k2...",
          "labels": [
            "api"
          ]
        },
        "changed_fields": [
          "labels"
        ]
      }
    ]
  }
}

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:bulk scope

400
bulk_limit_exceeded

Bulk operations require 1 to 50 work_item_ids

400
bulk_command_required

command is required