type and the contents
of data.customer differ between events.
Envelope
customer.kyc_completed
Fires when a record reaches a terminal verification verdict. data.customer
is the individual DTO (kyc_status is VERIFIED or FAILED) or the
entity DTO (kyb_status is VERIFIED or FAILED) depending on the
record type.
aml.review_completed
Fires when the compliance team finishes reviewing a customer’s AML
matches and the AML status settles to RESOLVED. Read data.customer.aml
for the resolved status and category flags.
customer.updated
Fires when a customer/entity your integration owns is updated. data.customer
is the current DTO. Because this can fire often, dedupe on IC-Event-Id
and diff against your own copy if you only care about specific fields.
Handling unknown fields and events
Treat the payload as forward-compatible: we may add fields to a DTO or new values totype. Parse defensively — don’t fail on an unrecognised event
type or an unexpected extra field.
