Developer Features in 26R1
Filters
Application Family
Tags
We are pleased to bring you the following additions and enhancements to Developer Portal features in 26R1.
Release Highlights
Section link for Release HighlightsDoctype Triggers
Section link for Doctype TriggersVault can now execute custom business logic when documents and document versions are created, updated, and deleted. This allows custom solutions to populate and clear field values, create related records, start SDK jobs and workflows, and perform complex validation logic. Developers familiar with record triggers can easily deploy doctype triggers to their Vault. Doctype triggers are assigned to a single Doctype, including base_document__v, and support all existing SDK services. Doctype triggers do not fire for updates to document attachments, document relationships, document roles, or annotations.
New Application: Veeva HACCP
Section link for New Application: Veeva HACCPThis release introduces the Veeva HACCP application
To support the new HACCP application, the following component types are now available:
- Qualityhaccpplancopyobject: Enables developers to configure records belonging to custom objects to be copied when users copy a HACCP Plan and its related records. Developers can also modify existing standard components for standard HACCP objects as required.
- Qualityhaccpmasterdataobjects: Enables developers to create a translation companion object to store translated master data. This translation companion object corresponds to a custom object used to store master data. When users create records for an object that is configured as a HACCP Master Data Object, Vault creates a translation record for each supported language that is active in your Vault.
- Qualityhaccptranslatedfieldcriteria: Enables developers to configure a reference field on a HACCP transactional object to filter translated master data records.
- Qualityhfdinfopanelsection: Enables developers to modify predefined HACCP Flow Diagram Side Panel Section configurations. Each standard component represents a section in the Information panel of the HACCP Flow Diagram. Developers can hide sections by modifying an existing configuration, and create subcomponents to define the fields that display in sections.
This feature also introduces three new public endpoints to manage HACCP Plan translations by allowing for the export, retrieval, and import of all translatable fields from a HACCP Plan record and its related records. The new endpoints process JSON files to execute asynchronous jobs that handle the translation export and import operations. These APIs facilitate the integration of third-party translation services to deliver an automated end-to-end translation process of a HACCP Plan, ensuring that users who aren’t fluent in English can view HACCP Plans in their local language.
Vault API v26.1
Section link for Vault API v26.1API Endpoint: Apply Template EDL to Milestones
Section link for API Endpoint: Apply Template EDL to MilestonesMaintaining an accurate Expected Document List (EDL) is critical for TMF completeness. Currently, if a configuration error or system defect disrupts the initial generation of Expected Documents, there is no easy way to generate these missing records. Customers have to manually create the Expected Documents using Vault Loader which is complex and error prone, or delete and recreate everything up to the Milestone level, which is often unacceptable for studies with existing data. Customers need a way to re-trigger EDL creation for specific milestones to ensure the accuracy of their EDLs without risking the integrity of existing records.
For Vaults with the EDL Template Refactor setting enabled, a new Veeva Clinical Operations API endpoint is now available called Apply Template EDL to Milestones. This endpoint allows administrators to resolve discrepancies by generating missing records for a subset of milestones. By providing a list of specific Milestone IDs, the system initiates a background job that identifies and creates missing EDLs, Expected Documents (EDs), and Milestone Items based on the current Study Template EDL. The job uses the same logic that is responsible for initial EDL creation in order to create these records. This provides a safe, non-destructive way to remediate data gaps and ensure accuracy for EDLs.
/api/{version}/app/clinical/studies/{study_id}/apply_template_edlVideo Annotation Support
Section link for Video Annotation SupportWe are adding support for Vault API and SDK to read, create, edit, and delete annotations for video documents for the following existing API calls:
Deprecate Retrieve Video Annotations API
Section link for Deprecate Retrieve Video Annotations APIAs we are adding support for Vault API to read, create, edit, and delete annotations for video documents in the general annotation related API calls, we are deprecating this dedicated endpoint.
Workflow Activity Log
Section link for Workflow Activity LogWe are introducing detailed daily logging for workflow operations to better show Admins the decisions and actions workflows have been making.
The Workflow Activity Logs can be downloaded using the dedicated API endpoint:
/api/{version}/logs/workflow/{YYYY-MM-DD}/fileNew X-VaultAPI-NoTriggers Header for Document Migration Mode APIs
Section link for New X-VaultAPI-NoTriggers Header for Document Migration Mode APIsDocument Migration Mode now has a No Triggers option when using Loader or Vault APIs.
Developers can add the X-VaultAPI-NoTriggers header to their API calls to bypass System, Application, and Custom triggers.
Bulk Translation Multi-File Import
Section link for Bulk Translation Multi-File ImportIn Bulk Translation, Vault Admins can upload multiple translation files, and then Import them in a single action. This allows Admins to reflect the changes in Vault more efficiently.
The dedicated Vault API endpoints will allow for multiple file_paths to be used during the upload and import action.
Import Bulk Translation File:
/api/{version}/messages/{message_type}/actions/importRetrieve Bulk Translation File Job Errors:
/api/{version}/services/jobs/{job_id}/errorsDeprecate "Retrieve All Documents" API
Section link for Deprecate "Retrieve All Documents" APIFor performance reasons, Vault API no longer supports using the Retrieve All Documents and Retrieve All Binders endpoints. Existing integrations will continue to work using older API versions prior to 26R1, but we recommend building new integrations using VQL. Customers using this deprecated API should consider migrating their solution to VQL.
Direct Data API
Section link for Direct Data APIDirect Data API: Publish Files at Vault Time ||OOU0000000P6042|
Section link for Direct Data API: Publish Files at Vault Time ||OOU0000000P6042|To better align with where the Vault is located and when data is available, Direct Data API Full and Log files will now be published at 01:00 Vault Time instead of 01:00 UTC time. For example, for a Vault configured with a PST time zone, Direct Data publishes all Full and Log files at 01:00 PST (08:00 UTC), excluding adjustments for Daylight Savings. Full files for such a Vault with PST time zone will now be generated as 143462-20260120-0800-F.tar.gz. Data captured in published files is always in UTC. You can find the current timezone for your Vault under Admin > Settings > Language & Region Settings. Learn more about Language and Region Settings in Vault Help>
Direct Data API: Include Vault Metadata
Section link for Direct Data API: Include Vault MetadataDirect Data now includes Vault configuration in extract CSV files. There are Full extracts to help customers get complete metadata for object fields (object.csv) and document fields (document.csv). The preexisting metadata.csv file now includes a new column to indicate whether a field is a Formula field. Customers can now build formulas directly in their external system based on the metadata provided in object.csv file. At this time, the document.csv file only provides Number field metadata.
VQL Edit Distance
Section link for VQL Edit DistanceThe VQL FIND clause now accepts an optional DISTANCE function to enable fuzzy search, which applies an edit distance to keywords to successfully match terms with minor misspellings.
Example Usage:
Raw Object & Currency Field Support for Display Formatting in VQL
Section link for Raw Object & Currency Field Support for Display Formatting in VQLTODISPLAYFORMAT() function in VQL now supports Raw objects and Currency fields. Number, Percent and Currency fields are localized in addition to being formatted.
Paginated VQL Query Time-to-Live
Section link for Paginated VQL Query Time-to-LivePaginated VQL queries can now be paged through for a maximum of 72 hours after being run, even if more than 20 minutes passes after the last page access.
Vault Java SDK
Section link for Vault Java SDKIntroduce Error Reporting in JobService SDK
Section link for Introduce Error Reporting in JobService SDKWe are introducing a new interface, JobQueueOperation, to replace JobParameters in the JobService SDK. This interface allows developers to run a job and get more information about resulting success and errors. This will help primarily in the following use cases:
Singleton jobs should provide a valid errorType when failing to launch.
SDK jobs with SingleInstanceStates defined should not lead to an exception, in case a job fails to be queued.
Object Lifecycle Entry Criteria & Action Configuration Metadata SDK
Section link for Object Lifecycle Entry Criteria & Action Configuration Metadata SDKThis feature provides new Vault Java SDK interfaces to retrieve object lifecycle configuration metadata for entry criteria and entry action configuration. The primary goal is to provide developers with a structured, read-only, way to inspect the rules, conditions, and actions associated with a specific lifecycle state. This does not provide a mechanism to execute these actions, only to retrieve their configuration.
New interfaces include:
ObjectLifecycleStateEntryCriteriaMetadataRequestDocumentLifecycleStateEntryCriteriaMetadataRequestObjectLifecycleStateEntryActionMetadataRequestObjectLifecycleStateEntryCriteriaMetadataResponseObjectLifecycleStateEntryActionMetadataResponse
Document Type Metadata SDK
Section link for Document Type Metadata SDKThis feature provides new Vault Java SDK interfaces to retrieve configurations for all annotation-related settings, including the enablement status of Suggested Links Action, Suggested Links Target, and Bring Forward Annotations on Version Create.
Generate URL for Specific Location Within a Document
Section link for Generate URL for Specific Location Within a DocumentThis feature introduces new builders in URLService SDK that allow a developer to generate a URL for a specified location within a document on a Doc Info page. Developers will be able to specify a page, coordinates on a specific page, or annotation that will be navigated to as the initial location once the URL resolves.
withPageNumber(int pageNumber)withXCoordinate(BigDecimal xCoordinate)withYCoordinate(BigDecimal yCoordinate)withAnnotationId(String annotationId)
RecordService SDK: Response Information for Delete Operations
Section link for RecordService SDK: Response Information for Delete OperationsDevelopers can now inspect the event type after executing a delete operation on object records. This allows for generic handlers to be built to process insert, update, and delete operations.
ObjectMetadata SDK: Audit Enabled Information
Section link for ObjectMetadata SDK: Audit Enabled InformationDevelopers can now determine if a given object has auditing enabled or not.
QueryExecutionResult to UDM
Section link for QueryExecutionResult to UDMDevelopers can now execute VQL queries using QueryService and get the results as user-defined models (UDMs) directly instead of first processing QueryExecutionResults and transforming them into UDMs. This allows developers to streamline code that responds to Custom Pages and Web APIs.
Expanded Document Related Query Targets available in QueryService
Section link for Expanded Document Related Query Targets available in QueryServiceDevelopers can now query the following query targets natively in SDK using QueryService:
archived_documentsmatched_documentsrenditionsbinder_node__sys
Queryable attributes for Inboundemailaddress component
Section link for Queryable attributes for Inboundemailaddress componentThe following attributes are now queryableInboundemailaddress component:
allowed_sendersauthenticate_senderdescriptionemail_processoremail_processor_useremail_usernamerun_as_processor_usersend_bounce_notification
Display as Simple for Complex Relationships
Section link for Display as Simple for Complex RelationshipsAdmins can configure complex join related object sections to be displayed as a simple join instead.
To support this feature, the MDL for the Pagelayout component will now accept the additional XML tag displayAsSimple="true" for the <vault:section><vault:relatedObject> element for complex join only.
Generate Document from Record: Workflow Job Step
Section link for Generate Document from Record: Workflow Job StepQuality administrators can now configure a new type of application sdk job which generates a formatted output of a document. Learn more about the user and admin-facing functionality of this feature in the Vault Help release notes
To support this and future functionality, we have added the following attributes:
auto_complete_workflow_stepto theJobcomponent typeparametersto theSdkbatchjobactionsubcomponent type
Picklist Order Type
Section link for Picklist Order TypeUsing MDL, Admins and developers can configure Picklist entries to be ordered by the order attribute. In this release, Admins and developers can also configure Picklist entries to be sorted by the end-user label, ascending or descending. To support this functionality, we've added the new order_type attribute to the Picklist component type.
Record History Expansion
Section link for Record History ExpansionThis feature provides the ability to maintain and visualize historical data related to records over time.
You can add this section to the Page Layout by appending the page_markup in the MDL Component, making sure the reference is set to record_history_section__v.
<vault:section title="Record History" name="record_history_section__c" reference="record_history_section__v">
<vault:bind property="documentField" value="field_name__c" />
<vault:bind property="documentType" value="type__c > subype__c" />
<vault:bind property="fieldsToDisplay">
<vault:list>
<vault:item value="name__v" />
<vault:item value="status__v"/>
</vault:list>
</vault:bind>
</vault:section>External Collaboration: External Collaborator Control
Section link for External Collaboration: External Collaborator ControlAn External Collaboration object control has been added to supported objects and allows a user to select a valid person to collaborate with depending on whether they are associated to an Organization, Organization Location, Hospital, Hospital Location, Health Authority or Third Party.