Update an adventure
imagine_update_adventurePUT updates to one adventure by id. Only supplied fields are sent. Caller must have 'edit' on the adventure. Series grouping: set parent to group this adventure as one part of an umbrella adventure (depth-1 only — see the field description for the validation rules and the append-to-end ordering default); pass parent: null to ungroup. Linked play campaigns list the adventure under its current name, so a rename shows on them immediately. REQUIRES baseUpdatedAt: copy updatedAt from a fresh imagine_get_adventure read; a stale or fabricated value is rejected with OUT_OF_SYNC and nothing is written.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Adventure id. | |
| link | No | URL-safe slug. Lowercase letters, numbers, and hyphens. Imagine auto-suggests at create time when omitted. | |
| name | No | Adventure name. | |
| image | No | Header image URL. | |
| level | No | Recommended character level range. Each side optional; null means unset. | |
| world | No | Optional World _id this adventure belongs to. | |
| active | No | ||
| parent | No | Series grouping: `_id` of the umbrella adventure this adventure is one part of. Depth is capped at one level — the parent cannot itself be a part, and an adventure that has parts cannot become a part (400 either way). The parent must be active and viewable by the caller (owner / contributor / public / stock), else 404. Pass null (or '') to clear. Setting a NEW parent without `menuOrder` appends the adventure to the end of the series. | |
| public | No | ||
| status | No | ||
| ruleset | No | Ruleset code, from list_rulesets. Required at create. | |
| summary | No | Short summary; capped at 150 characters by imagine. | |
| version | No | ||
| keywords | No | Comma-separated keyword string used by adventure-wide tag/search. | |
| barImages | No | GM-curated reference images displayed in a fixed bar across the adventure (maps, handouts, NPC portraits). | |
| menuOrder | No | Sort position among sibling parts of the same series parent. Send alone to reorder an existing part; omit when setting `parent` so the server appends to the end. | |
| partySize | No | Recommended party size range. | |
| publisher | No | ||
| companions | No | ||
| description | No | Full adventure description. 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. | |
| imageCarousel | No | ||
| estimatedHours | No | ||
| contentWarnings | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||