Skip to content

API Endpoints

This page documents all available endpoints in the WP Engine Customer API. For general API information, see the API Overview. For authentication details, see Authentication. For information about working with paginated responses, see Pagination.

Status

Manage Status resources using the WP Engine Customer API.

The status of the WP Engine Public API.

GET /status

The status of the WP Engine Public API.

Parameters

This endpoint has no parameters.

Code Examples

Terminal window
curl -X GET \
"https://api.wpengineapi.com/v1/status"

Responses

200 Status of API

Status of API

{
"success": true,
"created_on": "2018-05-17T16:20:40+00:00"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Swagger

Manage Swagger resources using the WP Engine Customer API.

The current swagger specification

GET /swagger

The current swagger specification

Parameters

This endpoint has no parameters.

Code Examples

Terminal window
curl -X GET \
"https://api.wpengineapi.com/v1/swagger"

Responses

200 Current swagger specification

Current swagger specification

{
"message": "Response format not documented"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Account

Manage Account resources using the WP Engine Customer API.

List your WP Engine accounts

GET /accounts

List your WP Engine accounts

Parameters

This endpoint has no parameters.

Code Examples

Terminal window
curl -X GET \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/accounts"

Responses

200 List of WP Engine accounts

List of WP Engine accounts

{
"previous": "https://api.wpengineapi.com/v1/example-endpoint?limit=100&offset=0",
"next": "https://api.wpengineapi.com/v1/example-endpoint?limit=100&offset=200",
"count": 225,
"results": [
{
"id": "eeda3227-9a39-46ae-9e14-20958bb4e6c9",
"name": "joesaccount"
}
]
}
400 Bad Request

Bad Request

{
"message": "Invalid account ID format"
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Get an account by ID

GET /accounts/{account_id}

Get an account by ID

Parameters

NameTypeInRequiredDescription
account_idstring (uuid)pathyesID of account

Code Examples

Terminal window
curl -X GET \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/accounts/eeda3227-9a39-46ae-9e14-20958bb4e6c9"

Responses

200 Success

Success

{
"id": "eeda3227-9a39-46ae-9e14-20958bb4e6c9",
"name": "joesaccount"
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Account User

Manage Account User resources using the WP Engine Customer API.

List your account users

GET /accounts/{account_id}/account_users

List your account users

Parameters

NameTypeInRequiredDescription
account_idstring (uuid)pathyesID of account

Code Examples

Terminal window
curl -X GET \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/accounts/eeda3227-9a39-46ae-9e14-20958bb4e6c9/account_users"

Responses

200 List of account users

List of account users

{
"results": [
{
"user_id": "28c78b6d-c2da-4f09-85f5-1ad588089b2d",
"account_id": "eeda3227-9a39-46ae-9e14-20958bb4e6c9",
"first_name": "Joe",
"last_name": "Smith",
"email": "joeSmith@test.com",
"phone": "1234567890",
"invite_accepted": false,
"mfa_enabled": true,
"roles": "billing, partial"
}
]
}
400 Bad Request

Bad Request

{
"message": "Invalid user ID format"
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Create a new account user

POST /accounts/{account_id}/account_users

Create a new account user

Parameters

NameTypeInRequiredDescription
account_idstring (uuid)pathyesID of account

Request Body

NameTypeRequiredDescription
userobjectyesThe user that will be created
user.account_idstring (uuid)yesThe account ID
user.first_namestringyes
user.last_namestringyes
user.emailstringyes
user.rolesstringyeschoose from ‘owner’, ‘full,billing’, ‘full’, ‘partial,billing’, and ‘partial’
user.install_idsarrayno
{
"user": {
"account_id": "eeda3227-9a39-46ae-9e14-20958bb4e6c9",
"first_name": "Joe",
"last_name": "Smith",
"email": "joe@gmail.com",
"roles": "full,billing",
"install_ids": [
"ddda3227-9a39-46ae-9e14-20958bb4e6c9",
"qada3227-9a39-46ae-9e14-20958bb4e45y"
]
}
}

Code Examples

Terminal window
curl -X POST \
-u "API_USER_ID:API_USER_PASSWORD" \
-H "Content-Type: application/json" \
-d '\{
"user": \{
"account_id": "eeda3227-9a39-46ae-9e14-20958bb4e6c9",
"first_name": "Joe",
"last_name": "Smith",
"email": "joe@gmail.com",
"roles": "full,billing",
"install_ids": [
"ddda3227-9a39-46ae-9e14-20958bb4e6c9",
"qada3227-9a39-46ae-9e14-20958bb4e45y"
]
\}
\}' \
"https://api.wpengineapi.com/v1/accounts/eeda3227-9a39-46ae-9e14-20958bb4e6c9/account_users"

Responses

201 Created

Created

{
"message": "Your change was successful.",
"account_user": {
"user_id": "28c78b6d-c2da-4f09-85f5-1ad588089b2d",
"account_id": "eeda3227-9a39-46ae-9e14-20958bb4e6c9",
"first_name": "Joe",
"last_name": "Smith",
"email": "joeSmith@test.com",
"phone": "1234567890",
"invite_accepted": false,
"mfa_enabled": true,
"roles": "billing, partial"
}
}
400 Bad Request

Bad Request

{
"message": "User email is required",
"errors": [
{
"resource": "AccountUser",
"field": "email",
"type": "missing_field",
"code": "required",
"message": "Email address is required"
}
]
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Get an account user by ID

GET /accounts/{account_id}/account_users/{user_id}

Get an account user by ID

Parameters

NameTypeInRequiredDescription
account_idstring (uuid)pathyesID of account
user_idstring (uuid)pathyesID of the user

Code Examples

Terminal window
curl -X GET \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/accounts/eeda3227-9a39-46ae-9e14-20958bb4e6c9/account_users/a1b2c3d4-e5f6-41b2-b3d4-e5f6a1b2c3d4"

Responses

200 Success

Success

{
"user_id": "28c78b6d-c2da-4f09-85f5-1ad588089b2d",
"account_id": "eeda3227-9a39-46ae-9e14-20958bb4e6c9",
"first_name": "Joe",
"last_name": "Smith",
"email": "joeSmith@test.com",
"phone": "1234567890",
"invite_accepted": false,
"mfa_enabled": true,
"roles": "billing, partial"
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Update an account user

PATCH /accounts/{account_id}/account_users/{user_id}

Update an account user

Parameters

NameTypeInRequiredDescription
account_idstring (uuid)pathyesID of account
user_idstring (uuid)pathyesID of the user

Request Body

NameTypeRequiredDescription
rolesstringyeschoose from ‘owner’, ‘full,billing’, ‘full’, ‘partial,billing’, and ‘partial’
install_idsarrayno
{
"roles": "full,billing",
"install_ids": [
"ddda3227-9a39-46ae-9e14-20958bb4e6c9",
"qada3227-9a39-46ae-9e14-20958bb4e45y"
]
}

Code Examples

Terminal window
curl -X PATCH \
-u "API_USER_ID:API_USER_PASSWORD" \
-H "Content-Type: application/json" \
-d '\{
"roles": "full,billing",
"install_ids": [
"ddda3227-9a39-46ae-9e14-20958bb4e6c9",
"qada3227-9a39-46ae-9e14-20958bb4e45y"
]
\}' \
"https://api.wpengineapi.com/v1/accounts/eeda3227-9a39-46ae-9e14-20958bb4e6c9/account_users/a1b2c3d4-e5f6-41b2-b3d4-e5f6a1b2c3d4"

Responses

200 Updated

Updated

{
"message": "Your change was successful.",
"account_user": {
"user_id": "28c78b6d-c2da-4f09-85f5-1ad588089b2d",
"account_id": "eeda3227-9a39-46ae-9e14-20958bb4e6c9",
"first_name": "Joe",
"last_name": "Smith",
"email": "joeSmith@test.com",
"phone": "1234567890",
"invite_accepted": false,
"mfa_enabled": true,
"roles": "billing, partial"
}
}
400 Bad Request

Bad Request

{
"message": "Invalid role specified",
"errors": [
{
"resource": "AccountUser",
"field": "roles",
"type": "invalid_value",
"code": "invalid_role",
"message": "Role must be one of: owner, full, full,billing, partial, partial,billing"
}
]
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
500 Internal server error

Internal server error

{
"message": "Internal server error - please try again later"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Delete an account user

DELETE /accounts/{account_id}/account_users/{user_id}

Delete an account user

Parameters

NameTypeInRequiredDescription
account_idstring (uuid)pathyesID of account
user_idstring (uuid)pathyesID of the user

Code Examples

Terminal window
curl -X DELETE \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/accounts/eeda3227-9a39-46ae-9e14-20958bb4e6c9/account_users/a1b2c3d4-e5f6-41b2-b3d4-e5f6a1b2c3d4"

Responses

204 Deleted

Deleted

{
"message": "Response format not documented"
}
400 Bad Request

Bad Request

{
"message": "Invalid user ID format"
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Site

Manage Site resources using the WP Engine Customer API.

List your sites

GET /sites

List your sites

Parameters

This endpoint has no parameters.

Code Examples

Terminal window
curl -X GET \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/sites"

Responses

200 List of sites

List of sites

{
"previous": "https://api.wpengineapi.com/v1/example-endpoint?limit=100&offset=0",
"next": "https://api.wpengineapi.com/v1/example-endpoint?limit=100&offset=200",
"count": 225,
"results": [
{
"id": "28c78b6d-c2da-4f09-85f5-1ad588089b2d",
"name": "Torque Magazine",
"account": {
"id": "eeda3227-9a39-46ae-9e14-20958bb4e6c9"
},
"tags": [
"example-value"
],
"installs": []
}
]
}
400 Bad Request

Bad Request

{
"message": "Invalid site ID format"
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Create a new site

POST /sites

Create a new site

Parameters

This endpoint has no parameters.

Request Body

NameTypeRequiredDescription
namestringyes
account_idstring (uuid)yesThe account ID
{
"name": "Torque Magazine",
"account_id": "eeda3227-9a39-46ae-9e14-20958bb4e6c9"
}

Code Examples

Terminal window
curl -X POST \
-u "API_USER_ID:API_USER_PASSWORD" \
-H "Content-Type: application/json" \
-d '\{
"name": "Torque Magazine",
"account_id": "eeda3227-9a39-46ae-9e14-20958bb4e6c9"
\}' \
"https://api.wpengineapi.com/v1/sites"

Responses

201 Created

Created

{
"id": "28c78b6d-c2da-4f09-85f5-1ad588089b2d",
"name": "Torque Magazine",
"account": {
"id": "eeda3227-9a39-46ae-9e14-20958bb4e6c9"
},
"tags": [
"example-value"
],
"installs": []
}
400 Bad Request

Bad Request

{
"message": "Site name is required",
"errors": [
{
"resource": "Site",
"field": "name",
"type": "missing_field",
"code": "required",
"message": "Site name cannot be empty"
}
]
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Get a site by ID

GET /sites/{site_id}

Get a site by ID

Parameters

NameTypeInRequiredDescription
site_idstring (uuid)pathyesThe site ID

Code Examples

Terminal window
curl -X GET \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/sites/a1b2c3d4-e5f6-41b2-b3d4-e5f6a1b2c3d4"

Responses

200 Success

Success

{
"id": "28c78b6d-c2da-4f09-85f5-1ad588089b2d",
"name": "Torque Magazine",
"account": {
"id": "eeda3227-9a39-46ae-9e14-20958bb4e6c9"
},
"tags": [
"example-value"
],
"installs": []
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Change a site name

PATCH /sites/{site_id}

Change a site name

Parameters

NameTypeInRequiredDescription
site_idstring (uuid)pathyesThe ID of the site to change the name of (For accounts with sites enabled)

Request Body

NameTypeRequiredDescription
namestringnoThe new site name
{
"name": "My New Name"
}

Code Examples

Terminal window
curl -X PATCH \
-u "API_USER_ID:API_USER_PASSWORD" \
-H "Content-Type: application/json" \
-d '\{
"name": "My New Name"
\}' \
"https://api.wpengineapi.com/v1/sites/294deacc-d8b8-4005-82c4-0727ba8ddde0"

Responses

200 Updated

Updated

{
"id": "28c78b6d-c2da-4f09-85f5-1ad588089b2d",
"name": "Torque Magazine",
"account": {
"id": "eeda3227-9a39-46ae-9e14-20958bb4e6c9"
},
"tags": [
"example-value"
],
"installs": []
}
400 Bad Request

Bad Request

{
"message": "Invalid site name",
"errors": [
{
"resource": "Site",
"field": "name",
"type": "invalid_value",
"code": "too_long",
"message": "Site name is too long (maximum is 40 characters)"
}
]
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Delete a site

DELETE /sites/{site_id}

Delete a site

Parameters

NameTypeInRequiredDescription
site_idstring (uuid)pathyesThe ID of the site to delete (For accounts with sites enabled)

Code Examples

Terminal window
curl -X DELETE \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/sites/294deacc-d8b8-4005-82c4-0727ba8ddde0"

Responses

204 Deleted

Deleted

{
"message": "Response format not documented"
}
400 Bad Request

Bad Request

{
"message": "Invalid site ID format"
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Install

Manage Install resources using the WP Engine Customer API.

List your WordPress installations

GET /installs

List your WordPress installations

Parameters

This endpoint has no parameters.

Code Examples

Terminal window
curl -X GET \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/installs"

Responses

200 List of WordPress installations

List of WordPress installations

{
"previous": "https://api.wpengineapi.com/v1/example-endpoint?limit=100&offset=0",
"next": "https://api.wpengineapi.com/v1/example-endpoint?limit=100&offset=200",
"count": 225,
"results": [
{
"id": "294deacc-d8b8-4005-82c4-0727ba8ddde0",
"name": "torquemag",
"account": {
"id": "eeda3227-9a39-46ae-9e14-20958bb4e6c9"
},
"php_version": "7.0",
"status": "active",
"cname": "mywebsite.wpengine.com"
}
]
}
400 Bad Request

Bad Request

{
"message": "Invalid install ID format"
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Create a new WordPress installation

POST /installs

Create a new WordPress installation

Parameters

This endpoint has no parameters.

Request Body

NameTypeRequiredDescription
namestringyesThe name of the install
account_idstring (uuid)yesThe ID of the account that the install will belong to
site_idstring (uuid)noThe ID of the site that the install will belong to
environmentstringnoThe site environment that the install will fill
{
"name": "torquemag",
"account_id": "eeda3227-9a39-46ae-9e14-20958bb4e6c9",
"site_id": "28c78b6d-c2da-4f09-85f5-1ad588089b2d",
"environment": "staging"
}

Code Examples

Terminal window
curl -X POST \
-u "API_USER_ID:API_USER_PASSWORD" \
-H "Content-Type: application/json" \
-d '\{
"name": "torquemag",
"account_id": "eeda3227-9a39-46ae-9e14-20958bb4e6c9",
"site_id": "28c78b6d-c2da-4f09-85f5-1ad588089b2d",
"environment": "staging"
\}' \
"https://api.wpengineapi.com/v1/installs"

Responses

201 Created

Created

{
"id": "294deacc-d8b8-4005-82c4-0727ba8ddde0",
"name": "torquemag",
"account": {
"id": "eeda3227-9a39-46ae-9e14-20958bb4e6c9"
},
"php_version": "7.0",
"status": "active",
"cname": "mywebsite.wpengine.com"
}
400 Bad Request

Bad Request

{
"message": "Install name is required",
"errors": [
{
"resource": "Installation",
"field": "name",
"type": "missing_field",
"code": "required",
"message": "Installation name cannot be empty"
}
]
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
429 Too many requests

Too many requests

{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Get an install by ID

GET /installs/{install_id}

Get an install by ID

Parameters

NameTypeInRequiredDescription
install_idstring (uuid)pathyesID of install

Code Examples

Terminal window
curl -X GET \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/installs/294deacc-d8b8-4005-82c4-0727ba8ddde0"

Responses

200 Success

Success

{
"id": "294deacc-d8b8-4005-82c4-0727ba8ddde0",
"name": "torquemag",
"account": {
"id": "eeda3227-9a39-46ae-9e14-20958bb4e6c9"
},
"php_version": "7.0",
"status": "active",
"cname": "mywebsite.wpengine.com"
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Delete an install by ID

DELETE /installs/{install_id}

Delete an install by ID

Parameters

NameTypeInRequiredDescription
install_idstring (uuid)pathyesID of install

Code Examples

Terminal window
curl -X DELETE \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/installs/294deacc-d8b8-4005-82c4-0727ba8ddde0"

Responses

204 Deleted

Deleted

{
"message": "Response format not documented"
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Update a WordPress installation

PATCH /installs/{install_id}

Update a WordPress installation

Parameters

NameTypeInRequiredDescription
install_idstring (uuid)pathyesThe install ID

Request Body

NameTypeRequiredDescription
site_idstring (uuid)noThe site ID
environmentstringno
{
"site_id": "28c78b6d-c2da-4f09-85f5-1ad588089b2d",
"environment": "development"
}

Code Examples

Terminal window
curl -X PATCH \
-u "API_USER_ID:API_USER_PASSWORD" \
-H "Content-Type: application/json" \
-d '\{
"site_id": "28c78b6d-c2da-4f09-85f5-1ad588089b2d",
"environment": "development"
\}' \
"https://api.wpengineapi.com/v1/installs/294deacc-d8b8-4005-82c4-0727ba8ddde0"

Responses

200 Updated

Updated

{
"id": "294deacc-d8b8-4005-82c4-0727ba8ddde0",
"name": "torquemag",
"account": {
"id": "eeda3227-9a39-46ae-9e14-20958bb4e6c9"
},
"php_version": "7.0",
"status": "active",
"cname": "mywebsite.wpengine.com"
}
400 Bad Request

Bad Request

{
"message": "Invalid install ID format"
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Offload Settings

Manage Offload Settings resources using the WP Engine Customer API.

Get the validation file needed to configure LargeFS

GET /installs/{install_id}/offload_settings/largefs_validation_file

Get the validation file needed to configure LargeFS

Parameters

NameTypeInRequiredDescription
install_idstring (uuid)pathyesID of install

Code Examples

Terminal window
curl -X GET \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/installs/294deacc-d8b8-4005-82c4-0727ba8ddde0/offload_settings/largefs_validation_file"

Responses

200 LargeFS validation filename and contents

LargeFS validation filename and contents

{
"name": "64f1250c.largefs",
"content": "e4ccd0696cff6f94"
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Get the offload settings for an install

GET /installs/{install_id}/offload_settings/files

Get the offload settings for an install

Parameters

NameTypeInRequiredDescription
install_idstring (uuid)pathyesID of install

Code Examples

Terminal window
curl -X GET \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/installs/294deacc-d8b8-4005-82c4-0727ba8ddde0/offload_settings/files"

Responses

200 LargeFS offload settings configuration

LargeFS offload settings configuration

{
"largefs_settings": {
"cloud": "s3",
"bucket": "example-value",
"bucket_region": "example-value",
"path_settings": [
{
"path": "example-value",
"excluded_paths": [
"example-value"
],
"redirect_type": "break"
}
]
}
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Configure offload settings for an install

POST /installs/{install_id}/offload_settings/files

Configure offload settings for an install

Parameters

NameTypeInRequiredDescription
install_idstring (uuid)pathyesID of install

Request Body

NameTypeRequiredDescription
null

Code Examples

Terminal window
curl -X POST \
-u "API_USER_ID:API_USER_PASSWORD" \
-H "Content-Type: application/json" \
-d 'undefined' \
"https://api.wpengineapi.com/v1/installs/294deacc-d8b8-4005-82c4-0727ba8ddde0/offload_settings/files"

Responses

202 Accepted

Accepted

{
"message": "Response format not documented"
}
400 Bad Request

Bad Request

{
"message": "Install name is required",
"errors": [
{
"resource": "Installation",
"field": "name",
"type": "missing_field",
"code": "required",
"message": "Installation name cannot be empty"
}
]
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429 Too many requests

Too many requests

{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Update specific offload settings for an install

PATCH /installs/{install_id}/offload_settings/files

Update specific offload settings for an install

Parameters

NameTypeInRequiredDescription
install_idstring (uuid)pathyesID of install

Request Body

NameTypeRequiredDescription
null

Code Examples

Terminal window
curl -X PATCH \
-u "API_USER_ID:API_USER_PASSWORD" \
-H "Content-Type: application/json" \
-d 'undefined' \
"https://api.wpengineapi.com/v1/installs/294deacc-d8b8-4005-82c4-0727ba8ddde0/offload_settings/files"

Responses

202 Accepted

Accepted

{
"message": "Response format not documented"
}
400 Bad Request

Bad Request

{
"message": "Invalid install ID format"
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429 Too many requests

Too many requests

{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Domain

Manage Domain resources using the WP Engine Customer API.

Get the domains for an install by install id

GET /installs/{install_id}/domains

Get the domains for an install by install id

Parameters

NameTypeInRequiredDescription
install_idstring (uuid)pathyesID of install

Code Examples

Terminal window
curl -X GET \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/installs/294deacc-d8b8-4005-82c4-0727ba8ddde0/domains"

Responses

200 List of domains for install

List of domains for install

{
"previous": "https://api.wpengineapi.com/v1/example-endpoint?limit=100&offset=0",
"next": "https://api.wpengineapi.com/v1/example-endpoint?limit=100&offset=200",
"count": 225,
"results": [
{
"name": "torquemag.io",
"duplicate": true,
"primary": true,
"id": "e41fa98f-ea80-4654-b229-a9b765d0863a",
"network_type": "AN",
"network_details": {
"dns_config_info": {
"cname": "wp.wpenginepowered.com",
"a_records": [
"example-value"
]
},
"network_info": {
"status": "ACTIVE",
"ssl": {
"status": "active"
}
}
},
"redirects_to": [
{
"id": "e41fa98f-ea80-4006-b229-a9b765d0863a",
"name": "redirect.com"
}
],
"secure_all_urls": false
}
]
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Add a new domain or redirect to an existing install

POST /installs/{install_id}/domains

Add a new domain or redirect to an existing install

Parameters

NameTypeInRequiredDescription
install_idstring (uuid)pathyesID of install

Request Body

NameTypeRequiredDescription
namestringyes
primarybooleanno
redirect_tostring (uuid)no
{
"name": "example.com",
"primary": true
}

Code Examples

Terminal window
curl -X POST \
-u "API_USER_ID:API_USER_PASSWORD" \
-H "Content-Type: application/json" \
-d '\{
"name": "example.com",
"primary": true
\}' \
"https://api.wpengineapi.com/v1/installs/294deacc-d8b8-4005-82c4-0727ba8ddde0/domains"

Responses

201 Created

Created

{
"name": "torquemag.io",
"duplicate": true,
"primary": true,
"id": "e41fa98f-ea80-4654-b229-a9b765d0863a",
"network_type": "AN",
"network_details": {
"dns_config_info": {
"cname": "wp.wpenginepowered.com",
"a_records": [
"example-value"
]
},
"network_info": {
"status": "ACTIVE",
"ssl": {
"status": "active"
}
}
},
"redirects_to": [
{
"id": "e41fa98f-ea80-4006-b229-a9b765d0863a",
"name": "redirect.com"
}
],
"secure_all_urls": false
}
400 Bad Request

Bad Request

{
"message": "Domain name is required",
"errors": [
{
"resource": "Domain",
"field": "name",
"type": "missing_field",
"code": "required",
"message": "Domain name cannot be empty"
}
]
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
429 Too many requests

Too many requests

{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Add multiple domains and redirects to an existing install

POST /installs/{install_id}/domains/bulk

Add multiple domains and redirects to an existing install

Parameters

NameTypeInRequiredDescription
install_idstring (uuid)pathyesID of install

Request Body

NameTypeRequiredDescription
domainsarrayyes
{
"domains": [
{
"name": "example.com"
},
{
"name": "www.example.com",
"redirect_to": "example.com"
}
]
}

Code Examples

Terminal window
curl -X POST \
-u "API_USER_ID:API_USER_PASSWORD" \
-H "Content-Type: application/json" \
-d '\{
"domains": [
\{
"name": "example.com"
\},
\{
"name": "www.example.com",
"redirect_to": "example.com"
\}
]
\}' \
"https://api.wpengineapi.com/v1/installs/294deacc-d8b8-4005-82c4-0727ba8ddde0/domains/bulk"

Responses

201 Created

Created

{
"id": "e41fa98f-ea80-4654-b229-a9b765d0863a",
"name": "example.com",
"duplicate": false,
"primary": true,
"redirects_to": {
"id": "e41fa98f-ea80-4006-b229-a9b765d0863a",
"name": "redirect.com"
}
}
400 Bad Request

Bad Request

{
"message": "Domain name is required",
"errors": [
{
"resource": "Domain",
"field": "name",
"type": "missing_field",
"code": "required",
"message": "Domain name cannot be empty"
}
]
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
429 Too many requests

Too many requests

{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Get a specific domain for an install

GET /installs/{install_id}/domains/{domain_id}

Get a specific domain for an install

Parameters

NameTypeInRequiredDescription
install_idstring (uuid)pathyesID of install
domain_idstring (uuid)pathyesID of domain

Code Examples

Terminal window
curl -X GET \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/installs/294deacc-d8b8-4005-82c4-0727ba8ddde0/domains/e41fa98f-ea80-4654-b229-a9b765d0863a"

Responses

200 Success

Success

{
"name": "torquemag.io",
"duplicate": true,
"primary": true,
"id": "e41fa98f-ea80-4654-b229-a9b765d0863a",
"network_type": "AN",
"network_details": {
"dns_config_info": {
"cname": "wp.wpenginepowered.com",
"a_records": [
"example-value"
]
},
"network_info": {
"status": "ACTIVE",
"ssl": {
"status": "active"
}
}
},
"redirects_to": [
{
"id": "e41fa98f-ea80-4006-b229-a9b765d0863a",
"name": "redirect.com"
}
],
"secure_all_urls": false
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Update an existing domain for an install

PATCH /installs/{install_id}/domains/{domain_id}

Update an existing domain for an install

Parameters

NameTypeInRequiredDescription
install_idstring (uuid)pathyesThe install ID
domain_idstring (uuid)pathyesID of domain

Request Body

NameTypeRequiredDescription
primarybooleanno
redirect_tostringno
secure_all_urlsbooleanno
{
"primary": true,
"redirect_to": "6977805b-1f65-4a5d-8d36-6fe609a4d9f3",
"secure_all_urls": false
}

Code Examples

Terminal window
curl -X PATCH \
-u "API_USER_ID:API_USER_PASSWORD" \
-H "Content-Type: application/json" \
-d '\{
"primary": true,
"redirect_to": "6977805b-1f65-4a5d-8d36-6fe609a4d9f3",
"secure_all_urls": false
\}' \
"https://api.wpengineapi.com/v1/installs/294deacc-d8b8-4005-82c4-0727ba8ddde0/domains/e41fa98f-ea80-4654-b229-a9b765d0863a"

Responses

200 Updated

Updated

{
"name": "torquemag.io",
"duplicate": true,
"primary": true,
"id": "e41fa98f-ea80-4654-b229-a9b765d0863a",
"network_type": "AN",
"network_details": {
"dns_config_info": {
"cname": "wp.wpenginepowered.com",
"a_records": [
"example-value"
]
},
"network_info": {
"status": "ACTIVE",
"ssl": {
"status": "active"
}
}
},
"redirects_to": [
{
"id": "e41fa98f-ea80-4006-b229-a9b765d0863a",
"name": "redirect.com"
}
],
"secure_all_urls": false
}
400 Bad Request

Bad Request

{
"message": "Invalid domain ID format"
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429 Too many requests

Too many requests

{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Delete a specific domain for an install

DELETE /installs/{install_id}/domains/{domain_id}

Delete a specific domain for an install

Parameters

NameTypeInRequiredDescription
install_idstring (uuid)pathyesID of install
domain_idstring (uuid)pathyesID of domain

Code Examples

Terminal window
curl -X DELETE \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/installs/294deacc-d8b8-4005-82c4-0727ba8ddde0/domains/e41fa98f-ea80-4654-b229-a9b765d0863a"

Responses

204 Deleted

Deleted

{
"message": "Response format not documented"
}
400 Bad Request

Bad Request

{
"message": "Invalid domain ID format"
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Submit a status report for a domain

POST /installs/{install_id}/domains/{domain_id}/check_status

Submit a status report for a domain

Parameters

NameTypeInRequiredDescription
install_idstring (uuid)pathyesID of install
domain_idstring (uuid)pathyesID of domain

Code Examples

Terminal window
curl -X POST \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/installs/294deacc-d8b8-4005-82c4-0727ba8ddde0/domains/e41fa98f-ea80-4654-b229-a9b765d0863a/check_status"

Responses

202 Accepted

Accepted

{
"report_id": "6a6d5dbd-5cac-41d5-8f3f-14a3e8ae6f76"
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429 Too many requests

Too many requests

{
"message": "Rate limit exceeded - too many requests"
}
500 Internal server error

Internal server error

{
"message": "Internal server error - please try again later"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Retrieve a status report for a domain

GET /installs/{install_id}/domains/check_status/{report_id}

Retrieve a status report for a domain

Parameters

NameTypeInRequiredDescription
install_idstringpathyes
report_idstringpathyes

Code Examples

Terminal window
curl -X GET \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/installs/294deacc-d8b8-4005-82c4-0727ba8ddde0/domains/check_status/6a6d5dbd-5cac-41d5-8f3f-14a3e8ae6f76"

Responses

200 Success

Success

{
"report": {
"complete": true,
"id": "6a6d5dbd-5cac-41d5-8f3f-14a3e8ae6f76",
"install_name": "example-value",
"install_ip": "example-value",
"admin": false,
"domains": [
{
"name": "example-value",
"cname": "example-value",
"a_record": "example-value",
"aaaa_record": "example-value",
"complete": true,
"result": "example-value",
"dns_provider": "example-value",
"dns_error": false,
"install_name": "example-value",
"cluster_id": "example-value",
"http_forwarded": "example-value",
"http_forwarded_list": "example-value",
"http_error": false,
"atlas_env_id": "example-value",
"ns": [
{
"host": "example-value"
}
],
"mx": [
{
"Host": "example-value",
"Pref": 100
}
],
"txt": [
"example-value"
],
"soa": [
{
"hdr": {},
"ns": "ns1.example.com",
"mbox": "hostmaster.example.com",
"serial": 100,
"refresh": 100,
"retry": 100,
"expire": 100,
"minttl": 100
}
],
"caa": [
{
"hdr": {},
"flag": 100,
"tag": "example-value",
"value": "example-value"
}
],
"ip": [
"example-value"
],
"address": [
"example-value"
],
"aname": [
{
"hdr": {},
"a": "example-value"
}
],
"ssl": {
"status": "verified",
"issuer": "example-value",
"not_before": "example-value",
"not_after": "example-value",
"error": "example-value",
"dns_names": [
"example-value"
],
"serial_number": "example-value",
"signature_algorithm": 100,
"subject": {},
"common_name": "example-value",
"sans": [
"example-value"
]
}
}
]
}
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
500 Internal server error

Internal server error

{
"message": "Internal server error - please try again later"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Certificates

Manage Certificates resources using the WP Engine Customer API.

Get SSL certificate information for a domain

GET /installs/{install_id}/domains/{domain_id}/ssl_certificate

Get SSL certificate information for a domain

Parameters

NameTypeInRequiredDescription
install_idstring (uuid)pathyesID of install
domain_idstring (uuid)pathyesID of domain

Code Examples

Terminal window
curl -X GET \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/installs/294deacc-d8b8-4005-82c4-0727ba8ddde0/domains/e41fa98f-ea80-4654-b229-a9b765d0863a/ssl_certificate"

Responses

200 Domain certificate information

Domain certificate information

{
"cert_name": "customdomain.com",
"cert_info": {
"key": "example-value",
"cert": "example-value"
},
"certificate": {
"id": 100,
"account": "myaccountname",
"auto_renew": true,
"auth_file": "example-value",
"approver_email": "example-value",
"common_name": "customdomain.com",
"cancel_time": "example-value",
"cert_source": "CERT_SOURCE_UNSPECIFIED",
"ordered_time": "example-value",
"wildcard": true,
"domains": [
"example-value"
],
"order_id": "example-value",
"status": "SSL_STATE_UNSPECIFIED",
"parent_id": "example-value",
"wpe_order_id": "example-value",
"approved_time": "example-value",
"expires_time": "example-value"
},
"criteria": "example-value"
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Backup

Manage Backup resources using the WP Engine Customer API.

Requests a new backup of a WordPress installation

POST /installs/{install_id}/backups

Requests a new backup of a WordPress installation

Parameters

NameTypeInRequiredDescription
install_idstring (uuid)pathyesID of install

Request Body

NameTypeRequiredDescription
descriptionstringyesA description of this backup.
notification_emailsarrayyesThe email address(es) that will receive an email once the backup has completed.
{
"description": "Taking a backup of torquemag before I start developing new features for it",
"notification_emails": [
"myself@torquemag.com",
"other_person_interested_in_backup@torquemag.com"
]
}

Code Examples

Terminal window
curl -X POST \
-u "API_USER_ID:API_USER_PASSWORD" \
-H "Content-Type: application/json" \
-d '\{
"description": "Taking a backup of torquemag before I start developing new features for it",
"notification_emails": [
"myself@torquemag.com",
"other_person_interested_in_backup@torquemag.com"
]
\}' \
"https://api.wpengineapi.com/v1/installs/294deacc-d8b8-4005-82c4-0727ba8ddde0/backups"

Responses

202 Accepted

Accepted

{
"id": "28c78b6d-c2da-4f09-85f5-1ad588089b2d",
"status": "requested"
}
400 Bad Request

Bad Request

{
"message": "Backup description is required",
"errors": [
{
"resource": "Backup",
"field": "description",
"type": "missing_field",
"code": "required",
"message": "Backup description cannot be empty"
}
]
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429 Too many requests

Too many requests

{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Retrieves the status of a backup of a WordPress installation

GET /installs/{install_id}/backups/{backup_id}

Retrieves the status of a backup of a WordPress installation

Parameters

NameTypeInRequiredDescription
install_idstring (uuid)pathyesID of install
backup_idstring (uuid)pathyesID of backup

Code Examples

Terminal window
curl -X GET \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/installs/294deacc-d8b8-4005-82c4-0727ba8ddde0/backups/e41fa98f-ea80-4654-b229-a9b765d0863a"

Responses

200 A backup

A backup

{
"id": "28c78b6d-c2da-4f09-85f5-1ad588089b2d",
"status": "requested"
}
400 Bad Request

Bad Request

{
"message": "Bad request - invalid parameters"
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Cache

Manage Cache resources using the WP Engine Customer API.

Purge an install’s cache

POST /installs/{install_id}/purge_cache

Purge an install’s cache

Parameters

NameTypeInRequiredDescription
install_idstring (uuid)pathyesID of install

Request Body

NameTypeRequiredDescription
typestringyes
{
"type": "object"
}

Code Examples

Terminal window
curl -X POST \
-u "API_USER_ID:API_USER_PASSWORD" \
-H "Content-Type: application/json" \
-d '\{
"type": "object"
\}' \
"https://api.wpengineapi.com/v1/installs/294deacc-d8b8-4005-82c4-0727ba8ddde0/purge_cache"

Responses

202 Accepted

Accepted

{
"message": "Response format not documented"
}
400 Bad Request

Bad Request

{
"message": "Invalid cache type",
"errors": [
{
"resource": "Cache",
"field": "type",
"type": "invalid_value",
"code": "invalid_type",
"message": "Cache type must be one of: object, page, cdn"
}
]
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
404 Not found

Not found

{
"message": "Resource not found"
}
429 Too many requests

Too many requests

{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


User

Manage User resources using the WP Engine Customer API.

Get the current user

GET /user

Get the current user

Parameters

This endpoint has no parameters.

Code Examples

Terminal window
curl -X GET \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/user"

Responses

200 The currently authenticated user

The currently authenticated user

{
"id": "fd8e24a5-1f16-4b80-af5f-d748bcc9e64d",
"first_name": "Joe",
"last_name": "Smith",
"email": "joe@gmail.com"
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
429 Too many requests

Too many requests

{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Ssh Key

Manage Ssh Key resources using the WP Engine Customer API.

Get your SSH keys

GET /ssh_keys

Get your SSH keys

Parameters

This endpoint has no parameters.

Code Examples

Terminal window
curl -X GET \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/ssh_keys"

Responses

200 List of SSH keys

List of SSH keys

{
"previous": "https://api.wpengineapi.com/v1/example-endpoint?limit=100&offset=0",
"next": "https://api.wpengineapi.com/v1/example-endpoint?limit=100&offset=200",
"count": 225,
"results": [
{
"comment": "joe@gmail.com",
"created_at": "2019-09-01T15:59:24.277Z",
"fingerprint": "a1:b2:c3:d4:e5:46:a7:88:c9:40:d2:d7:9b:cd:42:05",
"uuid": "e41fa98f-ea80-1f16-a7b7-d748bcc9e64d"
}
]
}
400 Bad Request

Bad Request

{
"message": "Bad request - invalid parameters"
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Add a new SSH key

POST /ssh_keys

Add a new SSH key

Parameters

This endpoint has no parameters.

Request Body

NameTypeRequiredDescription
public_keystringyes
{
"public_key": "ssh-rsa AAAAbcdefg+567te/4i9ASKGHtw9euaskl+Iksldfjw== joe@gmail.com"
}

Code Examples

Terminal window
curl -X POST \
-u "API_USER_ID:API_USER_PASSWORD" \
-H "Content-Type: application/json" \
-d '\{
"public_key": "ssh-rsa AAAAbcdefg+567te/4i9ASKGHtw9euaskl+Iksldfjw== joe@gmail.com"
\}' \
"https://api.wpengineapi.com/v1/ssh_keys"

Responses

201 Created

Created

{
"comment": "joe@gmail.com",
"created_at": "2019-09-01T15:59:24.277Z",
"fingerprint": "a1:b2:c3:d4:e5:46:a7:88:c9:40:d2:d7:9b:cd:42:05",
"uuid": "e41fa98f-ea80-1f16-a7b7-d748bcc9e64d"
}
400 Bad Request

Bad Request

{
"message": "Invalid SSH key format",
"errors": [
{
"resource": "SshKey",
"field": "public_key",
"type": "invalid_value",
"code": "invalid_format",
"message": "SSH key must be in valid OpenSSH format"
}
]
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Delete an existing SSH key

DELETE /ssh_keys/{ssh_key_id}

Delete an existing SSH key

Parameters

NameTypeInRequiredDescription
ssh_key_idstring (uuid)pathyesThe ID of the SSH key to delete

Code Examples

Terminal window
curl -X DELETE \
-u "API_USER_ID:API_USER_PASSWORD" \
"https://api.wpengineapi.com/v1/ssh_keys/294deacc-d8b8-4005-82c4-0727ba8ddde0"

Responses

204 Deleted

Deleted

{
"message": "Response format not documented"
}
400 Bad Request

Bad Request

{
"message": "Bad request - invalid parameters"
}
401 Authentication Error

Authentication Error

{
"message": "Authentication required"
}
403 Not authorized

Not authorized

{
"message": "Insufficient permissions to access this resource"
}
429
{
"message": "Rate limit exceeded - too many requests"
}
503
{
"message": "Service temporarily unavailable"
}

Authentication

This endpoint requires authentication. See the Authentication guide for details.


Need Help?

API Statistics

  • Total Endpoints: 39
  • Endpoint Categories: 13
  • Schema Definitions: 27
  • API Version: 1.6.15
  • Last Updated: 2025-06-29T16:25:30.801Z