Overview
The Backup API allows you to manage server backups, including creation, restoration, deletion, and monitoring progress. Backups are organized by world, with automatic and manual backup support.API Versions
The Backup API has two versions:- v0 - Legacy API using server-level backup paths
- v1 - Current API with world-based backup organization
Authentication
All backup API requests require authentication via JWT token:Endpoints
List Backups
Retrieve all backups for a server (or specific world in v1).string
required
The unique identifier of the server
string
The world ID (v1 only). Defaults to
00000000-0000-0000-0000-000000000000 (first/active world)string
Unique backup identifier (UUID)
string
Backup display name
string
ISO 8601 timestamp when backup was created
boolean
Whether this backup was created automatically
boolean
Whether the backup was interrupted
boolean
Whether the backup is currently in progress
object
Active backup tasks with progress information
object
object
Get Backup
Retrieve details about a specific backup.string
required
The unique identifier of the server
string
required
The unique identifier of the backup
string
The world ID (v1 only). Defaults to
00000000-0000-0000-0000-000000000000Create Backup
Create a new manual backup of the server.string
required
The unique identifier of the server
string
required
Display name for the backup
string
The world ID (v1 only). Defaults to
00000000-0000-0000-0000-000000000000string
The ID of the newly created backup
Restore Backup
Restore a server from a backup.string
required
The unique identifier of the server
string
required
The unique identifier of the backup to restore
string
The world ID (v1 only). Defaults to
00000000-0000-0000-0000-000000000000Delete Backup
Permanently delete a backup.string
required
The unique identifier of the server
string
required
The unique identifier of the backup to delete
string
The world ID (v1 only). Defaults to
00000000-0000-0000-0000-000000000000Rename Backup
Update a backup’s display name.string
required
The unique identifier of the server
string
required
The unique identifier of the backup
string
New display name for the backup
string
The world ID (v1 only). Defaults to
00000000-0000-0000-0000-000000000000Retry Failed Backup
Retry a failed backup operation.string
required
The unique identifier of the server
string
required
The unique identifier of the failed backup
string
The world ID (v1 only). Defaults to
00000000-0000-0000-0000-000000000000WebSocket Progress Events
Backup operations (create, restore) are asynchronous and emit real-time progress updates via WebSocket.Backup Progress Event
string
Always
"backup-progress"string
Backup ID (UUID)
string
Task type:
file (transfer), create (compression), or restore (extraction)string
Current state:
ongoing, done, failed, cancelled, or unchangednumber
Progress value from 0.0 (0%) to 1.0 (100%)
Complete Examples
Example: Create and Monitor Backup
Example: Restore with Confirmation
Example: Backup Management UI
Backup Quotas
Each server has a backup quota that limits the number of backups you can store:Best Practices
- Stop Server Before Restore: Always stop the server before restoring a backup to prevent data corruption
- Monitor Progress: Use WebSocket events to track backup/restore progress and handle failures gracefully
- Descriptive Names: Use clear, descriptive backup names that include context (e.g., “Before 1.20 update”)
- Quota Management: Monitor backup quota usage and implement automatic cleanup of old backups
- Confirmation: Always confirm with users before restoring backups, as this overwrites current data
- Error Handling: Implement proper error handling for failed backups and retry mechanisms
Related Documentation
- Server Management API - Get server details and manage power state
- WebSocket API - Real-time backup progress events
