Skip to content
WP Engine Documentation

List site transfers for an account

GET
/accounts/{account_id}/site_transfers
curl --request GET \
--url 'https://api.wpengineapi.com/v1/accounts/example/site_transfers?limit=100&offset=0' \
--header 'Authorization: Basic <credentials>'

Description

Returns a paginated list of site transfers initiated from the given account. Requires Owner or Full with Billing access.

Note: This endpoint represents the state of Sites at time of transfer, not necessarily the current Site name or environments.

account_id
required
string format: uuid

ID of account

limit
integer
default: 100 <= 100

(Optional) The number of records to return

offset
integer
0

(Optional) The first record of the result set to be retrieved

List of site transfers for the account

Media type application/json
object
previous

Path to the previous page of results

string
next

Path to the next page of results

string
count

The total number of results

integer
results
Array<object>
object
id
required

Unique identifier for the site transfer

string format: uuid
site
required

Name of the site being transferred (as it was at time of transfer)

string
installs
required

Names of the installs associated with the site at time of transfer

Array<string>
origin_account
required

Name of the account the site is transferring from

string
destination_account
required

Name of the account the site is transferring to

string
status
required

Current status of the transfer

string
Allowed values: pending scheduled in_progress completed failed cancelled
scheduled_time

The time at which the transfer is scheduled to execute. Null for immediate transfers.

string format: date-time
created_at
required

Timestamp when the transfer was created

string format: date-time
updated_at
required

Timestamp when the transfer was last updated

string format: date-time
Example
{
"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": "7c3e1a2b-4f5d-4e6c-b7a8-d9e0f1a2b3c4",
"site": "my-wordpress-site",
"installs": [
"mysite",
"mysitestg"
],
"origin_account": "Acme Corp",
"destination_account": "New Owner Inc",
"status": "pending",
"scheduled_time": "2026-06-01T14:30:00Z",
"created_at": "2026-05-15T10:00:00Z",
"updated_at": "2026-05-15T10:05:00Z"
}
]
}

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