Logo
OpenScaler

Create snapshot

POST
/v1/vms/{vm_id}/snapshots

Create a live external disk-only snapshot of the VM's main disk. The VM must be running. Snapshots are local ephemeral rollback points, do not use like backups! Limited to max_snapshots per VM (default 5).

Authorization

bearer_auth
AuthorizationBearer <token>

OAuth Authentication

OpenScaler API uses OAuth, a standard for secure authorization. To access the API, obtain a token via the OpenScaler Platform.

Use the access_token in the Authorization header for requests:

Authorization: Bearer <token>

Always keep your token secure and do not share it with anyone.

In: header

Path Parameters

vm_id*string

A unique identifier for a VM instance.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Request body for creating a VM snapshot.

Response Body

application/json

application/json

text/pain

application/json

application/json

curl -X POST "https://example.com/v1/vms/cc3ccab2-0ae2-11ef-9136-6a0922f6458b/snapshots" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",  "vm_id": "cc3ccab2-0ae2-11ef-9136-6a0922f6458b",  "user_id": "user-abc123",  "project_id": "default",  "name": "s1",  "display_name": "before-upgrade",  "disk_path": "/var/lib/libvirt/images/vm_abc.qcow2",  "parent_id": null,  "size_gib": 25,  "status": "ready",  "created_at": "2026-07-30T10:30:00Z",  "updated_at": "2026-07-30T10:30:00Z"}
{  "errors": [    {      "message": "'vcpus' field must be an integer",      "field": "resource_id"    }  ]}
"Access denied"
{  "errors": [    {      "message": "User not initialized (missing required fields in token), please init user by sending POST request to `/v1/init` then refresh your token\n"    }  ]}
{  "errors": [    {      "message": "VM with ID 23 not found"    }  ]}