Bulk update stories
stride.bulk_update_storiesUpdate up to 50 stories in one call. Supports status, priority, assigneeId, sprintId, epicId, storyPoints, dueDate (all single-value), and labels with { mode: "add"|"remove"|"replace", labels: string[] }. status accepts a category (TODO/IN_PROGRESS/IN_REVIEW/DONE — works across projects) OR a board column name from stride.list_workflow_stages (column names are project-specific, so a name requires the batch to target ONE project). Conflict-checked per row; human-edited rows are skipped and recorded in SyncConflict — pass force:true (only with the human's explicit approval) to overwrite them instead. storyIds may be ticket keys (e.g. "ORB-526") or UUIDs. Returns applied / skipped / notFound arrays — but a ticket key that resolves to nothing rejects the WHOLE call before any write (soft error), and so does any target project the key cannot reach; only ids that parse but match no live story land in notFound. Verify keys with stride.get_story first when unsure.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | Override HUMAN_EDIT_AFTER_AGENT_SYNC conflicts, overwriting human-edited rows instead of skipping them. Set true ONLY when the human has explicitly approved overwriting their changes — each override is audit-logged. | |
| updates | Yes | ||
| storyIds | Yes | Up to 50 stories — ticket keys like "ORB-526" or Stride UUIDs (mixed is fine). |