Product Versioning Repair


Product Versioning keeps policy data in sync with configurations so that new configurations can be deployed without affecting existing policies. Sometimes the configurations associated with existing policies needs to change. For example, if regulations require an update to all renewal documents, the older configurations’ renewal document templates must be updated.

Likewise, if you need to adjust renewal rates for existing policies, PV repair can be used to update older versions of the lookup tables that contain the rates.

Product Versioning Repair enables these changes to older configurations.

Enabling Repair

To use the repair functionality, the following two feature flags must be enabled:

  • Product Versioning

  • Product Versioning Repair

The easiest way to ensure that these flags are enabled is by updating the configuration config.json file, for example:

  "timezone": "America/Los_Angeles",
  "currency": "USD",
  "features": {
    "property.product.versioning.m2.enabled": true,
    "": true

Using Product Versioning Repair

After enabling Product Versioning, each time you redeploy a configuration, instead of overwriting the old configuration it is saved separately, with an incremented configVersion number. New policies are created using the latest version, which can be examined on the configVersion property of the PolicyResponse object.

To repair a configuration, use the Repair Configuration endpoint (described below) and indicate which specific configVersion you wish to target.


A future release will allow repairing more than one config version at a time. This is useful if you want each target version to use the same updated configuration.


After enabling the Repair feature flag, use the new deployment endpoints for deploying new configurations. The older deployment endpoints are not enabled for product versioning.

To repair existing configurations, use the Repair Test Configuration and Repair Production Configuration endpoints.


Calling the repair endpoints will permanently enable the repair feature flag. Do not call these endpoints if you do not want to enable repair.

Non-Versioned Entities

Product versioning applies to policies and premium reports. The policyholder, payment, claim, and subclaim entities are not versioned. This means that if you repair a configuration version (other than the latest version), the configuration for those entities will have no effect on Socotra’s system behavior, because only the latest configuration will be used for those entities.