veeva website screenshot

veeva

Veeva Systems is a leader in cloud-based software for the global life sciences industry, providing solutions to help pharmaceutical and biotechnology companies bring products to market more efficiently.

4 APIs 6 Features

APIs

Veeva Vault Platform API

Veeva Vault provides life sciences cloud platform APIs for regulatory document management, quality management (QMS), clinical operations, and commercial content management. REST...

Veeva Vault Java SDK

The Veeva Vault Java SDK (VAPIL) is an open-source Java-based REST API client for the Vault REST API. Provides type-safe access to all Vault API operations including document ma...

Veeva Vault Query Language (VQL) API

Vault Query Language (VQL) provides SQL-like query capabilities for accessing and retrieving Vault data. Supports SELECT, FROM, WHERE, ORDER BY, relationship queries, and functi...

Veeva Vault Direct Data API

The Veeva Vault Direct Data API provides high-speed, read-only bulk access to Vault data for integration, analytics, and reporting purposes. Supports bulk export of documents, o...

Collections

GraphQL

Veeva Systems GraphQL API

Veeva Systems provides cloud solutions for the life sciences industry. The Vault API covers document management, quality management, clinical data, regulatory submissions, medic...

GRAPHQL

Pricing Plans

Veeva Plans Pricing

1 plans

PLANS

Rate Limits

Veeva Rate Limits

2 limits

RATE LIMITS

FinOps

Veeva Finops

FINOPS

Features

Document Lifecycle Management

Full lifecycle management for controlled documents including draft, review, approval, and archival states with audit trails for regulatory compliance.

Vault Query Language

SQL-like query engine for retrieving Vault data across documents, objects, users, and workflows with support for relationship traversal.

Direct Data API

High-speed bulk data export for up to 500 records at a time for analytics, reporting, and integration with downstream systems.

Vault Object CRUD

Create, read, update, and delete operations on configurable Vault business objects (studies, products, sites, etc.) via REST API.

Session Authentication

Username/password authentication returning a session ID for subsequent API calls, with multi-vault support for complex enterprise deployments.

Java SDK (VAPIL)

Open-source Java client library providing type-safe access to all Vault REST API operations with automatic session management and error handling.

Use Cases

Regulatory Document Submission

Automate the assembly and submission of regulatory dossiers (CTD, eCTD) by programmatically managing document lifecycle, approvals, and publishing.

Clinical Trial Data Management

Integrate Vault with CTMS, EDC, and LIMS systems to automate study document workflows, protocol amendments, and site activation packages.

Quality Management Automation

Automate SOPs, CAPAs, deviations, and audit workflows in QMS Vault through lifecycle actions, object creation, and workflow task assignment.

Content Analytics

Export Vault document and object data in bulk for BI dashboards, compliance reporting, and cross-Vault analytics using the Direct Data API.

Enterprise Integration

Integrate Vault with SAP, Salesforce, Veeva CRM, and other enterprise systems using REST APIs for bidirectional data synchronization.

Semantic Vocabularies

Veeva Context

25 classes · 7 properties

JSON-LD

API Governance Rules

veeva API Rules

34 rules · 11 errors 19 warnings 4 info

SPECTRAL

JSON Structure

Veeva Vault Auth Response Structure

5 properties

JSON STRUCTURE

Veeva Vault Document Fields Structure

17 properties

JSON STRUCTURE

Veeva Vault Document List Response Structure

4 properties

JSON STRUCTURE

Veeva Vault Document Response Structure

3 properties

JSON STRUCTURE

Veeva Vault Document Structure

22 properties

JSON STRUCTURE

Veeva Vault Object Create Response Structure

2 properties

JSON STRUCTURE

Veeva Vault Object List Response Structure

4 properties

JSON STRUCTURE

Veeva Vault Object Record Response Structure

2 properties

JSON STRUCTURE

Veeva Vault Query Response Structure

3 properties

JSON STRUCTURE

Veeva Vault User List Response Structure

2 properties

JSON STRUCTURE

Example Payloads

Veeva Vault Document Example

15 fields

EXAMPLE

Visuals

View API subway map

Resources

🔗
LinkedIn
LinkedIn
🔗
Website
Website
🌐
Portal
Portal
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
🔑
Authentication
Authentication
📄
ChangeLog
ChangeLog
📦
SDKs
SDKs
💬
Support
Support
📜
PrivacyPolicy
PrivacyPolicy
👥
GitHubOrganization
GitHubOrganization
🔗
Vault Document Schema
JSONSchema
🔗
JSONLDContext
JSONLDContext
🔗
Veeva Vault API Spectral Rules
SpectralRules
🔗
Veeva Vocabulary
Vocabulary

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Veeva Vault REST API
  version: '25.3'
request:
  auth:
    type: apikey
    key: Authorization
    value: '{{Authorization}}'
    placement: header
items:
- info:
    name: Authentication
    type: folder
  items:
  - info:
      name: Veeva Authenticate and Obtain Session ID
      type: http
    http:
      method: POST
      url: https://{vaultDomain}/api/v25.3/auth
      body:
        type: form-urlencoded
        data:
        - name: username
          value: ''
        - name: password
          value: ''
        - name: vaultDNS
          value: ''
    docs: Authenticates a user with username and password and returns a session ID for use in subsequent API requests. Session
      IDs are included in the Authorization header for all API calls.
- info:
    name: Documents
    type: folder
  items:
  - info:
      name: Veeva List All Documents
      type: http
    http:
      method: GET
      url: https://{vaultDomain}/api/v25.3/objects/documents
      params:
      - name: limit
        value: ''
        type: query
      - name: offset
        value: ''
        type: query
      - name: sort
        value: ''
        type: query
    docs: Returns a list of all documents accessible to the authenticated user. Supports filtering by document type, lifecycle
      state, and custom fields.
  - info:
      name: Veeva Create a Document
      type: http
    http:
      method: POST
      url: https://{vaultDomain}/api/v25.3/objects/documents
      body:
        type: multipart-form
        data:
        - name: name__v
          type: text
          value: ''
        - name: type__v
          type: text
          value: ''
        - name: lifecycle__v
          type: text
          value: ''
        - name: status__v
          type: text
          value: ''
        - name: file
          type: text
          value: ''
        - name: description__v
          type: text
          value: ''
        - name: study__v
          type: text
          value: ''
    docs: Creates a new document record in Vault. Optionally uploads a file as the document source file in the same request
      using multipart/form-data.
  - info:
      name: Veeva Retrieve a Document
      type: http
    http:
      method: GET
      url: https://{vaultDomain}/api/v25.3/objects/documents/:documentId
      params:
      - name: documentId
        value: '12345'
        type: path
        description: Vault document ID
    docs: Returns metadata and properties for a specific document.
  - info:
      name: Veeva Update Document Metadata
      type: http
    http:
      method: PUT
      url: https://{vaultDomain}/api/v25.3/objects/documents/:documentId
      params:
      - name: documentId
        value: '12345'
        type: path
        description: Vault document ID
      body:
        type: form-urlencoded
        data: []
    docs: Updates document field values. Does not replace the document file.
  - info:
      name: Veeva Delete a Document
      type: http
    http:
      method: DELETE
      url: https://{vaultDomain}/api/v25.3/objects/documents/:documentId
      params:
      - name: documentId
        value: '12345'
        type: path
        description: Vault document ID
    docs: Deletes a document and all versions.
  - info:
      name: Veeva Download Document Source File
      type: http
    http:
      method: GET
      url: https://{vaultDomain}/api/v25.3/objects/documents/:documentId/file
      params:
      - name: documentId
        value: '12345'
        type: path
        description: Vault document ID
    docs: Downloads the source file for the latest version of a document.
  - info:
      name: Veeva Perform a Document Lifecycle Action
      type: http
    http:
      method: POST
      url: https://{vaultDomain}/api/v25.3/objects/documents/:documentId/actions/:actionName
      params:
      - name: documentId
        value: '12345'
        type: path
        description: Vault document ID
      - name: actionName
        value: Approve
        type: path
        description: Lifecycle action API name
    docs: Executes a user action on a document to change its lifecycle state. Common actions include Approve, Submit for Review,
      Send to Archive.
- info:
    name: Objects
    type: folder
  items:
  - info:
      name: Veeva List Vault Object Records
      type: http
    http:
      method: GET
      url: https://{vaultDomain}/api/v25.3/vobjects/:objectName
      params:
      - name: objectName
        value: study__v
        type: path
        description: Vault object API name
      - name: limit
        value: ''
        type: query
      - name: offset
        value: ''
        type: query
      - name: fields
        value: ''
        type: query
        description: Comma-separated list of field names to return
    docs: Returns records for a Vault object. Vault objects are configurable business entities (studies, products, sites,
      etc.).
  - info:
      name: Veeva Create a Vault Object Record
      type: http
    http:
      method: POST
      url: https://{vaultDomain}/api/v25.3/vobjects/:objectName
      params:
      - name: objectName
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Creates a new record for the specified Vault object.
  - info:
      name: Veeva Get a Vault Object Record
      type: http
    http:
      method: GET
      url: https://{vaultDomain}/api/v25.3/vobjects/:objectName/:recordId
      params:
      - name: objectName
        value: ''
        type: path
      - name: recordId
        value: ''
        type: path
    docs: Returns a single record for a Vault object.
  - info:
      name: Veeva Update a Vault Object Record
      type: http
    http:
      method: PUT
      url: https://{vaultDomain}/api/v25.3/vobjects/:objectName/:recordId
      params:
      - name: objectName
        value: ''
        type: path
      - name: recordId
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Updates fields on an existing Vault object record.
  - info:
      name: Veeva Delete a Vault Object Record
      type: http
    http:
      method: DELETE
      url: https://{vaultDomain}/api/v25.3/vobjects/:objectName/:recordId
      params:
      - name: objectName
        value: ''
        type: path
      - name: recordId
        value: ''
        type: path
    docs: Deletes a specific Vault object record.
- info:
    name: Query
    type: folder
  items:
  - info:
      name: Veeva Execute a VQL Query
      type: http
    http:
      method: GET
      url: https://{vaultDomain}/api/v25.3/query
      params:
      - name: q
        value: SELECT id, name__v, status__v FROM documents WHERE type__v = 'study_protocol__c'
        type: query
        description: VQL query string
    docs: Executes a Vault Query Language (VQL) query to retrieve data from documents, objects, users, and system data. Supports
      SELECT, FROM, WHERE, ORDER BY, FIND, and relationship traversal.
- info:
    name: Users
    type: folder
  items:
  - info:
      name: Veeva List Vault Users
      type: http
    http:
      method: GET
      url: https://{vaultDomain}/api/v25.3/objects/users
      params:
      - name: limit
        value: ''
        type: query
      - name: offset
        value: ''
        type: query
    docs: Returns all active users in the Vault.
bundled: true