Developer Features in 21R3

We are pleased to bring you the following additions and enhancements to Developer Portal features in 21R3. REST API features added in 21R3 only affect API v21.3, unless otherwise noted.

Service Announcements

Spark Message Reverse IP Lookup Change

Release Date: 21R2.4, October 15, 2021

Outbound Spark messages are now sent from an IP address associated with Veeva Vault. Developers and network engineers can apply network and firewall rules by allowlisting *.veevavault.com. Customers who are currently allow listing by domain will need to update their rules to support *.veevavault.com domains. Learn more in the Vault Java SDK Documentation.

Global Changes

Envelope Objects to High Volume Object

Release Date: 21R2.3; September 24, 2021

Vault Platform objects Envelope and Envelope Contents (envelope__sys), which are used to represent Vault workflows on documents, are moving to high volume to deliver performance and scalability for workflows. The data_store attribute for these objects is set to high_volume.

These objects will no longer support Sharing Settings and record-level access control. High volume objects are supported in queries and APIs only in version v20.3+. Customers querying these two objects must use version v20.3+.

Deprecating Vault-wide Document Migration Mode

Release Date: 21R2.4, October 15, 2021

After the 21R3 release, Vault-wide Document Migration Mode will be deprecated.

Instead, use the X-VaultAPI-MigrationMode API header with the Vault REST API’s Create Multiple Documents, Create Multiple Document Versions, Update Multiple Documents, and Add Multiple Document Renditions endpoints, or use Vault Loader with the Document Migration Mode checkbox selected. These methods minimize risk and end-user impact by ensuring that only the documents being created and updated in the API request are subject to migration mode limitations, allowing the rest of the Vault to remain fully operational.

REST API v21.3

New Endpoints

HVO Online Alter via MDL

Release Date: 21R2.3; September 24, 2021

With this feature, Administrators can alter the metadata of a high volume object with greater than 10,000 records without locking the system. This allows end users to continue to use the system as normal during high volume object alteration. This functionality is not available in the Vault UI.

API users can execute this type of HVO online alter from the Execute MDL Script Asynchronously endpoint:

POST /api/mdl/execute_async

Additionally, API users can cancel HVO online alters before the final stages of deployment with the following endpoint:

POST /api/{version}/metadata/vobjects/{object_name}/actions/canceldeployment

HVO online alters are executed as a Job. Users can poll the Job Status endpoint to monitor for job completion, and after the Job is complete, the following endpoint can retrieve the deployment results:

GET /api/mdl/execute_async/{job_id}/results

Session Keep Alive

Release Date: 21R2.4, October 15, 2021

Developers are now able to keep a Vault API session alive with a light-weight endpoint that returns SUCCESS when given a valid Session ID. If given an invalid Session ID, Vault returns INVALID_SESSION_ID.Vault still enforces the 48-hour maximum session duration even when used with the Session Keep Alive.

POST /api/{version}/keep-alive

View this endpoint in the v21.3 API Reference.

Email Participants Action

Release Date: 21R2.3; September 24, 2021

Workflow users can now send emails to participants in an active workflow by using Email Participants action. The new emailparticipants action is available to retrieve and execute with the Vault API:

POST /api/{version}/objects/objectworkflows/{workflow_id}/actions/emailparticipants

To email participants via API, developers must provide the list of participants, the message, and whether the email will be copied to the sending user.

Existing Endpoints

Read & Understood Workflows: Restrict Task Completion by Delegate Users

Release Date: 21R2.2; August 20, 2021

With this release, delegated users cannot complete Read & Understood workflow tasks in the new Read & Understood workflows released in 21R2 General Release. This matches the behavior of our legacy Read & Understood workflows. This change affects all versions of the API.

On Behalf Of Auditing Export Enhancements

Release Date: 21R2.2; August 20, 2021

With this release, audit entries that contain on behalf of will now have a new on_behalf_of field populated when returning CSV and JSON. The existing User Name column will contain the user on the left side of on behalf of while a new column “On Behalf Of” will contain the user on the right side. Previously the two users were concatenated into the User Name column. Note that not all System actions are included in these changes.

View this endpoint in the v21.3 API Reference.

Audit Response Offset Value Always Begins at 0

Release Date: 21R2.2; August 20, 2021

When calling the API for individual object record audit logs, 0 will always be returned as the initial offset value.

GET /api/{version}/vobjects/{object_name}/{object_record_id}/audittrail

The change affects all versions of the API. Prior to this release, certain scenarios resulted in 200 being returned as the initial offset value.

View this endpoint in the v21.3 API Reference.

Workflow Cancellation Comment

Release Date: 21R2.3; September 24, 2021

Workflow administrators can require comments on the cancellation of an active workflow. If a workflows requires a cancellation comment, API users can provide this comment with the new cancellation_comment parameter on the existing cancel API.

POST /api/{version}/objects/objectworkflows/{workflow_id}/actions/cancel?cancellation_comment={cancellation comment}

Single Verdict: Any Lifecycle Workflow

Release Date: 21R2.2; August 20, 2021

Any Lifecycle document workflows now support Single Verdict. Users can provide a single verdict to all documents in the workflow.

To complete a single verdict task in an Any Lifecycle workflow, you must use the Initiate Workflow Task Action endpoint in REST API v21.3+.

Set Tokens In Instructions

Release Date: 21R2.3; September 24, 2021

Workflow administrators can add their own tokens in Instructions at the Start and Task steps of the workflow.

Workflows on documents support Tokens ${docName} and ${docNumber}. This gives the name and number of the document if there is a single document in the workflow.

Workflows on objects support object field tokens for all field types, except Long Text and Rich Text fields.

This feature also allows administrators to configure no link tokens {workflowContentsNoLink} and ${workflowTargetNoLink} for Notification Subject.

Delete Document Relationships On Older Versions

Release Date: 21R2.3; September 24, 2021

With this feature, users can delete a relationship on an older version of the document where the relationship is version specific with Edit Relationship permission. Previously, users could not delete a relationship on an older version of the document where the relationship is version specific. Users can delete a relationship either via UI or API.

To delete a relationship on an older, version-specific document with the API, you can use the following endpoint:

DELETE /api/{version}/objects/documents/{doc_id}/versions/{major_version}/{minor_version}/relationships/{relationship_id}

Allowed Users When Assigning New Document Owner

Release Date: 21R2.3; September 24, 2021

Before 21R2.3, Vault did not restrict which users could be assigned as a new document owner (through manual assignment, bulk actions, or the Rest API). Starting from this release, Admins can configure the Owner lifecycle role to restrict who can be assigned as the new document owner. This feature does not impact the document creation flow, where the creator is automatically assigned as the document owner.

In addition to the UI, the following APIs honor this new validation when assigning a new owner on a document:

POST /api/{version}/objects/documents/{id}/roles

POST /api/{version}/objects/documents/roles/batch

As the allowed users default to “All users and groups” at upgrade time, there is no API behavior change without configuration.

Protected PDF Renditions

Release Date: 21R2.4, October 15, 2021

With this release, Vault allows PDF viewable rendition downloads with safeguards applied which restrict alterations to the downloaded rendition. For users who have appropriate security permissions, we’ve added a new parameter, protectedRendition, to the Download Document Rendition File and the Download Document Version Rendition File endpoints to request a PDF rendition without PDF protection applied.

Tab MDL Component: New [id] Attribute

Release Date: 21R2.3; September 24, 2021

When retrieving Tab component records, the Vault REST API’s Retrieve Component Record Collection and Retrieve Component Record(XML/JSON) endpoints now return a new id in the Tab component description. Developers can use the id to construct a URL that navigates to a tab. The id attribute is read-only and is not used in MDL CREATE or RECREATEcommands.

Application-Specific Endpoints

Clinical Milestone & EDL Endpoint Enhancements

Release Date: 21R2.4, October 15, 2021

There is a new parameter, applyWhereEDLItemsExist, on the existing Create EDLs endpoint. When that parameter is set to true, the Create EDL job will be applied to existing EDLs, so that EDL items can be created from EDL Item Template records not previously used.

The new Recalculate Milestones endpoint accepts a CSV of document IDs and forces recalculation of the Milestone field on each of those documents.

POST /api/version/objects/documents/milestones/actions/recalculate

RIM: Copy into Content Plan API

Release Date: 21R2.2; August 20, 2021

A new API endpoint is available to initiate the Copy Into Content Plan action via the Vault REST API.

POST /api/{version}/app/rim/content_plans/actions/copyinto

This will copy a Content Plan Item or a Content Plan section and its descendants from one Content Plan to another Content Plan. The action will be synchronous for copying a single Content Plan Item, and asynchronous for copying at the Content Plan section level.

View this endpoint in the v21.3 API Reference.

SiteVault: User Administration API

Release Date: 21R2.3; September 24, 2021

These new SiteVault-specific endpoints allow API users to manage user administration in a SiteVault that uses the Extensible Permissions feature (added 21R2):

For SiteVaults that are not using Extensible Permissions, existing Veeva Vault APIs should continue to be used.

Vault Safety: Intake JSON API for Safety Customers

Release Date: 21R2.3; September 30, 2021

Vault Safety can now ingest calls from the Safety Intake JSON endpoint to receive an Inbox Item from a JSON file:

POST /api/{version}/app/safety/ai/intake

Vaults no longer require Safety.AI to receive calls from this endpoint. Vaults without Safety.AI only support processing structured data (JSON). The system ignores unstructured data.

Vault Safety: Intake API Using JSON Object

Release Date: 21R2.4; October 21, 2021

The Intake JSON endpoint now accepts JSON passed through as text in the request body.

To support this capability, two new body requests can be used in addition to the existing one:

Vault Java SDK

Email to Vault

Release Date: 21R2.3; September 24, 2021

With this feature,developers can define a Vault owned email address and configure processing behavior in the Admin UI. Incoming emails are converted into Email object records and are accessible in the new EmailProcessor SDK extension,. Developers can inspect the email metadata, content, and attachments and create documents and object records using existing SDK Services.

Learn more about Email Processors.

Workflow Cancellation Actions

Release Date: 21R2.3; September 24, 2021

Workflow administrators can configure Cancellation Actions, which are actions that get executed on the cancellation of an active workflow. In addition to Vault platform cancellation actions, developers can add their own custom RecordAction or DocumentAction for workflow cancellation of an object or document workflow using the Vault Java SDK.

There is a new Usage Enum value called WORKFLOW_CANCEL. Any document or record action with this Enum value can be configured as a cancellation action.

VaultInformationService

Release Date: 21R2.3; September 24, 2021

This feature allows SDK developers to access basic configuration information for the local Vault, including the Vault ID, DNS, and name.

Learn more in the Javadocs.

Local ConnectionContext for ConnectionService

Release Date: 21R2.3; September 24, 2021

This feature introduces a new method, newLocalConnectionContext, to ConnectionService. This method allows developers to create a local connection context without needing a Local Connection record. The local connection context executes as the authenticated user and is not supported when SDK code is initiated by System (workflows and jobs).

Learn more in the Javadocs.

QueryService Support for Additional Targets

Release Date: 21R2.3; September 24, 2021

QueryService now supports the following query targets including relationships: doc_role__sys, group__sys, group_memberships__sys, and all non-legacy workflow query targets.

Learn more in the Javadocs.

Enhancements to JSON Binding Annotations

Release Date: 21R2.2; August 20, 2021

User-defined models now support extending other user-defined models, allowing developers to create models with inherited user-defined properties. For example, an APIQueryResponse model could extend an APIResponse model. Additionally, developers can define default values for user-defined properties for the following types: BigDecimal, Boolean, String, and collections of String. Learn more about user-defined models.

Enhancements to JsonService

Release Date: 21R2.3; September 24, 2021

This feature allows developers to create a new JsonArrayBuilder from an existing JsonArray or a new JsonObjectBuilder from an existing JsonObject. Additionally, developers can retrieve the names and types of each JsonProperty in a JsonObject.

Learn more in the Javadocs.

VQL

Standardize Escape Sequence for Special Characters

Release Date: 21R2.3; September 24, 2021

This feature standardizes the VQL escape character (\) and allows developers to reference supported special characters on all document fields, object fields, and other VQL endpoints. The supported list of characters includes: backslash (\\), carriage return (\r), double quote (\"), line feed (\n), percent sign (\%), single quote (\'), asterisk (\*), and tab (\t). The escape sequence has been standardized across all VQL functions and clauses and only impacts v21.3 and higher.

MDL

Update Task Due Date on Object Date Field Update

Release Date: 21R2.3; September 24, 2021

Workflow administrators can update the task due date based on an Object date field automatically when the date field is updated.

There is a new MDL attribute in Task due date based on the date field called updateonfieldchange, as shown below. This attribute is false by default but for tasks that automatically update based on date field change of value, this is set to true.

<vwf:datefield type="object_field" datefieldvalue="object__c.due_date__c" updateonfieldchange="true" />

Document Reference Field Constraints

Release Date: 21R2.4, October 15, 2021

Vault can now constrain document reference fields on objects based on types, subtypes, and classifications, or based on values of other object fields. This can help narrow documents available for selection to those tailored for the purpose of the document reference field.

Vault Quality: Recurrence Check for Complaints

Release Date: 21R2.3; September 24, 2021

With this feature, API users can create Quality Record Checks for Complaints through MDL using the Qualityrecordcheck component.

Learn more about Quality Record Checks.

Vault Quality: Display key Quality Team Roles for Filtering, Reporting

Release Date: 21R2.3; September 24, 2021

To support the surfacing of key Team Role assignments for Quality Team enabled records as user fields, this feature adds the linked_field attribute to the Qualityteamrole subcomponent type. This attribute may be set to any User Object Reference Field on the Team’s Object/Object type, provided the maximum number of allowed users in the Qualityteamrole is equal to 1.

For a given Qualityteamrole, if linked_field is configured, Vault updates the identified user field whenever the membership of the Qualityteamrole on a given record is updated, and users are no longer able to edit that field. If omitted, the default value is null.

Learn more about linked role fields in Vault Help.

Vault QMS: Create Related Record Entry Action

Release Date: 21R2.4, October 15, 2021

To support Create Related Record entry actions, we’ve added the Relatedrecordsetup component type. Learn more in the Component Type Reference.