Skip to main content
The objects below are what the API returns, without an envelope. New fields can be added within v1; ignore the ones you do not know. The event sent to your webhook URL is described in Decision webhook.

Verification

Returned by POST /verifications and GET /verifications/{verification}.
string (uuid)
The verification ID. Keep it next to your user.
string | null
Your identifier for the person, as sent on create. null when the create request was not signed.
object | null
The metadata you sent on create, returned as sent.
string | null
Where the person’s browser goes after the final screen: the callback_url of this verification, or the workspace’s redirect URL.
string
One of created, started, documents_required, submitted, review, resubmission_requested, approved, declined, abandoned, expired. See Verification statuses.
string | null
The decision reason when the status is declined or resubmission_requested; null otherwise, and also null while the status is documents_required. When attempts run out, a declined verification carries the last attempt’s reason.
object
The result of duplicate detection.
object | null
null unless the verification’s personal data was erased on request. Empty fields then mean “erased”, not “never captured”. The scheduled deletion of images after the retention period does not set it: those images just have a null url. See Data retention and erasure.
When the person accepted the consent text.
string
When the verification was created.
string
When it last changed.
string
Returned by POST /verifications only: the link that opens the verification for the person.

Document result

Returned by GET /verifications/{verification}/document.
string | null
passport, id, driver_license, residence_permit or other; null when the type could not be determined. An open enum: handle values you do not know. other is a readable document that is not an identity card, passport, driving licence or residence permit, such as a health insurance card. id is the same value the upload endpoint takes.
string | null
The issuing country, ISO 3166-1 alpha-2 (XK for Kosovo); null when it could not be read. Present on every workspace.
string | null
The state or province that issued the document, as a bare code beside issuing_country (for example FL with US); null when unknown or when issuing_country is null. Today it is filled for US driving licences and ID cards. Present on every workspace and kept after erasure.
object
What was read from the identity document. Each field is null when it was not read or is not printed on the document. Dates are YYYY-MM-DD. Age workspaces receive only first_name, last_name, date_of_birth and document_number; the seven fields marked KYC workspaces only are absent there.
object[]
The images of the attempt the decision is based on, selfie first, then the document front and back.
string | null
The attempt these results come from. A verification can have several attempts when the person is asked to try again.

Age estimation result

Returned by GET /verifications/{verification}/estimation.
string (uuid)
string | null
The attempt the estimate comes from.
object
object | null

Workspace

Returned by GET /workspace: the configuration of the workspace the public key belongs to.
string (uuid)
string
string
kyc or age.
string
test or live.
string | null
On age workspaces: estimation (Facial age estimation) or document_verification (Age verification by ID document).
integer | null
On age workspaces: the minimum age.
string
What the person is asked for by default: selfie or documents_and_liveness.
string | null
The default redirect URL after the final screen.
string | null
Where decision webhooks are sent: a public http or https URL, see the webhook URL.
boolean
Whether expired identity documents are accepted.
boolean
Whether one face may verify under several external_ids.