Skip to content
WP Engine Documentation

Create a new account user

POST
/accounts/{account_id}/account_users
curl --request POST \
--url https://api.wpengineapi.com/v1/accounts/example/account_users \
--header 'Authorization: Basic <credentials>' \
--header 'Content-Type: application/json' \
--data '{ "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" ] } }'
account_id
required
string format: uuid

ID of account

Properties
  • user - required - The user that will be created
    • account_id - required - The ID of the account that the account_user will belong to
    • first_name - required - The first name of the user
    • last_name - required - The last name of the user
    • email - required - The email of the user
    • roles — required - The roles the user is allowed. The following roles are valid
      • owner
      • full
      • full,billing
      • partial
      • partial,billing
    • install_ids - optional - Used with partial role selection. The ids of the installs the user will have access to.
Media type application/json
object
user
required

The user that will be created

object
account_id
required

The account ID

string format: uuid
Example
eeda3227-9a39-46ae-9e14-20958bb4e6c9
first_name
required
string
Example
Joe
last_name
required
string
Example
Smith
email
required
string
Example
joe@gmail.com
roles
required

Choose from ‘owner’, ‘full,billing’, ‘full’, ‘partial,billing’, and ‘partial’

string
Example
full,billing
install_ids
Array<string>
Example
[
"ddda3227-9a39-46ae-9e14-20958bb4e6c9",
"qada3227-9a39-46ae-9e14-20958bb4e45y"
]

Created

Media type application/json
object
message
string
account_user
object
user_id
required

The user ID

string format: uuid
account_id
required

The account ID

string format: uuid
first_name
required

The first name of the user

string
last_name
required

The last name of the user

string
email
required

The email of the user

string
phone
required

The phone number of the user

string
invite_accepted
required

Whether or not the user has accepted their invitation

boolean
mfa_enabled
required

Whether or not the user has multi-factor authentication enabled

boolean
roles
required

The user roles

string
last_owner

Whether or not this owner is the last on the account. Only shows with users that have owner level roles.

boolean
installs

An array of installs tied to a partial user.

Array<object>
object
id

The ID of the install

string
name

The name of the install

string
Example
{
"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",
"last_owner": false,
"installs": [
{
"id": "3hda2d4h-9a39-o20x-9e14-20958bb4ekd8",
"name": "install1"
}
]
}
}

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"
}

Too many requests

Media type application/json

Service unavailable

Media type application/json