Working with product definitions

The Product Definition API supports a set of endpoints for querying products, lines, and reference code data.

Products and lines

The product and line endpoints provide read-only access to product data models.

The /productdefinition/v1/products/* endpoints can be used to query products and their associated lines, questions, and editions.

The /productdefinition/v1/lines/* endpoints can be used to query lines and their associated coverables, coverages, exposures, and questions.

Product editions

You can retrieve summary information for all editions of a product by using the following endpoint:

  • GET /productdefinition/v1/products/{productId}/editions

For example, to retrieve the edition codes for the PersonalAuto product, use the following command:

Command

GET /productdefinition/v1/products/PersonalAuto/editions

Response

{
    "data": [
        {
            "attributes": {
                "code": "BaseEdition",
                "description": "Base Product",
                "id": "BaseEdition",
                "name": "Base Product"
            }
        }

The editions can have three sources:

  • Editions for a visualized product
  • Editions from the InstalledEditions table for an installed product not synced to cloud
  • Editions from the APD Cloud service for an installed product synced to cloud

This endpoint is intended to work across all three sources. However, there might be some inconsistencies due to differences in how the products are implemented. For example:

  • Locally-installed editions have a notion of "status" (pre-loaded, activated, or withdrawn) that doesn't apply to the other cases.
  • Locally-installed editions have no notion of a name, description, effective or expiration dates, or applicable segments and jurisdictions.
  • Locally-installed and visualized editions are attached to the line rather than the product, while cloud-synced editions are attached to the product. This endpoint attempts to abstract over that difference by aggregating all line-level editions and treating them as a product-level edition, and only writing out concrete properties if they're the same for all editions.

The main use for this endpoint is to retrieve codes for use with the /common/v1/entity-schemas endpoint. Use the code attribute from the /productdefinition/v1/products/{productId}/editions response with the editionCode query parameter for the entity-schemas endpoint. See Business entity schema query parameters for more information.

Reference code data

The /productdefinition/v1/reference-data/* endpoints can be used to query collections of reference code data, such as cost codes or class codes.

The following types of reference code data are supported:

Endpoint Description Resource Guidewire entity
/productdefinition/v1/reference-data/bop-class-codes BOP class codes BOPClassCode BOPClassCode
/productdefinition/v1/reference-data/cost-codes Cost codes CostCode CostCode
/productdefinition/v1/reference-data/industry-codes Industry codes IndustryCode IndustryCode
/productdefinition/v1/reference-data/risk-classes Risk classes RiskClass RiskClass
/productdefinition/v1/reference-data/tax-locations Tax locations TaxLocation TaxLocation
/productdefinition/v1/reference-data/uw-issue-types Underwriting issue codes UWIssueType UWIssueType
/productdefinition/v1/reference-data/wc-class-codes Workers' Comp class codes WCClassCode WCClassCode
/productdefinition/v1/reference-data/wc-fed-liab-class-codes Workers' Comp federal liability class codes WCFedLiabClassCode WCFedLiabClassCode