Class PicklistRequest

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

public class PicklistRequest extends VaultRequest<PicklistRequest>
Picklist requests, including retrieval of Picklist meta-data
Vault API Coverage:
https://developer.veevavault.com/api/25.1/#picklists
  • Method Details

    • retrieveAllPicklists

      public PicklistResponse retrieveAllPicklists()
      Retrieve All Picklists
      Get a list of all metadata components and their properties. Note that the Vault API returns only the active picklist values. Reference "metadata" endpoint for inactive picklists.
      Returns:
      PicklistResponse
      Vault API Endpoint:
       GET /api/{version}/objects/picklists
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-all-picklists
      Example Request:
       PicklistResponse resp = vaultClient.newRequest(PicklistRequest.class).retrieveAllPicklists();
      Example Response:
       for (PicklistResponse.Picklist : resp.getPicklists()) {
         System.out.println("\n" + plist.getName());
         System.out.println(plist.getLabel());
         System.out.println(plist.getKind());
      
         if (plist.getUsedIn() != null) {
           for (PicklistResponse.Picklist.UsedIn ui : plist.getUsedIn())
             System.out.println("Used In " + ui.getObjectName() + " " + ui.getPropertyName());
         }
       }
    • retrievePicklistValues

      public PicklistValueResponse retrievePicklistValues(String picklistName)
      Retrieve Picklist Values
      Retrieve picklist values for a single picklist. Note that the Vault API returns only the active picklist values. Reference "metadata" endpoint for inactive picklists.
      Parameters:
      picklistName - The picklist name to retrieve
      Returns:
      PicklistValueResponse
      Vault API Endpoint:
       GET /api/{version}/objects/picklists/{picklist_name}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-picklist-values
      Example Request:
       PicklistValueResponse resp = vaultClient.newRequest(PicklistRequest.class).retrievePicklistValues(picklistName);
      Example Response:
       for (PicklistValueResponse.PicklistValue value : resp.getPicklistValues())
         System.out.println(value.getName() + " = " + value.getLabel());
       }
    • createPicklistValues

      public PicklistValueResponse createPicklistValues(String picklistName, List<String> picklists)
      Create Picklist Values
      Parameters:
      picklistName - The picklist name field value
      picklists - List of picklist values (list is used for ordering)
      Returns:
      PicklistValueResponse
      Vault API Endpoint:
       POST /api/{version}/objects/picklists/{picklist_name}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#create-picklist-values
      Example Request:
       PicklistValueResponse resp = vaultClient.newRequest(PicklistRequest.class).createPicklistValues(picklistName, newPicklistValues);
      Example Response:
      System.out.println(resp.getResponseStatus());
       System.out.println(resp.getResponse());
       
    • updatePicklistValueLabel

      public PicklistValueResponse updatePicklistValueLabel(String picklistName, Map<String,String> mapPicklists)
      Change a picklist value label (only)
      Use caution when editing picklist labels or names. When these attributes are changed, they affect all existing document and object metadata that refer to the picklist. For users in the UI who are accustomed to seeing a particular selection, the changes may cause confusion. This may also break existing integrations that access picklist values via the API.
      Parameters:
      picklistName - The picklist name field value
      mapPicklists - Map of new picklist values
      Returns:
      PicklistValueResponse
      Vault API Endpoint:
       PUT /api/{version}/objects/picklists/{picklist_name}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#update-picklist-value-label
      Example Request:
       PicklistValueResponse resp = vaultClient.newRequest(PicklistRequest.class).updatePicklistValueLabel(picklistName, newPicklistValues);
      Example Response:
      System.out.println(resp.getResponseStatus());
       System.out.println(resp.getResponse());
       
    • updatePicklistValue

      public VaultResponse updatePicklistValue(String picklistName, String picklistValueName, String newName)
      Update Picklist Value - Name
      Change a picklist value name. Use caution when editing picklist value names. When you change a picklist value name, it may affect existing document and object metadata that refer to the picklist. This may also break existing integrations that access picklist values via the API.
      Parameters:
      picklistName - The picklist name field value (license_type__v, product_family__c, region__c, etc.)
      picklistValueName - The picklist value name field value (north_america__c, south_america__c, etc.)
      newName - The new name for a picklist value. This does not affect the label. Vault adds __c after processing. Special characters and double underscores __ are not allowed.
      Returns:
      VaultResponse for ResponseStatus SUCCESS/FAILURE
      Vault API Endpoint:
       PUT /api/{version}/objects/picklists/{picklist_name}/{picklist_value_name}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#update-picklist-value
      Example Request:
       VaultResponse resp = vaultClient.newRequest(PicklistRequest.class).updatePicklistValue(picklistName, picklistValueName, status);
      Example Response:
      System.out.println(resp.getResponseStatus());
       System.out.println(resp.getResponse());
       
    • updatePicklistValue

      public VaultResponse updatePicklistValue(String picklistName, String picklistValueName, boolean status)
      Update Picklist Value - Status
      Change a picklist value status. Use caution when editing picklist value names. When you change a picklist value name, it may affect existing document and object metadata that refer to the picklist. This may also break existing integrations that access picklist values via the API.
      Parameters:
      picklistName - The picklist name field value (license_type__v, product_family__c, region__c, etc.)
      picklistValueName - The picklist value name field value (north_america__c, south_america__c, etc.)
      status - The new status for a picklist value. True for active, False for inactive.
      Returns:
      VaultResponse for ResponseStatus SUCCESS/FAILURE
      Vault API Endpoint:
       PUT /api/{version}/objects/picklists/{picklist_name}/{picklist_value_name}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#update-picklist-value
      Example Request:
       VaultResponse resp = vaultClient.newRequest(PicklistRequest.class).updatePicklistValue(picklistName, picklistValueName, newName);
      Example Response:
      System.out.println(resp.getResponseStatus());
       System.out.println(resp.getResponse());
       
    • inactivatePicklistValue

      public VaultResponse inactivatePicklistValue(String picklistName, String picklistValueName)
      Inactivate Picklist Value
      If you need to inactivate a picklist value, it is best practice to use Update Picklist Value.
      Parameters:
      picklistName - The picklist name field value (license_type__v, product_family__c, region__c, etc.)
      picklistValueName - The picklist value name field value (north_america__c, south_america__c, etc.)
      Returns:
      VaultResponse for ResponseStatus SUCCESS/FAILURE
      Vault API Endpoint:
       DELETE /api/{version}/objects/picklists/{picklist_name}/{picklist_value_name}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#inactivate-picklist-value
      Example Request:
       VaultResponse resp = vaultClient.newRequest(PicklistRequest.class).inactivatePicklistValue(picklistName, picklistValueName);
      Example Response:
      System.out.println(resp.getResponseStatus());
       System.out.println(resp.getResponse());