Skip to content

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.
POST/api/{version}/objects/users
NameDescription
Content-Typeapplication/json or text/csv
Acceptapplication/json (default) or text/csv

Prepare 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.

NameDescription
user_name__vThe user’s Vault username (login credential). For example, ewoodhouse@veepharm.com
user_first_name__vThe user's first name.
user_last_name__vThe user's last name.
user_email__vThe user's email address.
user_timezone__vThe user's time zone. Retrieve values from Retrieve Users.
user_locale__vThe user's location. Retrieve values from Retrieve Users.
security_policy_id__vThe user's security policy. Retrieve values from Retrieve All Security Policies.
user_language__vThe 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.

To assign user permissions across Vaults or create cross-domain users, you must include the vault_membership column configured with the following fields:

NameDescription
vault_idThe 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

To add a user to specific applications within a Vault or across Vaults, you must include the app_licensing column configured with the following fields:

NameDescription
vault_idThe 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_nameThe application to add the user to. Possible values are:
  • rimSubsArch_v
  • rimSubs_v
  • rimReg_v
  • qualityQms_v
  • qualityQdocs_v
  • qOneQdocs_v
  • qOneQms_v
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.

The 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.

NameDescription
user_name__vThe user’s Vault username (login credential). For example, ewoodhouse@veepharm.com.
vault_membershipAssign this user permissions across domains. See Vault Membership Fields above for description.

Upsert 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.

NameDescription
operationTo upsert users, you must include operation=upsert
idParamTo upsert users, you must include either idParam=id or idParam=user_name__v to the request endpoint.
Download Input File
curl -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/v19.3/objects/users
{ "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." } ] } ] }

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.