Skip to main content
Manual backup endpoints are available since v1.4.0. Scheduled backup endpoints (/backup/schedule) are available since v1.8.0.

GET /backup

Returns a list of all backup files stored in wp-content/wmp-backups/, sorted newest first.
curl -X GET https://example.com/wp-json/wp-manager-pro/v1/backup \
  -H "X-WP-Nonce: YOUR_NONCE"

Response

backups
array

POST /backup/create

Creates a new SQL database backup and saves it to wp-content/wmp-backups/. All tables are included by default.
The backup directory is protected from direct web access via a .htaccess deny rule and an index.php silence file that are written automatically when the directory is created.
curl -X POST https://example.com/wp-json/wp-manager-pro/v1/backup/create \
  -H "X-WP-Nonce: YOUR_NONCE"

Parameters

tables
array
Specific table names to include in the backup. Defaults to all tables in the database.

Response

success
boolean
Always true.
name
string
Filename of the created backup.
size
integer
File size in bytes.
size_human
string
Human-readable file size.
created_at
string
Creation timestamp.

POST /backup/download

Prepares a backup file for download by generating a one-time signed download URL valid for 120 seconds.
curl -X POST https://example.com/wp-json/wp-manager-pro/v1/backup/download \
  -H "X-WP-Nonce: YOUR_NONCE" \
  -H "Content-Type: application/json" \
  -d '{"name": "backup-2026-03-15-143000.sql"}'

Parameters

name
string
required
The exact filename of the backup to prepare. Must match the pattern backup-YYYY-MM-DD-HHmmss.sql.

Response

success
boolean
Always true.
download_url
string
Signed URL to stream the backup file. Expires after 120 seconds.

GET /backup/serve

Streams a backup file as a download. Use the URL returned by POST /backup/download — it includes the required key parameter.
The response is an SQL file download (Content-Type: application/sql), not JSON. Use the download_url from POST /backup/download directly.
curl -o backup.sql "https://example.com/wp-json/wp-manager-pro/v1/backup/serve?key=KEY&_wpnonce=NONCE"

Parameters

key
string
required
The one-time download key returned by POST /backup/download.

DELETE /backup/delete

Permanently deletes a backup file from disk.
Deleted backups cannot be recovered. Ensure you have downloaded or verified the backup before deleting.
curl -X DELETE https://example.com/wp-json/wp-manager-pro/v1/backup/delete \
  -H "X-WP-Nonce: YOUR_NONCE" \
  -H "Content-Type: application/json" \
  -d '{"name": "backup-2026-03-15-143000.sql"}'

Parameters

name
string
required
The exact filename of the backup to delete. Must match the pattern backup-YYYY-MM-DD-HHmmss.sql.

Response

success
boolean
Always true on success.

GET /backup/schedule

Available since v1.8.0
Returns the current scheduled backup configuration.
curl -X GET https://example.com/wp-json/wp-manager-pro/v1/backup/schedule \
  -H "X-WP-Nonce: YOUR_NONCE"

Response

enabled
boolean
Whether automatic scheduled backups are active.
frequency
string
Schedule frequency: daily, weekly, or monthly.
retain
integer
Number of backup files to keep. Older files are pruned automatically.
next_run
string | null
Timestamp of the next scheduled run in Y-m-d H:i:s format, or null if scheduling is disabled.

POST /backup/schedule

Available since v1.8.0
Saves scheduled backup settings and registers or clears the WordPress cron event.
curl -X POST https://example.com/wp-json/wp-manager-pro/v1/backup/schedule \
  -H "X-WP-Nonce: YOUR_NONCE" \
  -H "Content-Type: application/json" \
  -d '{"enabled": true, "frequency": "daily", "retain": 7}'

Parameters

enabled
boolean
required
Enable or disable scheduled backups.
frequency
string
How often to run backups: daily, weekly, or monthly. Defaults to daily.
retain
integer
Number of backup files to keep. Older files beyond this limit are deleted after each backup run. Defaults to 5.

Response

success
boolean
Always true.
enabled
boolean
The new enabled state.
frequency
string
The saved frequency.
retain
integer
The saved retain count.
next_run
string | null
Timestamp of the next scheduled run, or null if disabled.

Build docs developers (and LLMs) love