---
title: Create an account user
url: https://developers.wpengine.com/docs/managed-hosting-platform/api/reference/operations/createaccountuser/
image: https://developers.wpengine.com/og/docs/managed-hosting-platform/api/reference/operations/createaccountuser.png
---

# Create an account user

POST

/accounts/{account_id}/account_users

Select code sample

```sh
curl --request POST \
  --url https://api.wpengineapi.com/v1/accounts/eeda3227-9a39-46ae-9e14-20958bb4e6c9/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" ] } }'
```

-

Adds a user to the specified account with the given roles. Provide `install_ids` to give a user with a `partial` role access to specific installs.

## Authorizations

- **[basicAuth](https://developers.wpengine.com/docs/managed-hosting-platform/api/reference/#basicauth)**

## Parameters

### Path Parameters

**account_id**

required

string format: uuid

ID of account

#### Example

```
eeda3227-9a39-46ae-9e14-20958bb4e6c9
```

## Request Bodyrequired

##### 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 typeapplication/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

```json
[
  "ddda3227-9a39-46ae-9e14-20958bb4e6c9",
  "qada3227-9a39-46ae-9e14-20958bb4e45y"
]
```

## Responses

### 201

Returns a `message` and the created `AccountUser` object.

Media typeapplication/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

nullable

**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

nullable

**installs**

An array of installs tied to a partial user.

Array\<object>

nullable

object

**id**

The ID of the install

string

**name**

The name of the install

string

#### Example

```json
{
  "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"
      }
    ]
  }
}
```

### 400

Bad Request

Media typeapplication/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

```json
{
  "message": "Invalid request.",
  "errors": [
    {
      "resource": "Resource",
      "field": "field_name",
      "type": "invalid_value",
      "code": "invalid",
      "message": "The value is invalid."
    }
  ]
}
```

### 401

Authentication Error

Media typeapplication/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

```json
{
  "message": "Bad Credentials"
}
```

### 403

Not authorized

Media typeapplication/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

```json
{
  "message": "You don't have permission to perform that action"
}
```

### 404

Not found

Media typeapplication/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

```json
{
  "message": "Not Found"
}
```

### 429

Too many requests

### 500

Internal Server Error

Media typeapplication/json

object

**message**

required

A message regarding the error that occurred on the server

string

#### Example

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

### 503

Service unavailable

## Was this helpful?

Thanks for the feedback!

```json
{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://developers.wpengine.com/#website","name":"WP Engine Product Documentation","url":"https://developers.wpengine.com/","description":"Resources for developing, deploying, and scaling on WP Engine.","inLanguage":"en-US","keywords":["API documentation","product documentation","headless WordPress","managed WordPress hosting"],"publisher":{"@id":"https://wpengine.com/#organization"}}]}
```
