Claim Status Notification

The Claim Callback API is provided by our partner, serving as the means by which Qoala shares the latest status of the claim instance. Through this callback API, Qoala will share claim information such as claim number, status, policy details, and customer data. Qoala's system supports several methods of authorization, including HMAC_SHA256, MD5, Bearer, and Basic Auth. Qoala can also support a new authorization method if needed. Qoala will notify the partner when the claim status is updated through this callback API.

📘

Callback API is not a mandatory flow in terms of claim creation; however, it is useful for partners who want to get up-to-date status of the claim.

Callback URL

Each partner can configure a callback URL for claim status webhook. This notification webhook will be triggered every time there is any change in claim status. Please refer to Claim Status section for each status details.

POST {partner-url-path}
partner-url-path = URL from partner to receive webhook notification

The configuration can be done through at the time of onboarding.

Webhook Signature

Partners can optionally verify the authenticity of notifications sent by Qoala by the header x-api-key

Example:

x-api-key: 6ffbb59b2300aae63f272406069a9788598b792a944a07aba816edb039989a39

Webhook Request

Each time a status is updated then a request with the following details will be made against the specified Callback URL [partner-url-path]

Headers

The following are the details of the request headers of the webhook

HeaderExpected Value
x-api-keyRefer to Signature section
Content-Typeapplication/json

Body

The following are the details of the request body of the webhook.

Object FieldsTypeRequiredDescription
numberstringYesUnique claim number generated by Qoala
product_codestringNoProduct code defined by Qoala
policy_numberstringNoPolicy number generated by Qoala
last_statusstringYesLast claim status. Refer to Claim Status section for supported values
user_channelstringNoChannel through which the claim was created
currency_codestringNoCurrency code of the claim amount
country_codestringNoCountry code
total_amountnumberNoTotal claim amount
created_atstringNoTimestamp when the claim was created (ISO 8601)
updated_atstringNoTimestamp when the claim was last updated (ISO 8601)
sum_insurednumberNoSum insured amount calculated from policy details
deductible_feenumberNoDeductible fee amount
excess_feenumberNoExcess fee amount
net_claim_amountnumberNoNet claim amount after deductions
total_paymentnumberNoTotal payment amount (excess fee + deductible fee + non-covered cost)
non_covered_costnumberNoNon-covered repair cost amount
policy_detailsobjectNoPolicy information linked to the claim. See policy_details table below
product_detailsobjectNoProduct and benefit information. See product_details table below

policy_details

FieldTypeRequiredDescription
transaction_idstringNoPartner transaction identifier from the linked policy
insurance_policy_numberstringNoInsurance policy number assigned by the insurer
purchased_atstringNoTimestamp when the policy was purchased (ISO 8601)
start_protection_atstringNoStart date and time of the policy protection period (ISO 8601)
end_protection_atstringNoEnd date and time of the policy protection period (ISO 8601)

product_details

FieldTypeRequiredDescription
codestringNoProduct code
namestringNoProduct name
categorystringNoProduct category
benefit_codestringNoBenefit code
benefit_namestringNoBenefit name
partner_namestringNoPartner name
insurance_namestringNoInsurance provider name
timezonestringNoProduct timezone

Example Request Body

{
  "number": "C-20260716-GADGETPARTNER001-ABC12",
  "product_code": "G-ADLD-PARTNER-003",
  "policy_number": "G-ADLD-PARTNER-003-20260716-INQ4M",
  "last_status": "QOALA_CLAIM_APPROVE",
  "user_channel": "PARTNERSHIP",
  "currency_code": "IDR",
  "country_code": "ID",
  "total_amount": 1500000,
  "created_at": "2026-07-16T08:30:00+07:00",
  "updated_at": "2026-07-16T10:00:00+07:00",
  "sum_insured": 5000000,
  "deductible_fee": 0,
  "excess_fee": 0,
  "net_claim_amount": 1500000,
  "total_payment": 0,
  "non_covered_cost": 0,
  "policy_details": {
    "transaction_id": "TX-20260716-001",
    "insurance_policy_number": "INS-123456",
    "purchased_at": "2026-07-15T17:00:00+07:00",
    "start_protection_at": "2026-07-15T17:00:00+07:00",
    "end_protection_at": "2028-07-15T16:59:59+07:00"
  },
  "product_details": {
    "code": "G-ADLD-PARTNER-003",
    "name": "Gadget Protection",
    "category": "ADLD",
    "benefit_code": "BENEFIT_CODE",
    "benefit_name": "Accidental Damage",
    "partner_name": "Gadget Partner",
    "insurance_name": "Insurance Provider",
    "timezone": "Asia/Jakarta"
  }
}

Webhook Response

HTTP response status code from partner will be tracked and

  • HTTP status code 200 will be acknowledged by Qoala as notification successfully received. No retry will be done.
  • Other HTTP status code will be marked as failed and will be retried. Request will be retried up to 8 times with exponential backoff interval.