Update a session
play_update_sessionUpdate a session by id. Use this to append session notes, change the date, rename, or tag the session with the Imagine adventure it belongs to (imagineAdventureId — valid ids come from the campaign's imagineAdventures list on play_get_campaign; null untags). Only the fields you supply are sent. Caller must be the session's owner, an admin with Admin Mode on, or the campaign's GM (its owner or an accepted gamemaster); players get 403. REQUIRES baseUpdatedAt: copy updatedAt from a fresh play_get_session 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 session to update. | |
| date | No | Session date in `dd/mm/yy` format. | |
| name | No | Session name / title. | |
| image | No | ||
| status | No | ||
| dateDay | No | ||
| summary | No | Short session summary. Max 150 characters. | |
| dateYear | No | ||
| dateMonth | No | ||
| battlemaps | No | ||
| characters | No | ||
| description | No | Session body / notes / recap. 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. | |
| sessionImages | No | ||
| imagineAdventureId | No | Imagine adventure this session is part of. Must be one of the ids in the campaign's `imagineAdventures` list (see play_get_campaign); adventures are linked to the campaign with imagine_link_adventure_to_campaign. Pass null to untag the session. Omit to leave unchanged. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||