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
Unique name for the repository
Path to repository (local path or will be constructed for SSH)
Encryption mode:
repokey, keyfile, repokey-blake2, keyfile-blake2, or nonePassphrase for encrypted repositories (required if encryption is not
none)Compression algorithm:
lz4, zstd, zlib, or noneList of directories to back up (required for full mode)
List of exclude patterns (e.g.,
["*.log", "*.tmp"])SSH connection ID for remote repositories
Path to borg binary on remote server (e.g.,
/usr/local/bin/borg)Repository mode:
full (backups + observability) or observe (read-only observability)Use
--bypass-lock for read-only access (observe mode only)Custom command-line flags for
borg create (e.g., "--stats --list")SSH connection ID for remote data source (pull-based backups)
Script to run before backup
Script to run after backup
Pre-backup hook timeout in seconds
Post-backup hook timeout in seconds
Continue backup if pre-hook fails
Import Repository
Import an existing Borg repository. Endpoint:POST /api/repositories/import
Admin Only: Yes
Unique name for the repository
Path to existing repository
Passphrase if repository is encrypted
Compression for future backups
Directories to back up (required for full mode)
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: