Update a WordPress installation
package main
import ( "fmt" "strings" "net/http" "io")
func main() {
url := "https://api.wpengineapi.com/v1/installs/example"
payload := strings.NewReader("{ \"site_id\": \"28c78b6d-c2da-4f09-85f5-1ad588089b2d\", \"environment\": \"development\" }")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Basic <credentials>") req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}const url = 'https://api.wpengineapi.com/v1/installs/example';const options = { method: 'PATCH', headers: {Authorization: 'Basic <credentials>', 'Content-Type': 'application/json'}, body: '{"site_id":"28c78b6d-c2da-4f09-85f5-1ad588089b2d","environment":"development"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PATCH \ --url https://api.wpengineapi.com/v1/installs/example \ --header 'Authorization: Basic <credentials>' \ --header 'Content-Type: application/json' \ --data '{ "site_id": "28c78b6d-c2da-4f09-85f5-1ad588089b2d", "environment": "development" }'Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The install ID
Request Body
Section titled “Request Body ”Properties
- site_id - optional - The ID of the site that the install will belong to (For accounts with sites enabled)
- environment - optional - The site environment that the install will fill (For accounts with sites enabled)
object
The site ID
Example
28c78b6d-c2da-4f09-85f5-1ad588089b2dExample
{ "site_id": "28c78b6d-c2da-4f09-85f5-1ad588089b2d", "environment": "development"}Responses
Section titled “ Responses ”Updated
object
object
The account ID
The PHP version used to run WordPress (read-only)
object
Returns the CNAME of the install
A list of stable IPs bound to the install. This will only apply to some premium/enterprise plans
The primary domain for the install.
The date and time the install was created in UTC.
The WordPress version installed on the install. Only returned when requesting an individual install.
If set, automatic WordPress core major updates will be deferred until this date. Only returned when requesting an individual install.
Example
{ "id": "294deacc-d8b8-4005-82c4-0727ba8ddde0", "name": "torquemag", "account": { "id": "eeda3227-9a39-46ae-9e14-20958bb4e6c9" }, "php_version": "7.0", "status": "active", "site": { "id": "28c78b6d-c2da-4f09-85f5-1ad588089b2d" }, "cname": "mywebsite.wpengine.com", "stable_ips": [ "1.2.3.2", "1.1.1.2" ], "environment": "production", "primary_domain": "mywebsite.wpengine.com", "is_multisite": false, "created_at": "2025-06-12T09:56:42.386Z", "wp_version": "6.8.1", "defer_wordpress_upgrades_until": "2025-12-31T23:59:59.999Z"}Bad Request
object
A message regarding the error that occurred on the server
(Optional) A URL where documentation regarding this specific error can be found
An array of error objects describing specific errors that arose when servicing the request
object
The name of the resource that was being processed when the error occurred
(Optional) The specific field associated with the error
(Optional) A type associated with the error. invalid_value, access_error, value_unavailable
(Optional) A machine code relating to the error that occurred with the field and resource
(Optional) A human-readable message relating to the error that occurred with the field and resource
Example
{ "message": "Invalid Site: Name cannot be empty.", "errors": [ { "resource": "Site", "field": "name", "type": "invalid_value", "code": "too_long", "message": "Name is too long (maximum is 40 characters)" } ]}Authentication Error
object
A message regarding the error that occurred on the server
(Optional) A URL where documentation regarding this specific error can be found
Example
{ "message": "Bad Credentials"}Not authorized
object
A message regarding the error that occurred on the server
(Optional) A URL where documentation regarding this specific error can be found
Example
{ "message": "You don't have permission to perform that action"}Too many requests
Service unavailable