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.

customer.rejected

Sent when a customer’s KYC verification is rejected. Check the comment field for the rejection reason.

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 is awaiting verification.
VERIFIEDCustomer KYC has been approved.
REJECTEDCustomer KYC has been rejected.