-
Notifications
You must be signed in to change notification settings - Fork 0
Routes
Nick Hamnett edited this page Jun 11, 2026
·
1 revision
All routes are prefixed with /backup and namespaced under backup. by default. See Configuration to customize.
| Group | Middleware | Purpose |
|---|---|---|
| Management |
web + auth
|
CRUD operations, running backups, viewing schedules |
| Download | signed |
Secure file downloads with signed URLs |
| Method | URI | Name | Controller | Description |
|---|---|---|---|---|
GET |
/backups |
backup.backups.index |
BackupController@index |
List all backups |
GET |
/backups/{backup}/download |
backup.backups.download |
BackupController@generateDownloadLink |
Generate a signed download link for a backup zip |
| Method | URI | Name | Middleware | Controller | Description |
|---|---|---|---|---|---|
POST |
/perform |
backup.perform.initialize |
— | PerformBackupController@initialize |
Initialize a backup run, returns a UUID |
POST |
/perform/start |
backup.perform.start |
signed |
PerformBackupController@start |
Start the backup job (signed to prevent CSRF replay) |
GET |
/perform/{type}/{uuid} |
backup.perform.show |
signed |
PerformBackupController@show |
Poll for backup run status |
The {type} parameter accepts: full, files, databases.
-
POST /perform— initializes aBackupRunrecord and returns a UUID + signed URLs -
POST /perform/start— dispatches the backup job and opens a broadcasting channel -
GET /perform/{type}/{uuid}— called by the front-end to check completion status
| Method | URI | Name | Controller | Description |
|---|---|---|---|---|
GET |
/destinations |
backup.destinations.index |
BackupDestinationsController@index |
List all storage destinations |
GET |
/destinations/create |
backup.destinations.create |
BackupDestinationsController@create |
Show create form |
POST |
/destinations |
backup.destinations.store |
BackupDestinationsController@store |
Store a new destination |
GET |
/destinations/{destination} |
backup.destinations.show |
BackupDestinationsController@show |
Show a single destination |
PUT |
/destinations/{destination} |
backup.destinations.update |
BackupDestinationsController@update |
Update a destination |
DELETE |
/destinations/{destination} |
backup.destinations.destroy |
BackupDestinationsController@destroy |
Delete a destination |
POST |
/destinations/{destination}/test |
backup.destinations.test |
BackupDestinationsController@test |
Test connectivity |
GET |
/destinations/{destination}/test/{uuid} |
backup.destinations.test.result |
BackupDestinationsController@showTestResult |
Poll for test result (signed) |
| Method | URI | Name | Controller | Description |
|---|---|---|---|---|
GET |
/schedules |
backup.schedules.index |
ScheduleController@index |
View all backup and cleanup schedules |
| Method | URI | Name | Controller | Description |
|---|---|---|---|---|
GET |
/schedules/backup/create |
backup.schedules.backup.create |
BackupScheduleController@create |
Show create form |
POST |
/schedules/backup |
backup.schedules.backup.store |
BackupScheduleController@store |
Store a new backup schedule |
GET |
/schedules/backup/{schedule}/edit |
backup.schedules.backup.edit |
BackupScheduleController@edit |
Show edit form |
PUT |
/schedules/backup/{schedule} |
backup.schedules.backup.update |
BackupScheduleController@update |
Update a backup schedule |
DELETE |
/schedules/backup/{schedule} |
backup.schedules.backup.destroy |
BackupScheduleController@destroy |
Delete a backup schedule |
| Method | URI | Name | Controller | Description |
|---|---|---|---|---|
GET |
/schedules/cleanup/create |
backup.schedules.cleanup.create |
CleanupScheduleController@create |
Show create form |
POST |
/schedules/cleanup |
backup.schedules.cleanup.store |
CleanupScheduleController@store |
Store a new cleanup schedule |
GET |
/schedules/cleanup/{schedule}/edit |
backup.schedules.cleanup.edit |
CleanupScheduleController@edit |
Show edit form |
PUT |
/schedules/cleanup/{schedule} |
backup.schedules.cleanup.update |
CleanupScheduleController@update |
Update a cleanup schedule |
DELETE |
/schedules/cleanup/{schedule} |
backup.schedules.cleanup.destroy |
CleanupScheduleController@destroy |
Delete a cleanup schedule |
| Method | URI | Name | Middleware | Controller | Description |
|---|---|---|---|---|---|
GET |
/files/{file} |
backup.file |
signed |
BackupFileController@retrieve |
Download an individual backup file |
| Channel | Purpose |
|---|---|
backups.{uuid} |
Real-time backup progress updates (private channel) |
Channel access is managed through the application cache via ChannelAccessManager.