**Source URL:** https://limited.veevavault.dev/safety/vault-api/api-reference/23.1/users/create-users/create-single-user.md

# Create Single User



<Aside>Beginning in v18.1, Admins create and manage users with `user__sys` object records. Unless you are creating cross-domain users or adding users to a domain without assigning Vault membership, we strongly recommend using the [Create Object Records](/vault-api/api-reference/23.1/vault-objects/create-object-records) endpoint to create new users.</Aside>
Create one user at a time without the need for a csv input file. After creation, you can assign these users to Vaults with the [Update Vault Membership](/vault-api/api-reference/23.1/users/update-vault-membership) endpoint.

Some Vaults use multiple applications, for example, a RIM Vault with Submissions and Registrations. If multiple applications are available, this API adds the user with the specified `license_type__v` to all available applications. For example, if `license_type__v` is specified as `read_only__v`, Vaults adds the user with a license type of `read_only__v` to both RIM Submissions and RIM Registrations. If you need your user to have different license types across available applications, you must use the [Create Multiple Users](/vault-api/api-reference/23.1/users/create-users/create-multiple-users) API with the `app_licensing` field. After creation, you can also adjust the user's license types manually through the Vault UI.

<Endpoint path="/api/{version}/objects/users" method="POST"></Endpoint>

## Headers {#headers}

<FieldTable>
| Name | Description |
| --- | --- |
| `Content-Type` | `multipart/form-data` or `application/x-www-form-urlencoded` |
| `Accept` | `application/json` (default) or `application/xml` |
</FieldTable>

## Body Parameters {#body-parameters}

<FieldTable>
| Name | Description |
| --- | --- |
| `user_name__v` | The user’s Vault username (login credential). For example, `ewoodhouse@veepharm.com` |
| `user_first_name__v` | The user's first name. |
| `user_last_name__v` | The user's last name. |
| `user_email__v` | The user's email address. |
| `user_timezone__v` | The user's time zone. Retrieve values from [Retrieve Users](/vault-api/api-reference/23.1/users/retrieve-all-users). |
| `user_locale__v` | The user's location. Retrieve values from [Retrieve Users](/vault-api/api-reference/23.1/users/retrieve-all-users). |
| `security_policy_id__v` | The user's security policy. Retrieve values from [Retrieve All Security Policies](/vault-api/api-reference/23.1/security-policies/retrieve-all-security-policies). |
| `user_language__v` | The user's preferred language. Retrieve values from [Retrieve Users](/vault-api/api-reference/23.1/users/retrieve-all-users). |
| `security_profile__v` | The user’s security profile. If omitted, the default value is `document_user__v`. |
| `license_type__v` | The user’s license type. If multiple applications are available, this API adds the user with this specified license type to all available applications. For example, in a RIM Vault with Submissions and Registrations, if this parameter is specified as `read_only__v`, Vaults adds the user with the license type of `read_only__v` to both RIM Submissions and RIM Registrations. If omitted, default value is `full__v` for all available applications. |
</FieldTable>
You may add values to any other editable user field, unless you are are adding a cross-domain user (see below). See [Retrieve Users](/vault-api/api-reference/23.1/users/retrieve-all-users) for all possible values.

##### Cross-Domain Users {#cross-domain-users}

The following are the only fields required to create a cross domain user. All other fields are ignored.

<FieldTable>
| Name | Description |
| --- | --- |
| `user_name__v` | The user’s Vault username (login credential). For example, `ewoodhouse@veepharm.com` |
| `security_profile__v` | The user’s security profile. If omitted, default value is `document_user__v`. |
| `license_type__v` | The user’s license type. If omitted, default value is `full__v`. |
</FieldTable>

## Query Parameters {#query-parameters}

<FieldTable>
| Name | Description |
| --- | --- |
| `domain` | When set to `true`, the user will not be assigned to a Vault. |
</FieldTable>

## Request Details: Add User to Domain {#request-details-add-user-to-domain}

On SUCCESS, the user account is created and set to active. The new user is not assigned a license type or security profile, nor do they have access to any Vaults in your domain. This means they will not receive a welcome email.

## Request Details: Add User to Current Vault {#request-details-add-user-to-current-vault}

This request adds one new user to your domain and assigns them to the Vault where the request was made. They will receive a welcome email with instructions for logging into the Vault, and they will not have access to any other Vaults in your domain. To give them access to other Vaults, see [Update Vault Membership](/vault-api/api-reference/23.1/users/update-vault-membership).

This example request includes all fields required to create a new user, and two optional fields (security profile and license type). If these optional fields were not included in the request, the user would be assigned the `document_user__v` security profile and `full__v` license type by default.

## Request Details: Add Cross-Domain User {#request-details-add-cross-domain-user}

This request adds the user `ewoodhouse.veevavault.com` to your current domain as a cross-domain user.

All other metadata fields are ignored. Learn more about [cross-domain users in Vault Help](https://platform.veevavault.help/en/lr/38996).

## Request : Add User to Domain {#request--add-user-to-domain}

<CodeExample title="">
```
curl -X POST -H "Authorization: {SESSION_ID}" \
-H "Content-Type: multipart/form-data" \
-F "user_name__v=ewoodhouse@veepharm.com" \
-F "user_email__v=ewoodhouse@veepharm.com" \
-F "user_first_name__v=Elaine" \
-F "user_last_name__v=Woodhouse" \
-F "user_language__v=en" \
-F "user_timezone__v=America/Denver" \
-F "user_locale__v=en_US" \
-F "security_policy_id__v=821" \
-F "domain=true" \
https://myvault.veevavault.com/api/v15.0/objects/users

```
</CodeExample>

## Request : Add User to Current Vault {#request--add-user-to-current-vault}

<CodeExample title="">
```
curl -X POST -H "Authorization: {SESSION_ID}" \
-H "Content-Type: multipart/form-data" \
-F "user_name__v=ewoodhouse@veepharm.com" \
-F "user_email__v=ewoodhouse@veepharm.com" \
-F "user_first_name__v=Elaine" \
-F "user_last_name__v=Woodhouse" \
-F "user_language__v=en" \
-F "user_timezone__v=America/Denver" \
-F "user_locale__v=en_US" \
-F "security_policy_id__v=821" \
-F "security_profile__v=business_admin__v" \
-F "license_type__v=full__v" \
https://myvault.veevavault.com/api/v15.0/objects/users

```
</CodeExample>

## Request Details: Add Cross-Domain User {#request-details-add-cross-domain-user-1}

<CodeExample title="">
```
curl -X POST -H "Authorization: {SESSION_ID}" \
-H "Content-Type: multipart/form-data" \
-F "user_name__v=ewoodhouse@veepharm.com" \
-F "security_profile__v=business_admin__v" \
-F "license_type__v=full__v" \
https://myvault.veevavault.com/api/v15.0/objects/users

```
</CodeExample>

---

**Previous:** [Create Users](/safety/vault-api/api-reference/23.1/users/create-users)  
**Next:** [Create Multiple Users](/safety/vault-api/api-reference/23.1/users/create-users/create-multiple-users)