August, 2024

🥥

Highlights

The August release introduces

  • The Predefined Conditions API enables tenants to create and manage predefined conditions, which are templates for creating the special conditions that effect the scope of policies. A policy condition may restrict coverage to a subset of locations or set limits on coverage provided to a subset of locations.

Learn More

Reference Data API

The Predefined Conditions API enables UnderwriteIQ administrators to create and manage predefined conditions. A predefined condition is a template for creating special conditions that can applied to policies as policy conditions.

Platform supports two types of policy conditions: policy restriction conditions and sublimit conditions. Platform supports predefined conditions that are templates for both condition types.

  • A policy restriction condition (POLICY_RESTRICTION) identifies a location that is subject to a particular policy. If specified, a policy covers locations defined by the location condition, e.g., a policy that covers only California locations. Coverage for all other locations is assumed to be excluded. Only one policy restriction location condition is allowed per policy. Financial terms specified on the policy itself apply. Additional sublimits can apply to a subset of locations. Sublimit conditions have second priority after any policy restriction.
  • A sublimit restriction condition (SUBLIMIT) identifies locations that are subject to reduced insurance (limit) or a different deductible than the policy. A single policy can include multiple sublimit conditions. Locations that are not covered by a sublimit are subject to the terms of the policy. For example: (1) A $100M earthquake policy with a $20M sublimit on California locations. (2) A $100M earthquake policy with a blanket deductible of $15K except for California locations, which are subject to a $30K deductible.

The Predefined Condition API enables UnderwriteIQ administrators to save special conditions as reusable templates (predefined conditions), which licensed UnderwriteIQ principals can apply to policies.

Create Predefined Condition

The Create Predefined Condition operation (POST /platform/v1/predefinedconditions) creates a predefined condition, a template for creating a policy condition that implements policy-level restrictions or sublimits.

A policy condition defines the scope of a policy by selecting the locations covered by that policy. Depending on the type of condition (conditionType), the policy condition either restricts coverage to a subset of locations or sets limits on coverage provided to a subset of locations.

  • A policy restriction condition (POLICY_RESTRICTION) limits the scope of a policy to a subset of locations. A policy may be defined by one policy restriction condition. That policy restriction condition identifies the locations that are covered covered by that policy.
  • A sublimit condition (SUBLIMIT) identifies locations that are subject to reduced insurance or a different deductible than those specified by the policy. The sublimit condition defines a limit and deductible that apply to the locations subject to the policy condition.

All parameters are specified in the request body:

{
  "predefinedConditionName": "pcName",
  "limit": 1200000.0,
  "deductible": 2000000.0,
  "deductibleType": "DEFAULT",
  "conditionType": "POLICY_RESTRICTION",
  "percentOfLossDeductibleAmount": 0.0,
  "isFranchiseDeductible": "YES"
}

The predefinedConditionName and conditionType parameters are required. Depending on the conditionType value specified, additional parameters may be required.

PropertyTypeDescription
conditionTypestringType of policy condition. Defines whether the condition restricts all policy coverage to just specific locations (POLICY_RESTRICTION) or whether a portion of the coverage is limited to a subset of locations (SUBLIMIT). If SUBLIMIT, limit, deductibleType, and deductible are required.
deductibleTypestringType of deductible.
deductiblenumberAmount or percentage absorbed or paid by the insured before the policy takes effect. Depends on the deductibleType. Values <= 1 are interpreted as percentages; values > 1 are considered to be a flat amount.
limitnumberTotal amount of coverage provided by the condition. Is multiplied by the insurer’s pro-rata participation to determine their specific exposure. Total ground up limit of the sublimit special condition. Required if conditionTypeis SUBLIMIT.
predefinedConditionNamestringUser-defined name for the special condition. Unique per policy but can be reused within an account.

Once the predefined condition is created, the administrator can apply one or more predefined condition criteria to that predefined condition. The predefined condition criteria defines a query for selecting the locations covered by that policy condition. Locations that match the specified criteria are subject to that policy restriction or sublimit condition.

Alternatively, the users can directly apply a policy condition to a location by means of a location condition, which maps the location to a policy condition.

Search Predefined Conditions

The Search Predefined Conditions operation (GET /platform/v1/predefinedconditions) returns a list of predefined conditions.

The response returns an array of predefined conditions including information the predefined condition criteria applied to each condition.

[
  {
    "predefinedConditionId": 1,
    "predefinedConditionName": "pcNameOne",
    "limit": 1200000.0,
    "deductible": 2000000.0,
    "deductibleType": "DEFAULT",
    "conditionType": "POLICY_RESTRICTION",
    "percentOfLossDeductibleAmount": 0.0,
    "isFranchiseDeductible": "YES",
    "createdBy": "[email protected]",
    "createDate": "2024-06-25T15:19:52.653Z",
    "updatedBy": "[email protected]",
    "updateDate": "2024-06-25T15:19:52.653Z",
    "uri": "{{IRP_API_HOST}}/platform/referencedata/v1/predefinedconditions/2"
  },
  {
    "predefinedConditionId": 2,
    "predefinedConditionName": "pcNameTwo",
    "limit": 1200000.0,
    "deductible": 2000000.0,
    "deductibleType": "DEFAULT",
    "conditionType": "POLICY_RESTRICTION",
    "percentOfLossDeductibleAmount": 0.0,
    "isFranchiseDeductible": "YES",
    "createdBy": "[email protected]",
    "createDate": "2024-06-25T15:19:52.653Z",
    "updatedBy": "[email protected]",
    "updateDate": "2024-06-25T15:19:52.653Z",
    "uri": "{{IRP_API_HOST}}/platform/referencedata/v1/predefinedconditions/2"
  }
]

Get Predefined Condition

The Get Predefined Condition operation (GET /platform/v1/predefinedconditions/{conditionId}) returns the specified predefined condition.

The response returns detailed information about predefined condition including information about any predefined condition criteria applied to the condition.

{
  "predefinedConditionId": 2,
  "predefinedConditionName": "pcNameTwo",
  "limit": 1200000.0,
  "deductible": 2000000.0,
  "deductibleType": "DEFAULT",
  "conditionType": "POLICY_RESTRICTION",
  "percentOfLossDeductibleAmount": 0.0,
  "isFranchiseDeductible": "YES",
  "createdBy": "[email protected]",
  "createDate": "2024-06-25T15:19:52.653Z",
  "updatedBy": "[email protected]",
  "updateDate": "2024-06-25T15:19:52.653Z",
  "uri": "{{IRP_API_HOST}}/platform/referencedata/v1/predefinedconditions/2",
  "predefinedConditionCriterias": [
    {
      "id": 1,
      "logic": "string",
      "openPar": "string",
      "field": "string",
      "operator": "string",
      "value": "string",
      "closePar": "string"
    }
  ]
}

Update Predefined Condition

The Update Predefined Condition operation (PATCH /platform/v1/predefinedconditions/{conditionId}) updates the specified predefined condition.

The required conditionId path parameter identifies the predefined condition to update. All other parameters are specified in the request body.

{
  "predefinedConditionName": "newName",
  "limit": 1200000.0,
  "deductible": 2000000.0,
  "deductibleType": "DEFAULT",
  "conditionType": "SUBLIMIT",
  "percentOfLossDeductibleAmount": 0,
  "isFranchiseDeductible": "YES"
}

Delete Predefined Condition

The Delete Predefined Condition operation (DELETE /platform/v1/predefinedconditions/{conditionId}) deletes the specified predefined condition.

Create Predefined Condition Criteria

The Create Predefined Condition Criteria operation (POST /platform/v1/predefinedconditions/{conditionId}/criteria) creates a query for selecting location exposures. Every set of condition criteria is assigned to a specified predefined condition.

Policy condition criteria define a query for selecting locations that match the specified criteria. Locations that match the specified criteria may be assigned the policy condition.

All parameters are defined in the request body.

{
  "logic": "",
  "openPar": "(",
  "field": "POSTALCODE",
  "operator": "=",
  "value": "94560",
  "closePar": ")"
}

This request defines a query statement that selects locations based on location property values.

PropertyTypeDescription
closeParstringClosing parenthesis in a compound query. One of ), )), ))).
fieldstringProperty to be searched by query.
logicstringLogical operator in a compound query. One of AND, OR
openParstringOpening parenthesis in compound query. One of (, ((, (((.
operatorstringComparison operator in query. One of =, >, < ,>=
valuestringValue of the field property.

Multiple condition criteria can stringed together to define a compound query statements that are joined using AND and OR logical operators. The relationship between criteria is defined by the id number.

Use the Get Predefined Condition Criteria operation (GET /platform/v1/predefinedconditions/{predefinedConditionId}/criteria/{predefinedConditionCriteriaId} to view the criteria applied to a specific policy condition:

{
    "predefinedConditionId": 1,
    "predefinedConditionName": "SecondCondition",
    "limit": 0,
    "deductible": 0,
    "deductibleType": "DEFAULT",
    "conditionType": "SUBLIMIT",
    "predefinedConditionCriterias": [
	    {
	        "id": 0,
            "openPar": "("
	    },
        {
            "id": 1,
            "logic": "",
            "openPar": "(",
            "field": "POSTALCODE",
            "operator": "=",
            "value": "94560",
            "closePar": ")"
        },
        {
            "id": 2,
            "logic": "OR",
        },
        {
            "id": 3,
            "logic": ""
            "openPar": "(",
            "field": "POSTALCODE",
            "operator": "=",
            "value": "94561",
            "closePar": ")"
        },
	    {
	    	"id": 4,
            "openPar": ")"
	    },
    ],
    "uri": "string"
}

The five criteria defined the following query: ((POSTALCODE=94560) OR (POSTALCODE=94561))

List Predefined Condition Criteria

The Search Predefined Condition Criteria operation (GET /platform/v1/predefinedconditions/{conditionId}/criteria) returns a list of criteria applied to the specified predefined condition.

Get Predefined Condition Criteria

The Get Predefined Condition Criteria operation (GET /platform/v1/predefinedconditions/{conditionId}/criteria/{criteriaId}) returns the specified predefined condition criteria.

Update Predefined Condition Criteria

The Update Predefined Condition Criteria operation (PATCH /platform/v1/predefinedconditions/{conditionId}/criteria/{criteriaId}) updates the specified predefined condition criterion.

The required conditionId and criteriaId path parameters identify the predefined condition criteria to update. All other parameters are specified in the request body. If a property is unspecified, the value is not updated.

{
  "logic": "",
  "openPar": "(",
  "field": "POSTALCODE",
  "operator": "=",
  "value": "94560",
  "closePar": ")"
}

The criteriaId specified in the path parameter cannot be updated.

Delete Predefined Condition Criteria

The Delete Predefined Condition Criteria operation (DELETE /platform/v1/predefinedconditions/{conditionId}/criteria/{criteriaId}) deletes the specified predefined condition criteria.

Risk Data API

Search Analysis Results

The enhanced Search Analysis Results operation (GET /platform/riskdata/v1/analyses) now supports filtering and sorting by exposureResourceId and returns information about ExposureIQ business hierarchy accumulation analyses and TreatyIQ rollup analyses in the response.

The exposureResourceId property supports a full range of comparison, list, and logical operators. See Filtering Responses.

PropertyTypeComparisonListLogical
exposureResourceIdnumber=, !=, >, <, >=, <=IN, NOT INAND, NOT

The response returns an array of analysis result objects. If the analysis result represents a business hierarchy accumulation or rollup, the appropriate properties are returned:

[
  {
    "analysisId": 3151256,
    "analysisName": "CJ_GRP_TC2a",
    "createDate": "2024-05-11T05:46:12",
    ...,
    "variationId": 0,
    "eventInfo": {
      "eventDateBehavior": "",
      "eventDate": ""
    },
    "entitlement": "",
    "securableUri": "/platform/riskdata/v1/exposureSet/3151247",
    "analysisUuid": "0bfcdcbf-4a8a-477d-b5f7-2c3f224436cb",
    "tagIds": []
  }
]

The response now returns the following ExposureIQ business hierarchy accumulation analysis and TreatyIQ rollup analysis properties:

PropertyTypeDescription
variationIdnumberID of the business hierarchy variation that is the basis of this analysis.
eventInfoobjectEvent on which accumulation analysis is based. Includes eventDateBehavior and eventDate.
entitlementstring
secruableUristringURI of the exposure set securable that controls access to this analysis.
analysisUuidstringSystem-defined ID for this analysis.
tagsIdsarrayList of data tags applied to this analysis.

Rename Analysis

The Rename Analysis operation now accepts valid Underwrite IQ resource group IDs in the
x-rms-resource-group-id header parameter. In previous releases, this operation returned an error if an Underwrite IQ resource group ID was specified.

Delete Analysis

The Delete Analysis operation now accepts valid Underwrite IQ resource group IDs in the
x-rms-resource-group-id header parameter. In previous releases, this operation returned an error if an Underwrite IQ resource group ID was specified.

Bulk Delete Analysis

The Bulk Delete Analysis operation now accepts valid Underwrite IQ resource group IDs in the x-rms-resource-group-id header parameter. In previous releases, this operation returned an error if an Underwrite IQ resource group ID was specified.

Policy API

Update Policy Condition

The Update Policy Condition operation now enables the client to persist location conditions and policy condition criteria applied to the specified policy condition when updating that policy condition. In previous releases, this data was deleted automatically.

The persistsCriteria query parameter specifies a Boolean value (true or false) that determines whether to persist or delete this data.

  • If undefined or false, this operation deletes location conditions and policy condition criteria applied to the policy condition.
  • If true, this operation persists location conditions and policy condition criteria applied to the policy condition.

This optional parameter specifies a Boolean value as a query parameter that is appended to the endpoint.

curl --request PUT \
     --url https://{host}/platform/riskdata/v1 \
     /exposures/699/policies/67 \
     /policyconditions/45?persists=true \
     --header 'accept: application/json' \
     --header 'content-type: application/json'
     --data '
{
    {request body}
}
'

Risk Sources API

Bulk Create Risk Sources

The Bulk Create Risk Sources operation (/risksources/bulk-create) now supports the creation of portfolio risk sources.

A risk source is a representation of risk to a cedant that underlies a program (reinsurance program). This API supports the creation of two types of risk sources: PORTFOLIO or RISKANALYSIS. Every risk source created in a bulk operation is attached to the specified parent (BUSINESSHIERARCHY or PROGRAM). This object may be identified by parentId or parentUuid.

Bulk Delete Risk Sources

The Bulk Delete Risk Sources operation (/risksources/bulk-delete) deletes the specified list of risk sources.

A risk source is a representation of risk to a cedant that underlies a program (reinsurance program). This API supports the creation of two types of risk sources: PORTFOLIO or RISKANALYSIS. Every risk source created in a bulk operation is attached to the specified parent (BUSINESSHIERARCHY or PROGRAM). This object may be identified by parentId or parentUuid.