Every session endpoint returns this object.
link Fields
id
string
The session's ID. Use it to retrieve or cancel the session.
reference
string
Your reference for the customer, as you sent it.
status
string
Where the session has got to. One of created, handed_off, capturing, submitted, processing, clear, consider, rejected, expired, cancelled or error (a technical failure, not a finding).
outcome
string | null
The decision: clear, consider or rejected. null until there is one.
reasons
string[]
Why the session wasn't clear, as stable codes. Empty otherwise. After a review, the reviewer's reason code. See Results.
reviewed
boolean
Whether a person in your team decided the outcome.
review
object | null
The person's decision. null unless reviewed.
retry_session_id
string | null
The session started in this one's place when a reviewer asked for a retry. Send your customer its link from the dashboard.
retry_of
string | null
For a retry: the session it replaces.
checks
object
Each check's result, once there's an outcome: document, liveness, face_match, fraud, and ai_review when it ran.
document
object
Only for keys with the sessions:read_data scope, on retrieve. Never in webhooks. Each read is recorded in your audit log.
document_type
string | null
The document your customer chose: passport, driving_licence, id_card or residence_permit. null until they choose.
document_country
string | null
The country that issued it, as an ISO 3166-1 alpha-3 code such as GBR. null until they choose.
captures
object
How many photos and videos we have, by kind. Retakes replace earlier attempts, so only the ones that count are included.
created_at
string
When you created the session.
expires_at
string
When the link stops working, 24 hours after creation.
submitted_at
string | null
When your customer finished uploading.
decided_at
string | null
When the decision was made.
test
boolean
true for a session started with a sandbox key. See Sandbox.