Перейти до вмісту
NimbusNexus

Backups

Backups are managed copies of VMs, volumes, and databases, kept on the cold-storage tier with deduplication and configurable retention. The endpoints support both on-demand backups (one-off, you call POST) and scheduled backups (recurring, driven by a policy attached to the source resource).

Backups vs snapshots

Both are point-in-time copies; they differ in operational shape:

SnapshotBackup
Created byDirect API call onlyDirect call OR a recurring policy
RetentionDefault 7 days, manual extendDriven by an explicit retention policy (daily/weekly/monthly tiers)
Pricing$0.04/GB-month (cold tier, deduped)$0.04/GB-month + per-restore retrieval fees
Cross-region replicationManual via restore-then-copyBuilt into the policy
Restore-as-new-resourceYesYes
Audit logStandardStandard + policy-attribution metadata

Use snapshots for ad-hoc copies you'll consume yourself. Use backups for the recurring "we always have a 7-day-old, 30-day-old, and 365-day-old copy" pattern — that's the policy-driven shape.

Policy-driven backups

Attach a backup policy to a VM / volume / database with:

{
  "source_id": "vm_01H...",
  "source_kind": "vm",
  "schedule": "daily",
  "retention": {
    "daily": 7,
    "weekly": 4,
    "monthly": 12,
    "yearly": 5
  }
}

That policy maintains 7 dailies + 4 weeklies + 12 monthlies + 5 yearlies = 28 active backups at steady state. Older backups age out automatically; you don't have to garbage-collect manually.

Policy endpoints live at /v1/backups/policies (not shown in the minimal sample below — full reference in the live spec).

Retention locks

A backup under an active retention tier (e.g. "daily, retain 7") is retention-locked for that period. Attempting to delete it before expiry returns 409. This is the compliance feature: a user can't delete a backup that's still inside the retention window, even if they have admin rights.

To override, you'd need to detach the source from the policy (which orphans the backup, no longer retention-locked), then delete. The orphaning is logged in the audit trail.

Cross-region replication

A policy can specify a secondary region: every backup created by the policy is replicated to the secondary within ~10 minutes of creation. The replicated copy bills as cross-region storage ($0.005/GB-month delta over the primary).

Restoring from the secondary doesn't require any extra ceremony — POST /v1/backups/{id}/restore with the secondary's id, target region defaults to the secondary's region. Common DR drill: monthly restore from the secondary into a sandbox project, validate, destroy.

What's next

Reference

GET/api/v1/backup_restore/volume_backups/

List Volume Backups

Lists volume backups for the project's volumes with filtering by status and type plus pagination and sorting.

Parameters

NameInRequiredDescription
limitqueryno—
offsetqueryno—
statusesqueryno—
backup_typesqueryno—
sort_byqueryno—
sort_descqueryno—

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 404Not Found
  • 422Validation error
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/backup_restore/volume_backups/

POST/api/v1/backup_restore/volume_backups/backup_restore

Run Backup Restore Queue Job

Queues a job that restores a completed volume backup back into a block storage volume.

Request body

JSON body required.

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 404Not Found
  • 409Conflict
  • 422Validation error
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/backup_restore/volume_backups/backup_restore

DELETE/api/v1/backup_restore/volume_backups/bulk

Delete Volume Backup Bulk

Deletes multiple volume backups in one call, removing them from block storage and any external storage destinations.

Parameters

NameInRequiredDescription
backup_idsqueryyes—

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 404Not Found
  • 422Validation error
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/backup_restore/volume_backups/bulk

POST/api/v1/backup_restore/volume_backups/schedule_job

Volume Backup Run Trigger By Schedule

Triggers the volume backup scheduler job for the requested frequency to evaluate due schedules.

Request body

JSON body required.

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 422Validation error
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/backup_restore/volume_backups/schedule_job

DELETE/api/v1/backup_restore/volume_backups/single/{volume_backup_id}

Delete Volume Backup

Deletes a single volume backup from block storage and any associated external storage destinations.

Parameters

NameInRequiredDescription
volume_backup_idpathyes—

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 404Not Found
  • 422Validation error
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/backup_restore/volume_backups/single/{volume_backup_id}

PATCH/api/v1/backup_restore/volume_backups/{volume_backup_id}

Update Volume Backup

Updates the editable attributes of an existing volume backup record.

Parameters

NameInRequiredDescription
volume_backup_idpathyes—

Request body

JSON body required.

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 404Not Found
  • 422Validation error
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/backup_restore/volume_backups/{volume_backup_id}

Need to make a real call? Try these endpoints in the live Swagger UI →