Developer Features in 20R1

We are pleased to bring you the following additions and enhancements to Developer Portal features in 20R1. For issues fixed in this release, view the “Developer Features” category of the fixed issues list in Vault Help.

REST API v20.1

REST API features added in 20R1 only affect API v20.1, unless otherwise noted.

Enablement Change: Standard Metrics (Non-Mandatory)

19R3.5, Release Date: March 6, 2020

Three fields, Global Content Type (global_content_type__v), Content Creation Currency (content_creation_currency__v) , and Content Creation Cost (content_creation_cost__v) will be turned on for all PromoMats vaults in the 19R3.5 release. If these optional fields are excluded, Vault will automatically populate any documents created through the API with the default value for these fields, or with “Not Specified" if no default exists.

Learn more about PromoMats Standard Metrics in Vault Help.

Reassign Multi-Document Workflow Task Parameter Format Change

19R3.5, Release Date: March 6, 2020

When reassigning a task to another user in a Multi-document Workflow instance, the parameter used to identify the new assignee (task_assignee__v) has been updated to the format user:{id}. For example, to reassign a multi-document workflow task to a user with ID 12345, you would input this ID as user:12345.

This parameter is now more consistent with the format used elsewhere in multi-document and object workflow, as it also disambiguates between user and group IDs.

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

19R3.4, Release Date: February 7, 2020

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

19R3.4, Release Date: February 7, 2020

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

19R3.4, Release Date: February 7, 2020

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.

Record Migration Mode for Configuration Migration Packages

19R3.2, Release Date: December 13, 2019

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

19R3.2, Release Date: December 13, 2019

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

19R3.2, Release Date: December 13, 2019

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.

Periods Supported for client_id

19R3.2, Release Date: December 13, 2019

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.

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

Object Metadata Service

19R3.5, Release Date: March 6, 2020

With ObjectMetadataService, Vault Java SDK developers can now retrieve Vault object and field metadata without having to rely on HTTP callouts to the Vault REST API. The service enables fetching of object attributes, such as name or label, and also includes the ability to return all, required, or unique object fields. Developers can also use the service to retrieve field-level information, including requiredness, uniqueness, copy availability, among other metadata.

Learn more in the Javadocs.

Spark Message Delivery Event Handler SDK Interface

19R3.2, Release Date: December 13, 2019

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

19R3.2, Release Date: December 13, 2019

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.

SDK Create Document & Versions

19R3.4, Release Date: February 7, 2020

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.

Memory Limit Accuracy

19R3.4, Release Date: February 7, 2020

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.

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

19R3.4, Release Date: February 7, 2020

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.

Document Type Support for Reference Lookups

19R3.2, Release Date: December 13, 2019

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.

MDL

Inherited Document Type Group Property for Doctype Component

19R3.5, Release Date: March 6, 2020

To clarify when a Doctype inherits its doctype_group from the parent document type, this feature introduces the inherit_doctype_groups attribute to the Doctype component. If true, the doctype_group value is inherited from the parent Doctype. If false, the Doctype does not inherit the value and has no doctype_group value set.

Spark Message Delivery Event Handler SDK Interface

19R3.2, Release Date: December 13, 2019

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

19R3.2, Release Date: December 13, 2019

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

19R3.2, Release Date: December 13, 2019

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.

VQL

VQL No Longer Truncates Trailing Zeros on Number & Currency

19R3.5, Release Date: March 6, 2020

In VQL versions v19.3 and below, VQL truncates trailing zeros on Number and Currency fields. For example, if your vault has the field vacation_days__c whose value was entered by a user as 10.00, VQL returns 10 for vacation_days__c.

Now in VQL versions v20.1+, Number fields appear exactly as the user entered them, so VQL will return 10.00 for vacation_days__c.

Enhanced Synonym Support in VQL

19R3.4, Release Date: February 7, 2020

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.