Restore a checkpoint as a new computer with its captured image, env, ports, size, memory and /data.
curl -X POST "https://api.nevia.cloud/v1/computers/01d4cnjk3xg90y576w8y6t4gdwm/checkpoints/01d4cnjkwhftngfp8vkmp723mhv/restore" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "api-rollback"
}'{
"computer": {
"id": "01d4cnjk3xg90y576w8y6t4gdwm",
"workspace": "01d4cnjjq40hnnh0nwmkg35nv2h",
"name": "api-staging",
"state": "ready",
"pending": null,
"image": "docker.io/library/python:3.13-slim",
"image_digest": "sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
"ports": [
{
"published": 8080,
"target": 8080,
"protocol": "http1",
"url": "https://01d4cnjk3xg90y576w8y6t4gdwm.machines.example:8080"
}
],
"url": "https://01d4cnjk3xg90y576w8y6t4gdwm.machines.example",
"env_keys": [
"LOG_LEVEL",
"OPENAI_KEY"
],
"env_vars": [
{
"name": "LOG_LEVEL",
"source": "literal",
"missing": false
},
{
"name": "OPENAI_KEY",
"source": "secret",
"missing": false
}
],
"generation": 1,
"protected": false,
"parent": null,
"from_checkpoint": null,
"error": null,
"created_at": "2026-09-10T12:34:56Z",
"last_started_at": "2026-09-10T12:35:12Z",
"last_active_at": "2026-09-10T12:40:03Z",
"deleted_at": null
},
"operations": [
"01d4cnjm89yk0r3xtv80dy0x7by"
]
}Authorization
bearerAuth Send the token in the Authorization: Bearer <token> header. See Authenticate.
In: header
Path Parameters
Computer id: 27 lowercase letters and digits.
^[A-Za-z0-9_-]{1,64}$Checkpoint id: 27 lowercase letters and digits.
^[A-Za-z0-9_-]{1,64}$Header Parameters
Optional retry key, kept 24 hours
1 <= length <= 255Request Body
application/json
Behavior
It works like POST /v1/computers with from_checkpoint, addressed through the checkpoint.
The guest resumes from memory, so processes running at capture keep their env. The stored env is the checkpoint's, resolved by name at each exec of the new computer. A secret or variable deleted since capture fails those execs without blocking the restore.
The checkpoint.restore operation finishes before a 200 response. For a 202 response, poll the operation until it finishes.
Response
application/jsonThe new computer, ready or failed, when the machine came up within the short wait.