Project workspace
update-work-item-tool
Update any subset of writable fields on a work item in a single, atomic call.
Updates any subset of writable fields on a work item. All field changes are applied inside a single database transaction — if any field fails validation or its policy check, the entire call aborts and no partial writes are made.
Use the dedicated transition-work-item-status-tool when changing workflow_status_id. This tool deliberately rejects status updates so the transition guard's error path stays distinct from a generic update.
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
work_item_key | string | yes | Issue key of the work item to update (e.g. ACM-123). |
title | string | no | New title. |
description | string | null | no | New description. |
priority | string | null | no | highest, high, normal, low, lowest. |
due_date | string (Y-m-d) | null | no | Due date, or null to clear. |
estimation | integer | null | no | Original estimate in minutes. |
remaining_estimate | integer | null | no | Remaining estimate in minutes. |
work_type_id | integer | null | no | Work type ID. |
deadline_id | integer | null | no | Deadline ID. |
assignee_id | integer | null | no | Assignee user ID. |
sprint_id | integer | null | no | Sprint ID, or null to move to the backlog. |
parent_id | integer | null | no | Parent work item ID, or null to clear. |
Permissions
project_management::manage_work_items(entry permission).- The user must also be allowed to
managethe target work item byWorkItemPolicy.
Example
{
"work_item_key": "ACM-123",
"title": "Stripe SDK upgrade (v2)",
"priority": "high",
"assignee_id": 18,
"due_date": "2026-06-15"
}Response
Returns the updated work item snapshot (same shape as get-work-item-by-key-tool) plus an updated_fields array listing the field names that were touched.
Errors
- An unknown
work_item_keyreturns a validation error. - Submitting
workflow_status_idis rejected (use the transition tool instead). - Submitting no writable fields returns a validation error.
- A caller without
project_management::manage_work_items(or who fails the model policy) receives an authorization error.