Update a world page
imagine_update_world_pagePUT updates to one world page by id. Only supplied fields are sent. Caller must have 'edit' on the world page. Imagine REPLACES the content body with whatever you send. To append, fetch the page first with imagine_get_world_page, concatenate, and send the combined body back. REQUIRES baseUpdatedAt: copy updatedAt from a fresh imagine_get_world_page read of this page; a stale or fabricated value is rejected with OUT_OF_SYNC and nothing is written — writing from memory of an earlier read is not possible. Set visibility: 'gm' to make a page GM-only (the world's owner, contributors, and an admin with Admin Mode on only; hidden from and 404 for everyone else), 'masked' to keep it participating in lists/backlinks under maskName with the real identity hidden, or 'public' to reveal it. Hidden pages are stripped from the world menu.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | World page id. | |
| link | No | URL-safe slug. Lowercase letters, numbers, hyphens, slashes. Choosing a page link needs Premium, VIP, or admin: without it, create ignores the link and derives one from the name, and an update that changes it is refused. | |
| name | No | Page name. | |
| tags | No | Tag list. Stored as a comma-separated `keywords` string on the wire. | |
| image | No | ||
| active | No | ||
| aliases | No | ||
| content | No | Page body in markdown. Imagine renders this verbatim. REPLACED wholesale on update. | |
| details | No | ||
| gmNotes | No | GM-only notes attached to the page. | |
| ruleset | No | ||
| summary | No | Short page summary; capped at 150 characters by imagine. | |
| maskName | No | What everyone who does not edit the world (its owner, a contributor, or an admin with Admin Mode on) sees instead of the page's name while visibility is 'masked'. Empty renders as 'Redacted'. | |
| parentId | No | Mongo `_id` of the parent world page (tree structure). | |
| template | No | ||
| eventDate | No | Optional in-world event date for chronology-shape pages. | |
| menuLabel | No | ||
| menuOrder | No | ||
| showInMenu | No | ||
| visibility | No | Page visibility. 'gm' pages exist only for the world's owner, its contributors, and an admin with Admin Mode on — every other viewer gets a 404 and the page is absent from lists, search, backlinks, and breadcrumbs. 'masked' pages participate in lists, tags, backlinks, and breadcrumbs but present maskName/maskSummary and an id-based URL to everyone else; the real name, link, content, and aliases stay hidden until the page is flipped to public. Hidden pages are barred from the world menu. Default: 'public'. | |
| maskSummary | No | Optional teaser everyone who does not edit the world sees on the masked page; the real summary and content stay hidden. Max 255 characters. | |
| documentType | No | ||
| isWorldChild | No | ||
| 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. | |
| outboundLinks | No | ||
| relationships | No | ||
| showBreadcrumbs | No | ||
| vaultCharacterId | No | Bind this page to a vault character (for character-shape world pages). | |
| playCampaignCharacters | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||