# mulesoft Veeva Vault Connector - Full Documentation --- product: Veeva Vault Connector version: 1.5 is-latest-version: true --- # Using Anypoint Studio to Configure Veeva Vault Connector 1.5 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Studio (Studio) editors help you design and update your Mule applications, properties, and configuration files. To add and configure a connector in Studio: 1. [Create a Mule project](#create-mule-project). 2. [Add the connector to your Mule project](#add-connector-to-project). 3. [Configure a source for the connector’s flow](#configure-source). 4. [Add a connector operation to the flow](#add-connector-operation). 5. [Configure a global element for the connector](#configure-global-element). When you run the connector, you can view the app log to check for problems in real time, as described in [View the App Log](#view-app-log). If you are new to configuring connectors in Studio, see [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio). If, after reading this topic, you need additional information about the connector fields, see the [Veeva Vault Reference](https://docs.mulesoft.com/veevavault-connector/latest/veevavault-connector-reference). ## Create a Mule Project In Studio, create a new Mule project in which to add and configure the connector: 1. In Studio, select **File > New > Mule Project**. 2. Enter a name for your Mule project and click **Finish**. ## Add the Connector to Your Mule Project Add Veeva Vault Connector to your Mule project to automatically populate the XML code with the connector’s namespace and schema location and add the required dependencies to the project’s `pom.xml` file: 1. In **Mule Palette**, click **(X) Search in Exchange**. 2. In **Add Dependencies to Project**, type `veeva vault` in the search field. 3. Click Veeva Vault in **Available modules**. 4. Click **Add**. 5. Click **Finish**. Adding a connector to a Mule project in Studio does not make that connector available to other projects in your Studio workspace. ## Configure a Source A source initiates a flow when a specified condition is met. You can configure one of these sources to use with Veeva Vault Connector: - HTTP Listener Initiates a flow each time it receives a request on the configured host and port - Scheduler Initiates a flow when a time-based condition is met For example, to configure an HTTP Listener source, follow these steps: 1. In **Mule Palette**, select **HTTP > Listener**. 2. Drag **Listener** to the Studio canvas. 3. On the **Listener** configuration screen, optionally change the value of the **Display Name** field. 4. Specify a value for the **Path** field. 5. Click the plus sign (**+**) next to the **Connector configuration** field to configure a global element that can be used by all instances of the HTTP Listener source in the app. 6. On the **General** tab, specify connection information for the connector. 7. On the **TLS** tab, optionally specify the TLS information for the connector. 8. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 9. Click **Test Connection** to confirm that Mule can connect with the specified server. 10. Click **OK**. ## Add a Connector Operation to the Flow When you add a connector operation to your flow, you are specifying an action for that connector to perform. To add an operation for Veeva Vault Connector, follow these steps: 1. In **Mule Palette**, select **Veeva Vault** and then select the desired operation. 2. Drag the operation onto the Studio canvas, next to the input source. ## Configure a Global Element for the Connector When you configure a connector, configure a global element that all instances of that connector in the app can use. Configuring a global element requires you to provide the authentication credentials that the connector requires to access the target Veeva Vault system. Veeva Vault Connector supports Basic authentication. To configure the global element for Veeva Vault Connector, follow these steps: 1. Select the operation in the Studio canvas. 2. In the **General** configuration screen for the operation, click the **Add** icon to access the global element configuration fields. 3. In the **General** tab, in **Connection**, select the authentication method to configure: - [Basic Connection](#basic_auth) - [OAuth 2.0 / Open ID Connection Provider](#oauth2-oidc-connection) You can reference a configuration file that contains ANT-style property placeholders (recommended), or you can enter your authorization credentials in the global configuration properties. For information about the benefits of using property placeholders and how to configure them, see [Anypoint Connector Configuration](https://docs.mulesoft.com/connectors/introduction/intro-connector-configuration-overview). 4. In the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy. 5. Click **Test Connection** to confirm that Mule can connect with the specified server. 6. Click **OK**. ### Basic Connection Enter the following information in the **General** tab of the **Global Element Properties** screen to configure Basic authentication:
FieldDescription

Name

Configuration name

Vault URL

URL of the Veeva Vault instance required for the connection

Username

Username used to initialize the session

Password

Password used to authenticate the user

Client Id

Client ID to send with each request header to the Veeva Vault instance for tracking purposes, in the format {organization}-{company/team}.

The client ID has the prefix mulesoft and the suffix client-vaultconnector, for example, mulesoft-abcpharma-clinicalprod-client-vaultconnector.

The following image shows an example of configuring the **General** tab for Basic authentication: ![Authentication fields completed in the General tab for Basic authentication](/mulesoft/current/en-us/veevavault-connector/latest/_images/basic-auth.png) Enter the following information in the **Advanced** tab of the **Global Element Properties** screen to configure the burst API limit for Basic authentication:
FieldDescription

Response Timeout

Maximum amount of time, in milliseconds, that the connector waits for the Veeva Vault response. If the maximum amount of time is exceeded, a timeout exception is thrown. The default is 30,000 milliseconds (30 seconds).

Burst API Limit Profile

Burst API limit profile configuration to act upon if the specified burst API limit of the Veeva Vault API reaches or exceeds the configured threshold.

If Burst API limit config is enabled (default), then the connector evaluates the Veeva Vault API’s response header (X-VaultAPI-BurstLimitRemaining) value against the specified API Limit Threshold value. If the remaining burst API limit reaches or exceeds the specified API Limit Threshold value, the connector waits for the specified amount of time to restart the count of Burst Limit Remaining.

The following example shows an application log with a warning message at 2019-06-06 10:34:45,096, halting the process for five minutes, as shown in the next message at 2019-06-06 10:39:45,098:

WARN 2019-06-06 10:34:45,096 [[MuleRuntime].io.27: [veevavault-connector-demo].get-documents-operationFlow.BLOCKING @2dd2ffaf] [event: 99716950-8818-11e9-90e2-d61515f42856] org.mule.extension.veevavault.internal.service.HttpRequestService: Burst API Limit remaining calls [1997] has exceeded/reached an API Limit Profile threshold set as [1997]. As per API Limit Profile, Veeva Vault Connector will wait for [5] MINUTES.

WARN 2019-06-06 10:39:45,098 [[MuleRuntime].io.27: [veevavault-connector-demo].get-documents-operationFlow.BLOCKING @2dd2ffaf] [event: 99716950-8818-11e9-90e2-d61515f42856] org.mule.extension.veevavault.internal.operations.VeevaVaultOperations: Properties or Fields is not available for api [/api/v18.2/metadata/objects/documents/types/site_management__c] , will use input list [[name__v, type__v, subtype__v, classification__v, lifecycle__v, status__v, study__v, product__v, id]] if configured to build VQL query

INFO 2019-06-06 10:39:45,098 [[MuleRuntime].io.27:
[veevavault-connector-demo].get-documents-operationFlow.BLOCKING @2dd2ffaf] [event:
99716950-8818-11e9-90e2-d61515f42856]
org.mule.extension.veevavault.internal.pagination.GetDocumentsPagingProvider: Query Build :: SELECT
name__v, type__v, subtype__v, classification__v, lifecycle__v, status__v, study__v, product__v, id
FROM documents WHERE name__v= 'F22611234--6764'

INFO 2019-06-06 10:39:46,024 [[MuleRuntime].io.27:
[veevavault-connector-demo].get-documents-operationFlow.BLOCKING @2dd2ffaf] [event:
99716950-8818-11e9-90e2-d61515f42856]
org.mule.extension.veevavault.internal.service.HttpRequestService: Response received for sync http
request ::
'https://[vault-domain]/api/v18.2/query?q=SELECT+name__v%2C+type__v%2C+subtype__v%2C+classification__v%2C+lifecycle__v%2C+status__v%2C+study__v%2C+product__v%2C+id+FROM+documents+WHERE+name__v%3D+%27F22611234--6764%27++LIMIT+1000+OFFSET+0'
in 925 milliseconds.

API Limit Threshold

Veeva Vault API limit threshold for Burst API Limit Profile. When the specified limit is reached or exceeded, the connector waits for the specified amount of time. The default is 200.

Wait Time

Amount of time that the connector waits if the API Limit Threshold is reached or exceeded. The default is 5.

Time Unit

Time unit for the wait time. The default is MINUTES.

Daily API Limit Profile

Daily API limit exceed profile configuration to use if the daily API limit of the Veeva Vault API reaches or exceeds the configured threshold. The daily limit is the total number of API calls within any 24-hour window.

The following example shows an application log with a warning message at 2019-06-06 10:47:31,698 and an error message at 2019-06-06 10:47:31,699:

WARN 2019-06-06
10:47:31,698 [[MuleRuntime].io.44: [veevavault-connector-demo].get-documents-operationFlow.BLOCKING
@108e7f43] [event: 624cfa50-881a-11e9-90e2-d61515f42856]
org.mule.extension.veevavault.internal.service.HttpRequestService: Veeva Daily API Limit remaining
calls [10000] has exceeded/reached an Daily API Limit Profile threshold set as [10000]. As per API
Limit Profile, Veeva Vault Connector will throw an exception.

ERROR 2019-06-06 10:47:31,699 [[MuleRuntime].io.44:
[veevavault-connector-demo].get-documents-operationFlow.BLOCKING @108e7f43] [event:
624cfa50-881a-11e9-90e2-d61515f42856]
org.mule.extension.veevavault.internal.service.HttpRequestService: Exception caught while processing
Sync request ::: https://xxxxx-xxxxx.veevavault.com/api/v20.1/metadata/vobjects/site__v, Exception
::: \{"responseStatus":"FAILURE","errors":[\{"type":"API_LIMIT_EXCEED","message":"The Veeva Vault
Connector has reached/exceeded daily API limit remaining calls [10000]. The configured daily api
limit threshold is \(10000\)"}\]}

ERROR 2019-06-06 10:47:31,767 [[MuleRuntime].io.44:
[veevavault-connector-demo].get-documents-operationFlow.BLOCKING @108e7f43] [event:
624cfa50-881a-11e9-90e2-d61515f42856]
org.mule.runtime.core.internal.exception.OnErrorPropagateHandler:

---

Message : An error occurred from the Veeva Vault API. Error Code: API_LIMIT_EXCEED. Original Error
Message: The Veeva Vault Connector has reached/exceeded daily API limit remaining calls [10000]. The
configured daily api limit threshold is (10000). Error type : VEEVAVAULT:API_LIMIT_EXCEED

**********************************************************************************

API Limit Threshold

Veeva Vault API limit threshold for Daily API Limit Profile. When the specified limit is reached or exceeded, the connector waits for the specified amount of time. The default is 10000.

The following image shows an example of configuring the **Advanced** tab for Basic authentication: ![Authentication fields completed in the Advanced tab for Basic authentication](/mulesoft/current/en-us/veevavault-connector/latest/_images/basic-auth-adv.png) ### OAuth 2.0 / Open ID Connection Provider Use OAuth 2.0 to delegate user authentication to the service hosting the user account. For more information, refer to [Configuring OAuth 2.0 for Connectors](https://docs.mulesoft.com/connectors/introduction/intro-config-oauth2), [Configuring OAuth 2.0 for Connectors on CloudHub](https://docs.mulesoft.com/connectors/introduction/intro-config-oauth2-cloudhub), or [OAuth Support in the SDK](https://docs.mulesoft.com/mule-sdk/latest/oauth). Veeva Vault supports several OAuth providers, such as Azure AD, Ping Federate, and any other provider that supports OIDC (OpenID Connect). > [!NOTE] Currently, Okta and any other providers that require PKCE are not supported. Configure the OAuth provider for Veeva Vault Connector. The following steps show how to configure the Veeva service to communicate with the OAuth provider: 1. In the Veeva Vault Admin panel, navigate to the **Settings** tab. 2. In **Domain Settings**, select **OAuth 2.0 / OpenID Connect Profiles**. 3. Click **Create**. 4. Configure your profile. Enter values for **Label** and **Name**, set **Status** to `Active`, and set **Authorization Server Provider** to the provider you are using, or select `Other` if your provider is not in the list. You can also uncheck the **Perform strict Audience Restriction validation** checkbox. 5. Enter information for **AS Metadata**. All OpenID Connect providers have a URL ending with `/.well-known/openid-configuration`, which contains this metadata. For example: - Okta: `https://{OKTA_INSTANCE}.okta.com/.well-known/openid-configuration` - Azure: `https://login.microsoftonline.com/{TENANT}/v2.0/.well-known/openid-configuration` - PingFederate: `https://{YOUR_INSTANCE}/.well-known/openid-configuration` Use this metadata to configure **AS Metadata** by clicking the **Upload AS Metadata** button and selecting the **Provide Authorization Server Metadata URL** option. This enables you to paste the above URL into **AS Metadata**. ![OAuth 2.0/OpenID Connect Profile configuration window with completed fields from the steps above](/mulesoft/current/en-us/veevavault-connector/latest/_images/oauth-veeva-config-profile.png) 6. Click **Save**. Now, you can see the created profile. ![Vault Session ID URL and AS Metadata URL fields in a new window after creating the profile](/mulesoft/current/en-us/veevavault-connector/latest/_images/oauth-veeva-config-session-id.png) Note down the **Vault Session ID URL** for further use when you configure the connector. To fully configure Veeva with OpenID, you must provision users to use this new profile. Refer to the [Provision Users to Use SSO](https://platform.veevavault.help/en/gr/13977/) for more information. Now, you can configure Veeva Vault Connector with OAuth 2.0. Enter the following information in the **General** tab of the **Global Element Properties** screen to configure OAuth 2.0 / Open ID connection:
FieldDescription

Name

Configuration name

Vault URL

Veeva Vault instance URL required for connection.

Version

Version for the Veeva Vault instance required.

Client Id

Client ID required to send with each request header to the Vault instance.

OIDC Profile ID

OIDC profile ID generated by Veeva when creating a new OIDC profile. To configure the OIDC profile ID, use the ID in your OIDC profile in Veeva. Your OIDC profile contains a Vault Session ID URL, for example, https://login.veevavault.com/auth/oauth/session/_00000000-aaaa-bbbb-cccc-111111111111, in which _00000000-aaaa-bbbb-cccc-111111111111 is the OIDC profile ID. Use this value for the OIDC Profile ID field.

Consumer Key

OAuth consumer key, as registered with the service provider. This is your IdP client ID, assuming you already have a client application registration created at the ID provider of your choice, for example, PoneOne or PingFederate.

Consumer Secret

OAuth consumer secret, as registered with the service provider. This is your IdP client secret, assuming you already have a client application registration created at the ID provider of your choice, for example, PoneOne or PingFederate.

Authorization Url

OAuth 2.0 authorization URL, such as https://{your-instance}/as/authorization.oauth2 for PingFederate.

Access Token Url

OAuth 2.0 token URL, such as https://{your-instance}/as/token.oauth2.

Scopes

You can set up your OAuth 2.0 scopes as necessary, but the important ones openid and offline_access are already pre-filled.

Resource Owner Id

Depending on your IdP configuration, you can leave it blank.

Listener Config

Create a new HTTP Listener or use an existing one if you have one, for example, http://localhost:8081/.

Callback Path

Callback path of your application. If you set it to callback, your full callback path is http://localhost:8081/callback. Do not forget to add your callback path to the IdP’s redirect URLs.

Authorize Path

Authorize path. You will navigate to this path when starting the OAuth 2.0 dance, for example, authorize means the full path is http://localhost:8081/authorize.

External Callback Url

You can set this directly to http://localhost:8081/callback.

Here is the XML for the OAuth 2.0 configuration for Veeva Vault Connector: ```xml ``` The above example uses the Salesforce authentication provider and requires you to create an `application.properties` file in your resources folder with this format: http.port = 8080 oauth2.callback\_uri = http://localhost:8080/callback veeva.instance = your-veeva-instance veeva.client.id = your-veeva-client-id veeva.oidc.profile = your-oidc-id azure.tenant = azure-tenant-id azure.appid = azure-app-id azure.client.id = azure-oauth-client-id azure.client.secret = azure-oauth-client-secret > [!NOTE] Azure AD is a special case in which you must set the scope as `{app_id}/.default`. With > other OAuth providers, you can use the predefined `openid offline_access` scopes unless other > scopes are required. ## View the App Log To check for problems, you can view the app log as follows: - If you’re running the app from Anypoint Platform, the app log output goes to the Anypoint Studio console window. - If you’re running the app using Mule from the command line, the app log output goes to your operating system console. Unless the log file path is customized in the app’s log file (`log4j2.xml`), you can also access the app log in the default location `MULE_HOME/logs/.log`. You can configure the location of the log path in the app log file `log4j2.xml`. ## Next Step See [Additional Configuration Information](https://docs.mulesoft.com/veevavault-connector/latest/veevavault-connector-config-topics) for more configuration steps. ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Using Anypoint Studio to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-studio) - [Veeva Vault Connector Reference](https://docs.mulesoft.com/veevavault-connector/latest/veevavault-connector-reference) - [Salesforce Help](https://help.salesforce.com) --- product: Veeva Vault Connector version: 1.5 is-latest-version: true --- # Veeva Vault Connector 1.5 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for Veeva Vault (Veeva Vault Connector) enables you to connect Mule flows to the Veeva Vault platform using the Veeva Vault REST API. Depending on the operations you configure, this connector works with the [Veeva Vault REST, bulk, and streaming APIs](https://developer.veevavault.com/api/19.1/#authentication). Each API call uses a JSON request or a CSV request and returns JSON input stream responses over an HTTPS connection. All required request headers, error handling, and HTTPS connection configurations are built into the connector. For information about compatibility and fixed issues, see the Veeva Vault Connector Release Notes. ## Before You Begin To use this connector, you must be familiar with: - Veeva Vault - [Vault Query Language (VQL)](https://developer.veevavault.com/vql/#introduction-to-vault-queries) - Anypoint Connectors - Mule runtime engine (Mule) - Elements and global elements in a Mule flow - How to create a Mule app using Anypoint Studio Before creating an app, you must have: - Credentials to access the Veeva Vault target resource - Anypoint Platform - Anypoint Studio or Anypoint Code Builder ## Common Use Cases for the Connector You can use Veeva Vault Connector in Mule applications as an outbound connector with CRUD (create, retrieve, update, delete), query, export, and Spark validator operations on the following Veeva Vault objects: - Documents Create, retrieve, update, delete, export - Document Renditions Create, retrieve, delete - Vault Object Create, retrieve, update, delete - Picklists Retrieve - Audit Trail Retrieve - Query Use a VQL query to query on documents, Vault objects, and workflows - Spark validator Validate and verify the Spark message with a signature that is triggered from Veeva Vault - Invoke Rest API Invoke [Veeva Vault Rest APIs](https://developer.veevavault.com/api/20.1/#documents) in which a specific connector operation does not already exist. To maintain [API rate limits](https://developer.veevavault.com/docs/#api-rate-limits), use bulk APIs instead of single APIs. ## Connection Types Veeva Vault connections use the Basic authentication type, which uses credentials to connect to a Veeva Vault instance and perform operations. For information about configuring authentication types, see [Configure a Global Element for the Connector](https://docs.mulesoft.com/veevavault-connector/latest/veevavault-connector-studio#configure-global-element). ## Exchange Templates and Examples [Anypoint Exchange](https://www.mulesoft.com/exchange/) provides templates that you can use as starting points for your apps, as well as examples that illustrate a complete solution. The following templates are available for Veeva Vault Connector: - [File System to Veeva Vault](https://anypoint.mulesoft.com/exchange/org.mule.examples/filesystem-to-veeva-vault-template/) - [Veeva Vault to File System](https://anypoint.mulesoft.com/exchange/org.mule.examples/veevavault-connector-project-templates/) - [Spark Message End-to-End Solution](https://anypoint.mulesoft.com/exchange/org.mule.examples/spark-message-solution-template/) ## Next Step After you complete the prerequisites, you are ready to create an app and configure the connector using [Anypoint Studio](https://docs.mulesoft.com/veevavault-connector/latest/veevavault-connector-studio). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Use Exchange to Discover Connectors, Templates, and Examples](https://docs.mulesoft.com/connectors/introduction/intro-use-exchange) - [Veeva Vault Connector Reference](https://docs.mulesoft.com/veevavault-connector/latest/veevavault-connector-reference) - [Salesforce Help](https://help.salesforce.com) --- product: Veeva Vault Connector version: 1.5 is-latest-version: true --- # Veeva Vault Connector 1.5 - XML and Maven Support > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Although you can manually code a Mule app in XML, it is more efficient to use Anypoint Studio: - If you manually code a Mule runtime engine (Mule) app in XML (either from the Anypoint Studio XML editor or from a text editor), you can access the connector from your app by adding reference statements to both your XML Mule flow and the Apache Maven `pom.xml` file. - If you add the connector in Anypoint Studio, Studio automatically populates the XML code with the connector’s namespace and schema location and adds a dependency to the `pom.xml` file. ## Add a Namespace for the Connector Paste the following code inside the `mule` tag of the header of your configuration XML: ```xml http://www.mulesoft.org/schema/mule/veevavault http://www.mulesoft.org/schema/mule/veevavault/current/mule-veevavault.xsd ``` This example shows how the namespace statements are placed in the XML: ```xml ``` ## Add a POM File Dependency The Apache Maven `pom.xml` file generated by Anypoint Studio contains dependencies for a Mule app. When you code a Mule app manually, include this XML snippet in your `pom.xml` file to enable access to this connector: ```xml org.mule.extension mule-veevavault-connector x.x.x mule-plugin ``` Replace `` with the version that corresponds to the connector you are using. To obtain the most up-to-date `pom.xml` file information: 1. Go to [Anypoint Exchange](https://www.mulesoft.com/exchange/). 2. In Exchange, click **Login** and supply your Anypoint Platform username and password. 3. In Exchange, search for `connector-template-files`. 4. Select the connector. 5. Click **Dependency Snippets** near the upper right of the screen. ## Next Step After completing your namespace and `pom.xml` file, you can try the [Examples](https://docs.mulesoft.com/veevavault-connector/latest/veevavault-connector-examples). ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: Veeva Vault Connector version: 1.5 is-latest-version: true --- # Veeva Vault Connector 1.5 Additional Configuration Information > For the full documentation index, see: https://docs.mulesoft.com/llms.txt ## Invoke Rest API The **Invoke Rest API** operation sends the Mule message payload as the request body. In addition to the request body, you can configure the following using a DataWeave script or expression: - [Headers](#headers) - [URI Parameters](#uri-parameters) - [Query Parameters](#query-parameters) ### Configure a Header 1. In Anypoint Studio, head to **General > Request > Query Parameters**. 2. Click the plus icon (+) to add headers to the request. For example, you can add header names `HeaderName1` and `HeaderName2`, and header values `HeaderValue1` and `HeaderValue2`, by using DataWeave expressions: #\[{'HeaderName1' : 'HeaderValue1', 'HeaderName2' : 'HeaderValue2'}\]. ### Configure a URI Parameter Configure a URI parameter when you want to use a placeholder, such as `/objects/documents/{doc_id}`, in the path of your request. 1. In Anypoint Studio, type a placeholder enclosed in curly brackets in the **Path** field. 2. Select **URI Parameters**. 3. Click the plus sign (+) to enter a name and value. ### Configure a Query Parameter 1. In Anypoint Studio, head to **General > Request > Query Parameters**. 2. Click the plus icon (+) to add a parameter to a request. Type a name and value for the parameter or use a DataWeave expression to define the name and value. #### Sending Form Parameters in a POST Request To send parameters in a POST request: 1. In **General > Request**, select the **POST** method. 2. In **Body**, construct the payload of the Mule message. 1. Enter the names and the values of the parameters to send, for example, for **application/x-www-form-urlencoded**: #\[output application/x-www-form-urlencoded --- {'key1':'value1', 'key2':'value2'}\] 2. In **multipart/form-data**, ensure that the **Content-Type** value contains a boundary attribute with the same value as the DataWeave output as shown, for example `multipart/form-data; boundary=abcdefg`. %dw 2.0 output multipart/form-data boundary='abcdefg' --- { parts: { file: { headers: { "Content-Disposition": { "name": "file", "filename": attributes.fileName }, "Content-Type": payload.^mimeType }, content : payload }, name\_\_v: { headers: { }, content: 'Test Document' }, type\_\_v: { headers: { }, content: 'Trial Management' }, subtype\_\_v: { headers: { }, content: 'Meetings' }, classification\_\_v: { headers: { }, content: 'Kick-off Meeting Material' }, lifecycle\_\_v: { headers: { }, content: 'Base Doc Lifecycle' }, study\_\_v: { headers: { }, content: '0ST000000000301' }, comments\_\_c: { headers: { }, content: 'Test Document' } } } ## Connector Operations SUCCESS and FAILURE Response Veeva Vault Connector operation responses are based on the Veeva Vault API success or failure responses with an error. The connector returns a `SUCCESS` response at `HIGH LEVEL` and `SUCCESS` or `FAILURE` at `LOW LEVEL`. This means the connector operation is successful but some document or object records failed to create or update due to some irrelevant metadata being passed in the request. ### Examples **SUCCESS with a SUCCESS response**: { "responseStatus": "SUCCESS", "data": \[{ "id": 239026, "name\_\_v": "E22611234--38483", "responseStatus": "SUCCESS" }, { "id": 239025, "name\_\_v": "Kick-off Meeting Material Updated12341234--81032", "responseStatus": "SUCCESS" } \] } **SUCCESS with a FAILURE response**: { "data": \[ { "external\_id\_\_v": "TEST-238924", "rendition\_type\_\_v": "imported\_rendition\_\_c", "id": 238924, "responseStatus": "FAILURE", "minor\_version\_number\_\_v": 1, "errors": \[ { "type": "INVALID\_DATA", "message": "Document not found \[238924/0/1\]." } \], "major\_version\_number\_\_v": 0 }, { "external\_id\_\_v": "TEST-238925", "rendition\_type\_\_v": "imported\_rendition\_\_c", "id": 238925, "responseStatus": "FAILURE", "minor\_version\_number\_\_v": 1, "errors": \[ { "type": "INVALID\_DATA", "message": "Document not found \[238925/0/1\]." } \], "major\_version\_number\_\_v": 0 } \], "responseStatus": "SUCCESS" } Veeva Vault Connector operations throw an exception when Veeva Vault APIs return a `FAILURE` response, for example: **FAILURE with an ERROR response** { "responseStatus": "FAILURE", "errors": \[ { "type": "INVALID\_DATA", "message": "Unknown relationship \[reviewer\_\_v\]" } \] } Upon receiving the `FAILURE` response from the Veeva Vault APIs, the connector operations throw an exception, which is caught in the **Error Handling** component within the Mule flow: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* Message : An error occurred from the Veeva Vault API. Error Code: INVALID\_DATA. Original Error Message: Unknown relationship \[reviewer\_\_v\]. Error type : VEEVAVAULT:INVALID\_DATA \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* The following error codes are caught in the **Error Handling** component: - VEEVAVAULT:API\_LIMIT\_EXCEEDED - VEEVAVAULT:ATTRIBUTE\_NOT\_SUPPORTED - VEEVAVAULT:INACTIVE\_USER - VEEVAVAULT:INVALID\_DATA - VEEVAVAULT:INVALID\_DOCUMENT - VEEVAVAULT:INSUFFICIENT\_ACCESS - VEEVAVAULT:MALFORMED\_URL - VEEVAVAULT:METHOD\_NOT\_SUPPORTED - VEEVAVAULT:NO\_PERMISSION - VEEVAVAULT:OPERATION\_NOT\_ALLOWED - VEEVAVAULT:PARAMETER\_REQUIRED ## Streaming and Pagination With the exception of **Download Document**, all connector operations return an input stream as a payload, with respective results based on operation output. Because of this, by default Mule applies streaming strategies. See [Mule Streaming Strategies](https://docs.mulesoft.com/mule-runtime/latest/streaming-about) for more details. The streaming strategies configuration fields are in the **Advanced** tab of the connector operations. ![Streaming strategy configuration fields](/mulesoft/current/en-us/veevavault-connector/latest/_images/veevavault-connector-streaming-pagination.png) The following operations in the connector provide a pagination mechanism based on Mule standard pagination. - **Get Documents** - **Get Object Records** - **Query** - **Get Audit Details** While using the paginated operations, make sure to include a `For-Each/Splitter` element to retrieve each object. The pagination operations have **Fetch Size** and **Batch Size** fields. - **Fetch Size** A limited number of records that can be retrieved in a single page. The operation returns the pages with the fetch size number of JSON object records. In some cases, Veeva APIs auto-calculate the fetch size (number of records on each page) based on record size and the calculation exceeds the standard record size. The operation returns calculated records on each page. - **Batch Size** The number of pages to return in each batch. Each page contains the fetch size number of records. The operation returns a number of records (metadata in JSON format) per batch, and is calculated like in the following example: Fetch Size set as \*1000\* Batch Size set as \*10\* If the total records in the vault are \*100,000\*, then: Number of pages = Total records/Fetch Size = 100000/1000 = 100 pages. Number of pages per batch = Number of pages/Batch Size = 100/10 = 10 pages per batch. Number of Records per batch = Number of pages per batch \* Fetch Size = 10 \* 1000 = 10,000 records. Therefore, the number of records returned per batch would be 10,000 records. The repeatable streams measure the buffer size in byte measurements. When handling objects, the runtime measures the buffer size using instance counts. In non-repeatable streams, connector operations return streams as the number of records per batch. Repeatable streams return all records at once, so when calculating the in-memory buffer size for repeatable auto-paging, you need to estimate how much memory space each instance takes to avoid running out of memory. ## Next Step After you complete configuring the connector, you can try the [Examples](https://docs.mulesoft.com/veevavault-connector/latest/veevavault-connector-examples). ## See Also - [Veeva Vault Connector Reference](https://docs.mulesoft.com/veevavault-connector/latest/veevavault-connector-reference) - [Salesforce Help](https://help.salesforce.com) --- product: Veeva Vault Connector version: 1.5 is-latest-version: true --- # Veeva Vault Connector 1.5 Examples > For the full documentation index, see: https://docs.mulesoft.com/llms.txt The following examples show how to configure the connector in Anypoint Studio: - [Create Documents in Veeva Vault](#create-documents-on-the-vault) - [Retrieve Document Details](#retrieve-document-details) - [Fetch Document or Object Data](#fetch-document-or-object-data) - [Validate a Spark Message](#validate-a-spark-message) - [Invoke the REST API to Create a Single Document](#invoke-rest-api) ## Create Documents in Veeva Vault This example creates documents in bulk with document metadata fetched from an external source (database). Before creating documents in Veeva Vault, the document files are uploaded using the Veeva Vault FTP server. The documents' `created` status is inserted in the database. The following screenshots show the Studio app flows for this example: ![Create Documents operation Mule flow](/mulesoft/current/en-us/veevavault-connector/latest/_images/veevavault-connector-create-documents-example.png) ![Upload Documents operation Mule flow](/mulesoft/current/en-us/veevavault-connector/latest/_images/veevavault-connector-upload-documents-example.png) ### Create the First Flow 1. From the **Mule Palette** view, select **HTTP** and drag the **Listener** source to the canvas. 2. Configure HTTP Listener for your environment. 3. From the **Mule Palette** view, select **Database** and drag the **Select** operation to the canvas to fetch document metadata from the table. 4. Configure Database Connector to use your connection credentials. 5. In the SQL Query Text field, enter `>SELECT * FROM createdocuments`. 6. From the **Mule Palette** view, select **Core** and drag the **Flow Reference** component to the canvas to reference the subflow `upload-files-on-vault-ftp-server`. 7. From the **Mule Palette** view, select **Core** and drag the **For Each** scope to the canvas containing the following elements: 1. From the **Mule Palette** view, select **Core** and drag the **Transform Message** component to the canvas to transform document metadata into CSV format. 2. From the **Mule Palette** view, select **Veeva Vault** and drag the **Create Documents** operation to the canvas. 3. Enter the following values for the Veeva Vault connection: - **Username** - **Password** - **Vault URL** - **Vault version** - **Vault client ID** 4. From the **Mule Palette** view, select **Database** and drag the **Bulk insert** operation to the canvas to insert the document created status data into the database table. 8. Configure Database Connector to use your connection credentials. 9. From the **Mule Palette** view, select **Core** and drag the **Logger** component to the canvas to log information in the console or log file. ### Create the Second Flow 1. From the **Mule Palette** view, select **Core** and drag the **Logger** component to the canvas to log information for this subflow. 2. From the **Mule Palette** view, select **Core** and drag the **For Each** scope to the canvas containing the following elements: 1. From the **Mule Palette** view, select **Core** and drag the **Logger** component to the canvas. 2. From the **Mule Palette** view, select **FTPS** and drag the **Read** operation to the canvas . 3. From the **Mule Palette** view, select **Core** and drag the **Logger** component to the canvas. 4. From the **Mule Palette** view, select **FTPS** and drag the **Write** operation to the canvas to write the file to the Veeva Vault FTP server. 3. From the **Mule Palette** view, select **Core** and drag another **Logger** component to the canvas. 4. Configure FTPS Connector to use the credentials for the Veeva Vault FTP server. ### XML for the Example Paste this code into your Studio XML editor to quickly load the two flows of this example into your Mule app: ```xml SELECT * FROM createdocuments { lifecycle__v: payload01.lifecycle__v, study__v: payload01.study__v, subtype__v: payload01.subtype__v, name__v: payload01.name__v ++ '--' ++ randomInt(10000) as String, type__v: payload01.type__v, classification__v: payload01.classification__v, product__v: payload01.product__v, file: payload01.file as String }]]> { 'id': $.id as String, 'external_id__v': $.external_id__v as String, 'responseStatus': $.responseStatus }]]]> INSERT into documents (id, external_id__v, responseStatus) VALUES (:id: external_id__v, :responseStatus) ``` ## Retrieve Document Details This example retrieves document details based on document type, subtype, and classification and then stores the document details in the database. The following screenshot shows the Studio app flow for this example: ![Get Documents operation Mule flow](/mulesoft/current/en-us/veevavault-connector/latest/_images/veevavault-connector-get-documents-example.png) 1. From the **Mule Palette** view, select **HTTP** and drag the **Listener** source to the canvas. 2. Configure HTTP Listener for your environment. 3. From the **Mule Palette** view, select **Veeva Vault** and drag the **Get Documents** operation to the canvas. 4. Enter the following values for the Veeva Vault connection: - **Username** - **Password** - **Vault URL** - **Vault version** - **Vault client ID** 5. Click the respective refresh button to fetch the document type, subtype, and classification list. 6. Select the document type, subtype, and classification from each of the respective drop-down lists. 7. Add the document properties in the Document Properties list for your business requirements to incorporate the properties name in the VQL query to build dynamically. 8. From the **Mule Palette** view, select **Core** and drag the **For Each** scope to the canvas containing the following elements: 1. From the **Mule Palette** view, select **Core** and drag the **Transform Message** component to the canvas. 2. From the **Mule Palette** view, select **Database** and drag the **Insert** operation to the canvas. 3. Configure the Database Connector configuration with your connection credentials. 9. Using DataWeave, configure the transformation according to your business requirements. 10. Configure the **Insert** operation to insert data into table. 11. From the **Mule Palette** view, select **Core** and drag the **Set Payload** transformer to the canvas to set a payload to return to the triggered source. 12. From the **Mule Palette** view, select **Core** and drag the **Logger** component to the canvas to log information in the console or log file. ### XML for the Example Paste this code into your Studio XML editor to quickly load the flow for this example into your Mule app: ```xml INSERT INTO [.underline]#createdocuments# (name__v, type__v, subtype__v, classification__v, lifecycle__v, product__v, status__v, study__v, file) VALUES (:name__v, :type__v, :subtype__v, :classification__v, :lifecycle__v, :product__v, :status__v, :study__v, :file) ``` ## Fetch Document or Object Data This example uses a VQL query to fetch document or object data from Veeva Vault. The following screenshot shows the Studio app flow for this example: ![Query operation Mule flow](/mulesoft/current/en-us/veevavault-connector/latest/_images/veevavault-connector-query-example.png) 1. From the **Mule Palette** view, select **HTTP** and drag the **Listener** source to the canvas. 2. Configure HTTP Listener for your environment. 3. From the **Mule Palette** view, select **Veeva Vault** and drag the **Query** operation to the canvas. 4. Enter the following values for the Veeva Vault connection: - **Username** - **Password** - **Vault URL** - **Vault version** - **Vault client ID** 5. Define the VQL query according to your business requirement. 6. Add an input placeholder if used in the VQL query to incorporate dynamically with VQL at runtime. 7. From the **Mule Palette** view, select **Core** and drag the **For Each** scope to the canvas containing the following elements: 1. From the **Mule Palette** view, select **Core** and drag the **Transform Message** component to the canvas. 2. From the **Mule Palette** view, select **File** and drag the **Write** operation to the canvas. 8. Configure the transformation according to your business requirements using DataWeave. 9. Configure the File Connector configuration with the working file path. 10. Configure the **Write** operation to write payload data into the specified file. 11. From the **Mule Palette** view, select **Core** and drag the **Set Payload** transformer to the canvas to set a payload to return to the triggered source. 12. From the **Mule Palette** view, select **Core** and drag the **Logger** component to the canvas to log information in the console or log file. ### XML for the Example Paste this code into your Studio XML editor to quickly load the flow for this example into your Mule app: ```xml SELECT id, name__v, type__v, subtype__v, classification__v, lifecycle__v, status__v, study__v, product__v from :table WHERE name__v= 'F22611234--6764' ``` ## Validate a Spark Message This example triggers a Spark message from Veeva Vault and validates the Spark message. The following screenshot shows the Studio app flow for this example: ![Spark Validator operation Mule flow](/mulesoft/current/en-us/veevavault-connector/latest/_images/veevavault-connector-spark-validator-example.png) 1. From the **Mule Palette** view, select **HTTP** and drag the **Listener** source to the canvas. 2. The JKS certificate for HTTP Connector requires the `.jks` file for HTTP Listener to receive Spark messages over a TLS connection with Veeva Vault. The following steps show how to create a `.jks` file using the Java Keytool located under the `/bin` directory: 3. Run the following command from the `/bin` directory: \`keytool -genkey -keyalg RSA -alias mule -keystore spark-listener.jks -storepass password -validity 360 -keysize 2048\` This creates a \`spark-listener.jks\` file in the current directory. 4. Copy and import the `spark-listener.jks` file from the `src/main/resources` project directory. 5. Configure HTTP Listener as follows: 1. In the **General** tab, configure the following: - Protocol: HTTPS - Host: 0.0.0.0 - Port: 8082 2. In the **TLS** tab, configure the following: - Type: JKS - Path: spark-listener.jks - Alias: mule - Key Password: password - Password: password 6. From the **Mule Palette** view, select **Veeva Vault** and drag the **Spark Validator** operation to the canvas. 7. Enter the following values for the Veeva Vault connection: - **Username** - **Password** - **Vault URL** - **Vault version** - **Vault client ID** 8. Configure the **Spark Validator** parameters as follows: - Include Spark Header: `FALSE` - Public Key Path: `${file.keyPath}` Define the `file.keyPath` property in the `configuration.yaml` with the path to where the public key file (00001.pem) is stored. - Spark Headers: `#[attributes.headers]` - Spark Message: `#[payload]` 9. From the **Mule Palette** view, select **Core**, drag the **Set Payload** operation to the canvas, and define the following in the **Value** field: \---- output application/json --- { "payload" : payload, "attributes": attributes } ---- 10. From the **Mule Palette** view, select **Core** and drag the **Logger** component to the canvas to log the payload with the following message: Spark Message :: #\[payload\] ### XML for the Example Paste this code into your Studio XML editor to quickly load the flow for this example into your Mule app: ```xml ``` ## Invoke the REST API to Create a Single Document This example invokes the REST API to create a single document. The following screenshot shows the Studio app flow for this example: ![Invoke REST API operation Mule flow](/mulesoft/current/en-us/veevavault-connector/latest/_images/veevavault-connector-invoke-rest-api-example.png) > [!NOTE] You must configure the parameters according to your requirements to invoke the Veeva Vault > REST API. 1. From the **Mule Palette** view, select **HTTP** and drag the **Listener** source to the canvas. 2. Configure HTTP Listener for your environment. 3. From the **Mule Palette** view, select **File** and drag the **Read** operation to the canvas and configure the file path to read from the file content that is associated with Veeva Vault document. 4. From the **Mule Palette** view, select **Veeva Vault** and drag the **Invoke REST API** operation to the canvas. 5. Enter the following values for the Veeva Vault connection: - **Username** - **Password** - **Vault URL** - **Vault version** - **Vault client ID** 6. Configure the POST request: Method: POST, Path: "/objects/documents", Headers: Key: "Accept" Value: "application/json" Key: "Content-Type" Value: "multipart/form-data; boundary=abcdefg" URI Parameters: Leave it empty. Query Parameters: Leave it empty. %dw 2.0 output multipart/form-data boundary='abcdefg' --- { parts: { file: { headers: { "Content-Disposition": { "name": "file", "filename": attributes.fileName }, "Content-Type": payload.^mimeType }, content : payload }, name\_\_v: { headers: { }, content: 'Test Document' }, type\_\_v: { headers: { }, content: 'Trial Management' }, subtype\_\_v: { headers: { }, content: 'Meetings' }, classification\_\_v: { headers: { }, content: 'Kick-off Meeting Material' }, lifecycle\_\_v: { headers: { }, content: 'Base Doc Lifecycle' }, study\_\_v: { headers: { }, content: '0ST000000000301' }, comments\_\_c: { headers: { }, content: 'Test Document' } } } 7. Configure the PUT request: Method: PUT, Path: "/objects/documents/{doc\_id}", Headers: Key: "Accept" Value: "application/json" Key: "Content-Type" Value: "application/x-www-form-urlencoded" URI Parameters: Key: "doc\_id" Value: "259592" Query Parameters: Leave it empty. %dw 2.0 output application/x-www-form-urlencoded --- { "id": "259592", "name\_\_v": "Kick-off Meeting Material Updated", "product\_\_v": "00P000000000403", "study\_\_v": "0ST000000000202", "notes\_\_v": "Notes Updated" } 8. From the **Mule Palette** view, select **Core** and drag the **Logger** component to the canvas to log the payload with the following message: Invoke Veeva API response :: #\[payload\] ### XML for the Example Paste this code into your Studio XML editor to quickly load the flow for this example into your Mule app: ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: Veeva Vault Connector version: 1.5 is-latest-version: true --- # Veeva Vault Connector 1.5 Reference > For the full documentation index, see: https://docs.mulesoft.com/llms.txt ## Configuration Default Configuration for Veeva Vault Connector.
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

x

Connection

Connection types for this configuration.

x

Expiration Policy

Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

### Basic Connection Uses basic connection for authorization.
NameTypeDescriptionDefault ValueRequired

Response Timeout

Number

Maximum amount of time in milliseconds that the connector waits for the Veeva Vault response. If the time elapses, a Response Timeout exception is thrown.

30000

Burst API Limit Profile

Burst API limit profile configuration in which the Veeva Vault burst API limit exceed is configured. It is enabled by default.

Daily API Limit Profile

Daily API limit profile configuration in which the Veeva Vault daily API limit exceed is configured. It is enabled by default.

Host

String

Host.

Port

Number

Port.

Username

String

Username to authenticate against the proxy server.

Password

String

Password to authenticate against the proxy server.

NTLM Domain

String

NTLM domain.

Vault URL

String

Veeva Vault instance URL required for connection.

x

Version

String

Version for the Veeva Vault instance required.

v19.3

Client Id

String

Client ID required to send with each request header to the Vault instance.

x

Username

String

Username for the Veeva Vault instance required for connection.

x

Password

String

Password for the Veeva Vault instance required for connection.

x

Reconnection

Configures a reconnection strategy to use when a connector operation fails to connect to an external server.

### OAuth 2.0 / Open ID Connection Provider Use OAuth 2.0 to delegate user authentication to the service hosting the user account. For more information, refer to [Configuring OAuth 2.0 for Connectors](https://docs.mulesoft.com/connectors/introduction/intro-config-oauth2), [Configuring OAuth 2.0 for Connectors on CloudHub](https://docs.mulesoft.com/connectors/introduction/intro-config-oauth2-cloudhub), or [OAuth Support in the SDK](https://docs.mulesoft.com/mule-sdk/latest/oauth). Authorizes against any OpenID provider and later exchanges the issued access token for a Veeva session ID. For more information on how to configure this connection type, refer to [OAuth 2.0 / Open ID Connection Provider](https://docs.mulesoft.com/veevavault-connector/latest/veevavault-connector-studio#oauth2-oidc-connection).
NameTypeDescriptionDefault ValueRequired

Response Timeout

Number

Maximum amount of time in milliseconds that the connector waits for the Veeva Vault response. If the time elapses, a Response Timeout exception is thrown.

30000

Burst API Limit Profile

Burst API limit profile configuration in which the Veeva Vault burst API limit exceed is configured. It is enabled by default.

Daily API Limit Profile

Daily API limit profile configuration in which the Veeva Vault daily API limit exceed is configured. It is enabled by default.

Host

String

Host.

Port

Number

Port.

Username

String

Username to authenticate against the proxy server.

Password

String

Password to authenticate against the proxy server.

NTLM Domain

String

NTLM domain.

Vault URL

String

Veeva Vault instance URL required for connection.

x

Version

String

Version for the Veeva Vault instance required.

v19.3

Client Id

String

Client ID required to send with each request header to the Vault instance.

x

OIDC Profile ID

String

OIDC profile ID generated by Veeva when creating a new OIDC profile.

x

Reconnection

Configures a reconnection strategy to use when a connector operation fails to connect to an external server.

Consumer Key

String

OAuth consumer key, as registered with the service provider.

x

Consumer Secret

String

OAuth consumer secret, as registered with the service provider.

x

Authorization Url

String

URL of the service provider’s authorization endpoint.

https://{IdentityProvider}/oauth2/v2.0/authorize

Access Token Url

String

URL of the service provider’s access token endpoint.

https://{IdentityProvider}/oauth2/v2.0/token

Scopes

String

OAuth scopes to request during the OAuth dance. This value defaults to the scopes in the annotation.

openid offline_access

Resource Owner Id

String

Resource owner ID to use with the authorization code grant type.

Before

String

Name of a flow to execute immediately before starting the OAuth dance.

After

String

Name of a flow to execute immediately after receiving an access token.

Listener Config

String

Configuration for the HTTP listener that listens for requests on the access token callback endpoint.

x

Callback Path

String

Path of the access token callback endpoint.

x

Authorize Path

String

Path of the local HTTP endpoint that triggers the OAuth dance.

x

External Callback Url

String

URL that the OAuth provider uses to access the callback endpoint if the endpoint is behind a proxy or accessed through an indirect URL.

Object Store

String

Configures the object store that stores data for each resource owner. If not configured, Mule uses the default object store.

## Operations - [Create Document Renditions](#createDocumentRenditions) - [Create Documents](#createDocuments) - [Create Object Records](#createObjectRecords) - [Delete Document Renditions](#deleteDocumentRenditions) - [Delete Documents](#deleteDocuments) - [Delete Object Records](#deleteObjectRecords) - [Export Documents](#exportDocuments) - [Get Audit Details](#getAuditDetails) - [Get Document Renditions Types](#getDocumentRenditionsTypes) - [Get Documents](#getDocuments) - [Get Object Records](#getObjectRecords) - [Get Picklists](#getPicklists) - [Invoke REST API](#invokeRestApi) - [Query](#query) - [Spark Validator](#sparkMessageValidator) - [Unauthorize](#unauthorize) - [Update Documents](#updateDocuments) - [Update Object Records](#updateObjectRecords) ### Create Document Renditions `` Creates document renditions in bulk on Veeva Vault using document metadata provided in CSV or JSON format.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Metadata Format

Enumeration, one of:

  • CSV

  • JSON

Metadata format.

x

Document Metadata

Binary

Document metadata as an Input Stream. The payload must be in the format specified in the Metadata Format field.

#[payload]

Output Mime Type

String

MIME type of the payload that this operation outputs.

Output Encoding

String

Encoding of the payload that this operation outputs.

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Binary

Attributes Type

HTTP Response Attributes

#### Associated Configurations - [Configuration](#config) #### Throws - VEEVAVAULT:API\_LIMIT\_EXCEEDED - VEEVAVAULT:INVALID\_KEY\_FORMAT - VEEVAVAULT:INVALID\_SESSION\_ID - VEEVAVAULT:EXECUTION - VEEVAVAULT:CLIENT\_PROTOCOL - VEEVAVAULT:INVALID\_DATA - VEEVAVAULT:RESPONSE\_TIMEOUT - VEEVAVAULT:IOEXCEPTION - VEEVAVAULT:PARAMETER\_REQUIRED - VEEVAVAULT:CONNECTIVITY - VEEVAVAULT:INVALID\_AUTH - VEEVAVAULT:INVALID\_DOCUMENT - VEEVAVAULT:USERNAME\_OR\_PASSWORD\_INCORRECT - VEEVAVAULT:RETRY\_EXHAUSTED - VEEVAVAULT:JSON\_EXCEPTION - VEEVAVAULT:ATTRIBUTE\_NOT\_SUPPORTED - VEEVAVAULT:OPERATION\_NOT\_ALLOWED - VEEVAVAULT:METHOD\_NOT\_SUPPORTED - VEEVAVAULT:NO\_PERMISSION - VEEVAVAULT:INVALID\_SPARK\_MESSAGE - VEEVAVAULT:INVALID\_TOKEN - VEEVAVAULT:MALFORMED\_URL - VEEVAVAULT:INSUFFICIENT\_ACCESS - VEEVAVAULT:INACTIVE\_USER - VEEVAVAULT:SESSION\_EXPIRED ### Create Documents `` Creates single or multiple documents on Veeva Vault using document metadata provided in CSV or JSON format.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Metadata Format

Enumeration, one of:

  • CSV

  • JSON

Metadata format.

x

Document Metadata

Binary

Document metadata as an Input Stream. The payload must be in the format specified in the Metadata Format field.

#[payload]

Output Mime Type

String

MIME type of the payload that this operation outputs.

Output Encoding

String

Encoding of the payload that this operation outputs.

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Binary

Attributes Type

HTTP Response Attributes

#### Associated Configurations - [Configuration](#config) #### Throws - VEEVAVAULT:API\_LIMIT\_EXCEEDED - VEEVAVAULT:INVALID\_KEY\_FORMAT - VEEVAVAULT:INVALID\_SESSION\_ID - VEEVAVAULT:EXECUTION - VEEVAVAULT:CLIENT\_PROTOCOL - VEEVAVAULT:INVALID\_DATA - VEEVAVAULT:RESPONSE\_TIMEOUT - VEEVAVAULT:IOEXCEPTION - VEEVAVAULT:PARAMETER\_REQUIRED - VEEVAVAULT:CONNECTIVITY - VEEVAVAULT:INVALID\_AUTH - VEEVAVAULT:INVALID\_DOCUMENT - VEEVAVAULT:USERNAME\_OR\_PASSWORD\_INCORRECT - VEEVAVAULT:RETRY\_EXHAUSTED - VEEVAVAULT:JSON\_EXCEPTION - VEEVAVAULT:ATTRIBUTE\_NOT\_SUPPORTED - VEEVAVAULT:OPERATION\_NOT\_ALLOWED - VEEVAVAULT:METHOD\_NOT\_SUPPORTED - VEEVAVAULT:NO\_PERMISSION - VEEVAVAULT:INVALID\_SPARK\_MESSAGE - VEEVAVAULT:INVALID\_TOKEN - VEEVAVAULT:MALFORMED\_URL - VEEVAVAULT:INSUFFICIENT\_ACCESS - VEEVAVAULT:INACTIVE\_USER - VEEVAVAULT:SESSION\_EXPIRED ### Create Object Records `` Creates bulk object records for the selected vault object using object metadata provided in CSV or JSON format.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Object Name

String

Object name.

x

Metadata Format

Enumeration, one of:

  • CSV

  • JSON

Metadata format.

x

Object Metadata

Binary

Vault object metadata in CSV or JSON format as an Input Stream to create bulk object records on the vault.

#[payload]

Output Mime Type

String

MIME type of the payload that this operation outputs.

Output Encoding

String

Encoding of the payload that this operation outputs.

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Binary

Attributes Type

HTTP Response Attributes

#### Associated Configurations - [Configuration](#config) #### Throws - VEEVAVAULT:API\_LIMIT\_EXCEEDED - VEEVAVAULT:INVALID\_KEY\_FORMAT - VEEVAVAULT:INVALID\_SESSION\_ID - VEEVAVAULT:EXECUTION - VEEVAVAULT:CLIENT\_PROTOCOL - VEEVAVAULT:INVALID\_DATA - VEEVAVAULT:RESPONSE\_TIMEOUT - VEEVAVAULT:IOEXCEPTION - VEEVAVAULT:PARAMETER\_REQUIRED - VEEVAVAULT:CONNECTIVITY - VEEVAVAULT:INVALID\_AUTH - VEEVAVAULT:INVALID\_DOCUMENT - VEEVAVAULT:USERNAME\_OR\_PASSWORD\_INCORRECT - VEEVAVAULT:RETRY\_EXHAUSTED - VEEVAVAULT:JSON\_EXCEPTION - VEEVAVAULT:ATTRIBUTE\_NOT\_SUPPORTED - VEEVAVAULT:OPERATION\_NOT\_ALLOWED - VEEVAVAULT:METHOD\_NOT\_SUPPORTED - VEEVAVAULT:NO\_PERMISSION - VEEVAVAULT:INVALID\_SPARK\_MESSAGE - VEEVAVAULT:INVALID\_TOKEN - VEEVAVAULT:MALFORMED\_URL - VEEVAVAULT:INSUFFICIENT\_ACCESS - VEEVAVAULT:INACTIVE\_USER - VEEVAVAULT:SESSION\_EXPIRED ### Delete Document Renditions `` Deletes document renditions in bulk from Veeva Vault using document metadata provided in CSV or JSON format.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Metadata Format

Enumeration, one of:

  • CSV

  • JSON

Metadata format.

x

Document Metadata

Binary

Document metadata in CSV OR JSON format as an Input Stream to delete multiple document renditions from the vault.

#[payload]

Output Mime Type

String

MIME type of the payload that this operation outputs.

Output Encoding

String

Encoding of the payload that this operation outputs.

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Binary

Attributes Type

HTTP Response Attributes

#### Associated Configurations - [Configuration](#config) #### Throws - VEEVAVAULT:API\_LIMIT\_EXCEEDED - VEEVAVAULT:INVALID\_KEY\_FORMAT - VEEVAVAULT:INVALID\_SESSION\_ID - VEEVAVAULT:EXECUTION - VEEVAVAULT:CLIENT\_PROTOCOL - VEEVAVAULT:INVALID\_DATA - VEEVAVAULT:RESPONSE\_TIMEOUT - VEEVAVAULT:IOEXCEPTION - VEEVAVAULT:PARAMETER\_REQUIRED - VEEVAVAULT:CONNECTIVITY - VEEVAVAULT:INVALID\_AUTH - VEEVAVAULT:INVALID\_DOCUMENT - VEEVAVAULT:USERNAME\_OR\_PASSWORD\_INCORRECT - VEEVAVAULT:RETRY\_EXHAUSTED - VEEVAVAULT:JSON\_EXCEPTION - VEEVAVAULT:ATTRIBUTE\_NOT\_SUPPORTED - VEEVAVAULT:OPERATION\_NOT\_ALLOWED - VEEVAVAULT:METHOD\_NOT\_SUPPORTED - VEEVAVAULT:NO\_PERMISSION - VEEVAVAULT:INVALID\_SPARK\_MESSAGE - VEEVAVAULT:INVALID\_TOKEN - VEEVAVAULT:MALFORMED\_URL - VEEVAVAULT:INSUFFICIENT\_ACCESS - VEEVAVAULT:INACTIVE\_USER - VEEVAVAULT:SESSION\_EXPIRED ### Delete Documents `` Deletes single or multiple documents from Veeva Vault using document metadata provided in CSV or JSON format.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Metadata Format

Enumeration, one of:

  • CSV

  • JSON

Metadata format.

x

Document Metadata

Binary

Document metadata in CSV or JSON format as an Input Stream to delete single or multiple documents from the vault.

#[payload]

Output Mime Type

String

MIME type of the payload that this operation outputs.

Output Encoding

String

Encoding of the payload that this operation outputs.

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Binary

Attributes Type

HTTP Response Attributes

#### Associated Configurations - [Configuration](#config) #### Throws - VEEVAVAULT:API\_LIMIT\_EXCEEDED - VEEVAVAULT:INVALID\_KEY\_FORMAT - VEEVAVAULT:INVALID\_SESSION\_ID - VEEVAVAULT:EXECUTION - VEEVAVAULT:CLIENT\_PROTOCOL - VEEVAVAULT:INVALID\_DATA - VEEVAVAULT:RESPONSE\_TIMEOUT - VEEVAVAULT:IOEXCEPTION - VEEVAVAULT:PARAMETER\_REQUIRED - VEEVAVAULT:CONNECTIVITY - VEEVAVAULT:INVALID\_AUTH - VEEVAVAULT:INVALID\_DOCUMENT - VEEVAVAULT:USERNAME\_OR\_PASSWORD\_INCORRECT - VEEVAVAULT:RETRY\_EXHAUSTED - VEEVAVAULT:JSON\_EXCEPTION - VEEVAVAULT:ATTRIBUTE\_NOT\_SUPPORTED - VEEVAVAULT:OPERATION\_NOT\_ALLOWED - VEEVAVAULT:METHOD\_NOT\_SUPPORTED - VEEVAVAULT:NO\_PERMISSION - VEEVAVAULT:INVALID\_SPARK\_MESSAGE - VEEVAVAULT:INVALID\_TOKEN - VEEVAVAULT:MALFORMED\_URL - VEEVAVAULT:INSUFFICIENT\_ACCESS - VEEVAVAULT:INACTIVE\_USER - VEEVAVAULT:SESSION\_EXPIRED ### Delete Object Records `` Deletes object records in bulk from the selected vault object using object metadata provided in CSV or JSON format.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Object Name

String

Object name.

x

Metadata Format

Enumeration, one of:

  • CSV

  • JSON

Metadata format.

x

Object Metadata

Binary

Vault object metadata in CSV or JSON format as an Input Stream to create bulk object records on the vault.

#[payload]

Output Mime Type

String

MIME type of the payload that this operation outputs.

Output Encoding

String

Encoding of the payload that this operation outputs.

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Binary

Attributes Type

HTTP Response Attributes

#### Associated Configurations - [Configuration](#config) #### Throws - VEEVAVAULT:API\_LIMIT\_EXCEEDED - VEEVAVAULT:INVALID\_KEY\_FORMAT - VEEVAVAULT:INVALID\_SESSION\_ID - VEEVAVAULT:EXECUTION - VEEVAVAULT:CLIENT\_PROTOCOL - VEEVAVAULT:INVALID\_DATA - VEEVAVAULT:RESPONSE\_TIMEOUT - VEEVAVAULT:IOEXCEPTION - VEEVAVAULT:PARAMETER\_REQUIRED - VEEVAVAULT:CONNECTIVITY - VEEVAVAULT:INVALID\_AUTH - VEEVAVAULT:INVALID\_DOCUMENT - VEEVAVAULT:USERNAME\_OR\_PASSWORD\_INCORRECT - VEEVAVAULT:RETRY\_EXHAUSTED - VEEVAVAULT:JSON\_EXCEPTION - VEEVAVAULT:ATTRIBUTE\_NOT\_SUPPORTED - VEEVAVAULT:OPERATION\_NOT\_ALLOWED - VEEVAVAULT:METHOD\_NOT\_SUPPORTED - VEEVAVAULT:NO\_PERMISSION - VEEVAVAULT:INVALID\_SPARK\_MESSAGE - VEEVAVAULT:INVALID\_TOKEN - VEEVAVAULT:MALFORMED\_URL - VEEVAVAULT:INSUFFICIENT\_ACCESS - VEEVAVAULT:INACTIVE\_USER - VEEVAVAULT:SESSION\_EXPIRED ### Export Documents `` Queries a set of documents to export to your vault’s FTP staging server. Use the **Export Documents** operation in a separate asynchronous flow by using Async Scope and passing the payload with document IDs. When used asynchronously, the **Export Documents** operation executes in separate flow thread and waits for the specified polling interval to poll the job status until it is successful while the main flow continues its process. The FTP staging area in the folder stores the exported documents, with the `{root}/{userId}/{jobId}/{documentIds}/{versions}` hierarchy structure. The following example shows the **Export Documents** operation returning job results as a response: \[ { "file": "/41601/249051/0\_1/TestDocument.docx", "user\_id\_\_v": 1885110, "id": 249051, "responseStatus": "SUCCESS", "minor\_version\_number\_\_v": 1, "major\_version\_number\_\_v": 0 }, { "file": "/41601/249050/0\_1/TestDocument.docx", "user\_id\_\_v": 1885110, "id": 249050, "responseStatus": "SUCCESS", "minor\_version\_number\_\_v": 1, "major\_version\_number\_\_v": 0 }, { "file": "/41601/249052/0\_1/TestDocument.docx", "user\_id\_\_v": 1885110, "id": 249052, "responseStatus": "SUCCESS", "minor\_version\_number\_\_v": 1, "major\_version\_number\_\_v": 0 } \] This example contains the following attributes: - `file` Uses the `"/{jobId}/{documentId}/{major-minor-version}/{filename}"` format, which is the absolute file path location on the Vault FTP server staging area. - `user_id__v` Vault system user ID of a user whose credentials are configured in the connector. The folder is created on the Vault FTP server staging area root location under where the exported file is located. The folder is created with the name of the user ID prefixed with the letter `u`, for example `/uXXXXXXX/{jobId}/{documentId}/{major-minor-version}/{filename}\)`. - `id` Document ID of the exported document file. - `major_version_number__v` Major version number of the exported document file. - `minor_version_number__v` Minor version number of the exported document file.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Metadata Format

Enumeration, one of:

  • CSV

  • JSON

Metadata format.

x

Document Metadata

Binary

Document metadata in CSV or JSON format as an Input Stream to export documents from vault.

#[payload]

Source

Boolean

To exclude source files, set to false.

true

Renditions

Boolean

To include renditions, set to true.

false

All Versions

Boolean

To include all versions or the latest version, set to true.

false

Polling Interval

Number

Poll the vault at the specified interval, in seconds, until the job is successful.

10

Output Mime Type

String

MIME type of the payload that this operation outputs.

Output Encoding

String

Encoding of the payload that this operation outputs.

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Binary

Attributes Type

HTTP Response Attributes

#### Associated Configurations - [Configuration](#config) #### Throws - VEEVAVAULT:API\_LIMIT\_EXCEEDED - VEEVAVAULT:INVALID\_KEY\_FORMAT - VEEVAVAULT:INVALID\_SESSION\_ID - VEEVAVAULT:EXECUTION - VEEVAVAULT:CLIENT\_PROTOCOL - VEEVAVAULT:INVALID\_DATA - VEEVAVAULT:RESPONSE\_TIMEOUT - VEEVAVAULT:IOEXCEPTION - VEEVAVAULT:PARAMETER\_REQUIRED - VEEVAVAULT:CONNECTIVITY - VEEVAVAULT:INVALID\_AUTH - VEEVAVAULT:INVALID\_DOCUMENT - VEEVAVAULT:USERNAME\_OR\_PASSWORD\_INCORRECT - VEEVAVAULT:RETRY\_EXHAUSTED - VEEVAVAULT:JSON\_EXCEPTION - VEEVAVAULT:ATTRIBUTE\_NOT\_SUPPORTED - VEEVAVAULT:OPERATION\_NOT\_ALLOWED - VEEVAVAULT:METHOD\_NOT\_SUPPORTED - VEEVAVAULT:NO\_PERMISSION - VEEVAVAULT:INVALID\_SPARK\_MESSAGE - VEEVAVAULT:INVALID\_TOKEN - VEEVAVAULT:MALFORMED\_URL - VEEVAVAULT:INSUFFICIENT\_ACCESS - VEEVAVAULT:INACTIVE\_USER - VEEVAVAULT:SESSION\_EXPIRED ### Get Audit Details `` Retrieves all audit details for a specific audit type. Place a For-Each/Splitter element after this operation to fetch each JSON data (page) in sequential order.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Audit Type

String

Audit type.

x

Start Date

String

Start date to retrieve audit information. This date cannot be more than 30 days ago. Dates must be of YYYY-MM-DDTHH:MM:SSZ format. Dates and times are in UTC. If the time is not specified, it defaults to midnight (T00:00:00Z) on the specified date.

End Date

String

End date to retrieve audit information. This date cannot be more than 30 days ago. Dates must be of YYYY-MM-DDTHH:MM:SSZ format. Dates and times are in UTC. If the time is not specified, it defaults to midnight (T00:00:00Z) on the specified date.

Fetch Size

Number

Number of limits or records per page.

1000

Batch Size

Number

Number of pages per batch.

10

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Array of Message of Binary payload and HTTP Response Attributes attributes

#### Associated Configurations - [Configuration](#config) #### Throws - VEEVAVAULT:API\_LIMIT\_EXCEEDED - VEEVAVAULT:USERNAME\_OR\_PASSWORD\_INCORRECT - VEEVAVAULT:INVALID\_KEY\_FORMAT - VEEVAVAULT:INVALID\_SESSION\_ID - VEEVAVAULT:JSON\_EXCEPTION - VEEVAVAULT:ATTRIBUTE\_NOT\_SUPPORTED - VEEVAVAULT:OPERATION\_NOT\_ALLOWED - VEEVAVAULT:METHOD\_NOT\_SUPPORTED - VEEVAVAULT:NO\_PERMISSION - VEEVAVAULT:EXECUTION - VEEVAVAULT:INVALID\_SPARK\_MESSAGE - VEEVAVAULT:INVALID\_TOKEN - VEEVAVAULT:MALFORMED\_URL - VEEVAVAULT:CLIENT\_PROTOCOL - VEEVAVAULT:INVALID\_DATA - VEEVAVAULT:RESPONSE\_TIMEOUT - VEEVAVAULT:IOEXCEPTION - VEEVAVAULT:PARAMETER\_REQUIRED - VEEVAVAULT:INVALID\_AUTH - VEEVAVAULT:INSUFFICIENT\_ACCESS - VEEVAVAULT:INVALID\_DOCUMENT - VEEVAVAULT:INACTIVE\_USER - VEEVAVAULT:SESSION\_EXPIRED ### Get Document Renditions Types `` Retrieves document rendition types using the document ID metadata in JSON format.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Document Metadata

Binary

Document ID metadata in a JSON format payload, for example, {"documentId": "534"}.

#[payload]

Output Mime Type

String

MIME type of the payload that this operation outputs.

Output Encoding

String

Encoding of the payload that this operation outputs.

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Binary

Attributes Type

HTTP Response Attributes

#### Associated Configurations - [Configuration](#config) #### Throws - VEEVAVAULT:API\_LIMIT\_EXCEEDED - VEEVAVAULT:INVALID\_KEY\_FORMAT - VEEVAVAULT:INVALID\_SESSION\_ID - VEEVAVAULT:EXECUTION - VEEVAVAULT:CLIENT\_PROTOCOL - VEEVAVAULT:INVALID\_DATA - VEEVAVAULT:RESPONSE\_TIMEOUT - VEEVAVAULT:IOEXCEPTION - VEEVAVAULT:PARAMETER\_REQUIRED - VEEVAVAULT:CONNECTIVITY - VEEVAVAULT:INVALID\_AUTH - VEEVAVAULT:INVALID\_DOCUMENT - VEEVAVAULT:USERNAME\_OR\_PASSWORD\_INCORRECT - VEEVAVAULT:RETRY\_EXHAUSTED - VEEVAVAULT:JSON\_EXCEPTION - VEEVAVAULT:ATTRIBUTE\_NOT\_SUPPORTED - VEEVAVAULT:OPERATION\_NOT\_ALLOWED - VEEVAVAULT:METHOD\_NOT\_SUPPORTED - VEEVAVAULT:NO\_PERMISSION - VEEVAVAULT:INVALID\_SPARK\_MESSAGE - VEEVAVAULT:INVALID\_TOKEN - VEEVAVAULT:MALFORMED\_URL - VEEVAVAULT:INSUFFICIENT\_ACCESS - VEEVAVAULT:INACTIVE\_USER - VEEVAVAULT:SESSION\_EXPIRED ### Get Documents `` Retrieves document details from Veeva Vault. You can either: - Provide document properties (document type, subtype, and classification) to retrieve document details. If document properties are provided, the **Get Documents** operation builds the VQL query dynamically. The VQL query is then executed on the vault to retrieve document details. - Have document properties (document type, subtype, and classification) fetched to retrieve document details. If document properties are not provided, the document properties metadata is fetched using `/api/{version}/metadata/objects/documents/properties` and the VQL query is built based on the document metadata properties added or inserted in the **Document Properties** list. If metadata properties are not provided, then all queryable document properties are used and executed in the VQL query. Place a For-Each/Splitter element after this operation to fetch each document’s data (page) sequentially. This operation provides a paging mechanism based on Mule standard pagination. Refer to [Streaming and Pagination](https://docs.mulesoft.com/veevavault-connector/latest/veevavault-connector-config-topics#streaming_and_pagination.adoc) for more details.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Type

String

Document type to retrieve the type.

SubType

String

Document subtype to retrieve the type.

Classification

String

Document classification to retrieve the classification.

Document Properties

Array of String

List of document properties to build a VQL query.

WHERE Clause

String

WHERE clause that is appended to dynamically build a VQL query.

Fetch Size

Number

Fetch size which limits the records per page.

1000

Batch Size

Number

Batch size which accommodates the number of pages in a specified number of batches.

10

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Array of Message of Binary payload and HTTP Response Attributes attributes

#### Associated Configurations - [Configuration](#config) #### Throws - VEEVAVAULT:API\_LIMIT\_EXCEEDED - VEEVAVAULT:USERNAME\_OR\_PASSWORD\_INCORRECT - VEEVAVAULT:INVALID\_KEY\_FORMAT - VEEVAVAULT:INVALID\_SESSION\_ID - VEEVAVAULT:JSON\_EXCEPTION - VEEVAVAULT:ATTRIBUTE\_NOT\_SUPPORTED - VEEVAVAULT:OPERATION\_NOT\_ALLOWED - VEEVAVAULT:METHOD\_NOT\_SUPPORTED - VEEVAVAULT:NO\_PERMISSION - VEEVAVAULT:EXECUTION - VEEVAVAULT:INVALID\_SPARK\_MESSAGE - VEEVAVAULT:INVALID\_TOKEN - VEEVAVAULT:MALFORMED\_URL - VEEVAVAULT:CLIENT\_PROTOCOL - VEEVAVAULT:INVALID\_DATA - VEEVAVAULT:RESPONSE\_TIMEOUT - VEEVAVAULT:IOEXCEPTION - VEEVAVAULT:PARAMETER\_REQUIRED - VEEVAVAULT:INVALID\_AUTH - VEEVAVAULT:INSUFFICIENT\_ACCESS - VEEVAVAULT:INVALID\_DOCUMENT - VEEVAVAULT:INACTIVE\_USER - VEEVAVAULT:SESSION\_EXPIRED ### Get Object Records `` Retrieves object records details using object metadata fields to build a VQL query dynamically and execute on the vault to get object details. Place a For-Each/Splitter element after this operation to fetch each object records (page) sequentially. This operation provides a paging mechanism based on Mule standard pagination. Refer to [Streaming and Pagination](https://docs.mulesoft.com/veevavault-connector/latest/veevavault-connector-config-topics#streaming_and_pagination.adoc) for more details.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Object Name

String

Object name.

x

Object Fields

Array of String

Object fields list to include in the dynamic VQL query.

WHERE Clause

String

WHERE clause.

Fetch Size

Number

Number of limits or records per page.

1000

Batch Size

Number

Number of pages per batch.

10

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Array of Message of Binary payload and HTTP Response Attributes attributes

#### Associated Configurations - [Configuration](#config) #### Throws - VEEVAVAULT:API\_LIMIT\_EXCEEDED - VEEVAVAULT:USERNAME\_OR\_PASSWORD\_INCORRECT - VEEVAVAULT:INVALID\_KEY\_FORMAT - VEEVAVAULT:INVALID\_SESSION\_ID - VEEVAVAULT:JSON\_EXCEPTION - VEEVAVAULT:ATTRIBUTE\_NOT\_SUPPORTED - VEEVAVAULT:OPERATION\_NOT\_ALLOWED - VEEVAVAULT:METHOD\_NOT\_SUPPORTED - VEEVAVAULT:NO\_PERMISSION - VEEVAVAULT:EXECUTION - VEEVAVAULT:INVALID\_SPARK\_MESSAGE - VEEVAVAULT:INVALID\_TOKEN - VEEVAVAULT:MALFORMED\_URL - VEEVAVAULT:CLIENT\_PROTOCOL - VEEVAVAULT:INVALID\_DATA - VEEVAVAULT:RESPONSE\_TIMEOUT - VEEVAVAULT:IOEXCEPTION - VEEVAVAULT:PARAMETER\_REQUIRED - VEEVAVAULT:INVALID\_AUTH - VEEVAVAULT:INSUFFICIENT\_ACCESS - VEEVAVAULT:INVALID\_DOCUMENT - VEEVAVAULT:INACTIVE\_USER - VEEVAVAULT:SESSION\_EXPIRED ### Get Picklists `` Retrieves all available values configured on a picklist.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Picklist Name

String

Picklist name.

Output Mime Type

String

MIME type of the payload that this operation outputs.

Output Encoding

String

Encoding of the payload that this operation outputs.

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Binary

Attributes Type

HTTP Response Attributes

#### Associated Configurations - [Configuration](#config) #### Throws - VEEVAVAULT:API\_LIMIT\_EXCEEDED - VEEVAVAULT:INVALID\_KEY\_FORMAT - VEEVAVAULT:INVALID\_SESSION\_ID - VEEVAVAULT:EXECUTION - VEEVAVAULT:CLIENT\_PROTOCOL - VEEVAVAULT:INVALID\_DATA - VEEVAVAULT:RESPONSE\_TIMEOUT - VEEVAVAULT:IOEXCEPTION - VEEVAVAULT:PARAMETER\_REQUIRED - VEEVAVAULT:CONNECTIVITY - VEEVAVAULT:INVALID\_AUTH - VEEVAVAULT:INVALID\_DOCUMENT - VEEVAVAULT:USERNAME\_OR\_PASSWORD\_INCORRECT - VEEVAVAULT:RETRY\_EXHAUSTED - VEEVAVAULT:JSON\_EXCEPTION - VEEVAVAULT:ATTRIBUTE\_NOT\_SUPPORTED - VEEVAVAULT:OPERATION\_NOT\_ALLOWED - VEEVAVAULT:METHOD\_NOT\_SUPPORTED - VEEVAVAULT:NO\_PERMISSION - VEEVAVAULT:INVALID\_SPARK\_MESSAGE - VEEVAVAULT:INVALID\_TOKEN - VEEVAVAULT:MALFORMED\_URL - VEEVAVAULT:INSUFFICIENT\_ACCESS - VEEVAVAULT:INACTIVE\_USER - VEEVAVAULT:SESSION\_EXPIRED ### Invoke REST API `` Invokes generic Veeva Vault REST APIs.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Output Mime Type

String

MIME type of the payload that this operation outputs.

Output Encoding

String

Encoding of the payload that this operation outputs.

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Method

Enumeration, one of:

  • GET

  • DELETE

  • POST

  • PUT

HTTP method to send the request.

GET

Path

String

Path in which the request is sent, for example, /vobjects/{object_name}/actions/{action_name}.

/

Body

Any

Body of the request message.

#[payload]

Headers

Object

HTTP headers the message must include.

URI Parameters

Object

URI parameters that are provided in the Path field.

Query Parameters

Object

Query parameters the request must include.

Request Streaming Mode

Enumeration, one of:

  • AUTO

  • ALWAYS

  • NEVER

Whether the request must be sent using streaming or not.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Binary

Attributes Type

HTTP Response Attributes

#### Associated Configurations - [Configuration](#config) #### Throws - VEEVAVAULT:API\_LIMIT\_EXCEEDED - VEEVAVAULT:INVALID\_KEY\_FORMAT - VEEVAVAULT:INVALID\_SESSION\_ID - VEEVAVAULT:EXECUTION - VEEVAVAULT:CLIENT\_PROTOCOL - VEEVAVAULT:INVALID\_DATA - VEEVAVAULT:RESPONSE\_TIMEOUT - VEEVAVAULT:IOEXCEPTION - VEEVAVAULT:PARAMETER\_REQUIRED - VEEVAVAULT:CONNECTIVITY - VEEVAVAULT:INVALID\_AUTH - VEEVAVAULT:INVALID\_DOCUMENT - VEEVAVAULT:USERNAME\_OR\_PASSWORD\_INCORRECT - VEEVAVAULT:RETRY\_EXHAUSTED - VEEVAVAULT:JSON\_EXCEPTION - VEEVAVAULT:ATTRIBUTE\_NOT\_SUPPORTED - VEEVAVAULT:OPERATION\_NOT\_ALLOWED - VEEVAVAULT:METHOD\_NOT\_SUPPORTED - VEEVAVAULT:NO\_PERMISSION - VEEVAVAULT:INVALID\_SPARK\_MESSAGE - VEEVAVAULT:INVALID\_TOKEN - VEEVAVAULT:MALFORMED\_URL - VEEVAVAULT:INSUFFICIENT\_ACCESS - VEEVAVAULT:INACTIVE\_USER - VEEVAVAULT:SESSION\_EXPIRED ### Query `` Executes the specified VQL query on the vault and retrieves the result in a paginated data input stream. Place a For-Each/Splitter element after the Query operation to fetch each record in sequential order. This operation provides a paging mechanism based on Mule standard pagination. Refer to [Streaming and Pagination](https://docs.mulesoft.com/veevavault-connector/latest/veevavault-connector-config-topics#streaming_and_pagination.adoc) for more details. > [!NOTE] Do not specify `LIMIT/PAGESIZE` and `OFFSET/PAGEOFFSET` in the VQL query. These parameters > are incorporated internally.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

VQL Query

String

VQL query required as per Veeva API documentation.

x

Input Parameters

Object

Input parameters in the format #[{'name': 'Hemant', 'nickname': payload, 'company': vars.company}].

Fetch Size

Number

Number of limits or records per page.

1000

Batch Size (DEPRECATED)

Number

Number of batches of Fetch Size elements to return. This field is deprecated.

10

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Array of Message of Binary payload and HTTP Response Attributes attributes

#### Associated Configurations - [Configuration](#config) #### Throws - VEEVAVAULT:API\_LIMIT\_EXCEEDED - VEEVAVAULT:USERNAME\_OR\_PASSWORD\_INCORRECT - VEEVAVAULT:INVALID\_KEY\_FORMAT - VEEVAVAULT:INVALID\_SESSION\_ID - VEEVAVAULT:JSON\_EXCEPTION - VEEVAVAULT:ATTRIBUTE\_NOT\_SUPPORTED - VEEVAVAULT:OPERATION\_NOT\_ALLOWED - VEEVAVAULT:METHOD\_NOT\_SUPPORTED - VEEVAVAULT:NO\_PERMISSION - VEEVAVAULT:EXECUTION - VEEVAVAULT:INVALID\_SPARK\_MESSAGE - VEEVAVAULT:INVALID\_TOKEN - VEEVAVAULT:MALFORMED\_URL - VEEVAVAULT:CLIENT\_PROTOCOL - VEEVAVAULT:INVALID\_DATA - VEEVAVAULT:RESPONSE\_TIMEOUT - VEEVAVAULT:IOEXCEPTION - VEEVAVAULT:PARAMETER\_REQUIRED - VEEVAVAULT:INVALID\_AUTH - VEEVAVAULT:INSUFFICIENT\_ACCESS - VEEVAVAULT:INVALID\_DOCUMENT - VEEVAVAULT:INACTIVE\_USER - VEEVAVAULT:SESSION\_EXPIRED ### Spark Validator `` Validates and verifies Spark messages triggered from the vault with a signature and public key. Upon successful validation and verification, the Spark message can be further processed in the Mule flow according to your business requirements. Refer to https://developer.veevavault.com/sdk/#spark-messaging\[Spark Messaging feature and functionalities and setup\] for more details. The output of the **Spark Validator** operation includes Spark attributes (optional) with the Spark message as it is received from the vault. > [!NOTE] Before triggering a Spark message from the vault, make sure to raise a support ticket with > Veeva Vault Support to increase the time interval (for example, 10 seconds) for the Spark message > to resend or retry. By default, the time interval is configured as 5 seconds, which is less than > the time required for the **Spark Validator** operation to complete message validation and > verification. > [!NOTE] As per Veeva Systems, the public key (00001.pem) expires every two years. You receive > notification in advance advising you of the expiration date. If you are using the **Spark > Validator** operation in a Mule application flow, after the public key expiration date you must > remove the public key file from the path configured in the **Public Key Path** field. A new public > key will be created during execution of the key removal. If you don’t do this, Spark message > verification fails as `INVALID_SPARK_MESSAGE`. The Mule application deployed on CloudHub with the > default path must be restarted for successful Spark message verification.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Include Spark Headers

Boolean

Flag to include Spark headers received from the vault in the Spark validator output.

false

Public Key Path

String

Directory path to store the public key (00001.pem) file that is used to verify incoming Spark messages with a signature. Retrieved from the vault, if not specified.

${mule.home}/apps/${app.name}/publickeys

Spark Headers

Object

Spark headers received from the vault and embedded in the Spark message.

#[attributes.headers]

Spark Message

Input Stream

Spark message body received from the vault.

#[payload]

Output Mime Type

String

MIME type of the payload that this operation outputs.

Output Encoding

String

Encoding of the payload that this operation outputs.

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Binary

Attributes Type

Object

#### Associated Configurations - [Configuration](#config) #### Throws - VEEVAVAULT:API\_LIMIT\_EXCEEDED - VEEVAVAULT:INVALID\_KEY\_FORMAT - VEEVAVAULT:INVALID\_SESSION\_ID - VEEVAVAULT:EXECUTION - VEEVAVAULT:CLIENT\_PROTOCOL - VEEVAVAULT:INVALID\_DATA - VEEVAVAULT:RESPONSE\_TIMEOUT - VEEVAVAULT:IOEXCEPTION - VEEVAVAULT:PARAMETER\_REQUIRED - VEEVAVAULT:CONNECTIVITY - VEEVAVAULT:INVALID\_AUTH - VEEVAVAULT:INVALID\_DOCUMENT - VEEVAVAULT:USERNAME\_OR\_PASSWORD\_INCORRECT - VEEVAVAULT:RETRY\_EXHAUSTED - VEEVAVAULT:JSON\_EXCEPTION - VEEVAVAULT:ATTRIBUTE\_NOT\_SUPPORTED - VEEVAVAULT:OPERATION\_NOT\_ALLOWED - VEEVAVAULT:METHOD\_NOT\_SUPPORTED - VEEVAVAULT:NO\_PERMISSION - VEEVAVAULT:INVALID\_SPARK\_MESSAGE - VEEVAVAULT:INVALID\_TOKEN - VEEVAVAULT:MALFORMED\_URL - VEEVAVAULT:INSUFFICIENT\_ACCESS - VEEVAVAULT:INACTIVE\_USER - VEEVAVAULT:SESSION\_EXPIRED ### Unauthorize `` Deletes all the access token information of a given resource owner ID so that it is impossible to execute any operation for that user without doing the authorization dance again.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Resource Owner Id

String

ID of the resource owner for whom to invalidate access.

#### Associated Configurations - [Configuration](#config) ### Update Documents `` Updates bulk documents using editable metadata in the payload provided in CSV or JSON format.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Metadata Format

Enumeration, one of:

  • CSV

  • JSON

Metadata format.

x

Document Metadata

Binary

Editable document metadata in CSV OR JSON format as an Input Stream to update single or multiple documents on the vault.

#[payload]

Output Mime Type

String

MIME type of the payload that this operation outputs.

Output Encoding

String

Encoding of the payload that this operation outputs.

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Binary

Attributes Type

HTTP Response Attributes

#### Associated Configurations - [Configuration](#config) #### Throws - VEEVAVAULT:API\_LIMIT\_EXCEEDED - VEEVAVAULT:INVALID\_KEY\_FORMAT - VEEVAVAULT:INVALID\_SESSION\_ID - VEEVAVAULT:EXECUTION - VEEVAVAULT:CLIENT\_PROTOCOL - VEEVAVAULT:INVALID\_DATA - VEEVAVAULT:RESPONSE\_TIMEOUT - VEEVAVAULT:IOEXCEPTION - VEEVAVAULT:PARAMETER\_REQUIRED - VEEVAVAULT:CONNECTIVITY - VEEVAVAULT:INVALID\_AUTH - VEEVAVAULT:INVALID\_DOCUMENT - VEEVAVAULT:USERNAME\_OR\_PASSWORD\_INCORRECT - VEEVAVAULT:RETRY\_EXHAUSTED - VEEVAVAULT:JSON\_EXCEPTION - VEEVAVAULT:ATTRIBUTE\_NOT\_SUPPORTED - VEEVAVAULT:OPERATION\_NOT\_ALLOWED - VEEVAVAULT:METHOD\_NOT\_SUPPORTED - VEEVAVAULT:NO\_PERMISSION - VEEVAVAULT:INVALID\_SPARK\_MESSAGE - VEEVAVAULT:INVALID\_TOKEN - VEEVAVAULT:MALFORMED\_URL - VEEVAVAULT:INSUFFICIENT\_ACCESS - VEEVAVAULT:INACTIVE\_USER - VEEVAVAULT:SESSION\_EXPIRED ### Update Object Records `` Updates object records in bulk using object metadata in CSV or JSON format.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Object Name

String

Object name.

x

Metadata Format

Enumeration, one of:

  • CSV

  • JSON

Metadata format.

x

Object Metadata

Binary

Vault object metadata in CSV or JSON format as an Input Stream to create bulk object records on the vault.

#[payload]

Output Mime Type

String

MIME type of the payload that this operation outputs.

Output Encoding

String

Encoding of the payload that this operation outputs.

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Binary

Attributes Type

HTTP Response Attributes

#### Associated Configurations - [Configuration](#config) #### Throws - VEEVAVAULT:API\_LIMIT\_EXCEEDED - VEEVAVAULT:INVALID\_KEY\_FORMAT - VEEVAVAULT:INVALID\_SESSION\_ID - VEEVAVAULT:EXECUTION - VEEVAVAULT:CLIENT\_PROTOCOL - VEEVAVAULT:INVALID\_DATA - VEEVAVAULT:RESPONSE\_TIMEOUT - VEEVAVAULT:IOEXCEPTION - VEEVAVAULT:PARAMETER\_REQUIRED - VEEVAVAULT:CONNECTIVITY - VEEVAVAULT:INVALID\_AUTH - VEEVAVAULT:INVALID\_DOCUMENT - VEEVAVAULT:USERNAME\_OR\_PASSWORD\_INCORRECT - VEEVAVAULT:RETRY\_EXHAUSTED - VEEVAVAULT:JSON\_EXCEPTION - VEEVAVAULT:ATTRIBUTE\_NOT\_SUPPORTED - VEEVAVAULT:OPERATION\_NOT\_ALLOWED - VEEVAVAULT:METHOD\_NOT\_SUPPORTED - VEEVAVAULT:NO\_PERMISSION - VEEVAVAULT:INVALID\_SPARK\_MESSAGE - VEEVAVAULT:INVALID\_TOKEN - VEEVAVAULT:MALFORMED\_URL - VEEVAVAULT:INSUFFICIENT\_ACCESS - VEEVAVAULT:INACTIVE\_USER - VEEVAVAULT:SESSION\_EXPIRED ## Types ### Reconnection Configures a reconnection strategy for an operation.
FieldTypeDescriptionDefault ValueRequired

Fails Deployment

Boolean

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

Reconnection Strategy

Reconnection strategy to use.

### Reconnect Configures a standard reconnection strategy, which specifies how often to reconnect and how many reconnection attempts the connector source or operation can make.
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often to attempt to reconnect, in milliseconds.

Count

Number

How many reconnection attempts the Mule app can make.

### Reconnect Forever Configures a forever reconnection strategy by which the connector source or operation attempts to reconnect at a specified frequency for as long as the Mule app runs.
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often to attempt to reconnect, in milliseconds.

### Expiration Policy Configures an expiration policy strategy.
FieldTypeDescriptionDefault ValueRequired

Max Idle Time

Number

Configures the maximum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Max Idle Time field.

### Repeatable In Memory Stream Configures the in-memory streaming strategy by which the request fails if the data exceeds the MAX buffer size. Always run performance tests to find the optimal buffer size for your specific use case.
FieldTypeDescriptionDefault ValueRequired

Initial Buffer Size

Number

Initial amount of memory to allocate to the data stream. If the streamed data exceeds this value, the buffer expands by Buffer Size Increment, with an upper limit of Max In Memory Size value.

Buffer Size Increment

Number

This is by how much the buffer size expands if it exceeds its initial size. Setting a value of zero or lower means that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error is raised when the buffer gets full.

Max Buffer Size

Number

Maximum size of the buffer. If the buffer size exceeds this value, Mule raises a STREAM_MAXIMUM_SIZE_EXCEEDED error. A value of less than or equal to 0 means no limit.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit for the Initial Buffer Size, Buffer Size Increment, and Buffer Unit fields.

### Repeatable File Store Stream Configures the repeatable file-store streaming strategy by which Mule keeps a portion of the stream content in memory. If the stream content is larger than the configured buffer size, Mule backs up the buffer’s content to disk and then clears the memory.
FieldTypeDescriptionDefault ValueRequired

In Memory Size

Number

Maximum amount of memory that the stream can use for data. If the amount of memory exceeds this value, Mule buffers the content to disk. To optimize performance:

  • Configure a larger buffer size to avoid the number of times Mule needs to write the buffer on disk. This increases performance, but it also limits the number of concurrent requests your application can process, because it requires additional memory.

  • Configure a smaller buffer size to decrease memory load at the expense of response time.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit for the In Memory Size field.

### Repeatable In Memory Iterable Configures the repeatable in memory iterable type.
FieldTypeDescriptionDefault ValueRequired

Initial Buffer Size

Number

Initial amount of memory to allocate to the data stream. If the streamed data exceeds this value, the buffer expands by Buffer Size Increment, with an upper limit of Max In Memory Size value.

Buffer Size Increment

Number

This is by how much the buffer size expands if it exceeds its initial size. Setting a value of zero or lower means that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error is raised when the buffer gets full.

Max Buffer Size

Number

Maximum size of the buffer. If the buffer size exceeds this value, Mule raises a STREAM_MAXIMUM_SIZE_EXCEEDED error. A value of less than or equal to 0 means no limit.

### Repeatable File Store Iterable Configures the file store iterable type.
FieldTypeDescriptionDefault ValueRequired

In Memory Objects

Number

Maximum amount of instances to keep in memory. If more than that is required, content on the disk is buffered.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit for the In Memory Size field.

### HTTP Response Attributes Configures HTTP response attributes for the configuration.
FieldTypeDescriptionDefault ValueRequired

Status Code

Number

HTTP status code of the response. Former 'http.status'.

x

Reason Phrase

String

HTTP reason phrase of the response. Former 'http.reason'.

x

Headers

Object

Map of HTTP headers in the message. Former properties.

x

### Burst Api Limit Config Use **Burst API Limit Profile** if the specified burst API limit of the Veeva Vault API reaches or exceeds the configured threshold value. If the value of **Burst API Limit Profile** is set to `Burst api limit config (Default)`, the connector evaluates the specified burst API limit of the Veeva Vault API response header (`X-VaultAPI-BurstLimitRemaining`) against the configured threshold value. If the remaining burst API limit reaches or exceeds the configured threshold value, the connector waits for the specified amount of time to restart the count for **Burst Limit Remaining**. For more information, refer to https://developer.veevavault.com/docs/#api-rate-limits\[API Rate Limit Headers\].
FieldTypeDescriptionDefault ValueRequired

Api Limit

Number

Veeva Vault API threshold limit. When this threshold is reached or exceeded, the connector waits the specified time.

200

Wait Time

Number

Time the connector waits once the threshold value reaches or exceeds the remaining API calls.

5

Max Wait Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Wait Time field.

MINUTES

### Daily Api Limit Config Use **Daily API Limit Profile** to configure the API limit threshold that is evaluated against the remaining daily API limit calls. If the daily API limit calls reach or exceed the specified API limit threshold value, an exception is thrown. **Daily API Limit Profile** is disabled by default. For more information, refer to https://developer.veevavault.com/docs/#api-rate-limits\[API Rate Limit Headers\].
FieldTypeDescriptionDefault ValueRequired

Api Limit

Number

API limit threshold value to set the allowed daily limit for the number of API calls. Once the API limit threshold value is reached, the connector throws an API_LIMIT_EXCEED exception for each request invoking an API call.

10000

## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com)