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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'