{
"account_id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"kind": "kyc",
"event": "approved",
"submission_id": "c3d4e5f6-a7b8-4c9d-0e1f-2a3b4c5d6e7f",
"external_customer_id": "cust_789",
"status": "approved",
"risk_band": "low",
"decision": "approved",
"decision_source": "auto"
}Kyc verification status changed
Fires on every KYC submission lifecycle change (submitted, in_review, changes_requested, more_info_required, escalated, approved, approved_partial, rejected). Your own onboarding arrives with self_onboarding: true. decision_source tells whether the decision was made by the automatic engine (auto) or by a human reviewer (admin); it is present on final decisions.
WEBHOOK
kyc_verification_status_changed
{
"account_id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"kind": "kyc",
"event": "approved",
"submission_id": "c3d4e5f6-a7b8-4c9d-0e1f-2a3b4c5d6e7f",
"external_customer_id": "cust_789",
"status": "approved",
"risk_band": "low",
"decision": "approved",
"decision_source": "auto"
}Authorizations
Session JWT (from register/login) or API key (pk_...).
X-API-Key: <token> is accepted as an alternative header.
Response
200
Return any 2xx to acknowledge.
Last modified on September 3, 2026