Class SCIMRequest

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

public class SCIMRequest extends VaultRequest<SCIMRequest>
  • Method Details

    • retrieveSCIMProvider

      public SCIMResponse retrieveSCIMProvider()
      Retrieve SCIM Provider

      Retrieve a JSON that describes the SCIM specification features available on the currently authenticated vault.

      Returns:
      SCIMResponse
      Vault API Endpoint:
       GET /api/{version}/scim/v2/ServiceProviderConfig
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-scim-provider
      Example Request:
       SCIMResponse scimResponse = vaultClient.newRequest(SCIMRequest.class).retrieveSCIMProvider();
      Example Response:
       System.out.println("Schemas: " + scimResponse.getSchemas());
       System.out.println("Documentation URI: " + scimResponse.getDocumentationUri());
       System.out.println("Patch: " + scimResponse.getPatch().getSupported());
       System.out.println("Bulk - Supported: " + scimResponse.getBulk().getSupported());
       System.out.println("Bulk - Max Operations: " + scimResponse.getBulk().getMaxOperations());
       System.out.println("Bulk - Max Payload Size: " + scimResponse.getBulk().getMaxPayloadSize());
       System.out.println("Filter - Supported: " + scimResponse.getFilter().getSupported());
       System.out.println("Filter - Max Results: " + scimResponse.getFilter().getMaxResults());
       System.out.println("Change Password supported: " + scimResponse.getChangePassword().getSupported());
       System.out.println("Sort supported: " + scimResponse.getSort().getSupported());
       System.out.println("eTag supported: " + scimResponse.getEtag().getSupported());
       System.out.println("Authentication Schemes: ");
       System.out.println("-----");
      
       System.out.println();
       System.out.println("Meta - Resource Type: " + scimResponse.getMeta().getResourceType());
       System.out.println("Meta - Location: " + scimResponse.getMeta().getLocation());
      
       System.out.println("Schemas: " + scimResponse.getSchemas());
       System.out.println("Total Results: " + scimResponse.getTotalResults());
       System.out.println("Resources: ");
       System.out.println("-----");
      
      
       List<Resource> schemaResources = scimResponse.getResources();
       for (Resource r : schemaResources) {
         System.out.println("\tSchemas: " + r.getSchemas());
         System.out.println("\tID: " + r.getId());
         System.out.println("\tName: " + r.getName());
         System.out.println("\tDescription: " + r.getDescription());
         System.out.println("\tAttributes:");
         System.out.println("-----");
      
      
         List<Attribute> resourceAttributes = r.getAttributes();
         for (Attribute a : resourceAttributes) {
           System.out.println("\t\tName: " + a.getName());
           System.out.println("\t\tType: " + a.getType());
           System.out.println("\t\tMulti Valued: " + a.getMultiValued());
           System.out.println("\t\tDescription: " + a.getDescription());
           System.out.println("\t\tRequired: " + a.getRequired());
           System.out.println("\t\tExact Case: " + a.getCaseExact());
           System.out.println("\t\tMutability: " + a.getMutability());
           System.out.println("\t\tReturned: " + a.getReturned());
           System.out.println("\t\tUniqueness: " + a.getUniqueness());
           System.out.println("-----");
         }
         System.out.println("-----");
       }
    • retrieveSchemaInformation

      public SCIMResponse retrieveSchemaInformation()
      Retrieve All SCIM Schema Information
      Retrieve information about all SCIM schema specifications supported by a Vault SCIM service provider
      Returns:
      SCIMResponse
      Vault API Endpoint:
       GET /api/{version}/scim/v2/Schemas
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-all-scim-schema-information
    • retrieveSchema

      public SCIMResponse retrieveSchema(String schemaId)
      Retrieve Single SCIM Schema Information
      Retrieve information about a single SCIM schema specification supported by a Vault SCIM service provider
      Parameters:
      schemaId - Schema ID
      Returns:
      SCIMResponse
      Vault API Endpoint:
       GET /api/{version}/scim/v2/Schemas/{id}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-single-scim-resource
      Example Request:
       SCIMResponse scimResponse = vaultClient.newRequest(SCIMRequest.class).retrieveSchema(schema);
      Example Response:
       System.out.println("Schemas: " + scimResponse.getSchemas());
       System.out.println("Name: " + scimResponse.getName());
       System.out.println("Description: " + scimResponse.getDescription());
       System.out.println("Attributes: ");
       System.out.println("-----");
      
       if (!scimResponse.hasAttributeErrors()) {
         List<Attribute> attributes = scimResponse.getAttributes();
         for(Attribute a : attributes) {
           System.out.println("Name: " + a.getName());
           System.out.println("-----");
         }
         System.out.println();
       }
    • retrieveResourceTypes

      public SCIMResponse retrieveResourceTypes()
      Retrieve All SCIM Resource Types
      Retrieve the types of SCIM resources available.
      Returns:
      SCIMResponse
      Vault API Endpoint:
       GET /api/{version}/scim/v2/ResourceTypes
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-all-scim-resource-types
      Example Request:
       SCIMResponse scimResponse = vaultClient.newRequest(SCIMRequest.class).retrieveResourceTypes();
      Example Response:
       System.out.println("Total Results: " + scimResponse.getTotalResults());
       System.out.println("-----");
      
       if (!scimResponse.hasResourceErrors()) {
         List<Resource> resources = scimResponse.getResources();
         for(Resource r : resources) {
           System.out.println("ID: " + r.getId());
           System.out.println("Name: " + r.getName());
           System.out.println("-----");
         }
       }
    • retrieveResourceType

      public SCIMResponse retrieveResourceType(String type)
      Retrieve Single SCIM Resource Type
      Retrieve a single SCIM resource type. Defines the endpoints, the core schema URI which defines this resource, and any supported schema extensions.
      Parameters:
      type - Resource Type ID
      Returns:
      SCIMResponse
      Vault API Endpoint:
       GET /api/{version}/scim/v2/ResourceTypes/{type}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-all-scim-resource-types
      Example Request:
       SCIMResponse scimResponse = vaultClient.newRequest(SCIMRequest.class).retrieveResourceType(resourceType);
      Example Response:
       System.out.println("ID: " + scimResponse.getId());
       System.out.println("Name: " + scimResponse.getName());
       System.out.println("Description: " + scimResponse.getDescription());
    • createUser

      public SCIMUserResponse createUser()
      Create User with SCIM
      Crete users with SCIM.
      Returns:
      SCIMUserResponse
      Vault API Endpoint:
       POST /api/{version}/scim/v2/Users
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#create-user-with-scim
      Example Request:
       Example 1 - JSON
       SCIMUserResponse scimResponse = vaultClient.newRequest(SCIMRequest.class)
                       .setSCIMUserJSON(jsonString)
                       .createUser();
      ,
       Example 2 - SCIM User
       SCIMUserResponse scimResponse = vaultClient.newRequest(SCIMRequest.class)
                       .setSCIMUser(scimUser)
                       .createUser();
      Example Response:
       SCIMUser user = scimResponse.getUser();
       System.out.println("\tName: " + user.getName().getGivenName() + " " + user.getName().getFamilyName() );
       System.out.println("\tDisplay Name: " + user.getDisplayName());
       System.out.println("\tUser Name: " + user.getUserName());
      
       for(SCIMUser.Email email : user.getEmails()){
         System.out.println("\t" + email.getType() + "Email: " + email.getValue());
       }
    • retrieveAllUsers

      public SCIMUserBulkResponse retrieveAllUsers()
      Retrieve All Users with SCIM
      Returns:
      SCIMUserBulkResponse
      Vault API Endpoint:
       GET /api/{version}/scim/v2/Users
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-all-users-with-scim
      Example Request:
       SCIMUserBulkResponse scimResponse = vaultClient.newRequest(SCIMRequest.class)
                       //.setFilter("userName eq \"bob.jones@verteobiotech.com\"")
                       //.setAttributes("username,emails")
                       //.setExcludedAttributes("username,emails")
                       .setSortBy("name.familyName")
                       .setSortOrder("descending")
                       //.setCount(3)
                       .retrieveAllUsers();
      Example Response:
       if (scimResponse.isSuccessful()) {
         List<SCIMUser> users = scimResponse.getUsers();
      
         for(SCIMUser user : users) {
           System.out.println("\tName: " + user.getName().getGivenName() + " " + user.getName().getFamilyName() );
           System.out.println("\tDisplay Name: " + user.getDisplayName());
           System.out.println("\tUser Name: " + user.getUserName());
      
           for(SCIMUser.Email email : user.getEmails()){
             System.out.println("\t" + email.getType() + "Email: " + email.getValue());
           }
         }
       }
    • retrieveUser

      public SCIMUserResponse retrieveUser(String userId)
      Retrieve Single User with SCIM
      Retrieve a specific user with SCIM.
      Parameters:
      userId - Resource Type ID
      Returns:
      SCIMUserResponse.Resource
      Vault API Endpoint:
       GET /api/{version}/scim/v2/Users/{id}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-single-user-with-scim
      Example Request:
       SCIMUserResponse scimResponse = vaultClient.newRequest(SCIMRequest.class)
                       //.setAttributes("username,emails")
                       //.setExcludedAttributes("username,emails")
                       .retrieveUser(id);
      Example Response:
       SCIMUser user = scimResponse.getUser();
       System.out.println("\tName: " + user.getName().getGivenName() + " " + user.getName().getFamilyName() );
       System.out.println("\tDisplay Name: " + user.getDisplayName());
       System.out.println("\tUser Name: " + user.getUserName());
      
       for(SCIMUser.Email email : user.getEmails()){
         System.out.println("\t" + email.getType() + "Email: " + email.getValue());
       }
    • retrieveCurrentUser

      public SCIMUserResponse retrieveCurrentUser()
      Retrieve Current User with SCIM
      Retrieve the currently authenticated user with SCIM.
      Returns:
      SCIMUserResponse.Resource
      Vault API Endpoint:
       GET /api/{version}/scim/v2/Me
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-current-user-with-scim
      Example Request:
       SCIMUserResponse scimResponse = vaultClient.newRequest(SCIMRequest.class)
                       //.setAttributes("username,emails")
                       //.setExcludedAttributes("username,emails")
                       .retrieveCurrentUser();
      Example Response:
       SCIMUser user = scimResponse.getUser();
       System.out.println("\tName: " + user.getName().getGivenName() + " " + user.getName().getFamilyName() );
       System.out.println("\tDisplay Name: " + user.getDisplayName());
       System.out.println("\tUser Name: " + user.getUserName());
      
       for(SCIMUser.Email email : user.getEmails()){
         System.out.println("\t" + email.getType() + "Email: " + email.getValue());
       }
    • updateCurrentUser

      public SCIMUserResponse updateCurrentUser()
      Update Current SCIM User
      Update the currently authenticated user with SCIM.
      Returns:
      SCIMUserResponse.Resource
      Vault API Endpoint:
       PUT /api/{version}/scim/v2/Me
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#update-current-user-with-scim
      Example Request:
       SCIMUserResponse scimResponse = vaultClient.newRequest(SCIMRequest.class)
                       //.setAttributes("username,emails")
                       //.setExcludedAttributes("username,emails")
                       .setSCIMUser(scimUser)
                       .updateCurrentUser();
      Example Response:
       SCIMUser user = scimResponse.getUser();
       System.out.println("\tName: " + user.getName().getGivenName() + " " + user.getName().getFamilyName() );
       System.out.println("\tDisplay Name: " + user.getDisplayName());
       System.out.println("\tUser Name: " + user.getUserName());
      
       for(SCIMUser.Email emailresp : user.getEmails()){
         System.out.println("\t" + emailresp.getType() + "Email: " + emailresp.getValue());
       }
    • retrieveSingleSCIMResource

      public SCIMResponse retrieveSingleSCIMResource(String type, String id)
      Retrieve Single SCIM Resources
      Retrieve a single SCIM resource.
      Parameters:
      type - type of resource
      id - id of resource
      Returns:
      SCIMUserResponse.Resource
      Vault API Endpoint:
       GET /api/{version}/scim/v2/{type}/{id}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-single-scim-resource
      Example Request:
       SCIMResponse scimResponse = vaultClient.newRequest(SCIMRequest.class)
                       .retrieveSingleSCIMResource(type, id);
      Example Response:
       System.out.println("Schemas: " + scimResponse.getSchemas());
       System.out.println("\tId: " + scimResponse.getId());
       System.out.println("\tDisplay Name: " + scimResponse.getDisplayName());
       System.out.println("\tActive: " + scimResponse.getActive());
       
    • retrieveSCIMResources

      public SCIMResponse retrieveSCIMResources(String type)
      Retrieve SCIM Resources
      Retrieve a single SCIM resource type. Defines the endpoints, the core schema URI which defines this resource, and any supported schema extensions.
      Parameters:
      type - type of resource
      Returns:
      SCIMUserResponse.Resource
      Vault API Endpoint:
       GET /api/{version}/scim/v2/{type}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-scim-resources
      Example Request:
       SCIMResponse scimResponse = vaultClient.newRequest(SCIMRequest.class)
                       //.setFilter("userName eq \"username@verteobiotech.com\"")
                       //.setAttributes("name,description")
                       .setExcludedAttributes("id,name")
                       //.setSortBy("name.familyName")
                       //.setSortOrder("descending")
                       //.setCount(3)
                       .retrieveSCIMResources(type);
      Example Response:
       System.out.println("Schemas: " + scimResponse.getSchemas());
       System.out.println("\tName: " + scimResponse.getName());
       System.out.println("\tDescription: " + scimResponse.getDescription());
       System.out.println("\tEndpoint: " + scimResponse.getEndpoint()); 
       
    • updateUser

      public SCIMUserResponse updateUser(String userId)
      Update SCIM User
      Update User with SCIM.
      Parameters:
      userId - id of user
      Returns:
      SCIMUserResponse.Resource
      Vault API Endpoint:
       PUT /api/{version}/scim/v2/Users/{id}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#update-current-user-with-scim
      Example Request:
       Example 1 - SCIM User
       SCIMUserResponse scimResponse = vaultClient.newRequest(SCIMRequest.class)
                       .setSCIMUser(scimUser)
                       .updateUser(id);
      ,
       Example 2 - JSON
       SCIMUserResponse scimResponse = vaultClient.newRequest(SCIMRequest.class)
                       .setSCIMUserJSON(jsonString)
                       .updateUser(id);
      Example Response:
      SCIMUser user = scimResponse.getUser();
       System.out.println("\tName: " + user.getName().getGivenName() + " " + user.getName().getFamilyName() );
       System.out.println("\tDisplay Name: " + user.getDisplayName());
       System.out.println("\tUser Name: " + user.getUserName());
      
       for(SCIMUser.Email email : user.getEmails()){
         System.out.println("\t" + email.getType() + "Email: " + email.getValue());
       }
    • setFilter

      public SCIMRequest setFilter(String filter)
      Set parameter for filtering SCIM user retrieval results

      Parameters:
      filter - the filter to apply to retrieve users
      Returns:
      SCIMRequest
    • setAttributes

      public SCIMRequest setAttributes(String attributes)
      Set parameter for attributes to retrieve for SCIM users

      Parameters:
      attributes - the attributes to include in retrieving SCIM users
      Returns:
      SCIMRequest
    • setExcludedAttributes

      public SCIMRequest setExcludedAttributes(String excludedAttributes)
      Set parameter for attributes to exclude from SCIM user retrieval

      Parameters:
      excludedAttributes - the attributes to exclude in retrieving SCIM users
      Returns:
      SCIMRequest
    • setSortBy

      public SCIMRequest setSortBy(String sortBy)
      Set parameter for sorting to retrieve for SCIM users

      Parameters:
      sortBy - the sort parameter to include in retrieving SCIM users
      Returns:
      SCIMRequest
    • setSortOrder

      public SCIMRequest setSortOrder(String sortOrder)
      Set parameter for order of sorting to retrieve for SCIM users

      Parameters:
      sortOrder - the order to sort retrieved SCIM users
      Returns:
      SCIMRequest
    • setCount

      public SCIMRequest setCount(Integer count)
      Set parameter for count of retrieved SCIM users

      Parameters:
      count - the count of users to retrieve
      Returns:
      SCIMRequest
    • setStartIndex

      public SCIMRequest setStartIndex(Integer startIndex)
      Set parameter for start index of retrieved SCIM users

      Parameters:
      startIndex - the starting index of users to retrieve
      Returns:
      SCIMRequest
    • setSCIMUser

      public SCIMRequest setSCIMUser(SCIMUser scimUser)
      Set parameter for SCIM User Object for creating or updating SCIM Users

      Parameters:
      scimUser - SCIM User defining a new or updated user
      Returns:
      SCIMRequest
    • setSCIMUserJSON

      public SCIMRequest setSCIMUserJSON(String scimUserJSON)
      Set parameter for SCIM User Json for creating or updating SCIM Users

      Parameters:
      scimUserJSON - json definining a SCIM User
      Returns:
      SCIMRequest