Update work-item estimate

Sets or clears story points without exposing rates, margins, or staffing costs. Jira writeback requires field_map.story_points.

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

Authorization

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

Path parameters

idstringrequired
Canonical work-item ID

Example: work_01k2...

Request body

pointsnumberoptional
Story points, or null to clear
expected_versionnumberoptional
Optimistic work-item version guard
confirmbooleanrequired
Must be true
Example request
{
  "points": 5,
  "expected_version": 11,
  "confirm": true
}

Request

curl -X POST "https://www.digitalstack360.com/api/v1/work-items/work_01k2.../estimate" \
  -H "Authorization: Bearer $DS_API_KEY" \
  -H "Idempotency-Key: work-42-points-v1" \
  -H "Content-Type: application/json" \
  -d '{"points":5,"expected_version":11,"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...",
      "points": 5,
      "version": 12
    },
    "changed_fields": [
      "points"
    ]
  }
}

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

400
estimate_out_of_bounds

points must be >= 0

409
provider_field_mapping_required

Provider-backed estimate writeback requires a field mapping