Backups and jobs API
See the API guide for authentication and retries, or the endpoint index for other resources. All paths below are relative to your dashboard host.
Get backup policy
GET /api/v1/projects/{projectId}/backup-policies/{policyId}
Read a backup policy without commands or storage credentials.
Permission: backups:read · Team member.
MCP: get_backup_policy.
Path parameters
Query parameters
None.
Response: HTTP 200.
List backups
GET /api/v1/projects/{projectId}/backups
List backup status metadata. Storage credentials and internal manifests are excluded.
Permission: backups:read · Team member.
MCP: list_backups.
Path parameters
Query parameters
Response: HTTP 200.
Get backup
GET /api/v1/backups/{backupRunId}
Read backup status by immutable backup run ID.
Permission: backups:read · Team member.
MCP: get_backup.
Path parameters
Query parameters
None.
Response: HTTP 200.
List backup artifacts
GET /api/v1/backups/{backupRunId}/artifacts
List restore artifact identifiers, types, sizes, and checksums. Object keys and credentials are excluded.
Permission: backups:read · Team member.
MCP: list_backup_artifacts.
Path parameters
Query parameters
Response: HTTP 200.
List backup policies
GET /api/v1/projects/{projectId}/backup-policies
List policy identifiers and enabled state. Database connection secrets are excluded.
Permission: backups:read · Team member.
MCP: list_backup_policies.
Path parameters
Query parameters
Response: HTTP 200.
List backup storage
GET /api/v1/backup-storage
List team storage destination metadata without access keys. Unavailable to project-restricted credentials.
Permission: backups:read · Team member · Workspace-wide access required.
MCP: list_backup_storage.
Query parameters
Response: HTTP 200.
Get job
GET /api/v1/jobs/{jobId}
Read an asynchronous backup or restore job status without its credential-bearing payload.
Permission: backups:read · Team member.
MCP: get_job.
Path parameters
Query parameters
None.
Response: HTTP 200.
Read job logs
GET /api/v1/jobs/{jobId}/logs
Read bounded backup or restore output. Logs may contain application secrets.
Permission: logs:read · Team member.
MCP: read_job_logs.
Path parameters
Query parameters
Response: HTTP 200.
Run backup
POST /api/v1/projects/{projectId}/backups
Queue a manual run of an enabled backup policy.
Permission: backups:write · Owner/admin.
MCP: run_backup.
Path parameters
JSON body
Send Idempotency-Key as a header, not a body field.
Response: HTTP 202.
Restore backup
POST /api/v1/backups/{backupRunId}/restore
Queue a destructive restore into the current environment. Requires administrator role and explicit confirmation.
Permission: backups:restore · Owner/admin.
MCP: restore_backup.
Path parameters
JSON body
Send Idempotency-Key as a header, not a body field.
Response: HTTP 202.
Create backup policy
POST /api/v1/projects/{projectId}/backup-policies
Create a backup policy. Requires current administrator role.
Permission: backups:write · Owner/admin.
MCP: create_backup_policy.
Path parameters
JSON body
Send Idempotency-Key as a header, not a body field.
Response: HTTP 201.
Update backup policy
PUT /api/v1/projects/{projectId}/backup-policies/{policyId}
Replace a backup policy using its current settings version. Requires current administrator role.
Permission: backups:write · Owner/admin.
MCP: update_backup_policy.
Path parameters
JSON body
Send Idempotency-Key as a header, not a body field.
Response: HTTP 200.
Delete backup policy
DELETE /api/v1/projects/{projectId}/backup-policies/{policyId}
Remove a backup policy without deleting retained backup runs. Requires current administrator role.
Permission: backups:write · Owner/admin.
MCP: delete_backup_policy.
Path parameters
JSON body
Send Idempotency-Key as a header, not a body field.
Response: HTTP 200.
Create backup storage
POST /api/v1/backup-storage
Create a team backup destination. Secret access keys are write-only. Requires current administrator role.
Permission: backups:write · Owner/admin · Workspace-wide access required.
MCP: Not exposed.
JSON body
Send Idempotency-Key as a header, not a body field.
Response: HTTP 201.
Update backup storage
PUT /api/v1/backup-storage/{storageId}
Rename or rotate credentials of a team backup destination. Bucket, region, and endpoint are immutable.
Permission: backups:write · Owner/admin · Workspace-wide access required.
MCP: Not exposed.
Path parameters
JSON body
Send Idempotency-Key as a header, not a body field.
Response: HTTP 200.
Delete backup storage
DELETE /api/v1/backup-storage/{storageId}
Delete an unreferenced backup destination. Policies, active backups, and retained remote artifacts prevent deletion.
Permission: backups:write · Owner/admin · Workspace-wide access required.
MCP: Not exposed.
Path parameters
JSON body
Send Idempotency-Key as a header, not a body field.
Response: HTTP 200.