Veeva · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Veeva Vault REST Documents API
8 actions
8 updates
phrasing
extends
openapi/veeva-documents-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Veeva's API. It is a proposal applied on top of the contract, not a document Veeva publishes.
What the actions change
x-apievangelist-phrasing
Targets 8
$.info
$.paths['/objects/documents'].get
$.paths['/objects/documents'].post
$.paths['/objects/documents/{documentId}'].get
$.paths['/objects/documents/{documentId}'].put
$.paths['/objects/documents/{documentId}'].delete
$.paths['/objects/documents/{documentId}/file'].get
$.paths['/objects/documents/{documentId}/actions/{actionName}'].post
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Veeva Vault REST Documents API
version: 1.0.0
extends: openapi/veeva-documents-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 7
- target: $.paths['/objects/documents'].get
update:
x-apievangelist-phrasing:
intent: List documents I can access in Vault
effect: read
questions:
- Which documents in Veeva Vault can I see?
- Can I sort and page through the full document list?
instructions:
- text: List all the documents I have access to in Vault.
- text: List {limit} documents sorted by {sort}.
slots:
limit: query.limit
sort: query.sort
method: generated
generated: '2026-09-26'
- target: $.paths['/objects/documents'].post
update:
x-apievangelist-phrasing:
intent: Create a new document in Vault
effect: write
questions:
- How do I create a new document record and upload its source file at the same time?
- What do I need to supply to create a document, like its type and lifecycle?
- Can I link a new document to a study when I create it?
instructions:
- text: Create a document named {name__v} of type {type__v} on lifecycle {lifecycle__v}.
slots:
name__v: requestBody.name__v
type__v: requestBody.type__v
lifecycle__v: requestBody.lifecycle__v
- text: Upload {file} as a new {type__v} document called {name__v} using lifecycle {lifecycle__v}.
slots:
file: requestBody.file
type__v: requestBody.type__v
name__v: requestBody.name__v
lifecycle__v: requestBody.lifecycle__v
- text: Create document {name__v} ({type__v}, lifecycle {lifecycle__v}) for study {study__v}.
slots:
name__v: requestBody.name__v
type__v: requestBody.type__v
lifecycle__v: requestBody.lifecycle__v
study__v: requestBody.study__v
method: generated
generated: '2026-09-26'
- target: $.paths['/objects/documents/{documentId}'].get
update:
x-apievangelist-phrasing:
intent: Get a document's metadata
effect: read
questions:
- How do I see the properties and metadata of one Vault document?
- What lifecycle state and field values does a specific document have?
instructions:
- text: Get the metadata for document {documentId}.
slots:
documentId: path.documentId
- text: Show me the properties of Vault document {documentId}.
slots:
documentId: path.documentId
method: generated
generated: '2026-09-26'
- target: $.paths['/objects/documents/{documentId}'].put
update:
x-apievangelist-phrasing:
intent: Update a document's field values
effect: write
questions:
- How do I change the metadata fields on a document without replacing its file?
- Can I edit a document's properties after it has been created?
instructions:
- text: Update the field values on document {documentId}.
slots:
documentId: path.documentId
- text: Edit the metadata of document {documentId} but keep its file as is.
slots:
documentId: path.documentId
method: generated
generated: '2026-09-26'
- target: $.paths['/objects/documents/{documentId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a document and all its versions
effect: destructive
questions:
- How do I permanently delete a document from Vault?
- Does deleting a document also remove all of its versions?
instructions:
- text: Delete document {documentId} and every version of it.
slots:
documentId: path.documentId
- text: Remove Vault document {documentId}.
slots:
documentId: path.documentId
method: generated
generated: '2026-09-26'
- target: $.paths['/objects/documents/{documentId}/file'].get
update:
x-apievangelist-phrasing:
intent: Download a document's source file
effect: read
questions:
- How do I download the actual file behind a Vault document?
- Can I get the source file for the latest version of a document?
instructions:
- text: Download the source file for document {documentId}.
slots:
documentId: path.documentId
- text: Fetch the latest version's file of document {documentId}.
slots:
documentId: path.documentId
method: generated
generated: '2026-09-26'
- target: $.paths['/objects/documents/{documentId}/actions/{actionName}'].post
update:
x-apievangelist-phrasing:
intent: Run a lifecycle action on a document
effect: write
questions:
- How do I approve a document so it changes lifecycle state?
- Can I execute a user action like Send to Archive on a document?
instructions:
- text: Run lifecycle action {actionName} on document {documentId}.
slots:
actionName: path.actionName
documentId: path.documentId
- text: Change the state of document {documentId} by executing the {actionName} user action.
slots:
documentId: path.documentId
actionName: path.actionName
method: generated
generated: '2026-09-26'
Work with this as data
Every overlay 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 openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.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.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/veeva-documents-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.