# 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:
| Field | Description |
|---|
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:

Enter the following information in the **Advanced** tab of the **Global Element Properties** screen
to configure the burst API limit for Basic authentication:
| Field | Description |
|---|
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:

### 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**.

6. Click **Save**. Now, you can see the created profile.

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:
| Field | Description |
|---|
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.

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 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:

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:

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:

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:

> [!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.
| Name | Type | Description | Default Value | Required |
|---|
Name | | Name for this configuration. Connectors reference the configuration with this name. | | |
Connection | | Connection types for this configuration. | | |
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.
| Name | Type | Description | Default Value | Required |
|---|
Response Timeout | | 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. | | |
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 | | | | |
Port | | | | |
Username | | Username to authenticate against the proxy server. | | |
Password | | Password to authenticate against the proxy server. | | |
NTLM Domain | | | | |
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. | | |
Username | | Username for the Veeva Vault instance required for connection. | | |
Password | | Password for the Veeva Vault instance required for connection. | | |
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).
| Name | Type | Description | Default Value | Required |
|---|
Response Timeout | | 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. | | |
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 | | | | |
Port | | | | |
Username | | Username to authenticate against the proxy server. | | |
Password | | Password to authenticate against the proxy server. | | |
NTLM Domain | | | | |
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. | | |
Reconnection | | Configures a reconnection strategy to use when a connector operation fails to connect to an external server. | | |
Consumer Key | | OAuth consumer key, as registered with the service provider. | | |
Consumer Secret | | OAuth consumer secret, as registered with the service provider. | | |
Authorization Url | | URL of the service provider’s authorization endpoint. | https://{IdentityProvider}/oauth2/v2.0/authorize
| |
Access Token Url | | URL of the service provider’s access token endpoint. | https://{IdentityProvider}/oauth2/v2.0/token
| |
Scopes | | OAuth scopes to request during the OAuth dance. This value defaults to the scopes in the annotation. | | |
Resource Owner Id | | Resource owner ID to use with the authorization code grant type. | | |
Before | | Name of a flow to execute immediately before starting the OAuth dance. | | |
After | | Name of a flow to execute immediately after receiving an access token. | | |
Listener Config | | Configuration for the HTTP listener that listens for requests on the access token callback endpoint. | | |
Callback Path | | Path of the access token callback endpoint. | | |
Authorize Path | | Path of the local HTTP endpoint that triggers the OAuth dance. | | |
External Callback Url | | 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 | | 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.
| Name | Type | Description | Default Value | Required |
|---|
Configuration | | Name of the configuration to use. | | |
Metadata Format | | | | |
Document Metadata | | Document metadata as an Input Stream. The payload must be in the format specified in the Metadata Format field. | | |
Output Mime Type | | MIME type of the payload that this operation outputs. | | |
Output Encoding | | Encoding of the payload that this operation outputs. | | |
Streaming Strategy | | Configures how Mule processes streams. Repeatable streams are the default behavior. | | |
Target Variable | | Name of the variable that stores the operation’s output. | | |
Target Value | | Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field. | | |
Reconnection Strategy | | Retry strategy in case of connectivity errors. | | |
#### Output
#### 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.
| Name | Type | Description | Default Value | Required |
|---|
Configuration | | Name of the configuration to use. | | |
Metadata Format | | | | |
Document Metadata | | Document metadata as an Input Stream. The payload must be in the format specified in the Metadata Format field. | | |
Output Mime Type | | MIME type of the payload that this operation outputs. | | |
Output Encoding | | Encoding of the payload that this operation outputs. | | |
Streaming Strategy | | Configures how Mule processes streams. Repeatable streams are the default behavior. | | |
Target Variable | | Name of the variable that stores the operation’s output. | | |
Target Value | | Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field. | | |
Reconnection Strategy | | Retry strategy in case of connectivity errors. | | |
#### Output
#### 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.
| Name | Type | Description | Default Value | Required |
|---|
Configuration | | Name of the configuration to use. | | |
Object Name | | | | |
Metadata Format | | | | |
Object Metadata | | Vault object metadata in CSV or JSON format as an Input Stream to create bulk object records on the vault. | | |
Output Mime Type | | MIME type of the payload that this operation outputs. | | |
Output Encoding | | Encoding of the payload that this operation outputs. | | |
Streaming Strategy | | Configures how Mule processes streams. Repeatable streams are the default behavior. | | |
Target Variable | | Name of the variable that stores the operation’s output. | | |
Target Value | | Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field. | | |
Reconnection Strategy | | Retry strategy in case of connectivity errors. | | |
#### Output
#### 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.
| Name | Type | Description | Default Value | Required |
|---|
Configuration | | Name of the configuration to use. | | |
Metadata Format | | | | |
Document Metadata | | Document metadata in CSV OR JSON format as an Input Stream to delete multiple document renditions from the vault. | | |
Output Mime Type | | MIME type of the payload that this operation outputs. | | |
Output Encoding | | Encoding of the payload that this operation outputs. | | |
Streaming Strategy | | Configures how Mule processes streams. Repeatable streams are the default behavior. | | |
Target Variable | | Name of the variable that stores the operation’s output. | | |
Target Value | | Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field. | | |
Reconnection Strategy | | Retry strategy in case of connectivity errors. | | |
#### Output
#### 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.
| Name | Type | Description | Default Value | Required |
|---|
Configuration | | Name of the configuration to use. | | |
Metadata Format | | | | |
Document Metadata | | Document metadata in CSV or JSON format as an Input Stream to delete single or multiple documents from the vault. | | |
Output Mime Type | | MIME type of the payload that this operation outputs. | | |
Output Encoding | | Encoding of the payload that this operation outputs. | | |
Streaming Strategy | | Configures how Mule processes streams. Repeatable streams are the default behavior. | | |
Target Variable | | Name of the variable that stores the operation’s output. | | |
Target Value | | Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field. | | |
Reconnection Strategy | | Retry strategy in case of connectivity errors. | | |
#### Output
#### 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.
| Name | Type | Description | Default Value | Required |
|---|
Configuration | | Name of the configuration to use. | | |
Object Name | | | | |
Metadata Format | | | | |
Object Metadata | | Vault object metadata in CSV or JSON format as an Input Stream to create bulk object records on the vault. | | |
Output Mime Type | | MIME type of the payload that this operation outputs. | | |
Output Encoding | | Encoding of the payload that this operation outputs. | | |
Streaming Strategy | | Configures how Mule processes streams. Repeatable streams are the default behavior. | | |
Target Variable | | Name of the variable that stores the operation’s output. | | |
Target Value | | Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field. | | |
Reconnection Strategy | | Retry strategy in case of connectivity errors. | | |
#### Output
#### 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.
| Name | Type | Description | Default Value | Required |
|---|
Configuration | | Name of the configuration to use. | | |
Metadata Format | | | | |
Document Metadata | | Document metadata in CSV or JSON format as an Input Stream to export documents from vault. | | |
Source | | To exclude source files, set to false. | | |
Renditions | | To include renditions, set to true. | | |
All Versions | | To include all versions or the latest version, set to true. | | |
Polling Interval | | Poll the vault at the specified interval, in seconds, until the job is successful. | | |
Output Mime Type | | MIME type of the payload that this operation outputs. | | |
Output Encoding | | Encoding of the payload that this operation outputs. | | |
Streaming Strategy | | Configures how Mule processes streams. Repeatable streams are the default behavior. | | |
Target Variable | | Name of the variable that stores the operation’s output. | | |
Target Value | | Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field. | | |
Reconnection Strategy | | Retry strategy in case of connectivity errors. | | |
#### Output
#### 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.
| Name | Type | Description | Default Value | Required |
|---|
Configuration | | Name of the configuration to use. | | |
Audit Type | | | | |
Start Date | | 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 | | 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 of limits or records per page. | | |
Batch Size | | Number of pages per batch. | | |
Streaming Strategy | | Configures how Mule processes streams. Repeatable streams are the default behavior. | | |
Target Variable | | Name of the variable that stores the operation’s output. | | |
Target Value | | Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field. | | |
Reconnection Strategy | | Retry strategy in case of connectivity errors. | | |
#### Output
#### 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.
| Name | Type | Description | Default Value | Required |
|---|
Configuration | | Name of the configuration to use. | | |
Document Metadata | | Document ID metadata in a JSON format payload, for example, {"documentId": "534"}. | | |
Output Mime Type | | MIME type of the payload that this operation outputs. | | |
Output Encoding | | Encoding of the payload that this operation outputs. | | |
Streaming Strategy | | Configures how Mule processes streams. Repeatable streams are the default behavior. | | |
Target Variable | | Name of the variable that stores the operation’s output. | | |
Target Value | | Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field. | | |
Reconnection Strategy | | Retry strategy in case of connectivity errors. | | |
#### Output
#### 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.
| Name | Type | Description | Default Value | Required |
|---|
Configuration | | Name of the configuration to use. | | |
Streaming Strategy | | Configures how Mule processes streams. Repeatable streams are the default behavior. | | |
Type | | Document type to retrieve the type. | | |
SubType | | Document subtype to retrieve the type. | | |
Classification | | Document classification to retrieve the classification. | | |
Document Properties | | List of document properties to build a VQL query. | | |
WHERE Clause | | WHERE clause that is appended to dynamically build a VQL query. | | |
Fetch Size | | Fetch size which limits the records per page. | | |
Batch Size | | Batch size which accommodates the number of pages in a specified number of batches. | | |
Target Variable | | Name of the variable that stores the operation’s output. | | |
Target Value | | Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field. | | |
Reconnection Strategy | | Retry strategy in case of connectivity errors. | | |
#### Output
#### 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.
| Name | Type | Description | Default Value | Required |
|---|
Configuration | | Name of the configuration to use. | | |
Object Name | | | | |
Object Fields | | Object fields list to include in the dynamic VQL query. | | |
WHERE Clause | | | | |
Fetch Size | | Number of limits or records per page. | | |
Batch Size | | Number of pages per batch. | | |
Streaming Strategy | | Configures how Mule processes streams. Repeatable streams are the default behavior. | | |
Target Variable | | Name of the variable that stores the operation’s output. | | |
Target Value | | Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field. | | |
Reconnection Strategy | | Retry strategy in case of connectivity errors. | | |
#### Output
#### 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.
| Name | Type | Description | Default Value | Required |
|---|
Configuration | | Name of the configuration to use. | | |
Picklist Name | | | | |
Output Mime Type | | MIME type of the payload that this operation outputs. | | |
Output Encoding | | Encoding of the payload that this operation outputs. | | |
Streaming Strategy | | Configures how Mule processes streams. Repeatable streams are the default behavior. | | |
Target Variable | | Name of the variable that stores the operation’s output. | | |
Target Value | | Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field. | | |
Reconnection Strategy | | Retry strategy in case of connectivity errors. | | |
#### Output
#### 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.
| Name | Type | Description | Default Value | Required |
|---|
Configuration | | Name of the configuration to use. | | |
Output Mime Type | | MIME type of the payload that this operation outputs. | | |
Output Encoding | | Encoding of the payload that this operation outputs. | | |
Streaming Strategy | | Configures how Mule processes streams. Repeatable streams are the default behavior. | | |
Method | | HTTP method to send the request. | | |
Path | | Path in which the request is sent, for example, /vobjects/{object_name}/actions/{action_name}. | | |
Body | | Body of the request message. | | |
Headers | | HTTP headers the message must include. | | |
URI Parameters | | URI parameters that are provided in the Path field. | | |
Query Parameters | | Query parameters the request must include. | | |
Request Streaming Mode | | Whether the request must be sent using streaming or not. | | |
Target Variable | | Name of the variable that stores the operation’s output. | | |
Target Value | | Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field. | | |
Reconnection Strategy | | Retry strategy in case of connectivity errors. | | |
#### Output
#### 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.
| Name | Type | Description | Default Value | Required |
|---|
Configuration | | Name of the configuration to use. | | |
Streaming Strategy | | Configures how Mule processes streams. Repeatable streams are the default behavior. | | |
VQL Query | | VQL query required as per Veeva API documentation. | | |
Input Parameters | | Input parameters in the format #[{'name': 'Hemant', 'nickname': payload, 'company': vars.company}]. | | |
Fetch Size | | Number of limits or records per page. | | |
Batch Size (DEPRECATED) | | Number of batches of Fetch Size elements to return. This field is deprecated. | | |
Target Variable | | Name of the variable that stores the operation’s output. | | |
Target Value | | Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field. | | |
Reconnection Strategy | | Retry strategy in case of connectivity errors. | | |
#### Output
#### 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.
| Name | Type | Description | Default Value | Required |
|---|
Configuration | | Name of the configuration to use. | | |
Include Spark Headers | | Flag to include Spark headers received from the vault in the Spark validator output. | | |
Public Key Path | | 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 | | Spark headers received from the vault and embedded in the Spark message. | | |
Spark Message | | Spark message body received from the vault. | | |
Output Mime Type | | MIME type of the payload that this operation outputs. | | |
Output Encoding | | Encoding of the payload that this operation outputs. | | |
Streaming Strategy | | Configures how Mule processes streams. Repeatable streams are the default behavior. | | |
Target Variable | | Name of the variable that stores the operation’s output. | | |
Target Value | | Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field. | | |
Reconnection Strategy | | Retry strategy in case of connectivity errors. | | |
#### Output
Type | Binary |
Attributes Type | |
#### 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.
| Name | Type | Description | Default Value | Required |
|---|
Configuration | | Name of the configuration to use. | | |
Resource Owner Id | | 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.
| Name | Type | Description | Default Value | Required |
|---|
Configuration | | Name of the configuration to use. | | |
Metadata Format | | | | |
Document Metadata | | Editable document metadata in CSV OR JSON format as an Input Stream to update single or multiple documents on the vault. | | |
Output Mime Type | | MIME type of the payload that this operation outputs. | | |
Output Encoding | | Encoding of the payload that this operation outputs. | | |
Streaming Strategy | | Configures how Mule processes streams. Repeatable streams are the default behavior. | | |
Target Variable | | Name of the variable that stores the operation’s output. | | |
Target Value | | Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field. | | |
Reconnection Strategy | | Retry strategy in case of connectivity errors. | | |
#### Output
#### 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.
| Name | Type | Description | Default Value | Required |
|---|
Configuration | | Name of the configuration to use. | | |
Object Name | | | | |
Metadata Format | | | | |
Object Metadata | | Vault object metadata in CSV or JSON format as an Input Stream to create bulk object records on the vault. | | |
Output Mime Type | | MIME type of the payload that this operation outputs. | | |
Output Encoding | | Encoding of the payload that this operation outputs. | | |
Streaming Strategy | | Configures how Mule processes streams. Repeatable streams are the default behavior. | | |
Target Variable | | Name of the variable that stores the operation’s output. | | |
Target Value | | Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field. | | |
Reconnection Strategy | | Retry strategy in case of connectivity errors. | | |
#### Output
#### 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.
| Field | Type | Description | Default Value | Required |
|---|
Fails Deployment | | 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.
| Field | Type | Description | Default Value | Required |
|---|
Frequency | | How often to attempt to reconnect, in milliseconds. | | |
Count | | 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.
| Field | Type | Description | Default Value | Required |
|---|
Frequency | | How often to attempt to reconnect, in milliseconds. | | |
### Expiration Policy
Configures an expiration policy strategy.
| Field | Type | Description | Default Value | Required |
|---|
Max Idle Time | | Configures the maximum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration. | | |
Time Unit | 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.
| Field | Type | Description | Default Value | Required |
|---|
Initial Buffer Size | | 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 | | 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 | | 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 | | 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.
| Field | Type | Description | Default Value | Required |
|---|
In Memory Size | | 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 | | Unit for the In Memory Size field. | | |
### Repeatable In Memory Iterable
Configures the repeatable in memory iterable type.
| Field | Type | Description | Default Value | Required |
|---|
Initial Buffer Size | | 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 | | 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 | | 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.
| Field | Type | Description | Default Value | Required |
|---|
In Memory Objects | | Maximum amount of instances to keep in memory. If more than that is required, content on the disk is buffered. | | |
Buffer Unit | | Unit for the In Memory Size field. | | |
### HTTP Response Attributes
Configures HTTP response attributes for the configuration.
| Field | Type | Description | Default Value | Required |
|---|
Status Code | | HTTP status code of the response. Former 'http.status'. | | |
Reason Phrase | | HTTP reason phrase of the response. Former 'http.reason'. | | |
Headers | | Map of HTTP headers in the message. Former properties. | | |
### 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\].
| Field | Type | Description | Default Value | Required |
|---|
Api Limit | | Veeva Vault API threshold limit. When this threshold is reached or exceeded, the connector waits the specified time. | | |
Wait Time | | Time the connector waits once the threshold value reaches or exceeds the remaining API calls. | | |
Max Wait Unit | NANOSECONDS MICROSECONDS MILLISECONDS SECONDS MINUTES HOURS DAYS
| Time unit for the Wait Time field. | | |
### 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\].
| Field | Type | Description | Default Value | Required |
|---|
Api Limit | | 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. | | |
## See Also
- [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors)
- [Salesforce Help](https://help.salesforce.com)