Vault Bulk API Overview

Vault's Bulk API allows you to perform bulk create, update, upsert, and delete actions on documents, document roles, document relationships, object records, and users in your vault.

Bulk Documents API

Bulk Documents API Method API Endpoint Input Output Batch Size Available in API
Create Documents POST /api/{version}/objects/documents/batch CSV CSV, JSON 1-500 v9.0 or later
Update Documents PUT /api/{version}/objects/documents/batch CSV, Name-Value Pair CSV, JSON 1-1000 v9.0 or later
Delete Documents DELETE /api/{version}/objects/documents/batch CSV, JSON CSV, JSON 1-500 v13.0 or later
Add Document Versions POST /api/{version}/objects/documents/versions/batch CSV CSV, JSON 1-500 v10.0 or later
Delete Document Versions DELETE /api/{version}/objects/documents/versions/batch CSV, JSON CSV, JSON 1-500 v13.0 or later
Add Document Renditions POST /api/{version}/objects/documents/renditions/batch CSV CSV, JSON 1-500 v10.0 or later
Delete Document Renditions DELETE /api/{version}/objects/documents/renditions/batch CSV, JSON CSV, JSON 1-500 v13.0 or later

See request details in the Bulk Documents API article.
See input file requirements and examples in the Bulk Input Files article.

Bulk Document Roles API

Bulk Document Roles API Method API Endpoint Input Output Batch Size Available in API
Assign Users & Groups to Document Roles POST /api/{version}/objects/documents/roles/batch CSV, Name-Value Pair CSV, JSON 1-1000 v9.0 or later
Remove Users & Groups from Document Roles DELETE /api/{version}/objects/documents/roles/batch CSV, Name-Value Pair CSV, JSON 1-1000 v9.0 or later

See request details in the Bulk Document Roles API article.
See input file requirements and examples in the Bulk Input Files article.

Bulk Document Relationships API

Bulk Document Relationships API Method API Endpoint Input Output Batch Size Available in API
Create Document Relationships POST /api/{version}/objects/documents/relationships/batch CSV, JSON CSV, JSON 1-1000 v15.0 or later
Delete Document Relationships DELETE /api/{version}/objects/documents/relationships/batch CSV, JSON CSV, JSON 1-1000 v15.0 or later

See request details in the Bulk Document Relationships API article.
See input file requirements and examples in the Bulk Input Files article.

Bulk Object Records API

Bulk Object Records API Method API Endpoint Input Output Batch Size Available in API
Create Object Records POST /api/{version}/vobjects/{NAME} CSV, JSON CSV, JSON 1-500 v8.0 or later
Update Object Records PUT /api/{version}/vobjects/{NAME} CSV, JSON CSV, JSON 1-500 v8.0 or later

See request details in the Bulk Object Records API article.
See input file requirements and examples in the Bulk Input Files article.

Bulk Users API

Bulk Users API Method API Endpoint Input Output Batch Size Available in API
Create Users POST /api/{version}/objects/users CSV, JSON CSV, JSON 1-500 v12.0 or later
Update Users PUT /api/{version}/objects/users CSV, JSON CSV, JSON 1-500 v12.0 or later
Upsert Users POST /api/{version}/objects/users CSV, JSON CSV, JSON 1-500 v12.0 or later

See request details in the Bulk Users API article.
See input file requirements and examples in the Bulk Input Files article.

Top

How to Use the FTP Server

Each vault in your domain has its own FTP staging server. You can use this as a temporary storage area for files that you're loading. Vault also uses it to store files that you extract. The URL of each staging server is the same as the corresponding vault. Before loading any input that references a file, you must upload the file to the server via FTP. These files can include source files (for creating and versioning documents), renditions (for creating or updating documents), and user images (for creating and updating user profiles).

You can access your staging server using your favorite FTP client or through the command line. Use the following settings with an FTP client:

  • Protocol: FTP (File Transfer Protocol)
  • Encryption: Require explicit FTP over TLS (FTPS).
    • This is a security requirement. It will not work without this setting.
    • Your network infrastructure must be configured to support FTPS traffic.
  • Port: This does not typically need to be added and will default to Port 21.
  • Host: [DNS].veevavault.com.
    • For example: "abc" is the DNS in "abc.veevavault.com".
  • User: [DNS].veevavault.com+[USERNAME].
    • For example: abc.veevavault.com+johndoe@veeva.com.
    • This is the same username used for your standard login.
  • Password: Your login password for this vault.
    • This is the same password used for your standard login.
  • Login Type: Normal

Staging Server Permissions

  • To download files from the staging server, users must have the standard Vault Owner or System Admin security profile or be assigned the FTP Staging > Download permission.
  • To upload files to the staging server, users must have the standard Vault Owner or System Admin security profile.
  • The staging server does not support SAML SSO authentication.

How to Use the Server for Inputs

To reference files:

  • Connect to the FTP server for your vault.
  • Upload files directly to the FTP root or create and upload to a subdirectory.
  • Add the file column to your input and enter the path/name of each file relative to the FTP root, for example, Feb-2016-Batch/Gludacta_Brochure.pdf.

How to Use the Server for Extracts

  • When Vault exports files as part of an extract, you can find those files on your staging server.
  • The output will include the file column that shows the file name and location, relative to the server root.

Note: You can upload any number of files to your staging server but maximum number displayed is 64,998. Staged files are automatically removed at regular intervals.

Top

About Migration Mode

To add document versions or renditions or to set document numbering during import, Vault must be in Migration Mode.

The reason for this is that when bulk loading versions or renditions into Vault, we loosen the validation requirements that are typically enforced through the API. For example, we do not force versions to be added in chronological order, nor do we force document versions to be "walked" through their lifecycles. For this reason, we require that these powerful bulk operations be performed only when Vault is in Migration Mode.

Contact Support to enable Migration Mode.