Skip to main content

Backup

All backup endpoints require authentication and the settings.backup permission.

Backups are exported as an encrypted .geb file using AES-256 encryption, optionally including session recordings.


GET /backup/size

Get the estimated size breakdown for a full backup.

Response

{
"dbSize": 5242880,
"recordingsSize": 1073741824,
"recordingCount": 42
}

POST /backup/export

Create and download an encrypted backup file.

Request body

{
"password": "min8-char-password",
"includeRecordings": true
}

Response: .geb file download. The file contains the database, encryption key material, and optionally all session recordings.


POST /backup/import

Restore a backup from a .geb file.

  • Header: X-Backup-Password: <password>
  • Body: Raw .geb file bytes

Response

{
"ok": true,
"message": "Backup restored successfully",
"recordingsRestored": 42
}
warning

Restoring a backup will overwrite the current database. This action cannot be undone. Ensure you have a copy of the current state before proceeding.