Overview
Repository endpoints allow you to create, import, list, update, and delete Borg backup repositories.List Repositories
Get all repositories with their metadata and status. Endpoint:GET /api/repositories/
Example Request:
Get Repository
Get details for a specific repository. Endpoint:GET /api/repositories/{repo_id}
Example Request:
Create Repository
Initialize a new Borg repository. Endpoint:POST /api/repositories/
Admin Only: Yes
string
required
Unique name for the repository
string
required
Path to repository (local path or will be constructed for SSH)
string
default:"repokey"
Encryption mode:
repokey, keyfile, repokey-blake2, keyfile-blake2, or nonestring
Passphrase for encrypted repositories (required if encryption is not
none)string
default:"lz4"
Compression algorithm:
lz4, zstd, zlib, or nonearray
List of directories to back up (required for full mode)
array
List of exclude patterns (e.g.,
["*.log", "*.tmp"])integer
SSH connection ID for remote repositories
string
Path to borg binary on remote server (e.g.,
/usr/local/bin/borg)string
default:"full"
Repository mode:
full (backups + observability) or observe (read-only observability)boolean
default:false
Use
--bypass-lock for read-only access (observe mode only)string
Custom command-line flags for
borg create (e.g., "--stats --list")integer
SSH connection ID for remote data source (pull-based backups)
string
Script to run before backup
string
Script to run after backup
integer
default:300
Pre-backup hook timeout in seconds
integer
default:300
Post-backup hook timeout in seconds
boolean
default:false
Continue backup if pre-hook fails
Import Repository
Import an existing Borg repository. Endpoint:POST /api/repositories/import
Admin Only: Yes
string
required
Unique name for the repository
string
required
Path to existing repository
string
Passphrase if repository is encrypted
string
default:"lz4"
Compression for future backups
array
Directories to back up (required for full mode)
string
Content of borg keyfile for keyfile-based encryption
Update Repository
Update repository settings. Endpoint:PUT /api/repositories/{repo_id}
Admin Only: Yes
Example Request:
Delete Repository
Delete a repository from Borg UI (does not delete actual Borg repository). Endpoint:DELETE /api/repositories/{repo_id}
Admin Only: Yes
Example Request:
Keyfile Management
Upload Keyfile
Upload a keyfile for repositories using keyfile encryption. Endpoint:POST /api/repositories/{repo_id}/keyfile
Admin Only: Yes
Example Request:
Download Keyfile
Export and download the keyfile for a repository. Endpoint:GET /api/repositories/{repo_id}/keyfile
Admin Only: Yes
Example Request: