Resource Management Feature Guide


Resource files can be used in product configuration to store reference data that is relevant during document generation, rating, and other critical processes. These files typically need to evolve with the business and regulatory landscape, with updates coming into effect on a specific date while existing or historical data continues to be available on previously bound business. Resource Management meets these needs.

An evolution of the previously released Independent Tables and Static Documents features, Resource Management can be applied to the following product configuration resource files:

  • Tables

  • Static Documents

  • Dynamic Document Templates

  • Formula Templates

All of these types can now be deployed independently of the traditional configuration package.

While Resource Management supports the deployment of a single resource, generally numerous resources of varying types will be bundled into a single Resource Group (sometimes referred to as a Product Vintage) and assigned a product scope and effective time. Over time, as new versions of these resources are required, a new Resource Group with the desired effective time can be deployed.


Customers who have already implemented the Independent Tables and Static Documents features should redeploy the required resources via the new API set. Refer to the Migration section below or contact your account representative for further details.

Resource Selection

Resource Management introduces a resourcesAsOfTimestamp for both new business and renewals. The value of resourcesAsOfTimestamp is determined by the resourceAsOf strategy configured for each transaction.

Two strategies - term_start and quotation - are available, and can be set for the new business and renewal transactions in the policy.json and renewal.json files, respectively.

  • term_start - ensures that the resourcesAsOfTimestamp matches the effective date of the transaction.

  • quotation - ensures that the resourcesAsOfTimestamp is set to the point in time at which the transaction is quoted.

Strategies can differ across products, and between new business and renewal transactions within a single product. Once the system has determined the transaction’s resourcesAsOfTimestamp, it will identify and access the necessary resource instances whose effectiveTimestamp is an exact match or is the most recent previous timestamp.

The basic resource selection logic at new business looks like this:


See the Illustrations section for additional resource selection examples.

Manual Override

The overrideResourcesAsOfTimestamp attribute provides the ability to override and manually set the resourcesAsOfTimestamp on a per-transaction basis. The overrideResourcesAsOfTimestamp can only be used when the transaction is in draft state, and only applies to that specific transaction. Subsequent transactions will revert to using the configured strategy.


Regardless of strategy or override, the resourcesAsOfTimestamp established by the term-defining transaction (new business or renewal) will be used to identify resources by all other transaction types whose effective date falls within that term; for example, resources selected for endorsements, cancellations, and reinstatements with an effective date within the new business term will be based on the resourcesAsOfTimestamp established for that term. There is no strategy or override available to change this behavior.


Getting started with Resource Management requires just three simple steps:

  1. Deploy the necessary resources to your tenant via API or the Admin Panel.

  2. Set the desired resourceAsOf strategy with your product configuration.

  3. Update table lookup calls from plugins with the asOfTimestamp.

Deploying and Managing Resources

Resources can be bundled in a number of ways for deployment, but whichever method you choose, a product and effective timestamp should be specified.

  1. Deploy a zip archive containing a single file or multiple files of a particular type.

  2. Deploy a zip archive with a predefined directory structure containing multiple files of a variety of types. See Zip File Structure below, or download an archive with the proper directory layout here.

A single file with a distinct product name and effective timestamp is enough to establish a new resource group. Managing existing groups is simple:

  • To add new resources to an existing group, simply deploy the new files using an existing group’s product name and effective timestamp. The new files must have distinct names.

  • To update the contents an existing resource, simply upload the new content with the same product name, effective timestamp, and filename as the content you are replacing.

  • Any deployed file can be deleted from any group via its locator.

Configuring the resourceAsOf Strategy

Set the policyAsOf attribute in policy.json and renewals.json for new business and renewals, respectively.


Both the New Business and Renewal transactions must have a strategy defined. While the configured strategy for a transaction can be modified, disabling the use of Resource Management cannot be done via configuration.

  // omitted lots of properties
  "policyAsOf": "term_start" | "quotation"

New Response Object Attributes

Once Resource Management has been implemented, the following elements of the policy response will be decorated with a resourcesAsOfTimestamp value:

Accessing Table Resources

The system will generally identify and access the appropriate resource based on the established resourcesAsOfTimestamp for a given transaction, and the effectiveTimestamp of the deployed resources. Resource access methods allowing for a custom effectiveTimestamp – for example, the get tables endpoint – will effectively override the resourcesAsOfTimestamp for that data call.

Static Documents via Liquid

The {{ "state_disclosure_2020.pdf" | render_static_document }} expression can continue to be used as-is. When Resource Management is implemented, this method is automatically decorated with the associated transaction’s resourcesAsOfTimestamp.

If the resourcesAsOfTimestamp should be overridden, implementers can use the expression {{ "state_disclosure_2020.pdf" | render_effective_document: as_of_timestamp}}, passing a custom value via the as_of_timestamp parameter.

Tables via Liquid

The {% assign rate = "my_rate_table" | lookup: my_lookup_key %} expression can continue to be used as-is. When Resource Management is implemented, this method is automatically decorated with the associated transaction’s resourcesAsOfTimestamp.

If the resourcesAsOfTimestamp should be overridden, implementers can use the expression {% assign rate = "my_rate_table" | lookup_effective: my_lookup_key, as_of_timestamp %}, passing a custom value via the as_of_timestamp parameter.


In order to ensure that the correct table resource instance is accessed from a plugin, the asOfTimestamp must be provided in the lookup method.

socotraApi.tableLookup(configVersion, tableName, key, asOfTimestamp)

To simplify this, the characteristicsAsOfTimestamp attribute has been added to peril characteristics.

  • PerilCharacteristicsResponse - characteristicsAsOfTimestamp

  • The optional asOfTimestamp is a Unix epoch timestamp. If asOfTimestamp is not specified, the current date and time will be used.

  • If the table is not found, tableLookup will look for the table in the configuration from

  • The configVersion parameter is used only if:

    • An independent table matching the date is not found.

    • You use product versioning.

Migrating from Independent Tables and Static Documents

Resource Management is an enhancement upon the previously released Independent Tables and Static Documents features, which will be moved to legacy status once the Resource Management beta period draws to a close, and eventually deprecated.

We encourage clients who have implemented Independent Tables and Static Documents to migrate to Resource Management.


The process of adopting Resource Management in an existing implementation is no different from a greenfield setup: simply redeploy the existing resources via the new Resource Management APIs, and set the desired resourceAsOf strategy in configuration. All references to resources within the configuration will continue to function just as they did before. Please contact your account representative for more details on Resource Management migration.


See the Resource Management API.

Zip File Structure
|-- tables/
|-- staticDocuments/
|-- documentTemplates/
|-- formulaTemplates/

Admin Panel UI

The Resource Management API can also be fully exercised via the Tenant Admin Panel.

  1. On the tenant login screen, choose “Switch To Administrator Login” and use your tenant admin credentials.

  2. Select Resource Groups from the navigation menu.

  3. Here, you can filter by Product to see all deployed resource groups by effective date.

  4. Within each resource group, you can add new files. You can also view, download, or replace all existing files.


Resource Selection Logic Illustrations

New Business




Manual Override