Developer Features in 24R2

We are pleased to bring you the following additions and enhancements to Developer Portal features in 24R2. REST API features added in 24R2 only affect API v24.2, unless otherwise noted.

Service Announcements

Service Announcements are changes that may affect existing integrations. Organizations should assess these features against their existing integrations and make updates where necessary.

Java17 for Vault Java SDK: Upcoming Optional Enablement

Over the next several releases, Veeva is upgrading the Vault Java SDK to Java 17 to allow developers to take advantage of the upgrades that come with the new version. In addition to new features, Java 17 includes optimizations that can improve performance and efficiency compared to Java 8, allowing for reduced resource usage.

In this release, Developers and Admins can optionally enable Java 17 for Vault Java SDK to test their custom code for compatibility with the new Java version.

Release Dates:

TLS Cipher Suite and Version Changes

Release Date: 24R3.2; Dec 13, 2024

Beginning with the 25R1 release, Vault will add support for TLS 1.3 and no longer support CBC cipher suites:

These changes may affect some custom integrations, but not users accessing Vault with a supported browser.

All customers with affected integrations will be contacted directly by Veeva Developer Services.

Learn more about Veeva Vault cipher suite changes.

Enforce Valid License Types for Users

Release Date: 24R1.2; May 9, 2024

Beginning in 24R2, System Administrators will only be able to select valid application license types for each application.

If you have an integration that creates or updates User records in Vault, ensure that the integration assigns valid Application License values.

You must check and update the integration prior to the 24R2 release to ensure the integration continues to work as expected.

Yes/No Checkbox Field Enhancement

Release Date: 24R1.3; June 7, 2024

This feature was postponed to a future release.

Yes/No fields using the Show as checkbox option now support null values. This may impact existing integration code which assumes this field’s value can never be null.

For example, starting in this release, creating a new record with an optional checkbox field that does not have a default value will now have a null value.

Prior to this change, any legacy checkbox fields that had a null value would be returned as false in API and SDK. After this change, null values will be correctly returned as null.

Starting in API v24.2, developers can use the API and SDK to set checkbox field values to null. It is not possible to set checkbox values to null through the Vault UI.

MedInquiry: Telephony Support

This feature was postponed to a future release.

As part of Vault Medical’s Telephony Support: Embedded Call Controls feature, there are new API methods that facilitate integrations between MedInquiry and telephony providers. This feature enables MedInquiry users to answer phone calls and live chat requests within Vault.

Vault provides a standard integration to Amazon Connect. Other CTIs can be integrated using the new OmniConnect JavaScript API.

Global Changes

Global changes are features that affect multiple product areas or affect Vault holistically. For example, new functionality accessible through both the Vault REST API and the Vault Java SDK.

New Workflows Deployed as Active

Release Date: 24R1.2; May 9, 2024

Previously, using MDL or VPK to deploy new workflows to a target Vault created the new workflows in the Inactive state. With this feature, all new workflows are now deployed in the Active state. This removes the often tedious task of manually activating new workflows after deployment.

This feature does not change the behavior of deploying new versions of existing workflows.

Jobs Can Be Migrated as Active

Release Date: 24R1.2; May 9, 2024

When deploying Jobs via MDL or VPK, if the active attribute is set to true and the Job can be successfully created with all attributes resolved, the Job shall remain active after deployment. This will help reduce the manual steps required for configuration deployments.

Object Type Translation

Release Date: 24R1.2; May 9, 2024

Developers in Vaults with multilingual labels enabled can access localized labels for object types using ObjectMetadataService. To facilitate this, ObjectTypeMetadataCollectionRequest.Builder now includes the optional withLocalizedLabels() method.

Additionally, Vault REST API v24.2+ users can retrieve localized object type labels in Retrieve Object Metadata and Retrieve Details from a Specific Object requests by setting the loc query parameter to true.

GET /api/{version}/metadata/vobjects/{object_name}

GET /api/{version}/configuration/{object_name_and_object_type}

Support for Hyphens in Picklist Entry Values

Release Date: 24R1.4; June 28, 2024

We have expanded the supported character set for picklist value names to support the use of hyphens when creating or updating picklists using MDL or the Vault REST API. The supported character set has been updated to the following:

Example valid values are as follows:

Example invalid values are as follows:

This change applies to picklists value names across objects and documents. Picklist value names with hyphens are not supported within expressions. Customers that require evaluation of picklist entries in expressions should not leverage hyphens in picklist value names.

REST API v24.2

REST API features added in 24R2 only affect API v24.2, unless otherwise noted.

Global Changes

Global changes are features that affect the Vault REST API holistically rather than specific endpoints. For example, changes to API burst limits.

API Burst Throttling Logging

Release Date: 24R1.3; June 7, 2024

With this release, Vault no longer adds entries to the System Audit History when the API burst threshold has been reached. API burst information can be found in the API Usage Logs and API response headers.

New Endpoints

Create & Edit Annotations

Release Date: 24R1.2; May 9, 2024

Vault REST API v24.1 introduced the ability to read and delete document annotations. This release adds create and edit functionality for document annotations, allowing integrations to create and edit document annotations using API, including adding replies and defining annotation placement and color. Developers can also retrieve annotation metadata including annotation types and fields.

GET /api/{version}/metadata/objects/documents/annotations/types/{annotation_type}

View this endpoint in the v24.2 REST API Reference.

GET /api/{version}/metadata/objects/documents/annotations/placemarks/types/{placemark_type}

View this endpoint in the v24.2 REST API Reference.

GET /api/{version}/metadata/objects/documents/annotations/references/types/{reference_type}

View this endpoint in the v24.2 REST API Reference.

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

View this endpoint in the v24.2 REST API Reference.

POST /api/{version}/objects/documents/annotations/replies/batch

View this endpoint in the v24.2 REST API Reference.

PUT /api/{version}/objects/documents/annotations/batch

View this endpoint in the v24.2 REST API Reference.

This release also updates required body parameters for the Delete Annotations endpoint.

DELETE/api/{version}/objects/documents/annotations/batch

Message Translations File API

Release Date: 24R1.3; June 7, 2024

Customers translate labels in Vault by exporting CSV files containing all the labels for the Vault, entering the untranslated labels, and uploading them back to Vault.

This new set of APIs allow developers to import complete or partial CSV translation files from the File Staging Server, and then get the Job results.

POST /api/{version}/messages/{message_type}/actions/import

GET /api/{version}/services/jobs/{id}/summary

GET /api/{version}/services/jobs/{id}/errors

The APIs also allow developers to export the complete CSV translation files to the File Staging Server, and then get the Job results.

POST /api/{version}/messages/{message_type}/language/{lang}/actions/export

Vault Application License API

Release Date: 24R1.4; June 28, 2024

To support Vault integration developers who need to supply values for user licenses via API or Loader, we have created a new API endpoint that will return the available License Types with their application_name for each application available in a Vault.

GET /api/{version}/objects/licenses

Bulk Undo Collaborative Authoring Checkout API

Release Date: 24R1.2; May 9, 2024

Documents checked out using Collaborative Authoring now support bulk undo checkout, allowing developers to unlock documents in bulk.

DELETE /api/{version}/objects/documents/batch/lock

View this new endpoint in the v24.2 API Reference.

Existing Endpoints

Page Layout API: Do Not Resolve Tokens In Layout Rules

Release Date: 24R1.3; June 7, 2024

Starting in API v24.2, when using the Retrieve Page Layout Metadata endpoint, layout rules containing tokens now return tokens as is, instead of resolving them in the response.

Limit Workflow Task Participants Setting Extended to Add Participants

Release Date: 24R1.3; June 7, 2024

Previously, the Limit Workflow Task Participants setting only applied during the starting of a workflow. With this release, it will also not be possible to add participants to a running workflow beyond the set participant limit.

Attempting to add participants beyond the maximum number allowed using the Initiate Workflow Action API with the addparticipants action will result in the following error:

{
   "responseStatus": "FAILURE",
   "errors": [
       {
           "type": "OPERATION_NOT_ALLOWED",
           "message": "The number of participants selected [2] for [Participant] exceeds the maximum number of allowed participants for a workflow [1]"
       }
   ]
}

Standardized Undo Checkout Permissions

Release Date: 24R1.2; May 9, 2024

Vault supports several different document lock (checkout) methods for editing documents: standard checkout, checkout to Vault File Manager, Collaborative Authoring, and using Google Drive. Each method provides a mechanism to cancel/undo an existing checkout. Starting from v24.2, the permissions governing when cancellation can be performed of another user’s checked-out document will be consistent across all checkout types.

In order for a user to delete a document lock for a document that was locked by someone else, users will need to have Edit Document permission in the document lifecycle state security settings, as well as one of the following:

VQL

Enhancements to AS Clause

Release Date: 24R1.3; June 7, 2024

Users can now use the VQL AS clause in the SELECT statement to create an alias for any field by supplying an alphanumeric word without spaces. This saves effort because users no longer need to transform the name manually or use a separate process in a downstream system.

SELECT id as DatabaseID, name__v as ObjecRecordNameField
FROM object__c
"data" [
       {
           "DatabaseID": "V5R000000001001",
           "ObjecRecordNameField": "Object-000001"
       }
   ]

Learn more about aliasing with AS.

Release Date: 24R1.3; June 7, 2024

From this release, there is a limit of two (2) wildcards per search term and up to ten (10) total search terms with wildcards across the entire search text. This limit helps ensure searches do not negatively impact end users. This change applies to API-based searches using the VQL FIND clause.

Learn more about using wildcards with FIND.

TOLABEL for Object Types

Release Date: 24R1.3; June 7, 2024

The TOLABEL() function can now be used with the object_type__v field, to return the label of an object type. This allows getting user-friendly values without having to transform them after extraction.

SELECT id, name__v, TOLABEL(object_type__v)
FROM object__c
"data" [
       {
           "id": "V5R000000001001",
           "name__v": "Feedback-000001",
           "object_type__v": "Customer Feedback"
       }
   ]

Learn more about the TOLABEL() function.

Document Attachments: Document Version

Release Date: 24R1.2; May 9, 2024

Document attachment queries now support retrieving the document version(s) associated with a document attachment. The attachments__sysr relationship on documents includes a new field, document_version_id__sys.

Learn more about querying document attachments.

Retrieve Document Signature Data

Release Date: 24R1.2; May 9, 2024

A new document relationship, document_signatures__sysr, allows developers to find documents with signatures and retrieve signature metadata including signee, task, and workflow metadata.

Learn more about querying document signatures.

Invalid Operators & Fields on Legacy Users Query Target

Release Date: 24R1.2; May 9, 2024

When using v24.2+ on the legacy users query target (users), VQL no longer supports the comparison operators (<, >, <=, >= , BETWEEN, and LIKE) in the WHERE clause. Additionally, the created_by__v and modified_by_v fields are not supported in the ORDER BY clause. Previous versions will continue to work but may return invalid results when Vaults are moved to a new domain. These changes do not apply to queries on the user__sys object.

Vault Java SDK

New Interfaces & Methods

RecordProperties for SDK

Release Date: 24R1.3; June 7, 2024

RecordProperties provide additional information about object records beyond field data. These can help developers evaluate whether specific fields behave differently than other fields. There are three supported types:

Developers can now access RecordProperties through the SDK QueryService, and then use methods to evaluate the properties of specific fields.

Builder withQueryRecordPropertyTypes(List<QueryRecordPropertyType> queryRecordPropertyTypes);

They can be requested through the REST API using the request header X-VaultAPI-RecordProperties. Supported values for this header are hidden, redacted, weblink, and all.

"data" [
       {
           "id": "V5R000000001001",
           "name__v": "TestObject-000001",
           "hyperlink__c": "https://veevaconnect.com/myfeed"
       }
   ]
   "record_properties" [
       {
           "id": "V5R000000001001",
           "field_properties": {
               "hidden": [],
               "redacted": []
           },
           "subquery_properties": {},
           "field_additional_data": {
               "hyperlink__c": {
                   "web_link": {
                       "label": "Open Veeva Connect",
                       "target": "new_window",
                       "connection": null
                   }
               }
           }
       }
   ]

Learn more about record properties in the VQL and SDK documentation.

Facets for SDK

Release Date: 24R1.3; June 7, 2024

Faceting is the arrangement of search results into categories based on indexed terms. Facets provide a list of distinct values on an indexed field along with a count of the value in the records or documents in the collection.

Developers can now specify in the Vault Java SDK whether they would like facets to be returned via the SDK QueryService.

There is a new method on QueryService to get a QueryFacetRequest builder:

QueryFacetRequest.Builder newQueryFacetRequestBuilder();

There is also a new method on QueryExecutionRequest$Builder and QueryCountRequest$Builder to set a facet request:

Builder withQueryFacetRequest(QueryFacetRequest queryFacetRequest);

Facets are also available for REST API VQL queries using the X-VaultAPI-Facets header, and by supplying a list of facetable fields.

Application-specific Methods & Interfaces

Safety: Rule Engine SDK Update: getICSRReportingScenario Method

Release Date: 24R1.4; June 21, 2024

The Custom Rule Parameter SDK now provides the getICSRReportingScenario method. This method returns the following information for the Rule Engine run scenario Vault is currently evaluating:

MDL

Default Attribute for Object Types

Release Date: 24R1.3; June 7, 2024

Default object type is now an attribute of the Objecttype metadata instead of an attribute on the Object. While the existing attribute on the Object will continue to work, the new attribute will enable a more seamless VPK migration between Vaults.

Instead of the default_object_type('Objecttype.api_name__c') attribute on the Object component, there will be a default_type(true/false) attribute on the Objecttype component.

This feature also adds the isDefaultType() method to the Vault Java SDK’s ObjectTypeMetadata interface.

Learn more about Objecttype components.

Object Field Descriptions

Release Date: 24R1.3; June 7, 2024

In addition to adding help text to object fields for users to see when they hover over the field, Admins can now also add descriptions that are visible when configuring the object in Admin UI only. Object field descriptions are not exposed to users, but are used as a way for Admin users to understand the purpose of an object and how it should be used.

To support this, a description attribute is now available for the Field subcomponent. This field is also returned by the Retrieve Object Metadata and Retrieve Object Field Metadata endpoints in the Vault REST API.

This feature also adds the getDescription() method to the Vault Java SDK’s ObjectFieldMetadata interface.

Learn more about Field subcomponents.

Release Date: 24R1.3; June 7, 2024

For the component type Appsecurityrule, the following changes have been made:

Learn more about Appsecurityrule components.

Quality Recurrence Check Insights

Release Date: 24R1.3; June 7, 2024

To support the Quality Recurrence Check Insights feature, there is a new Qualityrecordcheckinsight component type.

Learn more about Qualityrecordcheckinsight components.

Action Paths & Steps for Change Control

Release Date: 24R1.3; June 7, 2024

To support the Change Action Paths feature in the Vault QMS UI, this feature adds the new Qmsactionpathconfiguration component type to all Quality Vaults with QMS enabled.

Learn more about Qmsactionpathconfiguration components.