Skip to content
WP EngineDocumentation

Managing Backups

WP Engine automatically backs up each environment daily. Users can also choose to take additional backups on an ad-hoc basis.

To retrieve a backup, you must first generate a zip archive which is then available for download.

  • Backups - refers to full or partial backups made either automatically or on demand. These are also referred to as checkpoints.
  • Archives - refers to backups which have been converted into downloadable zip files.

Backups are automatically created daily for every environment.

Use the Create backup endpoint to create an ad-hoc backup.

Create backup
# Replace 12345 with your install ID
curl -X POST "https://api.wpengineapi.com/v1/installs/12345/backups" \
-u "$WPE_API_USER_ID:$WPE_API_PASSWORD" \
-H "Content-Type: application/json" \
-d '{
"description": "Manual backup before deployment",
"notification_emails": ["admin@example.com"]
}'

The length of time needed to take a backup varies by the size of the environment. Extremely large sites can take several minutes while small sites are generally backed up in a couple of minutes.

Use the List backups endpoint to get a list of available backups for a given environment.

List backups
# Replace 12345 with your install ID
curl -X GET "https://api.wpengineapi.com/v1/installs/12345/backups" \
-u "$WPE_API_USER_ID:$WPE_API_PASSWORD"

Use the Get backup endpoint to check the status of an ad-hoc backup.

Get backup
# Replace 12345 with your install ID and the UUID with your backup ID
curl -X GET "https://api.wpengineapi.com/v1/installs/12345/backups/11a77ee6-e069-4d7a-a6a0-a87e990ed07d" \
-u "$WPE_API_USER_ID:$WPE_API_PASSWORD"

Use the Restore backup endpoint to restore an environment from a backup.

Restore backup
# Replace 12345 with your install ID and the UUID with your backup ID
curl -X POST "https://api.wpengineapi.com/v1/installs/12345/backups/11a77ee6-e069-4d7a-a6a0-a87e990ed07d/restore" \
-u "$WPE_API_USER_ID:$WPE_API_PASSWORD" \
-H "Content-Type: application/json" \
-d '{
"notification_emails": ["admin@example.com"]
}'

Once a backup has completed, it can then be converted into an archive for download as a zip file.

Use the Create archive endpoint to create an archive.

Create archive
# Replace 12345 with your install ID and the UUID with your backup ID
curl -X POST "https://api.wpengineapi.com/v1/installs/12345/archives" \
-u "$WPE_API_USER_ID:$WPE_API_PASSWORD" \
-H "Content-Type: application/json" \
-d '{
"backup_id": "11a77ee6-e069-4d7a-a6a0-a87e990ed07d",
"notification_emails": ["admin@example.com"]
}'

Use the List archives endpoint to fetch a list of available archives and their urls for download.

List archives
# Replace 12345 with your install ID
curl -X GET "https://api.wpengineapi.com/v1/installs/12345/archives" \
-u "$WPE_API_USER_ID:$WPE_API_PASSWORD"

The response from the List archives endpoint includes the uri for a signed url of the archive which can be downloaded.

Example response:

{
"previous": null,
"next": null,
"count": 1,
"results": [
{
"id": "9f3610d6-9133-471e-bcc9-b255c8dbdcc9",
"backup": {
"id": "11a77ee6-e069-4d7a-a6a0-a87e990ed07d"
},
"notification_emails": ["rick.love@wpengine.com"],
"state": "completed",
"create_time": "2026-06-22T08:55:14.347Z",
"start_time": "2026-06-22T08:55:14.909Z",
"complete_time": "2026-06-22T08:55:45.001Z",
"abort_time": "0001-01-01T00:00:00.000Z",
"download_uri": "https://snappyshot-wpengine-download.s3.amazonaws.com/zip-archives/site-archive-rickloveeu2prd-live-1782102047-Uv3x1jfiEf5Wgkdyy4e32gYfeRwmXox5H446.zip"
}
]
}

Last updated: