Skip to content

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 action in the Vault UI.

POST/api/{version}/app/clinical/persons/actions/promote_to_user
NameDescription
Content-Typeapplication/x-www-form-urlencoded
Acceptapplication/json

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

NameDescription
source_person_id
required
The ID of the Person record to create a User record from.
first_name__sys
required
The user's first name.
last_name__sys
required
The user's last name.
username__sys
required
The user's Vault username. For example, ewoodhouse@veepharm.com.
email__sys
required
The user's email address.
license_type__sys
required
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__sys
required
The user's preferred language. Retrieve values from Retrieve All Users.
timezone__sys
required
The user's time zone. Retrieve values from Retrieve All Users.
locale__sys
required
The user's location. Retrieve values from Retrieve All Users.
security_profile__sys
required
The user's security profile. If omitted, the default value is document_user__v.
curl -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_user
{
    "responseStatus": "SUCCESS",
    "responseMessage": "Success",
    "data": [
        {
            "source_person_id": "V0B000000000001",
            "user_id": "39"
        },
        {
            "source_person_id": "V0B000000000002",
            "user_id": "40"
        }
    ]
}

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