Endpoint
Authentication
Requires Bearer token authentication via theAuthorization header.
Path Parameters
The UUID of the server
Request Body
Backup storage adapter. Valid values:
wings (local) or s3UUID for the backup (generated by Panel)
Newline-separated list of files/directories to exclude from backup (same format as .pteroignore)
Response
Returns202 Accepted immediately. The backup process continues asynchronously.
Example Request
Backup Process
Archive Creation
Creates a gzip-compressed tar archive (
.tar.gz) of the server directory.- Excludes files matching patterns in the
ignoreparameter - Excludes files listed in
.pteroignorefile in server root - Calculates SHA1 checksum of the archive
Storage Upload
Local (wings) adapter:
- Saves backup to the configured backup directory
- Default:
/var/lib/pterodactyl/backups/
- Uploads backup to configured S3 bucket using multipart upload
- Chunk size: 5 MB per part
- Uses configured S3 credentials from Wings config
Ignore Patterns
Theignore parameter supports glob patterns:
*.log- Ignore all .log filestemp/- Ignore temp directorycache/**- Ignore cache directory and all contentsnode_modules/- Ignore node_modules*.tmp- Ignore temporary files
Patterns are matched using the same rules as
.gitignore files.WebSocket Events
Backup progress is published via WebSocket:Behavior
- Backup runs asynchronously in the background
- Server can remain running during backup
- Disk I/O is rate-limited to prevent performance impact (configured via
system.backup_write_limit) - Multiple backups can run concurrently (not recommended)
- Backup filename format:
backup-{uuid}.tar.gz
Error Responses
400 Bad Request
400 Bad Request
Invalid adapter type or missing required fields
401 Unauthorized
401 Unauthorized
404 Not Found
404 Not Found
Server does not exist
409 Conflict
409 Conflict
A backup with this UUID already exists
500 Internal Server Error
500 Internal Server Error
Failed to create backup (disk full, S3 error, etc.)
Configuration
Backup behavior can be configured inconfig.yml:
Source Reference
Implementation:router/router_server_backup.go:19-57 (postServerBackup function)