Update a move
play_update_moveUpdate a move by id: name, description, number (game label), date, order (shelf position), sessionId (chapter; null detaches), parentId (child scene; null detaches; setting it clears the chapter), or playerIds (visibility; [] reopens to everyone). Only supplied fields are sent. GM-only. REQUIRES baseUpdatedAt: copy updatedAt from a fresh play_get_move read; a stale or fabricated value is rejected with OUT_OF_SYNC and nothing is written.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Mongo `_id` of the move to update. | |
| date | No | Move date in `dd/mm/yy` format. Defaults to today on create. Play parses this server-side on both create and update. | |
| name | No | Move name / title (e.g. 'Move 185', 'Interlude 12'). Defaults to 'Move <number>' when omitted on create. | |
| order | No | Shelf position within the campaign (the feed's only sort key; GM drag-reordering rewrites it). Positive integer. | |
| number | No | Game label number. Non-unique (parallel scenes share one). Defaults to the campaign's high-water + 1 on create. Display position is `order`, not this. | |
| parentId | No | Parent move, making this a child scene (split party). Same campaign only, one level deep (a child cannot be a parent; a move with children cannot become a child). Children render on the parent's page, stay out of the feed and chapter lists, and cannot carry a sessionId. Pass null to detach back into the feed. | |
| playerIds | No | Visibility restriction: user ids from the campaign's player roster. Empty/omitted = visible to every campaign participant. When set, the move is invisible to players not listed (dropped from lists, 404 on read); the GM always sees it. Pass [] on update to reopen the move to everyone. | |
| sessionId | No | Chapter session to group this move under. Must belong to the same campaign. Pass null to detach the move back to the unchaptered feed. | |
| description | No | The collated round: GM narration, player contributions, rolls. Markdown supported. | |
| baseUpdatedAt | Yes | REQUIRED proof that you are working from the latest version: copy the `updatedAt` value verbatim from a FRESH read of this exact record (use the matching get tool first). Values from memory, from an earlier conversation, or guessed timestamps are rejected with OUT_OF_SYNC and nothing is written. After a successful update, the response carries the new `updatedAt` — use that for any follow-up write. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||