verification.session.succeeded webhook.
The request shape
boolean
required
When
true, the user must consent to share this claim or the Kayle check cannot proceed. When false, the user can decline this claim individually and still finish the flow.string
required
Human-readable reason shown to the user during consent. 1 to 200 characters. Write it for the user, not your engineers.
UNKNOWN_CLAIM_KEY.
Static claims
These are the claim keys Kayle understands by default:Age-over derived claims
You can requestage_over_N for any integer N between 12 and 130. The returned value is a boolean computed from date_of_birth. Use these instead of date_of_birth when you only need a threshold check, since the user will see “Age Over 18” in consent rather than “Date of Birth” — less information disclosed.
Defaults
If you create a session withoutshare_fields, Kayle applies a default contract that includes kayle_document_id. The session response normalises everything into share_fields with a source field per entry:
source: "rc"— requested by you (the relying client).source: "default"— added by Kayle’s default contract.
Receiving the values
When Kayle confirms an attempt, theverification.session.succeeded webhook returns the consented claims:
selected_field_keys is the canonical list of keys the user actually consented to share. Optional fields the user declined will be missing from claims even though you requested them — code defensively.