github marcpope/borgbackupserver v2.93.4

5 hours ago

API additions for plan editing and repository detail.

Plans

  • GET /api/v1/clients/{id}/plans returns each plan's attached plugins in execution order (plugin_config_id, plugin_id, name, slug, execution_order), so a client can show and edit the current set instead of replacing it blind.
  • POST …/plans accepts the 10min, 15min and 30min frequencies the web form offers. PUT …/plans/{planId} now validates frequency against the same list and answers 400 before writing anything.
  • POST /api/v1/clients/{id}/browse and GET …/browse/{taskId} — the filesystem browser under token auth. Same body and answers as the web: a cached tree, or a task id to poll; 409 when the client is offline.

Repositories and archives

  • GET …/repositories adds borg_version_last (falling back to the client's borg version), storage_location_name, s3_config_id and s3_config_name.
  • GET …/repositories/{repoId}/archives adds plan_name and duration_seconds per archive.
  • GET …/repositories/{repoId}/archives/{archiveId} is new: plan, timings, sizes, lock state, the plan's directories, files grouped by borg status, the twenty largest files, and the catalog state when the catalog isn't there.
  • Offsite mirror: POST /api/v1/repositories/{id}/s3-sync attaches a destination, DELETE detaches one or all, and POST …/s3-restore queues a replace or copy restore (202 with the job id). The web page and the API now share one S3RestoreService.

Don't miss a new borgbackupserver release

NewReleases is sending notifications on new releases.