Skip to main content

Backups

Quantaprice automatically backs up all your data to durable cloud storage. You can list, create and restore backups in the tenant console under Settings → Backups.

Console only

Backup and restore are for people signed in to the console. The /management endpoints refuse API-key credentials, so a leaked key can never restore over your data.

Automatic Backups​

A backup is taken every 10 minutes. Each backup is a consistent snapshot of all your data (articles, pricelists, prices, VAT rates, rules, etc.).

Automatic backup frequency can be configured per deployment. Contact support if you need a different interval.

Where Backups Are Stored​

Every backup is copied to durable cloud object storage within about a minute of being taken.

Retention Policy​

Backups are automatically thinned over time to balance storage costs with recovery granularity:

AgeWhat's kept
0 - 4 hoursEvery backup (~one every 10 minutes)
4 - 24 hours1 backup per hour
1 - 7 days1 backup per day
1 - 4 weeks1 backup per week
1 - 6 months1 backup per month
Older than 6 monthsDeleted

Retained backups (created manually with retain: true) are exempt from automatic deletion and kept indefinitely.

Retention runs once per hour.

Listing Backups​

GET /management/backups

Returns all available backups, newest first. Each entry includes:

FieldDescription
idBackup identifier (e.g. default-2026-02-14T09-15-30.123456Z)
createdISO 8601 timestamp
typeautomatic or manual
retainWhether this backup is protected from automatic deletion

Creating a Manual Backup​

POST /management/backups

Optional request body:

{
"retain": true
}

Creates an immediate backup. Set retain: true to protect it from the automatic retention policy.

Restoring from a Backup​

POST /management/restore

Request body:

{
"backup_id": "default-2026-02-14T09-15-30.123456Z"
}

What happens during restore​

  1. The restore starts immediately and runs in the background
  2. Write operations are blocked while the restore is in progress — the API returns 503 Service Unavailable with a Retry-After: 15 header for non-management endpoints
  3. Read-only management endpoints remain available so you can monitor restore progress
  4. All data is replaced with the backup's contents

The API stays up throughout the restore, but rejects writes until it finishes.

Restore response​

The endpoint returns 202 Accepted:

{
"status": "in_progress",
"backup_id": "default-2026-02-14T09-15-30.123456Z",
"started_at": "2026-02-14T09:16:00Z",
"completed_at": null,
"error": null
}

Monitoring restore progress​

GET /management/restore/status

Returns the current restore status: idle, in_progress, completed, or failed.

Best Practices​

  • Before major data imports, create a manual retained backup so you have a clean rollback point
  • Monitor restore status after triggering a restore — the API will return 503 to clients until it completes
  • Retained backups are ideal for milestone snapshots (e.g. before a migration or pricing restructure)
  • You do not need to stop or restart the service for either backup or restore operations