Class UserRequest

java.lang.Object
com.veeva.vault.vapil.api.request.VaultRequest<UserRequest>
com.veeva.vault.vapil.api.request.UserRequest

public class UserRequest extends VaultRequest<UserRequest>
Users
Vault API Coverage:
https://developer.veevavault.com/api/25.1/#users
  • Method Details

    • retrieveUserMetadata

      public MetaDataUserResponse retrieveUserMetadata()
      Retrieve User Metadata

      Get a full list of fields for users

      Returns:
      MetaDataUserResponse
      Vault API Endpoint:
       GET /api/{version}/metadata/objects/users
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-user-metadata
      Example Request:
       MetaDataUserResponse resp = vaultClient.newRequest(UserRequest.class).retrieveUserMetadata();
      Example Response:
      
       for (User u : resp.getProperties()) {
         System.out.println("Name: " + u.getName());
         System.out.println("Type: " + u.getType());
         System.out.println("Length: " + u.getLength());
         System.out.println("Editable?: " + u.getEditable());
         System.out.println("Queryable?: " + u.getQueryable());
         System.out.println("Required?: " + u.getRequired());
         System.out.println("Multi-value?: " + u.getMultivalue());
         System.out.println("Editable on create?: " + u.getOnCreateEditable());
         if (u.getValues() != null) {
           for (Values v : u.getValues()) {
             System.out.println("Value Name: " + v.getValue());
             System.out.println("Value Label: " + v.getLabel());
           }
         }
       }
       
    • retrieveAllUsers

      public UserRetrieveResponse retrieveAllUsers()
      Retrieve All Users

      Get a list of all metadata components and their properties. Note that the Vault API returns only the active users. Reference "metadata" endpoint for inactive users.

      Returns:
      UserRetrieveResponse
      Vault API Endpoint:
       GET /api/{version}/objects/users
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-all-users
      Example Request:
       UserRetrieveResponse resp = vaultClient.newRequest(UserRequest.class)
                       .retrieveAllUsers();
      Example Response:
       for (UserRetrieveResponse.Users users : resp.getUsers()) {
         User u = users.getUser();
         System.out.println("\nUser: " + u.getUserName());
         System.out.println("User ID: " + u.getId());
         System.out.println("Name: " + u.getUserFirstName() + " " + u.getUserLastName());
         System.out.println("Email: " + u.getUserEmail());
         System.out.println("Timezone: " + u.getUserTimezone());
         System.out.println("Locale: " + u.getUserLocale());
         System.out.println("Language: " + u.getUserLanguage());
         System.out.println("Company: " + u.getCompany());
         System.out.println("Title: " + u.getUserTitle());
         System.out.println("Office Phone: " + u.getOfficePhone());
         System.out.println("Fax: " + u.getFax());
         System.out.println("Mobile: " + u.getMobilePhone());
         System.out.println("Site: " + u.getSite());
         System.out.println("Domain Admin?: " + u.getIsDomainAdmin());
         System.out.println("Active user?: " + u.getActive());
         System.out.println("Active on domain?: " + u.getDomainActive());
         System.out.println("Security Profile: " + u.getSecurityProfile());
         System.out.println("License type: " + u.getLicenseType());
         System.out.println("Security Policy ID: " + u.getSecurityPolicyId());
         System.out.println("User needs to change password?: " + u.getUserNeedsToChangePassword());
         System.out.println("Created by: " + u.getCreatedBy() + " on " + u.getCreatedDate());
         System.out.println("Last modified by: " + u.getModifiedBy() + " on " + u.getModifiedDate());
         System.out.println("Domain ID: " + u.getDomainId());
         System.out.println("Domain Name: " + u.getDomainName());
         System.out.println("Vault ID: " + u.getVaultId());
         System.out.println("Federated ID: " + u.getFederatedId());
         System.out.println("Salesforce User Name: " + u.getSalesforceUserName());
         System.out.println("Last login at: " + u.getLastLogin());
         System.out.println("Group IDs: " + u.getGroupId());   *
       }
    • retrieveUser

      public UserRetrieveResponse retrieveUser(int userId)
      Retrieve User

      Retrieve information for one user.

      Parameters:
      userId - user id
      Returns:
      UserRetrieveResponse
      Vault API Endpoint:
       GET /api/{version}/objects/users/{id}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-user
      Example Request:
       UserRetrieveResponse resp = vaultClient.newRequest(UserRequest.class).retrieveUser(userId);
      Example Response:
       for(UserRetrieveResponse.Users users : resp.getAllUsers()) {
         User u = users.getUser();
         System.out.println("\nUser name: " + u.getUserName());
         System.out.println("User: " + u.getUserFirstName() + " " + u.getUserLastName());
         System.out.println("Email: " + u.getUserEmail());
       }
       
    • createSingleUser

      public UserResponse createSingleUser()
      Create Single User
      Returns:
      UserResponse
      Vault API Endpoint:
       POST /api/{version}/objects/users
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#create-single-user
      Example Request:
       UserResponse resp = vaultClient.newRequest(UserRequest.class)
                       .setContentTypeForm()
                       .setBodyParams(formData)
                       .createSingleUser();
      Example Response:
      displayResults(resp,true);
       
    • updateSingleUser

      public UserResponse updateSingleUser(int userId)
      Update Single User

      Update metadata for a single user. Can also be used to update the current user with the 'me' parameter

      Parameters:
      userId - user id
      Returns:
      UserResponse
      Vault API Endpoint:
       PUT /api/{version}/objects/users/{id}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#update-single-user
      Example Request:
       UserResponse resp = vaultClient.newRequest(UserRequest.class)
                       .setContentTypeXForm()
                       .setBodyParams(formData)
                       .updateSingleUser(4005489);
      Example Response:
       displayResults(resp,true);
    • changePassword

      public VaultResponse changePassword(int userId, String currentPassword, String newPassword)
      Change Your Password

      Change the password for the currently authenticated user

      Parameters:
      userId - The user 'id' field value. You can also use the value 'me' to change your password
      currentPassword - The user's current password
      newPassword - The user's new password to set in Vault
      Returns:
      VaultResponse
      Vault API Endpoint:
       POST /api/{version}/objects/users/{user_id}/password
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#change-your-password
      Example Request:
       VaultResponse resp = vaultClient.newRequest(UserRequest.class).changePassword(userId, oldPass, newPass);
      Example Response:
      System.out.println(resp.getResponseStatus());
       }
    • retrieveUserPermissions

      public UserPermissionResponse retrieveUserPermissions(int userId)
      Retrieve User Permissions

      Retrieve all object and object field permissions (read, edit, create, delete) assigned to a specific user.

      Parameters:
      userId - The user 'id' field value. You can also use the value 'me' to change your password
      Returns:
      UserResponse
      Vault API Endpoint:
       GET /api/{version}/objects/users/{id}/permissions
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-user-permissions
      Example Request:
       UserPermissionResponse resp = vaultClient.newRequest(UserRequest.class)
                       .retrieveUserPermissions(userId);
      Example Response:
       for(UserPermissions u : resp.getData()) {
         System.out.println("Name: " + u.getName());
         PermissionSet p = u.getPermissions();
         System.out.println("\tRead: " + p.getRead());
         System.out.println("\tEdit: " + p.getEdit());
         System.out.println("\tCreate: " + p.getCreate());
         System.out.println("\tDelete: " + p.getDelete());
       }
    • disableUser

      public UserResponse disableUser(int userId)
      Disable User

      Disable a user in a specific vault, or disable a user in all vaults in the domain.

      Parameters:
      userId - The user 'id' field value
      Returns:
      UserResponse
      Vault API Endpoint:
       DELETE /api/{version}/objects/users/{user_id}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#disable-user
      Example Request:
       UserResponse resp = vaultClient.newRequest(UserRequest.class)
                       .setDomainAsTrue()
                       .disableUser(4005489);
      Example Response:
       displayResults(resp, true);
       }
    • createUserRecords

      public UserBulkResponse createUserRecords()
      Bulk create users

      Note that it is up to the calling code to batch the data.

      Returns:
      UserBulkResponse
      Vault API Endpoint:
       POST /api/{version}/objects/users
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#create-multiple-users
      Example Request:
       UserBulkResponse resp = vaultClient.newRequest(UserRequest.class)
                       .setContentTypeCsv()
                       .setInputPath(filePath)
                       .setOperation("upsert")
                       .setIdParam(idParam)
                       .createUserRecords();
      Example Response:
       for (UserResponse ur : resp.getData()) {
         System.out.println("User record successful?: " + ur.isSuccessful());
           if (ur.isSuccessful()) {
             if (ur.getUserResultInfo() != null)
               System.out.println(ur.getUserResultInfo().getId() + " " + ur.getUserResultInfo().getResponseStatus());
             else
               System.out.println(ur.getId() + " " + ur.getResponseStatus());
             }
      
             if (ur.getErrors() != null) {
               for (VaultResponse.APIResponseError err : ur.getErrors()) {
                 System.out.println("Error (" + err.getType() + ") - " + err.getMessage());
               }
             }
          }
       }
    • updateUserRecords

      public UserBulkResponse updateUserRecords()
      Bulk update users

      Note that it is up to the calling code to batch the data.

      Returns:
      UserBulkResponse
      Vault API Endpoint:
       PUT /api/{version}/objects/users
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#update-multiple-users
      Example Request:
       UserBulkResponse resp = vaultClient.newRequest(UserRequest.class)
                       .setContentTypeCsv()
                       .setInputPath(filePath)
                       .updateUserRecords();
      Example Response:
       for (UserResponse ur : resp.getData()) {
         System.out.println("User record successful?: " + ur.isSuccessful());
           if (ur.isSuccessful()) {
             if (ur.getUserResultInfo() != null)
               System.out.println(ur.getUserResultInfo().getId() + " " + ur.getUserResultInfo().getResponseStatus());
             else
               System.out.println(ur.getId() + " " + ur.getResponseStatus());
             }
      
             if (ur.getErrors() != null) {
               for (VaultResponse.APIResponseError err : ur.getErrors()) {
                 System.out.println("Error (" + err.getType() + ") - " + err.getMessage());
               }
             }
          }
       }
    • updateVaultMembership

      public VaultResponse updateVaultMembership(int userId, int vaultId)
      Update Vault Membership

      Update vault membership for an existing user. This cannot be used to create new users or update other profile information.

      Parameters:
      userId - The ID of the user
      vaultId - The ID of the Vault
      Returns:
      VaultResponse
      Vault API Endpoint:
       PUT /api/{version}/objects/users/{user_id}/vault_membership/{vault_id}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#update-vault-membership
      Example Request:
       VaultResponse resp = vaultClient.newRequest(UserRequest.class)
                       .setContentTypeXForm()
                       .updateVaultMembership(4005489,23700);
      Example Response:
      System.out.println("Status = " + resp.isSuccessful());
    • retrieveApplicationLicenseUsage

      public UserLicenseUsageResponse retrieveApplicationLicenseUsage()
      Retrieve Application License Usage

      Retrieve your current license usage compared to the licenses that your organization has purchased. This information is similar to the information displayed in the Vault UI from Admin > Settings > General Settings.

      Returns:
      UserLicenseUsageResponse
      Vault API Endpoint:
       GET /api/{version}/objects/licenses
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-application-license-usage
      Example Request:
       UserLicenseUsageResponse response = vaultClient.newRequest(UserRequest.class)
                      .retrieveApplicationLicenseUsage();
       
      Example Response:
       for (Application application : response.getApplications()) {
                      System.out.println(("--------Application--------"));
                      System.out.println("Application Name = " + application.getApplicationName());
                      System.out.println(("--------Full License--------"));
                      System.out.println("Licensed = " + application.getUserLicensing().getFullLicense().getLicensed());
                      System.out.println("Used = " + application.getUserLicensing().getFullLicense().getUsed());
                      System.out.println(("--------Read Only License--------"));
                      System.out.println("Licensed = " + application.getUserLicensing().getReadOnlyLicense().getLicensed());
                      System.out.println("Used = " + application.getUserLicensing().getReadOnlyLicense().getUsed());
                      System.out.println(("--------External License--------"));
                      System.out.println("Licensed = " + application.getUserLicensing().getExternalLicense().getLicensed());
                      System.out.println("Used = " + application.getUserLicensing().getExternalLicense().getUsed());
       }
       
    • setVaults

      public UserRequest setVaults(String vaults)
      Set parameter for retrieving users from vaults

      Parameters:
      vaults - the vaults to retrieve users from
      Returns:
      UserRequest
    • setLimit

      public UserRequest setLimit(String limit)
      Set limit value on retrieving all users

      Parameters:
      limit - the size of the result set in the page
      Returns:
      UserRequest
    • setStart

      public UserRequest setStart(String start)
      Set start value on retrieving all users

      Parameters:
      start - the starting record number
      Returns:
      UserRequest
    • setSort

      public UserRequest setSort(String sort)
      Set the sorting option and field on retrieving all users

      Parameters:
      sort - the sort order for the result set
      Returns:
      UserRequest
    • setExcludeVaultMembership

      public UserRequest setExcludeVaultMembership(Boolean excludeVaultMembership)
      Set whether to exclude vault membership when retrieving all users

      Parameters:
      excludeVaultMembership - set whether to exclude vault membership fields
      Returns:
      UserRequest
    • setFilter

      public UserRequest setFilter(String permissionName)
      Set the filter to retrieve user permissions
      Parameters:
      permissionName - format object.{object name}.{object or field}_actions. Wildcards are not supported. See example below.
      Returns:
      UserRequest
    • setExcludeAppLicensing

      public UserRequest setExcludeAppLicensing(Boolean excludeAppLicensing)
      Set whether to exclude app licensing when retrieving all users

      Parameters:
      excludeAppLicensing - set whether to exclude app licensing fields
      Returns:
      UserRequest
    • setAcceptCSV

      public UserRequest setAcceptCSV()
      Set the Header Accept to return CSV
      Returns:
      The Request
    • setBinaryFile

      public UserRequest setBinaryFile(String filename, byte[] binaryContent)
      Specify source data in an input file
      Parameters:
      filename - file name (no path)
      binaryContent - byte array of the file content
      Returns:
      The Request
    • setBodyParams

      public UserRequest setBodyParams(Map<String,Object> bodyParams)
      Single record form ObjectRecordRequest with name/value body parameters
      Parameters:
      bodyParams - Key/Value map of the body parameters
      Returns:
      The Request
    • setContentTypeCsv

      public UserRequest setContentTypeCsv()
      Set the Header Content Type to CSV
      Returns:
      The Request
    • setContentTypeJson

      public UserRequest setContentTypeJson()
      Set the Header Content Type to JSON
      Returns:
      The Request
    • setContentTypeForm

      public UserRequest setContentTypeForm()
      Set the Header Content Type to multipart/form-data
      Returns:
      The Request
    • setContentTypeXForm

      public UserRequest setContentTypeXForm()
      Set the Header Content Type to x-www-form-urlencoded
      Returns:
      The Request
    • setInputPath

      public UserRequest setInputPath(String inputPath)
      Specify source data in an input file
      Parameters:
      inputPath - Absolute path to the file for the request
      Returns:
      The Request
    • setIdParam

      public UserRequest setIdParam(String idParam)
      Specify an UPSERT operation via the idParam for creating users
      Parameters:
      idParam - API for the UPSERT
      Returns:
      The Request
    • setOperation

      public UserRequest setOperation(String operation)
      Specify an UPSERT operation for creating users
      Parameters:
      operation - API for the UPSERT
      Returns:
      The Request
    • setOutputPath

      public UserRequest setOutputPath(String outputPath)
      Specify source data in an output file
      Parameters:
      outputPath - Absolute path to the file for the response
      Returns:
      The Request
    • setDomainAsTrue

      public UserRequest setDomainAsTrue()
      Set the domain query parameter as true
      Returns:
      The Request