Skip to main content
KYB webhooks report accepted compliance-session status changes. The webhook status is a compliance status and is not the same as the managed-account lifecycle status. A callback is planned only when the result update is accepted by the current compliance session. Duplicate provider events and stale status regressions do not create a new delivery.

Events and owners

  • VA_ACCOUNT_KYB — USER owner; supported subjects are VA_MOR, VA, and PA.
  • MASTER_ACCOUNT_KYB — PLATFORM owner; supported subject is MASTER.
Current routing requires exactly one owner. VA_ACCOUNT_KYB requires user_id and does not use platform_tenant_id. MASTER_ACCOUNT_KYB requires platform_tenant_id and does not use user_id. VA_ACCOUNT_KYB is delivered only to USER-owned subscriptions. ACCOUNT-owned webhook configurations are not evaluated for KYB delivery.

Payload

Empty optional fields are omitted. session_id, status, provider, and provider_event_id are required by the delivery pipeline.

Status values

The delivered value is one of PENDING, PENDING_SUBMISSION, APPROVED, REJECTED, EXPIRED, CREATION_FAILED, REVIEWING, ERROR, or FORCE_APPROVED. It does not include a COMPLIANCE_STATUS_ prefix.

VA example

Master-account example

After receiving a KYB event, query the relevant account resource if you need its current managed-account state. Do not map a KYB status directly to an account lifecycle status. See Delivery and Retries for acknowledgement and idempotency rules.