Skip to content

Checkpoints API

Create Checkpoint

POST/v1/sprites/{name}/checkpoint

Create a new checkpoint of the current sprite state. Returns streaming NDJSON progress.

Request Body

comment:optionalstring
StatusDescription
200Success - Streaming NDJSON response
404Not Found - Resource not found
500Internal Server Error

This endpoint returns streaming NDJSON. Each line is one of these event types:

FieldTypeDescription
typestring(const: "info")
datastringStatus message
timetime.TimeTimestamp
{"data":"Creating checkpoint...","time":"2026-01-05T10:30:00Z","type":"info"}
FieldTypeDescription
typestring(const: "error")
errorstringError description
timetime.TimeTimestamp
{"error":"Checkpoint failed: disk full","time":"2026-01-05T10:30:00Z","type":"error"}
FieldTypeDescription
typestring(const: "complete")
datastringCompletion message
timetime.TimeTimestamp
{"data":"Checkpoint v3 created successfully","time":"2026-01-05T10:30:00Z","type":"complete"}
Request
Response
[
{
"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

GET/v1/sprites/{name}/checkpoints

List all checkpoints.

StatusDescription
200Success
404Not Found - Resource not found
500Internal Server Error
Request
Response
[
{
"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

GET/v1/sprites/{name}/checkpoints/{checkpoint_id}

Get details of a specific checkpoint.

StatusDescription
200Success
404Not Found - Resource not found
500Internal Server Error
Request
Response
{
"comment": "Before database migration",
"create_time": "2026-01-05T10:30:00Z",
"id": "v7"
}

Restore Checkpoint

POST/v1/sprites/{name}/checkpoints/{checkpoint_id}/restore

Restore to a specific checkpoint. Returns streaming NDJSON progress.

StatusDescription
200Success - Streaming NDJSON response
404Not Found - Resource not found
500Internal Server Error

This endpoint returns streaming NDJSON. Each line is one of these event types:

FieldTypeDescription
typestring(const: "info")
datastringStatus message
timetime.TimeTimestamp
{"data":"Creating checkpoint...","time":"2026-01-05T10:30:00Z","type":"info"}
FieldTypeDescription
typestring(const: "error")
errorstringError description
timetime.TimeTimestamp
{"error":"Checkpoint failed: disk full","time":"2026-01-05T10:30:00Z","type":"error"}
FieldTypeDescription
typestring(const: "complete")
datastringCompletion message
timetime.TimeTimestamp
{"data":"Checkpoint v3 created successfully","time":"2026-01-05T10:30:00Z","type":"complete"}
Request
Response
[
{
"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"
}
]