LOB-specific endpoints for pre-Hakuba products

The manner in which LOB-specific endpoints are generated changed in the Hakuba (2023.06.0) release. In prior releases, LOB-specific endpoints were generated using the product code as a prefix, not the line code. This made it difficult for PolicyCenter to determine when multiple products were using the same line.

As of the Hakuba release, LOB-specific endpoints are generated using the line code as a prefix. Guidewire has the following recommendations for insurers with products whose LOB-specific endpoints were generated in a pre-Hakuba release.

Controlling the level at which the endpoints are generated

Starting in Hakuba, there is an application configuration parameter named RestAPIsGeneratingByPolicyLine. It is a Boolean parameter that controls the level at which endpoints are generated.

  • true - PolicyCenter generates endpoints at the line level.
    • Endpoints are prefixed by the line code.
  • false - PolicyCenter generates endpoints at the product level.
    • Endpoints are prefixed at the product code.

The default for this parameter is true. However, when an insurer moves from a pre-Hakuba release to Hakuba (or later), this parameter is set to false to preserve the original product-prefix-style generation.

Guidewire recommends all insurers eventually set this parameter to true, as this setting supports multi-line products. Insurers may need to modify existing products to ensure they continue to behave as expected.

Warning: Before you change the RestAPIsGeneratingByPolicyLine parameter's value from false to true, Guidewire strongly recommends that you ensure that for every mono-line products whose product abbreviation is different than the line prefix, you have updated the product as specified in Products whose line prefix is not identical to the product prefix.. If you do not, then any future regeneration of the LOB-specific endpoints will create a new set of endpoints, as opposed to replacing the existing endpoints. This is likely to lead to unexpected behaviors.

Products whose line prefix is identical to the product prefix

If you have a mono-line product whose line has a prefix that is identical to the product prefix, no additional work is needed. The new behavior will be extracting the prefix from a different location (the line instead of the product). But if the prefix itself is the same, the LOB-specific endpoints generated for the line will also be the same.

Products whose line prefix is not identical to the product prefix

If you have a mono-line product whose line has a prefix that is not identical to the product prefix, then you must take additional steps to move the product to the new line-prefix-style generation.

The following instructions use the following abbreviations:

  • <productcode> = the product abbreviation, all in lowercase letters
  • <linecode> = the line prefix, all in lowercase letters

To modify the product, execute the following steps in a development environment with the current product.

  1. Set the RestAPIsGeneratingByPolicyLine application configuration parameter to true.
  2. In config/integration:
    • Rename all of the files that contain the product code so that _<productcode>_ is changed to _<linecode>_.
    • Within all of the file, change any reference of _<productcode>_ to _<linecode>_.
  3. In config/integration/apis/installedlobs:
    • Rename <productcode>_ext-1.0.yaml to <linecode>_ext-1.0.yaml,
  4. In gsrc/gw/rest/ext/pc/job/<productcode>/v1:
    1. Change the name of the directory path so that it is gsrc/gw/rest/ext/pc/job/<linecode>/v1.
    2. Rename Job<product-abbreviation>ExtApiHandler.gs to Job<linecode>ExtApiHandler.gs.
  5. In gsrc/gw/rest/ext/pc/policy/<productcode>/v1:
    1. Change the name of the directory path so that it is gsrc/gw/rest/ext/pc/policy/<linecode>/v1.
    2. Rename Policy<product-abbreviation>ExtApiHandler.gs to Policy<linecode>ExtApiHandler.gs.
  6. Drop the PolicyCenter database.
  7. Restart PolicyCenter
  8. Regenerate the LOB-specific endpoints for the product.

You can then include the product along with the other updated resources as part of the regular update process.