Update a state
Patch node fields (base/camera/movement/ambient/variants/ending). The body is the partial state, or { patch: {...} }. Validated fail-closed.
Authorizations
An app API key, e.g. Authorization: Bearer sk_live_…. Secret (sk_) for writes/sessions; publishable (pk_) is read-only (browser-safe).
Headers
Body
A node in the graph. Optional fields beyond those listed are allowed (forward-compatible). Prose fields must describe pixels, not intent. The kernel doctrine lints enforce this on every write.
Scene prose for this node (pixels, not intent).
A static/dynamic prompt pair. The world model is conditioned on the static layer while the scene holds and on the dynamic layer while it moves. Both are pixel-prose, never authorial intent.
A static/dynamic prompt pair. The world model is conditioned on the static layer while the scene holds and on the dynamic layer while it moves. Both are pixel-prose, never authorial intent.
Ambient detail prose fragments.
Marks this node as a TERMINAL sink. A node with an ending must be a dead end (no outgoing transitions).
A/B prompt arms (play-only; never compiled into the graph).
Response
State updated
The result of a graph write. world is the new, kernel-validated world; diagnostics carries advisory (warning/info) findings; rev is the new concurrency token (also returned as the ETag header).
A playable world's compiled graph, id, name, entrance, and the scene (states + events). This is the shape returned inside the world field of a World resource (see World) and by the graph-editing routes. Additional optional properties are allowed (forward-compatible); the schemaVersion on responses pins the contract version.
The new revision token. Pass it as If-Match on the next write.
"1.0"

