| Method | Path | Summary | Auth |
|---|---|---|---|
| GET | /v1/admin/control-backup | Signer fingerprint, freeze state, bundles, recent runs and redacted settings | Session |
| POST | /v1/admin/control-backup/backups | Queue an immediate backup | Session |
| DELETE | /v1/admin/control-backup/backups/{backup_id} | Queue deletion of a bundle and its remote copies; body confirm must equal backup_id | Session |
| GET | /v1/admin/control-backup/backups/{backup_id}/restore-commands | Text commands to restore a bundle onto an empty host (nothing is executed) | Session |
| POST | /v1/admin/control-backup/host-key | Read an SSH host key fingerprint to pin before a migration | Session |
| POST | /v1/admin/control-backup/migrations | Queue a migration to an empty new host; confirm must equal host. This control plane stays frozen after success. | Session |
| POST | /v1/admin/control-backup/recovery-kit | Download the backup identity sealed with a passphrase (scrypt) for off-host disaster recovery | Session |
| GET | /v1/admin/control-backup/runs/{run_id} | One agent run with its redacted log | Session |
| PUT | /v1/admin/control-backup/settings | Replace schedule, retention and off-host targets (empty secret fields keep the stored value) | Session |
| POST | /v1/admin/control-backup/targets/{name}/probe | Write, read back and delete a probe object on a configured target | Session |
Contract file:api/control-native-backup.openapi.yaml