List Backups
List every backup for an application, along with what your plan lets you do. A backup captures the app's managed database (a gzipped SQL dump), its content volume (a gzipped tar), or both. Database backups apply to any managed app with a bound managed database; content backups apply to apps with a content volume (e.g. Managed WordPress).
Response (200 OK)
true when your plan grants none of the backup entitlements — nothing on this app can be backed up or restored.db_backup, db_restore, content_backup, content_restore, schedule (all bool). Each is true only when the app has that resource and the plan entitles the op.backup_retention_max).null if none (see Get Backup Schedule).Backup object
database, content, or full.manual or scheduled.pending, running, completed, failed, or deleting.none, restoring, restored, or failed.Create a Backup
Take a backup on demand. Ngris queues the job; the backup is created with status: "pending" and moves to completed when the dump and upload finish. Only one backup runs at a time per app.
Request body (application/json)
database, content, or full (the default). database dumps the managed database; content archives the content volume; full does both, whichever the app has.Response (201 Created)
Returns the newly created backup object (same shape as in the list).
Errors
kind, no ready managed database for a database backup, or no content volume for a content backup.Restore a Backup
Restore a completed backup into the running app. The call is accepted asynchronously; poll GET /backups and watch the backup's restore_status (restoring → restored, or failed). The restore is gated by the entitlement that matches the backup's kind — database restore for a database backup, content restore for a content backup.
Response (202 Accepted)
restoring.Errors
Download a Backup Artifact
Stream a completed backup's raw artifact for an off-platform copy. The database artifact is a gzipped SQL dump; the content artifact is a gzipped tar of the content volume. The response is Content-Type: application/gzip, served as an attachment.
Query parameters
database (the default) or content.Errors
completed yet.Delete a Backup
Remove a backup — both its stored artifacts (the SQL dump and content tar) and its record. This is permanent.
Response (204 No Content)
An empty body on success.
Errors
Get Backup Schedule
Read the app's automatic backup schedule and the plan's retention cap. A schedule runs one backup of the chosen kind daily or weekly at a fixed UTC hour, keeping the most recent retain_count backups.
Response (200 OK)
null when no schedule is set; otherwise the schedule object.database, content, or full.daily or weekly.0–23.retention_max).backup_retention_max).Update Backup Schedule
Create or update the automatic backup schedule. retain_count is clamped to the plan's backup_retention_max. Enabling a schedule requires the application_backup_schedule entitlement; a downgraded account may still disable one. Automatic schedules are auto-disabled if the account later loses the entitlement.
Request body (application/json)
database, content, or full.daily or weekly.0–23.Response (200 OK)
Returns the saved schedule under schedule.
Errors
enabled: true).