Processing Claims

Check the claim requests for adequate information, validation, justification, and authenticity.

When a customer own insurance, they can file a claim for the insurer to cover an incident that happened. The Grow claims API makes it possible to submit and process claims whenever the need arises for you or your customers.

When they submit a claim on the API, the insurer reviews your claim and proceeds to make you an offer via the discharge_voucher.created webhook event.

Requirements to Submit a Claim

  • Policy number
  • Supporting documents
  • Claim amount
  • Payment account details

Getting your Policy Number

When a customer creates an order, a policy document is issued by the insurer within about 48 hours from when the order was made. When this happens, Curacel will raise a policy.created webhook event. The event payload information contains the data of the policy which includes the policy number.

📘

Webhooks

Learn more about Curacel webhook events and how to set them up here

The number should be passed to the claim endpoint using the policy_number field.

Uploading Supporting Documents

Depending on the type of insurance policy, the claims may require documents such as evidence of damage where applicable and a quotation showing the cost of repair or replacement.

Documents should be uploaded using the attachments endpoint.

Each time a document is uploaded, the endpoint returns the document's ID. You may upload as many documents as needed for the claim. The IDs should then be passed as an array to the claim endpoint through the attachments field.

Claim Amount

This is the amount being requested in the claim. The currency must be the same as the one used while making payment for the order.

Payment Account Details

This is the account details of the policyholder. The amount being requested, if approved will be paid to this account.

The parameter for this is the payment_details, which takes in an object as a value. The object contains keys that include:

  • bank_name
  • account_number
  • sort_code

📘

Please refer to the Create a new claim from a policy endpoint for more information.

Submitting a Claim

Below is a sample request to submit a claim

curl --request POST \
     --url https://api.playbox.grow.curacel.co/api/v1/claims \
     --header 'Accept: application/json' \
     --header 'Authorization: Bearer YOUR_API_KEY' \
     --header 'Content-Type: application/json' \
     --data '
{
     "attachments": [
          15,
          6
     ],
     "payment_details": {
          "bank_name": "first bank",
          "account_number": 3029102849
     },
     "policy_number": "987yu",
     "amount": "15000"
}
'

Response

{
  "claim": {
    "id": 10,
    "status": "processing",
    "policy": {
      "id": 5,
      "number": "987yu",
      "description": "CuraGold Covering all curacel assets",
      "start_date": "2022-02-08T00:00:00.000000Z",
      "end_date": "2023-02-07T00:00:00.000000Z",
      "status": null,
      "insurer": {
        "code": "AXA",
        "name": "AXA MANSARD",
        "logo_url": null,
        "terms_conditions": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas faucibus condimentum dui eu porta. Proin dignissim augue vel magna ornare facilisis. Sed euismod malesuada lorem, tempor convallis nunc facilisis sit amet. Nunc mattis sem a est dictum, non auctor ante sodales. Phasellus scelerisque nisl urna, a euismod arcu sodales sed. Sed dictum ante non nunc suscipit, fringilla lobortis erat bibendum. Fusce sed pharetra ligula, malesuada semper arcu. Maecenas eu fringilla felis, vitae sodales dui. Vivamus pretium risus sodales enim molestie, eu cursus turpis vestibulum. Phasellus elementum velit in gravida tincidunt. Cras luctus nulla et mauris varius porta id id elit. Nulla nec egestas eros.\r\n\r\nAliquam egestas ultricies lectus sit amet placerat. Nunc sapien massa, dapibus at sem nec, interdum accumsan tellus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Curabitur pellentesque ligula quis tortor consectetur, pellentesque varius arcu bibendum. Nulla odio erat, blandit sed euismod a, ornare non massa. Cras sed leo ac magna interdum dapibus. Vivamus non iaculis urna. Cras fermentum metus nulla, eget finibus ipsum ultricies nec. Proin tempor rhoncus enim at rhoncus.\r\n\r\nSed et ullamcorper nulla. Nunc ultricies arcu nec enim pellentesque, eget tristique augue vestibulum. Praesent ut vulputate erat. Nunc lectus dui, molestie ultricies iaculis eu, tincidunt vel lacus. Suspendisse placerat velit sit amet nulla sollicitudin finibus. In in volutpat magna, ut convallis ligula. Integer dapibus quam eget consequat fringilla. Morbi aliquam dictum eleifend. Vivamus tristique pretium tristique. Nullam viverra neque id rhoncus interdum. Pellentesque sed commodo arcu. Suspendisse potenti. Curabitur in urna nec lacus tempor dapibus nec eget ex. Sed laoreet ut odio non consectetur. Sed tincidunt dictum dolor.\r\n\r\nIn sit amet lacus lacus. Etiam hendrerit neque purus, sed iaculis est pellentesque eu. Fusce blandit lorem eu egestas sodales. Vivamus fermentum non urna a tincidunt. Quisque risus justo, sollicitudin sit amet congue sed, tempor id tellus. Pellentesque elementum leo vel quam egestas, faucibus finibus risus placerat. Sed porta molestie scelerisque. Duis posuere venenatis elementum. Donec volutpat scelerisque dui, eget lacinia dolor cursus vel. Vivamus fringilla nunc vitae nunc molestie, eu venenatis mauris consectetur. Cras consequat urna in est lacinia pulvinar. Quisque a nisl vel nibh interdum lacinia ac ac diam.\r\n\r\nVestibulum in leo pellentesque, molestie velit a, condimentum diam. Maecenas id diam commodo, euismod tortor ut, congue enim. Aenean ullamcorper id tellus a mattis. Donec consectetur pretium nulla, sed sodales orci ornare commodo. Etiam sodales rhoncus libero ullamcorper luctus. Curabitur rhoncus libero dolor, ut ultrices mauris dapibus vel. In gravida bibendum nibh ut viverra. In ornare nunc in tortor lobortis sagittis eget non turpis.",
        "currency": "NGN"
      },
      "document": "policy_documents/0000123.jpg"
    },
    "amount_requested": 15000,
    "amount_approved": null,
    "currency": "NGN",
    "created_at": "2022-07-07T12:36:36.000000Z"
  }
}

Responding to Discharge Vouchers

After submitting your claim, the insurer will issue a discharge voucher containing the amount they are willing to pay. In some cases, this amount may be lower than the amount requested in the claim depending on the policy's terms or the insurer's analysis.

You may know when a discharge voucher is issued by listening to the discharge_voucher.created webhook event.

The user should be able to accept or reject the voucher. When rejecting the voucher, the customer should provide a comment stating the reason for doing so.

To accept or reject the voucher, set the status field to either approved or rejected. Here is an example illustrating this:

curl --request PUT \
     --url https://api.playbox.grow.curacel.co/api/v1/claims/{claim_id}/discharge-voucher/{discharge_voucher_id} \
     --header 'Accept: application/json' \
     --header 'Authorization: Bearer YOUR_API_KEY' \
     --header 'Content-Type: application/json' \
     --data '
{
     "comment": "Not pleased with the offered amount",
     "status": "rejected"
}
'
curl --request PUT \
     --url https://api.playbox.grow.curacel.co/api/v1/claims/{claim_id}/discharge-voucher/{discharge_voucher_id} \
     --header 'Accept: application/json' \
     --header 'Authorization: Bearer YOUR_API_KEY' \
     --header 'Content-Type: application/json' \
     --data '
{
     "status": "approved"
}
'

If the voucher is rejected, the insurer may respond with another voucher containing another offer. In this case, the process above is repeated. If the voucher is accepted, the insurer will disburse the approved amount into the account details supplied when creating the claim.