> ## Documentation Index
> Fetch the complete documentation index at: https://www.agentworldprotocol.com/llms.txt
> Use this file to discover all available pages before exploring further.

# world.snapshot / world.restore / world.reset

> State capture and reset for worlds advertising the snapshot capability. Administrative — require the `admin` grant class.

All three require the corresponding entry in `granted.admin` (AWP-PRM-005); otherwise `AWP_FORBIDDEN`. `world.snapshot` and `world.restore` additionally require `capabilities.snapshot`; `world.reset` is required by the sim profile (AWP-SIM-001).

**world.snapshot** — no params → `{ "snapshot_token": "snap_…" }`. The token is opaque and valid at least for the life of the world process (AWP-REP-002). It is a credential: redacted in the audit log (AWP-AUD-006).

**world.restore** — `{ snapshot_token }` → the world returns to the captured state. Effects on every session (AWP-PRM-006): `world.event: world_resetting` with `{ "initiator": "<session id>", "kind": "restore" }`; all non-terminal actions in all sessions → `cancelled` (`world_reset`); in lockstep, a fresh frame on every per-tick channel carrying the restored `tick`. Result `{ "tick": n }` in lockstep, `{}` in streaming.

**world.reset** — `{ initial_state?, seed? }` → return to a named initial state (default: the manifest's first `initial_states` entry); same cross-session effects as restore, with `"kind": "reset"`. `seed` requires `capabilities.seed`. Result as for restore.

```json awp:reset theme={null}
{ "jsonrpc": "2.0", "id": 21, "method": "world.reset", "params": { "initial_state": "empty_board", "seed": 7 } }
```

```json awp:reset-result theme={null}
{ "tick": 0 }
```

```json awp:world-resetting-event theme={null}
{ "jsonrpc": "2.0", "method": "world.event",
  "params": { "event": "world_resetting", "status_seq": 88, "ts_mono_ns": 4200000000,
              "detail": { "initiator": "sess_7f", "kind": "reset", "initial_state": "empty_board" } } }
```
