Skip to main content

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
This documentation covers both versions, with v1 being the recommended version for new integrations.

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
File transfer task
number
Progress from 0.0 to 1.0
string
State: ongoing, done, failed, cancelled, or unchanged
object
Backup creation task
number
Progress from 0.0 to 1.0
string
State: ongoing, done, failed, cancelled, or unchanged
object
Restore task
number
Progress from 0.0 to 1.0
string
State: ongoing, done, failed, cancelled, or unchanged

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-000000000000
Returns the same fields as List Backups.

Create 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-000000000000
string
The ID of the newly created backup
Backup creation is asynchronous. Monitor progress via WebSocket events:

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-000000000000
Restoration is asynchronous. Monitor progress via WebSocket:

Delete 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-000000000000

Rename 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-000000000000

Retry 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-000000000000

WebSocket 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 unchanged
number
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

  1. Stop Server Before Restore: Always stop the server before restoring a backup to prevent data corruption
  2. Monitor Progress: Use WebSocket events to track backup/restore progress and handle failures gracefully
  3. Descriptive Names: Use clear, descriptive backup names that include context (e.g., “Before 1.20 update”)
  4. Quota Management: Monitor backup quota usage and implement automatic cleanup of old backups
  5. Confirmation: Always confirm with users before restoring backups, as this overwrites current data
  6. Error Handling: Implement proper error handling for failed backups and retry mechanisms