Skip to content
WP Engine Documentation

Trigger domain TXT record verification

POST
/installs/{install_id}/domains/{domain_id}/verification
curl --request POST \
--url https://api.wpengineapi.com/v1/installs/example/domains/example/verification \
--header 'Authorization: Basic <credentials>'

Triggers verification of the TXT record for a domain to confirm ownership.

install_id
required
string format: uuid

ID of install

domain_id
required
string format: uuid

ID of domain

Domain verification successful

Media type application/json
object
id

The UUID of the domain

string format: uuid
name

The domain name

string
txt_verified_time

The time when the TXT record was verified

string
txt_verified_domain

The domain that the TXT record was verified for

string
txt_verification_key

The TXT record verification key. Null if the domain is already verified.

string
txt_verification_value

The TXT record verification value. Null if the domain is already verified.

string
Example
{
"id": "e41fa98f-ea80-4654-b229-a9b765d0863a",
"name": "example.com",
"txt_verified_time": "2026-04-20T16:00:00.007Z",
"txt_verified_domain": "example.com",
"txt_verification_key": "_wpe_verification"
}

Bad Request

Media type application/json
object
message
required

A message regarding the error that occurred on the server

string
documentation_url

(Optional) A URL where documentation regarding this specific error can be found

string
errors

An array of error objects describing specific errors that arose when servicing the request

Array<object>
object
resource
required

The name of the resource that was being processed when the error occurred

string
field
required

(Optional) The specific field associated with the error

string
type
required

(Optional) A type associated with the error. invalid_value, access_error, value_unavailable

string
code
required

(Optional) A machine code relating to the error that occurred with the field and resource

string
message
required

(Optional) A human-readable message relating to the error that occurred with the field and resource

string
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

Media type application/json
object
message
required

A message regarding the error that occurred on the server

string
documentation_url

(Optional) A URL where documentation regarding this specific error can be found

string
Example
{
"message": "Bad Credentials"
}

Not authorized

Media type application/json
object
message
required

A message regarding the error that occurred on the server

string
documentation_url

(Optional) A URL where documentation regarding this specific error can be found

string
Example
{
"message": "You don't have permission to perform that action"
}

Not found

Media type application/json
object
message
required

A message regarding the error that occurred on the server

string
documentation_url

(Optional) A URL where documentation regarding this specific error can be found

string
Example
{
"message": "Not Found"
}

Too many requests

Media type application/json

Internal server error

Media type application/json
object
message
required

A message regarding the error that occurred on the server

string
Example
{
"message": "An unexpected error occurred, please try again in a few minutes"
}

Service unavailable

Media type application/json