Class UserRequest
- Vault API Coverage:
- https://developer.veevavault.com/api/25.1/#users
-
Field Summary
Fields inherited from class com.veeva.vault.vapil.api.request.VaultRequest
HTTP_HEADER_AUTHORIZATION, HTTP_HEADER_REFERENCE_ID, HTTP_HEADER_VAULT_CLIENT_ID, referenceId, requestClientId, vaultClient
-
Method Summary
Modifier and TypeMethodDescriptionchangePassword
(int userId, String currentPassword, String newPassword) Change Your PasswordCreate Single UserBulk create usersdisableUser
(int userId) Disable UserRetrieve All UsersRetrieve Application License UsageretrieveUser
(int userId) Retrieve UserRetrieve User MetadataretrieveUserPermissions
(int userId) Retrieve User PermissionsSet the Header Accept to return CSVsetBinaryFile
(String filename, byte[] binaryContent) Specify source data in an input filesetBodyParams
(Map<String, Object> bodyParams) Single record form ObjectRecordRequest with name/value body parametersSet the Header Content Type to CSVSet the Header Content Type to multipart/form-dataSet the Header Content Type to JSONSet the Header Content Type to x-www-form-urlencodedSet the domain query parameter as truesetExcludeAppLicensing
(Boolean excludeAppLicensing) Set whether to exclude app licensing when retrieving all userssetExcludeVaultMembership
(Boolean excludeVaultMembership) Set whether to exclude vault membership when retrieving all usersSet the filter to retrieve user permissionssetIdParam
(String idParam) Specify an UPSERT operation via the idParam for creating userssetInputPath
(String inputPath) Specify source data in an input fileSet limit value on retrieving all userssetOperation
(String operation) Specify an UPSERT operation for creating userssetOutputPath
(String outputPath) Specify source data in an output fileSet the sorting option and field on retrieving all usersSet start value on retrieving all usersSet parameter for retrieving users from vaultsupdateSingleUser
(int userId) Update Single UserBulk update usersupdateVaultMembership
(int userId, int vaultId) Update Vault MembershipMethods inherited from class com.veeva.vault.vapil.api.request.VaultRequest
getBaseObjectMapper, send, send, sendReturnBinary, sendReturnBinary, sendToFile, sendToFile, setHeaderClientId, setHeaderReferenceId, setVaultClient
-
Method Details
-
retrieveUserMetadata
Retrieve User MetadataGet 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
Retrieve All UsersGet 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
Retrieve UserRetrieve 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
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
Update Single UserUpdate 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
Change Your PasswordChange the password for the currently authenticated user
- Parameters:
userId
- The user 'id' field value. You can also use the value 'me' to change your passwordcurrentPassword
- The user's current passwordnewPassword
- 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
Retrieve User PermissionsRetrieve 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
Disable UserDisable 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
Bulk create usersNote 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
Bulk update usersNote 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
Update Vault MembershipUpdate 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 uservaultId
- 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
Retrieve Application License UsageRetrieve 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
Set parameter for retrieving users from vaults- Parameters:
vaults
- the vaults to retrieve users from- Returns:
- UserRequest
-
setLimit
Set limit value on retrieving all users- Parameters:
limit
- the size of the result set in the page- Returns:
- UserRequest
-
setStart
Set start value on retrieving all users- Parameters:
start
- the starting record number- Returns:
- UserRequest
-
setSort
Set the sorting option and field on retrieving all users- Parameters:
sort
- the sort order for the result set- Returns:
- UserRequest
-
setExcludeVaultMembership
Set whether to exclude vault membership when retrieving all users- Parameters:
excludeVaultMembership
- set whether to exclude vault membership fields- Returns:
- UserRequest
-
setFilter
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
Set whether to exclude app licensing when retrieving all users- Parameters:
excludeAppLicensing
- set whether to exclude app licensing fields- Returns:
- UserRequest
-
setAcceptCSV
Set the Header Accept to return CSV- Returns:
- The Request
-
setBinaryFile
Specify source data in an input file- Parameters:
filename
- file name (no path)binaryContent
- byte array of the file content- Returns:
- The Request
-
setBodyParams
Single record form ObjectRecordRequest with name/value body parameters- Parameters:
bodyParams
- Key/Value map of the body parameters- Returns:
- The Request
-
setContentTypeCsv
Set the Header Content Type to CSV- Returns:
- The Request
-
setContentTypeJson
Set the Header Content Type to JSON- Returns:
- The Request
-
setContentTypeForm
Set the Header Content Type to multipart/form-data- Returns:
- The Request
-
setContentTypeXForm
Set the Header Content Type to x-www-form-urlencoded- Returns:
- The Request
-
setInputPath
Specify source data in an input file- Parameters:
inputPath
- Absolute path to the file for the request- Returns:
- The Request
-
setIdParam
Specify an UPSERT operation via the idParam for creating users- Parameters:
idParam
- API for the UPSERT- Returns:
- The Request
-
setOperation
Specify an UPSERT operation for creating users- Parameters:
operation
- API for the UPSERT- Returns:
- The Request
-
setOutputPath
Specify source data in an output file- Parameters:
outputPath
- Absolute path to the file for the response- Returns:
- The Request
-
setDomainAsTrue
Set the domain query parameter as true- Returns:
- The Request
-