Class GroupRequest

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

public class GroupRequest extends VaultRequest<GroupRequest>
Retrieve Domain specific information
Vault API Coverage:
https://developer.veevavault.com/api/25.1/#domain-information
  • Method Details

    • retrieveGroupMetadata

      public MetaDataGroupResponse retrieveGroupMetadata()
      Retrieve Group Metadata
      Retrieve metadata for the group object
      Returns:
      The response
      Vault API Endpoint:
       GET /api/{version}/metadata/objects/groups
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-group-metadata
      Example Request:
       MetaDataGroupResponse resp = vaultClient.newRequest(GroupRequest.class)
                                      .retrieveGroupMetadata();
      Example Response:
       System.out.println("Status = " + resp.getResponseStatus());
      
       List<Group> allGroupMetaData = resp.getProperties();
      
       if (allGroupMetaData == null || allGroupMetaData.isEmpty()) {
         System.out.println("ERROR: No group metadata returned");
       } else {
         int i = 0;
         for (Group g : allGroupMetaData) {
           System.out.println("Name = " + g.getName());
           System.out.println("Type = " + g.getType());
           System.out.println("Object = " + g.getObject());
           System.out.println("Length = " + g.getLength());
           System.out.println("Editable = " + g.getEditable());
           System.out.println("Queryable = " + g.getQueryable());
           System.out.println("Required = " + g.getRequired());
           System.out.println("Multivalue = " + g.getMultivalue());
           System.out.println("On Create Editable = " + g.getOnCreateEditable());
           System.out.println("*********************");
           i++;
           if (i > 10) break;
         }
       }
    • retrieveAllGroups

      public GroupRetrieveResponse retrieveAllGroups()
      Retrieve all groups except Auto Managed groups.
      Returns:
      GroupRetrieveResponse
      Vault API Endpoint:
       GET /api/{version}/objects/groups
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-all-groups
      Example Request:
       GroupRetrieveResponse resp = vaultClient.newRequest(GroupRequest.class)
                                      .setIncludeImplied(includeImplied)
                                      .retrieveAllGroups();
      Example Response:
       for (GroupRetrieveResponse.GroupNode groupNode : response.getGroups()) {
                              System.out.println("Label: " + groupNode.getGroup().getLabel());
       }
       
    • retrieveAllGroupsAutoManaged

      public GroupRetrieveAutoManagedResponse retrieveAllGroupsAutoManaged()
      Retrieve all Auto Managed groups.
      Returns:
      GroupRetrieveResponse
      Vault API Endpoint:
       GET /api/{version}/objects/groups/auto
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-all-groups
      Example Request:
       GroupRetrieveResponse resp = vaultClient.newRequest(GroupRequest.class)
                                      .retrieveAllGroupsAutoManaged();
      Example Response:
       for (GroupRetrieveAutoManagedResponse.Data data : response.getData()) {
                              System.out.println("Label: " + data.getGroup().getLabel());
       }
       
    • retrieveGroup

      public GroupRetrieveResponse retrieveGroup(long groupId)
      Retrieve Group
      Parameters:
      groupId - The id for the group
      Returns:
      GroupRetrieveResponse
      Vault API Endpoint:
       GET /api/{version}/objects/groups/{group_id}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-group
      Example Request:
       GroupRetrieveResponse resp = vaultClient.newRequest(GroupRequest.class)
                                      .setIncludeImplied(includeImplied)
                                      .retrieveGroup(groupId);
      Example Response:
       System.out.println("includeImplied = " + includeImplied);
       System.out.println("Status = " + resp.getResponseStatus());
       System.out.println("Group ID = " + groupId);
       
    • createGroup

      public GroupResponse createGroup(String label)
      Create a group
      Parameters:
      label - Group label. Vault uses this to create the group name__v value.
      Returns:
      GroupResponse
      Vault API Endpoint:
       POST /api/{version}/objects/groups
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#create-group
      Example Request:
       GroupResponse resp = vaultClient.newRequest(GroupRequest.class)
                                      .createGroup(label);
      Example Response:
       if (resp != null) {
         System.out.println("Status = " + resp.getResponseStatus());
         System.out.println("Message = " + resp.getResponseMessage());
         System.out.println("Label = " + label);
         System.out.println("Group ID = " + resp.getId());
       } else {
         System.out.println("Null response. Invalid request.");
       }
    • updateGroup

      public GroupResponse updateGroup(long groupId)
      Update editable group field values. Add or remove group members and security profiles.
      Parameters:
      groupId - ID of the group to update
      Returns:
      GroupResponse
      Vault API Endpoint:
       PUT /api/{version}/objects/groups/{group_id}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#update-group
      Example Request:
       GroupResponse resp = vaultClient.newRequest(GroupRequest.class).setLabel("testGroup" + rndNumStr)
                                      .setActive(false)
                                      .setGroupDescription("Description " + rndNumStr)
                                      .setAllowDelegationAmongMembers(true)
                                      .updateGroup(groupId);
      Example Response:
       System.out.println("Status = " + resp.getResponseStatus());
       System.out.println("Message = " + resp.getResponseMessage());
       System.out.println("Group ID = " + resp.getId());
       
    • deleteGroup

      public GroupResponse deleteGroup(long groupId)
      Delete a user-defined group. You cannot delete system-managed groups.
      Parameters:
      groupId - ID of group to delete
      Returns:
      GroupResponse
      Vault API Endpoint:
       DELETE /api/{version}/objects/groups/{group_id}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#delete-group
      Example Request:
       GroupResponse resp = vaultClient.newRequest(GroupRequest.class).deleteGroup(groupId);
      Example Response:
       System.out.println("Status = " + resp.getResponseStatus());
       System.out.println("Group ID = " + resp.getId());
       
    • setLabel

      public GroupRequest setLabel(String label)
      Set the label__v body parameter. Vault uses this to create the group name__v value.
      Parameters:
      label - Group name/label
      Returns:
      The request
    • setIncludeImplied

      public GroupRequest setIncludeImplied(Boolean includeImplied)
      To include the implied_members__v field in the response, set includeImplied to true. If false, the response includes only the members__v field
      Parameters:
      includeImplied - Set to true to include implied members
      Returns:
      The request
    • setMembers

      public GroupRequest setMembers(List<Integer> members)
      Set the members__v body parameter to manually assign individual users to the group
      Parameters:
      members - List of user IDs
      Returns:
      The request
    • setSecurityProfiles

      public GroupRequest setSecurityProfiles(List<String> securityProfiles)
      Set the security_profiles__v body parameter to automatically adds all users with the security profile to the group. These are implied_members__v.
      Parameters:
      securityProfiles - List of security profiles
      Returns:
      The request
    • setActive

      public GroupRequest setActive(Boolean active)
      Set the active__v body parameter to create the group as active or inactive. By default, the new group will be created as active. To set the group to inactive, set this value to false
      Parameters:
      active - Active/inactive state of group
      Returns:
      The request
    • setGroupDescription

      public GroupRequest setGroupDescription(String groupDescription)
      Set the group_description__v body parameter add a description of the group
      Parameters:
      groupDescription - Group description
      Returns:
      The request
    • setAllowDelegationAmongMembers

      public GroupRequest setAllowDelegationAmongMembers(Boolean allowDelegationAmongMembers)
      Set the allow_delegation_among_members__v body parameter to specifiy that members of this group will only be allowed to delegate access to other members of the same group. You can set this field for user and system managed groups, with the exception of the Vault Owners group. If omitted, defaults to false.
      Parameters:
      allowDelegationAmongMembers - True to allow delegate access to other members of the group
      Returns:
      The request