Backups
Create, restore, and delete point-in-time storage volume backups via the Supervisor API.
Set variables to auto-fill all examples and run requests in-browser.
Experimental. The Backups feature is under active development. Endpoints, request and response shapes, and behavior may change without notice.
Backups are point-in-time copies of a deployment's storage volumes that you can restore to recover from data loss or roll back after a problematic upgrade. Internally each backup is an EBS volume snapshot at the AWS level, taken from the deployment's node disks.
Backups are not the same as diagnostic snapshots. Snapshots capture a node's runtime state for troubleshooting; backups capture the data on disk so it can be restored later.
All endpoints use the Supervisor API ({supervisor_url}).
Available for AWS deployments with network storage only. Local NVMe SSD deployments do not support backups. Requires the Pro or Enterprise plan.
Required permission: deployment:read to list, deployment:manage to create, restore, or delete.
pendingin_progresscompletedfaileddeletingmanualscheduledpre_upgradeOnly one backup can be in progress per deployment at a time.
List Backups
GET{supervisor_url}/deployments/{deployment_id}/backupsList all backups for the deployment.
curl {supervisor_url}/deployments/{deployment_id}/backups \
-H "ld-api-key: YOUR_API_KEY"[
{
"id": 1,
"deployment_id": 611298765432109056,
"node_id": 1,
"name": "pre-migration",
"backup_type": "manual",
"status": "completed",
"snapshot_ids": ["snap-0abc123def456789a"],
"volume_ids": ["vol-0abc123def456789a"],
"size_bytes": 53687091200,
"region": "us-west-1",
"remarks": null,
"started_at": "2025-01-15T10:30:00Z",
"completed_at": "2025-01-15T10:45:00Z",
"expires_at": "2025-02-14T10:30:00Z",
"created_at": "2025-01-15T10:30:00Z"
}
]snapshot_ids and volume_ids reference the underlying AWS resources held by the backup; they are returned for traceability.
Create a Backup
POST{supervisor_url}/deployments/{deployment_id}/backupsTrigger an on-demand backup. Only one backup can be in progress per deployment at a time.
curl -X POST {supervisor_url}/deployments/{deployment_id}/backups \
-H "ld-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "pre-migration",
"remarks": "Captured before schema migration",
"expires_in_days": 30
}'| Field | Required | Description |
|---|---|---|
name | Yes | Human-readable backup name |
node_id | No | Specific node to back up. Omit to back up every node |
backup_type | No | manual (default), scheduled, or pre_upgrade |
remarks | No | Optional free-form description |
expires_in_days | No | Auto-delete after this many days |
Returns 204 No Content. The backup runs asynchronously and transitions through pending to in_progress to completed.
Restore from a Backup
POST{supervisor_url}/deployments/{deployment_id}/backups/{backup_id}/restoreRestore the deployment to the state captured in the backup. The deployment is stopped during the restore and restarted automatically.
curl -X POST {supervisor_url}/deployments/{deployment_id}/backups/{backup_id}/restore \
-H "ld-api-key: YOUR_API_KEY"Returns 204 No Content. Only one restore can run at a time per deployment.
Restore replaces the current storage volumes with the backup's. Any data written after the backup was created is lost. Capture a fresh backup before restoring if that data matters.
Delete a Backup
DELETE{supervisor_url}/deployments/{deployment_id}/backups/{backup_id}Delete a backup. Backups in `pending` or `in_progress` cannot be deleted - wait for them to finish first.
curl -X DELETE {supervisor_url}/deployments/{deployment_id}/backups/{backup_id} \
-H "ld-api-key: YOUR_API_KEY"Returns 204 No Content.