Vault Developer Release Notes
Filters
Application Family
Tags
We are pleased to bring you the following additions and enhancements to Developer Portal features in 21R3.
Developer Features in 21R3
Section link for Developer Features in 21R3We 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
Section link for Service AnnouncementsSpark Message Reverse IP Lookup Change
Section link for Spark Message Reverse IP Lookup ChangeOutbound 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
Section link for Global ChangesEnvelope Objects to High Volume Object
Section link for Envelope Objects to High Volume ObjectVault 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
Section link for Deprecating Vault-wide Document Migration ModeAfter 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
Section link for REST API v21.3New Endpoints
Section link for New EndpointsHVO Online Alter via MDL
Section link for HVO Online Alter via MDLWith 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:
/api/mdl/execute_asyncAdditionally, API users can cancel HVO online alters before the final stages of deployment with the following endpoint:
/api/{version}/metadata/vobjects/{object_name}/actions/canceldeploymentHVO 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:
/api/mdl/execute_async/{job_id}/resultsSession Keep Alive
Section link for Session Keep AliveDevelopers 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.
/api/{version}/keep-aliveView this endpoint in the v21.3 API Reference.
Email Participants Action
Section link for Email Participants ActionWorkflow 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:
/api/{version}/objects/objectworkflows/{workflow_id}/actions/emailparticipantsTo 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
Section link for Existing EndpointsRead & Understood Workflows: Restrict Task Completion by Delegate Users
Section link for Read & Understood Workflows: Restrict Task Completion by Delegate UsersWith 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
Section link for On Behalf Of Auditing Export EnhancementsWith 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
Section link for Audit Response Offset Value Always Begins at 0When calling the API for individual object record audit logs, 0 will always be returned as the initial offset value.
/api/{version}/vobjects/{object_name}/{object_record_id}/audittrailThe 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
Section link for Workflow Cancellation CommentWorkflow 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.
/api/{version}/objects/objectworkflows/{workflow_id}/actions/cancel?cancellation_comment={cancellation comment}Single Verdict: Any Lifecycle Workflow
Section link for Single Verdict: Any Lifecycle WorkflowAny 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
Section link for Set Tokens In InstructionsWorkflow 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
Section link for Delete Document Relationships On Older VersionsWith 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:
/api/{version}/objects/documents/{doc_id}/versions/{major_version}/{minor_version}/relationships/{relationship_id}Allowed Users When Assigning New Document Owner
Section link for Allowed Users When Assigning New Document OwnerBefore 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:
/api/{version}/objects/documents/{id}/roles/api/{version}/objects/documents/roles/batchAs the allowed users default to “All users and groups” at upgrade time, there is no API behavior change without configuration.
Protected PDF Renditions
Section link for Protected PDF RenditionsWith 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
Section link for Tab MDL Component: New [id] AttributeWhen 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.
Audit Trail: New Entries for Vault Object Updates that Don’t Change Data Values
Section link for Audit Trail: New Entries for Vault Object Updates that Don’t Change Data ValuesThe Retrieve Complete Audit History for a Single Object Record endpoint now returns a "{field label}" updated sort order object audit trail entry when multi-value picklist selections are reordered, as well as a Record saved with no changes entry when users save records with no data changes. The latter case can occur when a user modifies data on an object record, but then reverts the change and saves the record. Please note this feature will be made available in the Dec 3 release, but will not be available in pre-release or limited release Vaults.
Application-Specific Endpoints
Section link for Application-Specific EndpointsClinical Milestone & EDL Endpoint Enhancements
Section link for Clinical Milestone & EDL Endpoint EnhancementsThere 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.
/api/version/objects/documents/milestones/actions/recalculateRIM: Copy into Content Plan API
Section link for RIM: Copy into Content Plan APIA new API endpoint is available to initiate the Copy Into Content Plan action via the Vault REST API.
/api/{version}/app/rim/content_plans/actions/copyintoThis 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.
Veeva SiteVault: User Administration API
Section link for Veeva SiteVault: User Administration APIThese new Veeva SiteVault-specific endpoints allow API users to manage user administration in a Veeva SiteVault that uses the Extensible Permissions feature (added 21R2):
- Retrieve a user’s current permissions for a research organization and all sites in the research organization
- Update a user’s permissions for a research organization and all sites in the research organization
- Add new users to a research organization and one or more sites in the research organization
For Veeva SiteVaults that are not using Extensible Permissions, existing Veeva Vault APIs should continue to be used.
Veeva Safety: Intake JSON API for Safety Customers
Section link for Veeva Safety: Intake JSON API for Safety CustomersVeeva Safety can now ingest calls from the Safety Intake JSON endpoint to receive an Inbox Item from a JSON file:
/api/{version}/app/safety/ai/intakeVaults 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.
Veeva Safety: Intake API Using JSON Object
Section link for Veeva Safety: Intake API Using JSON ObjectThe 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:
multipart/form-data: To pass JSON text in theintake_jsonparameter when passing another document in theintake_formparameterapplication/json: To only pass JSON text as raw content
Vault Java SDK
Section link for Vault Java SDKEmail to Vault
Section link for Email to VaultWith 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
Section link for Workflow Cancellation ActionsWorkflow 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
Section link for VaultInformationServiceThis 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
Section link for Local ConnectionContext for ConnectionServiceThis 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
Section link for QueryService Support for Additional TargetsQueryService 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
Section link for Enhancements to JSON Binding AnnotationsUser-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
Section link for Enhancements to JsonServiceThis 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
Standardize Escape Sequence for Special Characters
Section link for Standardize Escape Sequence for Special CharactersThis 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.
Update Task Due Date on Object Date Field Update
Section link for Update Task Due Date on Object Date Field UpdateWorkflow 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
Section link for Document Reference Field ConstraintsVault 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
Section link for Vault Quality: Recurrence Check for ComplaintsWith 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
Section link for Vault Quality: Display key Quality Team Roles for Filtering, ReportingTo 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