Data Coercion

Data Coercion is when Herald changes a value from your submission in the data we send to an institution to get you active quotes

Principles of Data Coercion

Coverage and risk values that will lead to active quotes vary greatly depending on the product or institution. When you use our [.h-code]POST[.h-code] [.h-endpoint-link]/submissions[.h-endpoint-link] to get a quote from an institution, Herald uses coercion to get you the closest available coverage and risk values that the institution allows. We would much rather provide you with an active quote with some values that differ from what you requested, than provide no quote at all because the institution doesn’t offer the coverage or risk values in your submission.

Summary:

  • Data coercion only happens when it can help you get an active quote.
  • If you can get an active quote from an institution without changing a risk or coverage value, Herald will not coerce it.
  • If a coverage value is left empty and an institution requires a value we will Coerce that value to a set “default” value which you can see in our Appendix.

Data Coercion Example

We’re going to start with a simplified submission that you’d make using our [.h-code]POST[.h-code] [.h-endpoint-link]/submissions[.h-endpoint-link] endpoint. Below you’ll see that we have two institutions in our submission. And there are two coverage values, and one risk value. Herald submissions are more rich in data than this example but let’s say this submission has a complete, valid application and is ready to be sent to the institutions.

POST /submissions
Copied

  
{
    "producer_id": "7c6e854e-4105-46c3-bcf3-3371a6d5acf2",
    "application": {
        "products": [
            "prd_0050_herald_cyber,""prd_0012_pigeon_cyber"
        ],
        "coverage_values": [
            {
                "coverage_parameter_id": "cvg_agj9_cyb_aggregate_limit",
                "value": 100000
            },
            {
                "coverage_parameter_id": "cvg_orn9_cyb_waiting_period",
                "value": 4
            }
        ],
        "risk_values": [
            {
                "risk_parameter_id": "rsk_4b4z_business_name",
                "value": "Herald"
            }
        ]
    }
}

 
[.icon-circle-blue][.icon-circle-blue] Coercion isn’t the only way we help you get active quotes. The coverage values you see above are within Herald’s min and max values for a coverage parameter values since we validate that as part of the application.

Now let’s say you receive a submission response from this call, but we won’t show it here. Instead let’s go behind the scenes. The institution Herald, which offers Herald Cyber quotes, will take the values from the submission “as is” and give you a quote. Pigeon, the institution that gives quotes for Pigeon Cyber, however, only accepts waiting periods of 5 and 10 hours. Let’s take a look at the quote from Pigeon (you’d get the [.h_code]quote_id[.h_code] from you submission and use [.h_code]GET[.h_code] [.h-endpoint-link]/quotes{quote_id}[.h-endpoint-link] to see this quote response)

GET /quote{quote_id}
Copied

{
    "id": "80649fb1-273c-4628-8df2-f58849564189",
    "product_id": "prd_0050_herald_cyber",
  
    ...
  
    "risk_values": [
        {
            "risk_parameter_id": "rsk_m4p9_insured_name",
            "value": "Herald",
            "text": "Business name",
            "parameter_text": {
                "applicant_facing_text": "Business name",
                "agent_facing_text": "Business name"
            }
        }
    ],
    "coverage_values": [
        {
            "coverage_parameter_id": "cvg_agj9_cyb_aggregate_limit",
            "value": 100000,
            "text": "Aggregate Limit",
            "parameter_text": {
                "applicant_facing_text": "Aggregate Limit",
                "agent_facing_text": "Aggregate Limit"
            }
        },
        {
            "coverage_parameter_id": "cvg_orn9_cyb_waiting_period",
            "value": 5,
            "text": "Waiting Period (hours)",
            "parameter_text": {
                "applicant_facing_text": "Waiting Period (hours)",
                "agent_facing_text": "Waiting Period (hours)"
            }
        }
    ],
    "bind_status": "available",
    "quote_number": null,
    "admitted": true,
    "created_at": "2023-11-14T19:19:56.790Z",
    "updated_at": "2023-11-14T19:19:59.364Z",
    "carrier_raw": [
        {
            "request": {
                "dummy": "request"
            },
            "response": {}
        }
    ]
}

 
[.icon-circle-blue][.icon-circle-blue] Coercion happens at the product level. So one coverage value in a multi product submission may be coerced into several different values based on the acceptable values for each product.

In the quote response above the coverage value for the coverage parameter [.h-code]cvg_orn9_cyb_waiting_period[.h-code] was coerced from 4 hours (the value in the submission) to 5 hours a value the Pigeon requires in order to give an active quote for their cyber insurance product. Meanwhile, [.h-code]cvg_agj9_cyb_aggregate_limit[.h-code] retains the same value it had in the initial submission. Aggregate limit did not need to be coerced to get an active quote, so the value remains unchanged.

Herald provides you the coerced values in the coverage value of each quote so you can display them with the quote on your front-end. However, each quote that results from a submission may have different coverage values coerced. Today, Herald does not provide a way to see exactly which values have been coerced. You can use the original submission and the quote response to compare coverage values if you need to detect coercion.