veeva Objects API

Vault object CRUD operations

Operations 5

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /vobjects/{objectName} List records of a Vault object · Veeva List Vault Object Records #
Ask an LLM
“How do I list all the study or product records stored in a Vault object?”
“Can I choose which fields come back when listing object records?”
Tell an agent
List the records of the {objectName} object.
List {objectName} records returning only the fields {fields}, {limit} at a time.
POST /vobjects/{objectName} Create a Vault object record · Veeva Create a Vault Object Record #
Ask an LLM
“How do I add a new site or product record to a Vault object?”
“Can I create a record on a custom Vault object through the API?”
Tell an agent
Create a new record on the {objectName} object.
Add a new {objectName} record to the vault.
GET /vobjects/{objectName}/{recordId} Get one Vault object record · Veeva Get a Vault Object Record #
Ask an LLM
“How do I look up a single object record in Vault by its ID?”
“What field values does a specific study record currently hold?”
Tell an agent
Get record {recordId} from the {objectName} object.
Show me the details of {objectName} record {recordId}.
PUT /vobjects/{objectName}/{recordId} Update fields on a Vault object record · Veeva Update a Vault Object Record #
Ask an LLM
“How do I change field values on an existing Vault object record?”
“Can I edit a product record that is already in the vault?”
Tell an agent
Update the fields on {objectName} record {recordId}.
Edit existing record {recordId} of object {objectName}.
DELETE /vobjects/{objectName}/{recordId} Delete a Vault object record · Veeva Delete a Vault Object Record #
Ask an LLM
“How do I remove an object record from Vault?”
“Can I delete a site record that was created by mistake?”
Tell an agent destructive · confirm first
Delete record {recordId} from the {objectName} object.
Remove {objectName} record {recordId} from the vault.

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/veeva/refs/heads/main/json-schema/veeva-vault-auth-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/veeva/refs/heads/main/json-schema/veeva-vault-document-fields-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/veeva/refs/heads/main/json-schema/veeva-vault-document-list-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/veeva/refs/heads/main/json-schema/veeva-vault-document-create-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/veeva/refs/heads/main/json-schema/veeva-vault-document-update-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/veeva/refs/heads/main/json-schema/veeva-vault-document-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/veeva/refs/heads/main/json-schema/veeva-vault-object-list-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/veeva/refs/heads/main/json-schema/veeva-vault-object-create-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/veeva/refs/heads/main/json-schema/veeva-vault-object-record-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/veeva/refs/heads/main/json-schema/veeva-vault-query-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/veeva/refs/heads/main/json-schema/veeva-vault-user-list-response-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/veeva/refs/heads/main/json-structure/veeva-vault-auth-response-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/veeva/refs/heads/main/json-structure/veeva-vault-document-fields-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/veeva/refs/heads/main/json-structure/veeva-vault-document-list-response-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/veeva/refs/heads/main/json-structure/veeva-vault-query-response-structure.json

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/veeva:veeva-objects-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

veeva-objects-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Veeva Vault REST Objects API
  description: Veeva Vault provides life sciences cloud platform APIs for regulatory document management, quality management (QMS), clinical operations, and commercial content management. REST APIs enable document lifecycle management, workflow automation, object CRUD operations, and compliance-validated data exchange. API version v25.3.
  version: '25.3'
  contact:
    name: Veeva Developer Support
    url: https://developer.veevavault.com/
  license:
    name: Veeva Vault Terms of Service
    url: https://www.veeva.com/legal/
servers:
- url: https://{vaultDomain}/api/v25.3
  description: Veeva Vault API
  variables:
    vaultDomain:
      description: Your Vault domain (e.g., myvault.veevavault.com)
      default: myvault.veevavault.com
security:
- VaultSession: []
tags:
- name: Objects
  description: Vault object CRUD operations
paths:
  /vobjects/{objectName}:
    get:
      operationId: listObjectRecords
      summary: Veeva List Vault Object Records
      description: Returns records for a Vault object. Vault objects are configurable business entities (studies, products, sites, etc.).
      tags:
      - Objects
      parameters:
      - name: objectName
        in: path
        required: true
        description: Vault object API name
        schema:
          type: string
        example: study__v
      - name: limit
        in: query
        schema:
          type: integer
          default: 200
      - name: offset
        in: query
        schema:
          type: integer
          default: 0
      - name: fields
        in: query
        description: Comma-separated list of field names to return
        schema:
          type: string
      responses:
        '200':
          description: Object records
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectListResponse'
              examples:
                ListObjectRecords200Example:
                  summary: Default listObjectRecords 200 response
                  x-microcks-default: true
                  value:
                    responseStatus: SUCCESS
                    data:
                    - id: 0VO000000000001
                      name__v: STUDY-001
                      status__v: active__c
                    size: 1
                    start: 0
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createObjectRecord
      summary: Veeva Create a Vault Object Record
      description: Creates a new record for the specified Vault object.
      tags:
      - Objects
      parameters:
      - name: objectName
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              description: Object field values keyed by API name
            examples:
              CreateObjectRecordRequestExample:
                summary: Default createObjectRecord request
                x-microcks-default: true
                value:
                  name__v: STUDY-002
                  status__v: active__c
                  therapeutic_area__c: Oncology
      responses:
        '200':
          description: Record created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectCreateResponse'
              examples:
                CreateObjectRecord200Example:
                  summary: Default createObjectRecord 200 response
                  x-microcks-default: true
                  value:
                    responseStatus: SUCCESS
                    id: 0VO000000000002
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /vobjects/{objectName}/{recordId}:
    get:
      operationId: getObjectRecord
      summary: Veeva Get a Vault Object Record
      description: Returns a single record for a Vault object.
      tags:
      - Objects
      parameters:
      - name: objectName
        in: path
        required: true
        schema:
          type: string
      - name: recordId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Object record
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectRecordResponse'
              examples:
                GetObjectRecord200Example:
                  summary: Default getObjectRecord 200 response
                  x-microcks-default: true
                  value:
                    responseStatus: SUCCESS
                    data:
                      id: 0VO000000000001
                      name__v: STUDY-001
                      status__v: active__c
                      therapeutic_area__c: Oncology
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateObjectRecord
      summary: Veeva Update a Vault Object Record
      description: Updates fields on an existing Vault object record.
      tags:
      - Objects
      parameters:
      - name: objectName
        in: path
        required: true
        schema:
          type: string
      - name: recordId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
            examples:
              UpdateObjectRecordRequestExample:
                summary: Default updateObjectRecord request
                x-microcks-default: true
                value:
                  status__v: inactive__c
      responses:
        '200':
          description: Record updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VaultResponse'
              examples:
                UpdateObjectRecord200Example:
                  summary: Default updateObjectRecord 200 response
                  x-microcks-default: true
                  value:
                    responseStatus: SUCCESS
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteObjectRecord
      summary: Veeva Delete a Vault Object Record
      description: Deletes a specific Vault object record.
      tags:
      - Objects
      parameters:
      - name: objectName
        in: path
        required: true
        schema:
          type: string
      - name: recordId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Record deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VaultResponse'
              examples:
                DeleteObjectRecord200Example:
                  summary: Default deleteObjectRecord 200 response
                  x-microcks-default: true
                  value:
                    responseStatus: SUCCESS
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    VaultResponse:
      type: object
      properties:
        responseStatus:
          type: string
          enum:
          - SUCCESS
          - FAILURE
        id:
          type: integer
        errors:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
              message:
                type: string
    ObjectCreateResponse:
      type: object
      properties:
        responseStatus:
          type: string
        id:
          type: string
    ObjectListResponse:
      type: object
      properties:
        responseStatus:
          type: string
        data:
          type: array
          items:
            type: object
            additionalProperties: true
        size:
          type: integer
        start:
          type: integer
    ObjectRecordResponse:
      type: object
      properties:
        responseStatus:
          type: string
        data:
          type: object
          additionalProperties: true
  securitySchemes:
    VaultSession:
      type: apiKey
      in: header
      name: Authorization
      description: Vault Session ID from /auth endpoint