Developer Features in 24R2
Filters
Application Family
Tags
We are pleased to bring you the following additions and enhancements to Developer Portal features in 24R2.
Service Announcements
Section link for Service AnnouncementsService Announcements are changes that may affect existing integrations. Organizations should assess these features against their existing integrations and make updates where necessary.
HTTPS and FTPS Certificate Rollover
Section link for HTTPS and FTPS Certificate RolloverRelease Date: July 30, 2024
Vault has rolled over our HTTPS and FTPS certificates. Most integrations will be unaffected by this change, but please ensure that your integrations do not cache the old certificates. Failure to utilize the new certificates may cause integration disruptions. This change affects all API versions.
Java 17 for Vault Java SDK: Upcoming Optional Enablement
Section link for Java 17 for Vault Java SDK: Upcoming Optional EnablementOver 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.
Release Dates:
- 24R2.2; August 23, 2024: Developers and Admins can optionally enable Java 17 to test their custom code for compatibility.
- 25R1; April 4, 2025: Vault will auto-enable Java 17, with the option to disable if code incompatibilities are found.
- 25R2; July 25, 2025: All custom Vault Java SDK code is required to use Java 17.
TLS Cipher Suite and Version Changes
Section link for TLS Cipher Suite and Version ChangesBeginning with the 25R1 release, Vault will add support for TLS 1.3 and no longer support CBC cipher suites:
ECDHE-RSA-AES256-SHA384ECDHE-RSA-AES128-SHA256
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
Section link for Enforce Valid License Types for UsersBeginning 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
Section link for Yes/No Checkbox Field EnhancementThis feature was postponed to a future release.
null values. This may impact existing integration code which assumes this field's value can never be null.null value.null value would be returned as false in API and SDK. After this change, null values will be correctly returned as null.null. It is not possible to set checkbox values to null through the Vault UI.MedInquiry: Telephony Support
Section link for MedInquiry: Telephony SupportThis feature was postponed to a future release.
Global Changes
Section link for Global ChangesGlobal changes are features that affect multiple product areas or affect Vault holistically. For example, new functionality accessible through both Vault API and the Vault Java SDK.
New Workflows Deployed as Active
Section link for New Workflows Deployed as ActivePreviously, 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
Section link for Jobs Can Be Migrated as ActiveWhen 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
Section link for Object Type TranslationDevelopers 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 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.
/api/{version}/metadata/vobjects/{object_name}/api/{version}/configuration/{object_name_and_object_type}Support for Hyphens in Picklist Entry Values
Section link for Support for Hyphens in Picklist Entry ValuesWe have expanded the supported character set for picklist value names to support the use of hyphens when creating or updating picklists using MDL or Vault API. The supported character set has been updated to the following:
- Lowercase letters a-z
- Digits zero (0) through nine (9)
- Hyphens and underscores, limited to a single sequential instance of either
- Cannot begin or end with a hyphen (
-) or underscore (_)
Example valid values are as follows:
test_value_1__ctest-value-1__cTest-value_1__c
Example invalid values are as follows:
_test_value_1__c: Invalid because of the leading underscore-test-value-1__c: Invalid because of the leading hyphentest_value-__c: Invalid because of the trailing hyphentest-_value_1__c: Invalid because of sequential use of more than one instance of a hyphen or underscore
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.
Object Field Descriptions
Section link for Object Field DescriptionsIn 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 Vault API.
This feature also adds the getDescription() method to the Vault Java SDK's ObjectFieldMetadata interface.
Learn more about Field subcomponents.
Vault API v24.2
Section link for Vault API v24.2Vault API features added in 24R2 only affect API v24.2, unless otherwise noted.
Global Changes
Section link for Global ChangesGlobal changes are features that affect Vault API holistically rather than specific endpoints. For example, changes to API burst limits.
API Burst Throttling Logging
Section link for API Burst Throttling LoggingWith 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
Section link for New EndpointsCreate & Edit Annotations
Section link for Create & Edit AnnotationsVault 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.
/api/{version}/metadata/objects/documents/annotations/types/{annotation_type}View this endpoint in the v24.2 Vault API Reference.
/api/{version}/metadata/objects/documents/annotations/placemarks/types/{placemark_type}View this endpoint in the v24.2 Vault API Reference.
/api/{version}/metadata/objects/documents/annotations/references/types/{reference_type}View this endpoint in the v24.2 Vault API Reference.
/api/{version}/objects/documents/annotations/batchView this endpoint in the v24.2 Vault API Reference.
/api/{version}/objects/documents/annotations/replies/batchView this endpoint in the v24.2 Vault API Reference.
/api/{version}/objects/documents/annotations/batchView this endpoint in the v24.2 Vault API Reference.
This release also updates required body parameters for the Delete Annotations endpoint.
/api/{version}/objects/documents/annotations/batchMessage Translations File API
Section link for Message Translations File APICustomers 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.
/api/{version}/messages/{message_type}/actions/import/api/{version}/services/jobs/{id}/summary/api/{version}/services/jobs/{id}/errorsThe APIs also allow developers to export the complete CSV translation files to the File Staging Server, and then get the Job results.
/api/{version}/messages/{message_type}/language/{lang}/actions/exportVault Application License API
Section link for Vault Application License APITo 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.
/api/{version}/objects/licensesExisting Endpoints
Section link for Existing EndpointsPage Layout API: Do Not Resolve Tokens In Layout Rules
Section link for Page Layout API: Do Not Resolve Tokens In Layout RulesStarting 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
Section link for Limit Workflow Task Participants Setting Extended to Add ParticipantsPreviously, 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
Section link for Standardized Undo Checkout PermissionsVault supports several different document lock (checkout) methods for editing documents: standard checkout
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
- Have the Document Owner role for the document
- Have the All Document Actions permission in their Permission Set
- Have the Cancel Checkout permission in their Permission Set
Application-Specific Endpoints
Section link for Application-Specific EndpointsVeeva SiteVault User Administration APIs
Section link for Veeva SiteVault User Administration APIsThis feature introduces new APIs for user administration functionality, including creating new Staff and Monitors/External Users and editing their system permissions. These APIs are available to Veeva SiteVault Enterprise customers for use in system integrations.
Enhancements to AS Clause
Section link for Enhancements to AS ClauseUsers 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.
Wildcard Limits in Search
Section link for Wildcard Limits in SearchFrom 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
Section link for TOLABEL for Object TypesThe 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
Section link for Document Attachments: Document VersionDocument 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
Section link for Retrieve Document Signature DataA 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
Section link for Invalid Operators & Fields on Legacy Users Query TargetThis feature has been removed from v24.2 and will not be added in a future release.
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
Section link for Vault Java SDKNew Interfaces & Methods
Section link for New Interfaces & MethodsRecordProperties for SDK
Section link for RecordProperties for SDKRecordProperties 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:
hidden: List of fields not visible to the user for this record. A field might not be visible on a record if it is hidden from the user by atomic security.redacted: List of fields redacted for this record. A field is redacted if the querying user is SYSTEM and the field contains Protected Health Information (PHI) or Personally Identifiable Information (PII). weblink: List of additional attributes for formula fields that use the hyperlink function.
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 Vault 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
Section link for Facets for SDKFaceting 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 Vault API VQL queries using the X-VaultAPI-Facets header, and by supplying a list of facetable fields.
Application-specific Methods & Interfaces
Section link for Application-specific Methods & InterfacesSafety: Rule Engine SDK Update: getICSRReportingScenario Method
Section link for Safety: Rule Engine SDK Update: getICSRReportingScenario MethodThe 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:
- Investigational to Marketing (same agency)
- Investigational to Marketing (cross agency)
- Investigational to Investigational (cross agency)
- Marketing to Marketing (cross agency)
- Marketing to Investigational (cross agency)
- General Reporting
Default Attribute for Object Types
Section link for Default Attribute for Object TypesDefault 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.
Quality Recurrence Check Insights
Section link for Quality Recurrence Check InsightsTo support the Quality Recurrence Check InsightsQualityrecordcheckinsight component type.
Learn more about Qualityrecordcheckinsight components.
Action Paths & Steps for Change Control
Section link for Action Paths & Steps for Change ControlTo support the Change Action PathsQmsactionpathconfiguration component type to all Quality Vaults with QMS enabled.
Learn more about Qmsactionpathconfiguration components.