Developer Features in 20R1

We are pleased to bring you the following additions and enhancements to Developer Portal features in 20R1. REST API features added in 20R1 only affect API v20.1, unless otherwise noted. For issues fixed in this release, view the “Developer Features” category of the fixed issues list in Vault Help.

19R3.4

Release Date: February 7th, 2020

REST API

Object Record User Actions APIs: Add Lifecycle State to ‘action_name’ Parameter

With this enhancement, API users initiating an object record user action will need to specify the state name. This prevents ambiguity if there are duplicate user action names within a lifecycle, which may cause errors in earlier API versions.

View these endpoints in the v20.1 API Reference.

VPK Component Dependency Validation

This feature allows an Admin or configuration specialist to validate a configuration migration package prior to importing and deploying it. The Validate Package API response now includes information about the dependent components, whether they are required, and whether they exist in the package or the target vault.

View this endpoint in the v20.1 API Reference.

Auth API Limits

With this feature, the Authentication API introduces burst rate limiting. This limits the number of API calls a vault can receive within a short time period. The authentication API burst limit is 20 calls within one minute, tracked based on the domain and user name provided in the API call.

Unlike daily limits, the authentication API limit is not calculated on a rolling basis. Instead, this limit is calculated at fixed, one-minute intervals.

The Authentication API rate limit is applicable only to calls made to /api/{version}/auth with a user name and password. The limit does not apply to SAML/SSO or OAuth authentication.

Learn more about API Rate Limits.

VQL

Enhanced Synonym Support in VQL

This feature enhances the synonym support in VQL when used with content searches. The enhancement is only applicable when using VQL FIND clause with parentheses. For example, FIND (‘cholesterol’) would find documents and objects containing the word cholesterol as well as any synonyms for cholesterol configured in that vault.

Learn more about Synonyms in VQL.

Vault Java SDK

Memory Limit Accuracy

With this feature, the Vault Java SDK enables developers to write code that better measures memory allocation and deallocation. This enhancement helps developers better manage memory consumption so code stays within the maximum memory limit of 40MB imposed by the Vault Java SDK.

Specifically, this feature introduces a concept of User-defined Service (UDS). Much like core SDK services, developers now have the ability to code UDS. These services are stateless singletons whose methods, once exited, give the memory allocated in the method back toward the limit. The only thing that counts toward the limit is the size of the method return value.

Learn more about Memory Limit Accuracy & User-defined Services.

SDK Create Document & Versions

This feature adds new Vault Java SDK functionality which enables developers to create new documents and versions for existing documents with DocumentService. For example, developers can:

When creating new document versions, document fields do not automatically inherit values from the prior version. This means developers must manually set all document fields on new versions. Developers must also manually set the version number and lifecycle status, similar to creating multiple new versions in migration mode. In addition, creating new document versions in the Vault Java SDK has the same limitations as creating multiple versions via the API in document migration mode. The method to create multiple document versions is named migrateDocumentVersions to reflect these limitations.

Learn more in the Javadocs.

Record Workflow Action Enhancement: Display Custom Participant Group on Object Workflow Start Dialog

The new WorkflowEvent, DISPLAY_PARTICIPANTS, enables Vault Java SDK developers to implement record workflow actions that determine the participants of a workflow with the option to display those participants on the workflow start dialog. This allows Vault Admins to see a grouping of workflow participants before they start the workflow.

DISPLAY_PARTICIPANTS(WorkflowStepType.START) occurs when displaying participants with a custom action on a workflow start step, prior to workflow instance creation.

Learn more in the Javadocs.

19R3.2

Release Date: December 13th, 2019

REST API v20.1

In this release, we’ve released the new beta version of the API: v20.1.

Record Migration Mode for Configuration Migration Packages

Record Migration Mode allows configuration specialists to use outbound packages with dataset items to create object records in non-initial state.

This feature introduces a new field, Record Migration Mode (record_migration_mode__sys) to the Inbound Package Data (vault_data_package__v) and Dataset Item (dataset_item__sys) objects.

Record Migration Mode for Loader REST API

Record Migration Mode now allows integration specialists to use Loader REST API to create object records in non-initial state.

Learn more about Loader REST API.

idParam for Loader REST API

This feature allows integration specialists to specify the idParam that can be used with an upsert, update, and delete action to identify the field that will be used to identify the record.

Learn more about Loader REST API.

Vault Safety: Import Narrative REST API

Release Date: December 19, 2019

This feature introduces a publicly accessible API for importing a Vault Safety Case narrative. This will assist with non-E2B database migrations to Vault Safety.

Learn more about Import Narrative REST API.

Vault Java SDK

Document Type Support for Reference Lookups

This feature is geared towards developers building Spark integrations. It is common to have vaults with document types that are the same but with different names, especially across Vault families. With document-type reference lookups, Spark-integration developers can now map source document types to target document types, avoiding the need to hard code the mappings.

Learn more about Reference Lookups.

Spark Message Delivery Event Handler SDK Interface

The MessageDeliveryEventHandler interface allows developers to handle undeliverable Spark messages. Any classes implemented using this interface can be assigned to an Outbound Queue. The class assigned to the queue will be run anytime a Spark message can’t be delivered to its destination.

A Message Delivery Event Handler User is required to ensure auditable events triggered by MessageDeliveryEventHandler run on behalf of a named user. By default, handler code executes with System-level access, identified in audit logs as System on behalf of {originatingUser}, where {originatingUser} is the Spark Message Delivery Event Handler User.

Learn more about Message Delivery Event Handlers.

Integration Rule Service with Custom Error Reporting

Previously, it was not possible for custom Spark Integrations to access the error details returned by IntegrationRuleService. In this release, we have created a new set of Integration Rule Services that provide custom error reporting.

Periods Supported for client_id

Every Vault REST API call can accept an optional client ID to represent an external integration client. You can provide this data via a query parameter called client_id or HTTP Header called X-VaultAPI-ClientID.

Previously, underscores and hyphens were the only special characters allowed in a valid client ID. With this release, a valid client ID may also contain periods.

Learn more about client_id.

MDL

Spark Message Delivery Event Handler SDK Interface

The MessageDeliveryEventHandler interface allows developers to handle undeliverable Spark messages. Any classes implemented using this interface can be assigned to an Outbound Queue. The class assigned to the queue will be run anytime a Spark message can’t be delivered to its destination.

The feature introduces two new attributes, message_delivery_event_handler and message_delivery_event_handler_user, to the Queue component. These attributes can be set on an outbound queue once the handler code has been deployed to vault. The new Messagedeliveryeventhandler component is referenced by the message_delivery_event_handler attribute.

Document Type Support for Reference Lookups

With document-type reference lookups, Spark-integration developers can now map source document types to target document types, avoiding the need to hard code the mappings.

To support the new reference lookup type, the Fieldrule component’s reference_lookup_type attribute now includes a documenttype value.

Add single_instance_states attribute to Jobmetadata Component

SDK Jobs can now be configured to only allow one instance of that job to be in a given state at any time. The Jobmetadata component’s single_instance_states attribute accepts a value of scheduled, queued, or running, depending on which states of the job need to be restricted to one instance at a time. SDK Jobs that attempt to enter into a state that only allows a single instance will be blocked.