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.
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:
| Age | What's kept |
|---|---|
| 0 - 4 hours | Every backup (~one every 10 minutes) |
| 4 - 24 hours | 1 backup per hour |
| 1 - 7 days | 1 backup per day |
| 1 - 4 weeks | 1 backup per week |
| 1 - 6 months | 1 backup per month |
| Older than 6 months | Deleted |
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:
| Field | Description |
|---|---|
id | Backup identifier (e.g. default-2026-02-14T09-15-30.123456Z) |
created | ISO 8601 timestamp |
type | automatic or manual |
retain | Whether 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
- The restore starts immediately and runs in the background
- Write operations are blocked while the restore is in progress — the API returns
503 Service Unavailablewith aRetry-After: 15header for non-management endpoints - Read-only management endpoints remain available so you can monitor restore progress
- 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