Promote Person to User
Create a User record from an existing Person record. This operation creates a User record and populates its Source Person field, in addition to populating the User object reference field on the Person record. This request is equivalent to the Promote Person to User
/api/{version}/app/clinical/persons/actions/promote_to_userHeaders
Section link for Headers| Name | Description |
|---|---|
Content-Type | application/x-www-form-urlencoded |
Accept | application/json |
Body Parameters
Section link for Body ParametersThe following table provides the required parameters to create a User record. Depending on your Vault's configuration, there may be additional fields required for the User object.
| Name | Description |
|---|---|
source_person_idrequired | The ID of the Person record to create a User record from. |
first_name__sysrequired | The user's first name. |
last_name__sysrequired | The user's last name. |
username__sysrequired | The user's Vault username. For example, ewoodhouse@veepharm.com. |
email__sysrequired | The user's email address. |
license_type__sysrequired | The license type, which is the first level of access control that Vault applies to a user. The license_type__v cannot be less permissive than a user's application licensing. If omitted, the default value is full__v. |
language__sysrequired | The user's preferred language. Retrieve values from Retrieve All Users. |
timezone__sysrequired | The user's time zone. Retrieve values from Retrieve All Users. |
locale__sysrequired | The user's location. Retrieve values from Retrieve All Users. |
security_profile__sysrequired | The user's security profile. If omitted, the default value is document_user__v. |
Request
Section link for Requestcurl -X POST -H "Authorization: {SESSION_ID}" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json" \
--data-raw '[
{
"source_person_id": "V0B00000000D001",
"first_name__sys": "Kate",
"last_name__sys": "Grossman",
"username__sys": "kate.grossman@myvault.veevavault.com",
"email__sys": "kate.grossman@veeva.com",
"license_type__sys": "full__v",
"language__sys": "0LU000000000101",
"timezone__sys": "america_new_york__sys",
"locale__sys": "0LO000000000104",
"security_profile__sys": "0SP000000000109",
"alias__sys": "test22",
"company__sys": "veeva",
"title__sys": "software engineer",
"location__sys": "milpitas",
"office_phone__sys": "6821368372",
"fax__sys": "6821368372",
"holiday_schedule__sys": "V7P000000001001",
"activation_date__sys": "2026-10-26",
"domain_admin__sys": false,
"salesforce_username__sys": "user1test22s",
"send_welcome_email__sys": true,
"system_availability_emails__sys": false,
"product_announcement_emails__sys": true,
"test_custom__c": "test custom"
}, {
"source_person_id": "V0B00000000D002",
"first_name__sys": "Olivia",
"last_name__sys": "Rue",
"username__sys": "olivia.rue@veeva.com",
"email__sys": "olivia.rue@myvault.veevavault.com",
"license_type__sys": "full__v",
"language__sys": "0LU000000000101",
"timezone__sys": "america_new_york__sys",
"locale__sys": "0LO000000000104",
"security_profile__sys": "0SP000000000109",
"alias__sys": "test22",
"company__sys": "veeva",
"title__sys": "software engineer",
"location__sys": "milpitas",
"office_phone__sys": "6821368372",
"fax__sys": "6821368372",
"holiday_schedule__sys": "V7P000000001001",
"activation_date__sys": "2026-10-26",
"domain_admin__sys": false,
"salesforce_username__sys": "user1test22s",
"send_welcome_email__sys": true,
"system_availability_emails__sys": false,
"product_announcement_emails__sys": true,
"test_custom__c": "test custom"
}
]' \
https://myvault.veevavault.com/api/v26.2/app/clinical/persons/actions/promote_to_userResponse
Section link for Response{
"responseStatus": "SUCCESS",
"responseMessage": "Success",
"data": [
{
"source_person_id": "V0B000000000001",
"user_id": "39"
},
{
"source_person_id": "V0B000000000002",
"user_id": "40"
}
]
}Response Details
Section link for Response DetailsOn SUCCESS, Vault creates a User record from the specified Person record. The response includes the original person_id and the corresponding user_id.
On FAILURE, the response includes an error message explaining the failure. For example, it may fail if the request doesn't provide a required field for the User record or the Person record referenced already has a corresponding User record in your Vault.