UpdatePieceTool
Update the mutable attributes of an existing Task, Story, Epic or Recurent by relative_id. Only the attributes passed are changed; omitted ones are left alone. Returns before/after for each attribute touched. A dependency on another piece is declared with blocked_by_relative_ids — the updated piece waits for the ids listed there. Removing a link is not done here: use ManageBlockerLinksTool, where piece_relative_id is the WAITING piece and blocker_relative_ids are the pieces it waits for.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New name for the piece (omit to leave unchanged) | |
| sprint_id | No | Database ID (primary key) of the sprint to assign (not relative_id). Omit to leave unchanged. | |
| for_errors | No | Whether this Epic is the project's bug bucket (Epic only). Omit to leave unchanged. Passing it for another piece type returns a validation error. | |
| description | No | New description for the piece (omit to leave unchanged) | |
| account_code | Yes | Account code (e.g., "bcp", "jchsoft") | |
| priority_code | No | Priority code. Omit to leave unchanged. | |
| task_type_code | No | Task type code (Task only). Omit to leave unchanged. | |
| assigned_user_id | No | Database ID (primary key) of the user to assign. Omit to leave unchanged; pass 0 (or null) to explicitly unassign. | |
| scrum_point_code | No | Scrum point/complexity code (Task/Recurent: !, S, M, L, XL, XXL, XXXL; Story: m!, mS, mM, mL, mXL, mXXL, mXXXL). Omit to leave unchanged. | |
| piece_relative_id | Yes | Relative ID of the piece to update | |
| parent_relative_id | No | Relative ID of a parent piece in the same project. Omit to leave unchanged; pass 0 (or null) to move the piece to the project root. | |
| blocked_by_relative_ids | No | Relative IDs of the pieces this piece waits for (its blocked_by links). Additive: it only adds links — remove them with ManageBlockerLinksTool(action: "remove"); an id already linked is refused, do not re-send it. All-or-nothing: one id that does not resolve in the account rejects the whole call and creates nothing. |