Guide
Backup and Recovery
Backups are VM-scoped resources. This workflow covers how to create one, confirm that it exists, restore it into the VM, and remove it when it is no longer needed.
Create a backup
Use the VM-specific backup endpoint whenever you need a fresh recovery point before a change or maintenance action.
curl --request POST \
--url 'https://client-api.dc.dev.k8s.zenno.services/projects/{projectId}/vms/{vmId}/backups' \
--header 'X-API-Key: <api-key>' \
--header 'Accept: application/json'
- 1
Create the backup
Start with the create call and retain the VM identifier because every follow-up action remains scoped to that VM.
- 2
List backups for the VM
Confirm that the backup appears in the VM backup collection before building automation around restore or cleanup logic.
- 3
Read a specific backup when needed
Use the backup identifier to inspect the exact backup resource you intend to restore or delete.
- 4
Restore the selected backup
Treat restore as an operational change to the VM. Fetch the VM and backup resources after the restore request to understand current state.
- 5
Delete old backups
Once a recovery point is no longer required, remove it explicitly from the VM backup collection.
Restore a backup
Restoring is a targeted action on a specific backup resource. Use the exact backupId you previously
listed or fetched.
curl --request POST \
--url 'https://client-api.dc.dev.k8s.zenno.services/projects/{projectId}/vms/{vmId}/backups/{backupId}/restore' \
--header 'X-API-Key: <api-key>' \
--header 'Accept: application/json'
Operational note
Recovery should be treated as a controlled workflow step. Do not assume restore is instantaneous; fetch the affected VM afterward and verify that the system reached the state your workflow expects.
Related endpoints
/projects/{projectId}/vms/{vmId}/backupsCreate a VM backup.
/projects/{projectId}/vms/{vmId}/backupsList backups for the VM.
/projects/{projectId}/vms/{vmId}/backups/{backupId}Inspect one backup resource.
/projects/{projectId}/vms/{vmId}/backups/{backupId}/restoreRestore the selected backup.
/projects/{projectId}/vms/{vmId}/backups/{backupId}Delete a backup that is no longer needed.