Sign Up

Snapshots

POST
/sandboxes/{sandbox_id}/snapshots

Creates a memory snapshot. Linux sandboxes produce a full snapshot containing memory and disk; GPU sandboxes produce a checkpoint. Windows and macOS sandboxes return NOT_SUPPORTED_FOR_CLASS; to capture only the disk, create an image instead.

Authorization

headerAuthorizationBearer <token>

Bearer project API key.

Scope: write:snapshots

Path Parameters

sandbox_id*string

The sandbox ID

Request Body

application/json
  1. body
name*string

The project-unique snapshot name.

Response Body

Accepted: the sandbox snapshot capture

application/json
  1. response

An accepted asynchronous operation.

id*string

The ID of the resource the operation acts on.

status*string

The resource's lifecycle status at acceptance.

curl -X POST 'https://example.com/sandboxes/string/snapshots' \  -H 'Content-Type: application/json' \  -d '{  "name": "string"}'
{  "id": "string",  "status": "string"}

List snapshots

GET
/snapshots

Authorization

headerAuthorizationBearer <token>

Bearer project API key.

Scope: read:snapshots

Query Parameters

limit?integer

Maximum number of items to return, 1–200 (default 100)

Formatint64
Range1 <= value <= 200
Default100
cursor?string

Opaque continuation token returned as next_cursor by a previous request

name?string

Match this exact snapshot name.

sandbox_id?string

Return snapshots captured from this sandbox ID.

Response Body

The page of snapshots

application/json
  1. response

A page of snapshots.

next_cursor?|

Opaque continuation token; null on the last page.

snapshots*array<>

The snapshots in this page.

curl -X GET 'https://example.com/snapshots'
{  "next_cursor": "string",  "snapshots": [    {      "available_in": [        "string"      ],      "bytes": 0,      "class": "linux",      "created_at": "2019-08-24T14:15:22Z",      "error": "string",      "id": "string",      "kind": "full",      "memory_bytes": 0,      "name": "string",      "region": "string",      "sandbox_id": "string",      "status": "string",      "updated_at": "2019-08-24T14:15:22Z",      "cursor": "string"    }  ]}

Get a snapshot

GET
/snapshots/{id}

Authorization

headerAuthorizationBearer <token>

Bearer project API key.

Scope: read:snapshots

Path Parameters

id*string

The snapshot ID or name

Query Parameters

wait?string

Block until the resource reaches this status or a terminal status. Omit to return immediately.

timeout_ms?integer

Maximum time to block, in milliseconds. Default 30000, maximum 60000.

Formatint64
Range0 <= value
id_only?boolean

Resolve the path value strictly as an ID, without a name fallback.

Response Body

The snapshot

application/json
  1. response
available_in*array<string>

Every region where the snapshot is available.

bytes?|

The disk size in bytes, or null until capture completes.

Formatint64
class*SnapshotClass

The sandbox class.

Value in"linux""gpu"
created_at*string

When the snapshot was created.

Formatdate-time
error?|

The failure detail, or null when capture has not failed.

id*string

The snapshot ID.

kind*SnapshotKind

The snapshot kind. full captures memory and disk on Linux; checkpoint captures a GPU sandbox.

Value in"full""checkpoint"
memory_bytes?|

The memory size in bytes, or null for snapshots without memory state.

Formatint64
name*string

The project-unique snapshot name.

region*string

The home region.

sandbox_id?|

The ID of the sandbox the snapshot was captured from, or null when that sandbox no longer exists.

status*string

The snapshot status.

updated_at*string

When the snapshot was last updated.

Formatdate-time
curl -X GET 'https://example.com/snapshots/string'
{  "available_in": [    "string"  ],  "bytes": 0,  "class": "linux",  "created_at": "2019-08-24T14:15:22Z",  "error": "string",  "id": "string",  "kind": "full",  "memory_bytes": 0,  "name": "string",  "region": "string",  "sandbox_id": "string",  "status": "string",  "updated_at": "2019-08-24T14:15:22Z"}

Delete a snapshot

DELETE
/snapshots/{id}

Authorization

headerAuthorizationBearer <token>

Bearer project API key.

Scope: delete:snapshots

Path Parameters

id*string

The snapshot ID or name

Query Parameters

id_only?boolean

Resolve the path value strictly as an ID, without a name fallback.

Response Body

Snapshot deleted

curl -X DELETE 'https://example.com/snapshots/string'
Empty