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: 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 for HTTP and FTP:

HTTP:

FTP:

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 Services.

Learn more about Veeva Vault cipher suite changes.

Enforce Valid License Types for Validation Management Users

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

Beginning in 24R2, System Administrators will only be able to select valid application license types for each application. The valid application license types for the Vault Validation Management application are:

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.

QMS: Enforce Valid License Values for User-Based Applications

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

Beginning in 24R2, System Administrators will only be able to select valid application license types for each application. The valid application license types for the Vault QMS application are:

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

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.

24R1.3

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

MedInquiry: Telephony Support

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 library.

REST API v24.2

Message Translations File API

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

Page Layout API: Do Not Resolve Tokens In Layout Rules

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

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]"
       }
   ]
}

API Burst Throttling Logging

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.

VQL

Enhancements to AS Clause

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.

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

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.

Vault Java SDK

RecordProperties for SDK

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

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.

MDL

Default Attribute for Object Types

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

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.

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

Learn more about Appsecurityrule components.

Quality Recurrence Check Insights

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

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.

24R1.2

Release Date: May 3, 2024 May 9, 2024

REST API v24.2

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

Bulk Undo Collaborative Authoring Checkout API

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.

Standardized Undo Checkout Permissions

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:

New Workflows Deployed as Active

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.

Create & Edit Annotations

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}/objects/documents/annotations/types/{annotation_type}

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

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

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

GET /api/{version}/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

VQL

Document Attachments: Document Version

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

Learn more about querying document attachments.

VQL: Retrieve Document Signature Data

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

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

Object Type Translation

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}