Update an imagine world
imagine_update_worldPUT updates to one world by id. Caller must have 'edit' access (the owner, a contributor, or an admin with Admin Mode on). showInvite changes only for the world's owner or an admin with Admin Mode on; from a contributor it is ignored. Only supplied fields are sent; imagine merges them onto the existing document. REQUIRES baseUpdatedAt: copy updatedAt from a fresh imagine_get_world 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 world. | |
| link | No | URL-safe slug for the world (lowercase letters, digits, hyphens). Imagine auto-suggests at create time when omitted. | |
| menu | No | Site menu entries — label + optional link/pageId/order. | |
| name | No | World name. | |
| image | No | ||
| active | No | ||
| public | No | Whether the world is public. Only Premium, VIP, and admin accounts can change whether a world is public; the server refuses the change from anyone else. A new world is public unless set otherwise. | |
| favicon | No | ||
| summary | No | Short summary; capped at 255 characters. Cross-app convention (per dev-sites/AGENTS.md); the Mongoose World schema still accepts up to 500 as a legacy inconsistency being migrated, but new authoring should keep summaries under 255. | |
| calendar | No | Optional calendar definition (months[] + eras[]). | |
| keywords | No | ||
| showInvite | No | Whether the world's public page shows an invite button. Only the world's owner or an admin with Admin Mode on can change it; a contributor's value is ignored. | |
| description | No | Full world description. Markdown supported. | |
| customDomain | No | Optional custom domain pointing at the world's public site. | |
| 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 | ||
| isExampleWorld | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||