Checkpoints API
Checkpoints capture your Sprite’s complete filesystem state for instant rollback. They’re live snapshots—creation takes milliseconds with no interruption to running processes.
Use checkpoints before risky operations, to create reproducible environments, or to share known-good states across a team. Copy-on-write storage keeps incremental checkpoints small; you only store what changed.
Create Checkpoint
Section titled "Create Checkpoint"/v1/sprites/{name}/checkpointCreate a new checkpoint of the current sprite state. Returns streaming NDJSON progress.
Request Body
Responses
Section titled “Responses”| Status | Description |
|---|---|
200 | Success - Streaming NDJSON response |
404 | Not Found - Resource not found |
500 | Internal Server Error |
Streaming Events
Section titled “Streaming Events”This endpoint returns streaming NDJSON. Each line is one of these event types:
| Field | Type | Description |
|---|---|---|
type | string | (const: "info") |
data | string | Status message |
time | string (ISO 8601) | Timestamp |
{"data":"Creating checkpoint...","time":"2026-01-05T10:30:00Z","type":"info"}| Field | Type | Description |
|---|---|---|
type | string | (const: "error") |
error | string | Error description |
time | string (ISO 8601) | Timestamp |
{"error":"Checkpoint failed: disk full","time":"2026-01-05T10:30:00Z","type":"error"}complete
Section titled “complete”| Field | Type | Description |
|---|---|---|
type | string | (const: "complete") |
data | string | Completion message |
time | string (ISO 8601) | Timestamp |
{"data":"Checkpoint v3 created successfully","time":"2026-01-05T10:30:00Z","type":"complete"}[{ "data": "Creating checkpoint...", "time": "2026-01-05T10:30:00Z", "type": "info"},{ "data": "Stopping services...", "time": "2026-01-05T10:30:00Z", "type": "info"},{ "data": "Saving filesystem state...", "time": "2026-01-05T10:30:00Z", "type": "info"},{ "data": "Checkpoint v8 created", "time": "2026-01-05T10:30:00Z", "type": "complete"}]List Checkpoints
Section titled "List Checkpoints"/v1/sprites/{name}/checkpointsList all checkpoints.
Responses
Section titled “Responses”| Status | Description |
|---|---|
200 | Success |
404 | Not Found - Resource not found |
500 | Internal Server Error |
[{ "comment": "Before database migration", "create_time": "2026-01-05T10:30:00Z", "id": "v7"},{ "comment": "Stable state", "create_time": "2026-01-04T15:00:00Z", "id": "v6"},{ "comment": "", "create_time": "2026-01-04T09:00:00Z", "id": "v5"}]Get Checkpoint
Section titled "Get Checkpoint"/v1/sprites/{name}/checkpoints/{checkpoint_id}Get details of a specific checkpoint.
Responses
Section titled “Responses”| Status | Description |
|---|---|
200 | Success |
404 | Not Found - Resource not found |
500 | Internal Server Error |
{"comment": "Before database migration","create_time": "2026-01-05T10:30:00Z","id": "v7"}Restore Checkpoint
Section titled "Restore Checkpoint"/v1/sprites/{name}/checkpoints/{checkpoint_id}/restoreRestore to a specific checkpoint. Returns streaming NDJSON progress.
Responses
Section titled “Responses”| Status | Description |
|---|---|
200 | Success - Streaming NDJSON response |
404 | Not Found - Resource not found |
500 | Internal Server Error |
Streaming Events
Section titled “Streaming Events”This endpoint returns streaming NDJSON. Each line is one of these event types:
| Field | Type | Description |
|---|---|---|
type | string | (const: "info") |
data | string | Status message |
time | string (ISO 8601) | Timestamp |
{"data":"Creating checkpoint...","time":"2026-01-05T10:30:00Z","type":"info"}| Field | Type | Description |
|---|---|---|
type | string | (const: "error") |
error | string | Error description |
time | string (ISO 8601) | Timestamp |
{"error":"Checkpoint failed: disk full","time":"2026-01-05T10:30:00Z","type":"error"}complete
Section titled “complete”| Field | Type | Description |
|---|---|---|
type | string | (const: "complete") |
data | string | Completion message |
time | string (ISO 8601) | Timestamp |
{"data":"Checkpoint v3 created successfully","time":"2026-01-05T10:30:00Z","type":"complete"}[{ "data": "Restoring to checkpoint v5...", "time": "2026-01-05T10:30:00Z", "type": "info"},{ "data": "Stopping services...", "time": "2026-01-05T10:30:00Z", "type": "info"},{ "data": "Restoring filesystem...", "time": "2026-01-05T10:30:00Z", "type": "info"},{ "data": "Restored to v5", "time": "2026-01-05T10:30:00Z", "type": "complete"}]