Webhook that is called when the KYC status of a customer is updated. This endpoint should be implemented by clients of the Grid API.
The webhook includes a signature in the X-Grid-Signature header that allows you to verify that the webhook was sent by Grid.
To verify the signature:
If the signature verification succeeds, the webhook is authentic. If not, it should be rejected.
This webhook is triggered when KYC/B has reached a decision on a customer. Generally most customers will finish KYC within a few minutes. Others might be rejected because of incorrect data passed in or may have been flagged for manual review. The webhook will only trigger for final states. This will be APPROVED, REJECTED, EXPIRED, CANCELED, MANUALLY_APPROVED, MANUALLY_REJECTED.
Secp256r1 (P-256) asymmetric signature of the webhook payload, which can be used to verify that the webhook was sent by Grid.
To verify the signature:
If the signature verification succeeds, the webhook is authentic. If not, it should be rejected.
ISO8601 timestamp when the webhook was sent (can be used to prevent replay attacks)
"2025-08-15T14:32:00Z"
Unique identifier for this webhook delivery (can be used for idempotency)
"Webhook:019542f5-b3e7-1d02-0000-000000000007"
Type of webhook event
INCOMING_PAYMENT, OUTGOING_PAYMENT, TEST, BULK_UPLOAD, INVITATION_CLAIMED, KYC_STATUS, ACCOUNT_STATUS System generated id of the customer
"Customer:019542f5-b3e7-1d02-0000-000000000001"
The current KYC status of a customer
APPROVED, REJECTED, PENDING_REVIEW, EXPIRED, CANCELED, MANUALLY_APPROVED, MANUALLY_REJECTED "APPROVED"
Webhook received successfully