Skip to main content
All customer webhooks are sent to your collection_url.

Parameter overview

ParameterDescription
messageHuman-readable description of the event.
event_typeEvent type identifier (e.g. customer.status_changed).
customer_idUnique ID of the customer.
customer_emailThe customer’s email address.
old_statusThe customer’s previous verification status.
new_statusThe customer’s new verification status.
commentOptional comment explaining the status change (e.g. rejection reason).
updated_atISO 8601 timestamp of when the status changed.
event_idUnique identifier for this webhook event.
typeAlways customer for customer events.

Event types

customer.created

Sent when a new customer is created for your business.

customer.verified

Sent when a customer’s KYC verification is approved. The customer can now be used for Virtual Bank Account creation and other operations that require a verified customer.
Verification is not instant. After documents are uploaded for a customer, they enter a review process. You will not receive this webhook immediately — it arrives once the review is complete.In most cases, the review finishes within a few minutes. However, if the documents require an additional level of checks and screening, the process can take up to 2 hours. This is normal and expected. Do not raise support tickets or enquiries during this period — requests about verifications that have been pending for less than 2 hours will not be attended to.If verification has been pending for 5 hours or more, something may have gone wrong. Only at that point should you contact the operations team at support@blaaiz.com to investigate and expedite.

customer.rejected

Sent when a customer’s KYC verification is rejected. Check the comment field for the rejection reason. Common rejection reasons include unclear or illegible document images, unsupported document types (such as national ID cards), expired documents, or fraudulent submissions.

Example payload

{
  "message": "Customer verification status updated",
  "event_type": "customer.status_changed",
  "customer_id": "cust_abc123",
  "customer_email": "john@example.com",
  "old_status": "PENDING",
  "new_status": "VERIFIED",
  "comment": null,
  "updated_at": "2026-03-13T14:30:00.000Z",
  "event_id": "evt_def456",
  "type": "customer"
}

Rejected example

{
  "message": "Customer verification status updated",
  "event_type": "customer.status_changed",
  "customer_id": "cust_abc123",
  "customer_email": "john@example.com",
  "old_status": "PENDING",
  "new_status": "REJECTED",
  "comment": "Identity document is expired.",
  "updated_at": "2026-03-13T14:30:00.000Z",
  "event_id": "evt_ghi789",
  "type": "customer"
}

Possible statuses

StatusDescription
PENDINGCustomer documents are under review. Verification is not instant — it typically completes within a few minutes, but can take up to 2 hours if additional screening is required. Do not escalate before 2 hours. Contact the operations team only if pending for 5 hours or more.
VERIFIEDCustomer KYC has been approved. The customer can now be used for payouts and Virtual Bank Account creation.
REJECTEDCustomer KYC has been rejected. Check the comment field for the reason.