Topics on this page

Endorse, renew, cancel and reinstate your policy

The Create and bind a quote tutorial walks you through the inception of a policy in BriteCore. It also describes how different services in BriteCore work together in creating a new policy. In Retrieve and display policy information, we cover more information on how policies are managed in BriteCore.

The most important thing to note is that while BritePolicies APIs acts as a hub for all policy-related information, it’s the BriteQuote APIs that handle all policies transaction services.

This tutorial will walk you through the BriteQuote API endpoints that handle policy transactional services, including:

  • Creating or updating endorsements.
  • Deleting endorsements.
  • Canceling a policy.
  • Reinstating a cancellation.

We will cover some key concepts, policy transactions in BriteCore, the policy lifecycle, and endorsements process flow. We also highlight which API endpoints to use for each transaction.

Key concepts

  • Cancellation: A coverage no longer in effect.
  • Cancellation pending: Increase in risk/failure to pay on time.
  • Commit date: The date the revision (or endorsement) is put into force.
  • Coverage: A guarantee of financial restoration in the event of a loss.
  • Endorsement: A change to a policy, such as increasing coverage, decreasing coverage, or changing the mortgagee. Within BriteCore, endorsements are referred to as revisions.
  • Endorsement transactions: Revisions to the in-force policies.
  • Effective date: The date an insurance policy becomes active.
  • Expiration: End of term without a renewal offer.
  • In-force policies: Insurance policies that are currently under contract.
  • Non-renewal: No offer to extend coverage for another term.
  • Policy: A contract that guarantees insurance coverage for a given duration of time.
  • Premium: Money paid by a policyholder to an insurance carrier in exchange for insurance.
  • Reinstatement: Previously canceled coverage now back in effect.
  • Renewal: An offer to extend coverage for another term.
  • Revision: A BriteCore-specific term that refers to a point-in-time snapshot of the policy contract created when there is a substantive change to the contract. Within BriteCore, endorsements are referred to as revisions.
  • Risk: An asset protected by insurance.
  • State: Describes a step in a particular transactional workflow process, such as In progress, Approved, Rejected, Abandoned.
  • Status: The current status of the policy contract in relation to specific workflows, such as Active, Canceled, Expired.
  • Transaction: A point-in-time action that results in a document exchange among parties, such as agents, insureds, underwriters. Not every transaction is a revision.
  • Straight-through processing: Electronically streamline and process information across multiple points.

Policy transactions in BriteCore

Table 1 summarizes the policy transactions in BriteCore with their states, status and related documents.

Table 1: Policy transactions.

Policy TransactionDefinitionCreates a revision?StatusStatesRelated Documents
QuoteAgent/underwriter initiates an inquiry about a risk.N/AQuote-In Progress
-Abandoned
-In Review
-Approved
-Rejected/Declined
- Bound (new policy)
Quote Summary / Policy Application
New businessIssued businessYesIn Force or ActiveWIP new business is a quote.Declaration, Billing Statements, ID Cards (auto)
EndorsementChange to the contractYesIn Force or Active-In Progress
-Abandoned
-In Review
-Approved
-Rejected/Declined
- Bound
Amended) Declaration, Endorsement Summary
Cancellation PendingIncrease in risk / failure to pay on timeNo, there’s no material change to the contract. Only an intent to cancel indicated via status change.In Force > Cancellation PendingN/ANotice of Cancellation Non-Payment of Premium, Notice of Cancellation (NOIC)
RescissionRescind a cancellation pendingNo, there’s no material change to the contract. Change indicated via status.In Force or activeN/AN/A Continuation of Coverage - NonPay, Continuation of Coverage
CancellationCoverage no longer in effectYesCancelledN/AConfirmation of Cancellation, Return Premium Notice
ReinstatementPreviously canceled coverage now back in effectYes, as this would replace the cancellation revisionIn Force or ActiveN/ANotice of Reinstatement
RenewalOffer to extend coverage for another termYesIn Force or Active-In Review
-Not in Review
(Renewal) Declaration, Renewal Offer, ID Cards (auto)
Non-RenewalNo offer to extend coverage for another termNo, there’s no material change to the contract. Change indicated via status.In Force > Non renewalN/ANotice of Non-Renewal
ExpirationEnd of term without a renewal offerYesExpiredN/AConfirmation of Cancellation
RewriteNew policy contract copied from a previous contractYes, but would be a cancellation revision for policy 1 and new business/renewal revision for policy 2.CanceledN/AConfirmation of Cancellation, Declaration

Policy lifecycle

In BriteCore, a policy’s status depends on where it is in the policy lifecycle. Figure 1 outlines a policy’s lifecycle and the possible status points throughout.

Figure 1: A policy’s lifecycle and the possible status points throughout.

Sample endorsement process flow

You can set your own workflows and rules around policy endorsements. Figure 2 shows a sample process flow of handling endorsements.

Figure 2: Sample process flow of handling endorsements.

Select BriteAPI endpoints to endorse, cancel, or archive your policy

Step 1: Get a security token

You will need to request anID and Secret to use OAuth 2.0.

For more information, refer to How do I get started?

Note: Blocks of code are hidden by default to make the page more navigable. Select View code and Hide code to view or hide these sections as needed.

Step 2: List all quotes

Use ListQuote endpoint (/quote/) to get a list of all quotes. You will use the quote number from this list to retrieve policy details in the next step.

Sample request

View code

curl --request GET \
--url '/quote/?=' \
--header 'authorization: '

Sample response

View code

"data": [
{
"type": "quotes",
"id": "eebac72e-42d5-45cf-bc98-474f3bf6befb",
"attributes": {
"quote_number": "Q-personalAutoCW-2020-175",
"status": "Approved",
"policy_state": {
"policy": {
"inception_date": "2020-07-17",
"number": ""
},
"term": {
"effective_date": "2020-07-17",
"expiration_date": "2021-07-17"
},
"revision": {
"revision_date": "2020-07-17",
"description": "New Policy"
}
},
"product_name": "personalAutoCW",
"product_version": "eaa6cb9f-4602-4c8e-9bbc-b064755143bf",
"product_label": "Personal Auto - Countrywide",
"is_bound": false,
"submitted_for_review_date": "2020-07-17T13:36:59.887894Z",
"date_added": "2020-07-17T13:29:48.045805Z"
},
"relationships": {
"root_risk_quote": {
"data": {
"type": "risk-quotes",
"id": "6bbe51ee-10bf-4a43-9db2-48cb71178cc9"
}
},
"agency": {
"data": null
},
"agents": {
"data": [
{
"type": "quote-contacts",
"id": "99707eb7-c832-4b9b-8e5b-a480d0fccca4"
}
]
},
"owner": {
"data": {
"type": "contacts",
"id": "975860eb-dbd8-4561-ac67-79594e202962"
}
},
"named_insured": {
"data": {
"type": "quote-contacts",
"id": "2eabd2ba-23b4-4734-88bb-91f21f87fae8"
}
}
}
}

Step 3: Endorse your policy

To endorse policies, call the createQuote endpoint (/quote/) with a payload that contains:

View code
{
transaction_type: "endorsement"
}

The quote_number, effective_date, and expiration_date are required parameters. The response returns an updated quote number.

Sample request

View code
curl --request POST \
--url /quote/ \
--header 'authorization: ' \
--header 'content-type: application/json' \
--data '
{
"effective_date": "2020-07-31",
"expiration_date": "2020-07-17",
"transaction_type": "endorsement",
"source_quote_number": "Q-personalAutoCW-2020-172"
}

Sample response

View code
{
"id": "43e960e0-0359-49d5-833d-15b111e617d4",
"quote_number": "Q-personalAutoCW-2020-180",
"transaction_type": "endorsement",
"source_quote_number": "Q-personalAutoCW-2020-172",
"status": "In Progress",
"policy_state": {
"policy": {
"inception_date": "2020-07-31",
"number": ""
},
"term": {
"effective_date": "2020-07-31",
"expiration_date": "2020-07-17"
},
"revision": {
"revision_date": "2020-07-31",
"description": "New Policy"
}
},
"root_risk_quote_id": "727fad9d-989c-4fa8-8138-6d6ef814718b",
"product_name": "personalAutoCW",
"product_version": "eaa6cb9f-4602-4c8e-9bbc-b064755143bf",
"product_label": "Personal Auto - Countrywide",
"agency": null,
"agents": [
{
"id": "5c7376a9-1ca8-4a1c-896e-7b9cb71fe26f",
"name": "Maliha Balala"
}
],
"is_bound": false,
"redirect_uri": "/quote/Q-personalAutoCW-2020-180/",
"owner": {
"id": "5c7376a9-1ca8-4a1c-896e-7b9cb71fe26f",
"name": "Maliha Balala"
},
"named_insured": {
"id": "6c2a50a2-1e1e-45fa-a979-d865fd79ca0f",
"name": "Review Test"
},
"submitted_for_review_date": null,
"date_added": "2020-07-17T15:21:46.808920Z",
"meta": {
"locked": false
}
}

Step 4: Delete your endorsement

To delete your endorsement, post a Delete method to the createQuote enpoint (/quote/{quote_id}) . You can only delete an endorsement that is in progress. You can’t delete a bound endorsement.

Sample request

View code
curl --request DELETE \
--url quote/Q-personalAutoCW-2020-178/ \
--header 'authorization:

Sample response

This request doesn’t return a response body.

Step 5: Bind your endorsement

Use bindQuote (quote/{quote_number}/bind) to bind your endorsement. You can’t delete an endorsement after you bind it. Pass the required quote_number returned in Step 2.

Sample request

View code
curl --request POST \
--url /quote/Q-personalAutoCW-2020-180/bind/ \
--header 'authorization: '

Sample response

View code
{
"id": "7dc49992-af1d-46f8-9321-6f0d1af7bcf3",
"number": "10-2020-233",
"inception_date": "2020-07-31T00:00:00Z",
"external_id": "16198889-9887-41ba-b088-784336cda06b",
"revision_id": "23505256-aa5c-4a9a-8111-5e6707e62b94",
"redirect_uri": "/policies/policy/16198889-9887-41ba-b088-784336cda06b"
}

Step 6: Cancel your policy

To cancel your policy, call the createQuote endpoint (/quote) with a payload that contains:

View code
{
transaction_type: "cancellation"
}

The quote_number and effective_date are required parameters. For cancellations, you must also include a postback object with a cancellation reason and ID.

Step 7: Reinstate your policy

To reinstate your policy, call the createQuote endpoint (/quote)with a payload that contains:

View code
{
transaction_type: "reinstatement"
}

The quote number and effective date are required parameters. For reinstatement, you must also include a postback object with a reinstatement reason and reinstatement fee.

View code
"postback": {
"reinstateReason": "The insurer requested a reinstatement.",
"assessFee": "0"
}

You have successfully managed your policy.