Emitted when an attempt finishes with all checks passing. The payload includes the consented claims and the canonical list of selected field keys.Documentation Index
Fetch the complete documentation index at: https://docs.kayle.id/llms.txt
Use this file to discover all available pages before exploring further.
When it fires
After the verify pipeline accepts an attempt: SOD chain verified, all data-group hashes match, active and chip authentication checks pass when applicable, the face matcher accepts the selfie, and the user has consented to share at least all required fields. A session can only have one accepted attempt — once this event fires, the session moves tocompleted and no further attempts are allowed.
Payload
Fields
Always
verification.attempt.succeeded.The share-contract version the session was created against. Use to detect changes if your code branches on contract semantics.
The unique event ID. Idempotency-key candidate — the same event will reuse this ID on retries and replays.
The attempt that succeeded.
The session this attempt belongs to.
Map of claim key to value. Only the claims the user consented to share appear here. See Share fields for the catalogue and value formats.
The canonical, ordered list of keys present in
claims. Iterate this rather than Object.keys(claims) if you need consistent order.Handler outline
claims object reflects the user’s consent at the moment of acceptance. If you requested an optional field and it’s missing here, the user declined it — handle that without failing the verification.