Backups API
The backups backend exposes a JSON HTTP API consumed by the UI extension via ArgoCD’s proxy at /extensions/backups/.
Endpoints
List schedules
GET /api/v1/schedules?namespace={ns} List Velero backup schedules, optionally filtered by namespace.
Response:
{
"schedules": [
{
"name": "argoplane-demo-daily",
"namespace": "velero",
"schedule": "0 2 * * *",
"lastBackup": "2026-03-15T02:00:00Z",
"status": "Enabled"
}
]
} List backups
GET /api/v1/backups?schedule={name}&namespace={ns} List Velero backups, optionally filtered by schedule or namespace.
Response:
{
"backups": [
{
"name": "argoplane-demo-daily-20260315020000",
"schedule": "argoplane-demo-daily",
"status": "Completed",
"startTimestamp": "2026-03-15T02:00:00Z",
"completionTimestamp": "2026-03-15T02:01:30Z",
"itemsBackedUp": 42
}
]
} Trigger backup
POST /api/v1/backups Create an ad-hoc backup from a schedule.
Request body:
{
"schedule": "argoplane-demo-daily"
} Trigger restore
POST /api/v1/restores Restore from a completed backup.
Request body:
{
"backup": "argoplane-demo-daily-20260315020000",
"includeNamespaces": ["default"],
"includeResources": ["deployments", "services"]
} Backup logs
GET /api/v1/backups/{name}/logs Stream backup execution logs.
Backup results
GET /api/v1/backups/{name}/results Download backup results/summary.
Error responses
{
"error": "not_found",
"message": "backup 'xyz' not found"
}