Create Multiple Users
Create new users and assign them to Vaults in bulk. You can also add multiple existing users as cross-domain users.
- The maximum input file size is 1GB.
- The values in the input must be UTF-8 encoded.
- CSVs must follow the standard RFC 4180 format, with some exceptions.
- The maximum batch size is 500.
/api/{version}/objects/usersHeaders
Section link for Headers| Name | Description |
|---|---|
Content-Type | application/json or text/csv |
Accept | application/json (default) or text/csv |
Body Parameters
Section link for Body ParametersPrepare a JSON or CSV input file. You may add values to any other editable user field, unless you are are adding a cross-domain user. See Retrieve Users for all possible values. Using only the required fields will add users to your domain but will not assign them to individual Vaults within your domain. See Vault Membership below.
| Name | Description |
|---|---|
user_name__vrequired | The user’s Vault username (login credential). For example, ewoodhouse@veepharm.com |
user_first_name__vrequired | The user's first name. |
user_last_name__vrequired | The user's last name. |
user_email__vrequired | The user's email address. |
user_timezone__vrequired | The user's time zone. Retrieve values from Retrieve Users. |
user_locale__vrequired | The user's location. Retrieve values from Retrieve Users. |
security_policy_id__vrequired | The user's security policy. Retrieve values from Retrieve All Security Policies. |
user_language__vrequired | The user's preferred language. Retrieve values from Retrieve Users. |
domainoptional | If you set this to true, the user will not be assigned to a Vault. |
security_profile__voptional | The user’s security profile. If omitted, default value is document_user__v. |
license_type__voptional | The user’s license type. If omitted, default value is full__v. |
vault_membershipoptional | Use this field to assign a user to individual Vaults within your domain. This is required to create cross-domain users. See below for how to configure. |
app_licensingoptional | Use this field to assign a user to individual applications within your Vault. See below for how to configure. |
Vault Membership
Section link for Vault MembershipTo assign user permissions across Vaults or create cross-domain users, you must include the vault_membership column configured with the following fields:
| Name | Description |
|---|---|
vault_idrequired | The Vault ID to assign the user to. |
active__voptional | Set the user to active (true) or inactive (false). If not specified, default value is true. |
security_profile__voptional | Set the user's security profile, for example, read_only_user__v. If not specified, this value defaults to document_user__v. |
license_type__voptional | Set the user's license type, for example, read_only__v. If not specified, this value defaults to full__v. |
For example, to add an active user to Vault ID 3003 with the system_admin__vsecurity profile and the full__v license type:
vault_membership |
|---|
3003:true:system_admin__v:full__v |
Application Licensing
Section link for Application LicensingTo add a user to specific applications within a Vault or across Vaults, you must include the app_licensing column configured with the following fields:
| Name | Description |
|---|---|
vault_idrequired | The Vault ID to assign the user to. |
active__voptional | Set the user to active (true) or inactive (false). If not specified, default value is true. |
application_namerequired | The application to add the user to. Possible values are:
|
license_type__voptional | Set the user's license type, for example, read_only__v. |
The format for adding these fields is:
{vault_id}|{application_name}{:active__v}{:license_type__v}
To add a user to more than one application, separate the applications with a pipe. To add a user to applications in multiple Vaults, separate the Vaults with a semicolon. For example:
app_licensing |
|---|
3003|rimReg_v:true:full__v|rimSubs_v:true:full__v;4112|rimSubs_v:true:full__v |
This adds an active user to both RIM Registrations and RIM Submissions in Vault ID 3003, and to the RIM Submissions application in Vault ID 4112, all with the full__v license type.
Add Cross-Domain Users
Section link for Add Cross-Domain UsersThe only required fields for cross-domain users are user_name__v and vault_membership. All other metadata fields are ignored. Learn more about cross-domain users in Vault Help
| Name | Description |
|---|---|
user_name__vrequired | The user’s Vault username (login credential). For example, ewoodhouse@veepharm.com. |
vault_membershiprequired | Assign this user permissions across domains. See Vault Membership Fields above for description. |
Query Parameters: Upsert Users
Section link for Query Parameters: Upsert UsersUpsert is a combination of create and update. Use one input file to create new users and update existing users at the same time. If a matching user record is found in your Vault, it is updated with the field values specified in the input. If no matching user record is found, a new user is created using values in the input.
| Name | Description |
|---|---|
operation | To upsert users, you must include operation=upsert |
idParam | To upsert users, you must include either idParam=id or idParam=user_name__v to the request endpoint. |
Request
Section link for Requestcurl -X POST -H "Authorization: {SESSION_ID}" \
-H "Content-Type: text/csv" \
-H "Accept: text/csv" \
--data-binary @"C:\Vault\Users\create_users.csv" \
https://myvault.veevavault.com/api/v23.1/objects/usersResponse
Section link for Response{
"responseStatus":"SUCCESS",
"data":[
{
"responseStatus":"SUCCESS",
"id":"12021"
},
{
"responseStatus":"SUCCESS",
"id":"12022"
},
{
"responseStatus":"SUCCESS",
"id":"12023"
},
{
"responseStatus":"FAILURE",
"errors":[
{
"type":"INVALID_DATA",
"message":"Error message describing why this user was not created."
}
]
}
]
}Response Details:
Section link for Response Details:On SUCCESS, Vault responds will list the id of each user. The order results are displayed in the response is the same as the order of records in the input.