Skip to main content
A snapshot captures a sandbox’s disk state. It is identified by a snapshot_id and tied to the source_sandbox_id it was taken from. Its identity outlives the source: you can delete the sandbox that produced a snapshot and keep the snapshot. Snapshots are part of the public REST API (/v1/sandbox/{sandbox_id}/snapshots and /v1/snapshot/{snapshot_id}), the SDKs, the CLI and the MCP server.

Creating a snapshot

The source sandbox must be running. A paused, failed, or deleted sandbox is rejected rather than snapshotted.
Create accepts an idempotency key, so a retried call returns the same snapshot rather than minting a second one. See Idempotency.

Restoring and forking

Start a new sandbox from a snapshot by passing its id to create:
To clone a running sandbox without naming a snapshot, fork it: POST /v1/sandbox/{sandbox_id}/fork with {"count": 2}, or sandbox.fork(2) in the SDKs.

Listing and deleting

GET /v1/sandbox/{sandbox_id}/snapshots lists a sandbox’s snapshots, GET /v1/snapshot/{snapshot_id} fetches one, and DELETE /v1/snapshot/{snapshot_id} removes it.
Delete is idempotent in the SDKs: calling it again on an already-deleted snapshot is a no-op.

Sandboxes

Snapshot CLI reference