Skip to main content
The backup endpoints allow you to create and manage server backups, including downloading and restoring them.

List Backups

Get all backups for a server.
string
required
The server identifier
integer
Results per page (max 50, default 20)

Response

string
Unique backup identifier
string
Backup name/description
array
File patterns that were excluded from the backup
string
SHA256 checksum of the backup file
integer
Backup size in bytes
boolean
Whether the backup completed successfully
boolean
Whether the backup is locked (prevents deletion)
string|null
ISO 8601 timestamp when backup finished (null if in progress)

Get Backup Details

Retrieve information about a specific backup.
string
required
The backup UUID

Create Backup

Create a new backup of the server.
string
Optional backup name (defaults to timestamp)
boolean
Lock backup to prevent deletion (default: false). Requires backup deletion permission.
string
Newline-separated list of file patterns to exclude from backup

Ignore Patterns

File patterns follow standard glob syntax:
  • *.log - All log files
  • cache/* - Everything in cache directory
  • temp/*.tmp - Temporary files in temp directory
  • .git/* - Git repository data

Response

Returns the created backup object (same format as list response).
Backup creation is asynchronous. The backup will show completed_at: null until it finishes. Poll the backup details endpoint to check completion status.

Download Backup

Generate a signed URL to download a backup.

Response

string
Signed download URL (valid for 15 minutes for S3, longer for local storage)
The URL varies based on backup storage:
  • S3/Compatible: Pre-signed S3 URL
  • Local (Wings): Direct download through Wings daemon

Lock/Unlock Backup

Toggle the lock status of a backup. Locked backups cannot be deleted.

Response

Returns the updated backup object with the new is_locked value.
Locking/unlocking backups requires the backup deletion permission.

Restore Backup

Restore a server from a backup.
boolean
Whether to delete all existing files before restoring (default: false)

Response

Returns 204 No Content when restore begins.
Important Notes:
  • Server must be stopped before restoring
  • Server status will be set to restoring_backup during the process
  • If truncate: true, all existing files will be deleted before extracting the backup
  • If truncate: false, backup files will overwrite existing files with the same name
  • Restore process cannot be cancelled once started

Monitoring Restore Progress

Check the server status to monitor restore progress:
When status changes from restoring_backup to null, the restore is complete.

Delete Backup

Delete a backup.

Response

Returns 204 No Content on success.
Deleting a backup is permanent and cannot be undone. Locked backups cannot be deleted until they are unlocked.

Backup Limits

The number of backups you can create is limited by your server’s backup_limit configuration:
If you’ve reached the limit, you must delete an existing backup before creating a new one.

Backup Storage Types

Pterodactyl supports multiple backup storage backends:

Local (Wings)

Backups stored on the Wings daemon server. Pros:
  • Fast backup and restore
  • No external dependencies
  • No additional cost
Cons:
  • Limited by node disk space
  • Not redundant (lost if node fails)
  • Download speeds limited by node bandwidth

AWS S3

Backups stored in Amazon S3 or S3-compatible storage (MinIO, Backblaze B2, Wasabi, etc.). Pros:
  • Highly redundant and durable
  • Scalable storage
  • Fast global downloads
Cons:
  • Storage and bandwidth costs
  • Slightly slower initial backup upload
  • Requires S3 configuration

Best Practices

Regular Backups

Create automated backup schedules:

Pre-Update Backups

Always create a locked backup before major updates:

Exclude Unnecessary Files

Reduce backup size and time by excluding logs, cache, and temporary files: