Coinsurance agreements

You can add coinsurance agreements to policies. A coinsurance agreement can be associated with policy sections, a layer that may or may not be associate with policy sections, or it can be associated with the entire policy.

You can create the following types of coinsurance agreements:
Policy-level coinsurance agreement
A coinsurance agreement that is associated with the entire policy. The agreement does not define any specific numerical range of risk. It covers the entire range of risk for the policy.
Section-level coinsurance agreement
A coinsurance agreement that is associated with one or more policy sections on the policy.
Layer-level coinsurance agreement
A coinsurance agreement that is associated with a layer on the policy. You can configure one or more layers in a tower to have a coinsurance agreement. Each tower can also be associated with one or more policy sections.

When you have a policy-level agreement in addition to a section-level or layer-level agreement, the policy-level coinsurance agreement covers all coverages not listed on the other agreements.

For more information on the business functionality of coinsurance in PolicyCenter, see the Application Guide

Query for coinsurance agreement details

You can query the coinsurance agreements, the policy sections, and the parties associated with each policy level and section level coinsurance agreement.

Use the following endpoints to query for policy level and section level coinsurance agreement details:
  • GET /jobs/{jobId}/coinsurance-agreements
  • GET /jobs/{jobId}/coinsurance-agreements/{coinsuranceAgreementId}
  • GET /jobs/{jobId}/coinsurance-agreements/{coinsuranceAgreementId}/parties/{partyId}
  • GET /jobs/{jobId}/coinsurance-agreements/{coinsuranceAgreementId}/policy-sections
  • GET /jobs/{jobId}/coinsurance-agreements/{coinsuranceAgreementId}/policy-sections/{sectionId}
  • GET /policies/{policyId}/coinsurance-agreements/{coinsuranceAgreementId}/policy-sections
  • GET /policies/{policyId}/coinsurance-agreements/{coinsuranceAgreementId}/policy-sections/{sectionId}

For example, the following query returns a list of policy sections associated with job pc:Sf-bEIu7Pui2fQz_40mdJ and coinsurance agreement 1:

Command
GET /job/v1/jobs/pc:Sf-bEIu7Pui2fQz_40mdJ/coinsurance-agreements/1/policy-sections
Response
{
    "count": 1,
    "data": [
        {
            "attributes": {
                "id": "PP",
                "sectionType": {
                    "code": "PP",
                    "name": "Property"
                }
            },
            "checksum": "1d8c837a0bc443d8794e4c041d52714d",
            "links": {
                "self": {
                    "href": "/job/v1/jobs/pc:Sf-bEIu7Pui2fQz_40mdJ/coinsurance-agreements/1/policy-sections/PP",
                    "methods": [
                        "get"
                    ]
                }
            }
        }
    ],
    "links": {
        "first": {
            "href": "/job/v1/jobs/pc:Sf-bEIu7Pui2fQz_40mdJ/coinsurance-agreements/1/policy-sections",
            "methods": [
                "get"
            ]
        },
        "self": {
            "href": "/job/v1/jobs/pc:Sf-bEIu7Pui2fQz_40mdJ/coinsurance-agreements/1/policy-sections",
            "methods": [
                "get"
            ]
        }
    }
}
Note: This query does not return layer-level coinsurance agreements.

Create a coinsurance agreement

You can create a section-level or policy-level coinsurance agreement. If the section that you add to a coinsurance agreement is associated with a tower, the coinsurance agreement operates as a layer-level coinsurance agreement.
After reading this topic, you'll be able to:
  • Create a coinsurance agreement
  • Add a party to a coinsurance agreement

Before you begin

Verify the following before you create a policy submission with a coinsurance agreement::
  • The product supports coinsurance.
  • If you want the ability to configure coinsurance agreements that cover a specific range of loss with a specific starting and ending amount, the product must also support layers.
  • PolicyCenter includes one or more coinsurers in the PolicyCenter database.
For more information, see Application Guide.

Step 1: Add a coinsurance agreement to a submission

Use one of the following commands to add a coinsurance agreement to a policy submission:
To Use this endpoint
Add a section-level or policy-level coinsurance agreement POST /job/v1/jobs/{jobId}/coinsurance-agreements
Add a layer-level coinsurance agreement POST /job/v1/jobs/${jobId}/towers/${towerId}/layers
Note: For the process and requirements to add a layer-level coinsurance agreement to a submission, see Create a tower with layers.
When you add a section-level or policy-level coinsurance agreement, specify the following fields in the request body:
  • model. The model specifies which party distributes payments to the followers and which party pays claims to the insured. Valid values from the CoinsuranceModel typelist include administer, administerNoClaim, brokerClaim, and brokerNoClaim. For more information, see Application Guide.
  • role. The role (lead or follow) of the PolicyCenter insured.
  • ourShare. The percentage of risk for the PolicyCenter insured. The API prevents the total percentage of this share and the shares of additional parties from exceeding 100 percent.
  • leaderFee
  • policyNumberSuffix. A string of up to 8 characters that BillingCenter appends to the policy number to help differentiate the charges for this agreement from charges for any other agreements and from charges not covered by any agreement.
  • If you want to create a section-level coinsuracee agreement, include the sectionType code under initialPolicySections. After you create the agreement, you can associate additional sections with the agreement.
  • If you want to create a policy-level coinsurance agreement, do not include initialPolicySections.

For example, the following request created a coinsurance agreement for job pc:S2dbzbNWO8Nh_PHfbYCDm that is associated with the MO section:

Command
POST /job/v1/jobs/pc:S2dbzbNWO8Nh_PHfbYCDm/coinsurance-agreements
Request body
{
  "data": {
    "attributes": {
      "initialPolicySections": [
        {
          "sectionType": {
            "code": "MO"
          }
        }
      ],
      "leadersFee": "5.5",
      "model": {
        "code": "administer"
      },
      "ourRole": {
        "code": "lead"
      },
      "ourShare": "50",
      "policyNumberSuffix": "MotorA"
    }
  }
}

Step 2: Add a party to a coinsurance agreement

For the broker and each additional coinsurer, add a party to the coinsurance agreement.

Use the one of the following commands to add a party to a coinsurance agreement:
To Use this endpoint
Add a party to a section-level or policy-level coinsurance agreement POST /job/v1/jobs/{jobId}/coinsurance-agreements/{coinsuranceAgreementId}/parties
Add a party to a layer-level coinsurance agreement POST /job/v1/jobs/{jobId}/towers/{towerId}/layers/{layerId}/parties
Note: For the process and steps to add a party to a layer-level coinsurance agreement, see Create a tower with layers.
To add a party to a section-level or policy-level coinsurance agreement, you must specify the following fields in the request body:
  • producerCode. The producer code of the party.
  • coinsuranceRole. The party role (lead or follow) of the coinsurer.
  • coinsuranceShare. The party share. The API prevents the total percentage of the Policycenter insurer and the shares of additional parties from exceeding 100 percent.

For example, the following request creates a party on coinsurance agreement 504 for job pc:S2dbzbNWO8Nh_PHfbYCDm Command

POST /job/v1/jobs/pc:S2dbzbNWO8Nh_PHfbYCDm/coinsurance-agreements/504/parties

Request body

{
  "data": {
    "attributes": {
      "coinsuranceRole": {
        "code": "follow"
      },
      "coinsuranceShare": "5",
      "producerCode": {
        "id": "pc:2"
      }
    }
  }
}

Response

{
    "data": {
        "attributes": {
            "coinsuranceRole": {
                "code": "follow",
                "name": "Follow"
            },
            "coinsuranceShare": "5.00",
            "id": "405",
            "organization": {
                "displayName": "Enigma Fire & Casualty",
                "id": "systemTables:1",
                "type": "Organization",
                "uri": "/admin/v1/organizations/systemTables:1"
            },
            "producerCode": {
                "displayName": "QA1PRODUCERCODE01",
                "id": "pc:2"
            }
        },
        "checksum": "06a849e1ec033099aec899934faeb35e",
        "links": {
            "self": {
                "href": "/job/v1/jobs/pc:S2dbzbNWO8Nh_PHfbYCDm/coinsurance-agreements/504/parties/405",
                "methods": [
                    "delete",
                    "get",
                    "patch"
                ]
            }
        }
    }
}

Update coinsurance agreements

After you create a policy-level or section-level coinsurance agreement, you can perform the following updates:
Note: For information on how to update a layer-level coinsurance agreement, see Update a tower.

Associate a section with a coinsurance agreement

You can use the following command to add a section to a coinsurance agreement:
  • POST /job/v1/jobs/{jobId}/coinsurance-agreements/{coinsuranceAgreementId}/policy-sections
The request body must include the sectionType code.

For example, the following request adds the property section PP to coinsurance agreement 207 on job pc:SrAlPrMYv14hLu-oNBTzG:

Command
POST /job/v1/jobs/pc:SrAlPrMYv14hLu-oNBTzG/coinsurance-agreements/207/policy-sections
Request body
{
    "data": {
            "attributes": {
                "sectionType": {
                    "code": "PP"
                }
            }
        }
}

Remove a section from a coinsurance agreement

Use the following command to remove a section from a coinsurance agreement:
  • DELETE /job/v1/jobs/{jobId}/coinsurance-agreements/{coinsuranceAgreementId}/policy-sections/{sectionId}
For example, the following command removes the property section PP from coinsurance agreement 1 on job pc:Sf-bEIu7Pui2fQz_40mdJ:
DELETE /job/v1/jobs/pc:Sf-bEIu7Pui2fQz_40mdJ/coinsurance-agreements/1/policy-sections/PP
Note: This command fails if deleting the section results in a policy where more than one tower or coinsurance agreement does not have a section.

Delete a party from a coinsurance agreement

Use the following command to remove a party from a coinsurance agreement:
  • DELETE /job/v1/jobs/{jobId}/coinsurance-agreements/{coinsuranceAgreementId}/parties/{partyId}
For example, the following command removes the party pc:1 from coinsurance agreement 1 on job pc:Sf-bEIu7Pui2fQz_40mdJ:
DELETE /job/v1/jobs/pc:Sf-bEIu7Pui2fQz_40mdJ/coinsurance-agreements/1/parties/pc:1

Update coinsurance agreement properties

Use the following command to update coinsurance agreement properties:
  • PATCH /job/v1/jobs/{jobId}/coinsurance-agreements/{coinsuranceAgreementId}

For example, use the following command to update ourShare to 15 percent for coinsurance agreement 504 on job pc:S2dbzbNWO8Nh_PHfbYCDm:

Command
PATCH /job/v1/jobs/pc:S2dbzbNWO8Nh_PHfbYCDm/coinsurance-agreements/504
Request Body
{
    "data": {
        "attributes": {
            "ourShare": "15.00"
        }
    }
}

Delete a coinsurance agreement

Use the following command to delete a coinsurance agreement:
  • DELETE /job/v1/jobs/{jobId}/coinsurance-agreements/{coinsuranceAgreementId}
For example, the following command removes coinsurance agreement 1 from job pc:Sf-bEIu7Pui2fQz_40mdJ:
DELETE /job/v1/jobs/pc:Sf-bEIu7Pui2fQz_40mdJ/coinsurance-agreements/1