Skip to main content
POST
identity.document.verify

Authorizations

Authorization
string
header
required

API key: sk_live_…

Headers

Idempotency-Key
string
required

Required: this capability has an external effect.

Maximum string length: 255
Pramaan-Max-Price-Micro
string

Optional. The most this request may be priced at, in micro-USD (a whole number above 0). It replaces the capability's own price ceiling for this request, lower or higher. Sources that could cost more are left out; when none is left the answer is 400 with the lowest limit that would work.

Pattern: ^[1-9]\d{0,14}$

Body

application/json
frontImage
string
required

Id of an uploaded file holding a photo or scan of the FRONT of the ID document (all four corners visible), up to 10 MB, in place of a public link.

Pattern: ^file_[0-9A-HJKMNP-TV-Z]{26}$
backImage
string

Id of an uploaded file holding the BACK of the document, up to 10 MB. Send it whenever the document has a back: it carries the machine-readable strip on many cards.

Pattern: ^file_[0-9A-HJKMNP-TV-Z]{26}$
documentPassword
string

Password of an encrypted PDF document. It is used for this call and never stored or echoed.

Maximum string length: 256
minimumAge
integer

Age you require, 1 to 120. Declared for completeness: the current check reports the person's age and date of birth but does not decline on it by itself — compare the returned dateOfBirth yourself.

Required range: 1 <= x <= 120
documentLiveness
boolean

Also screen the images for presentation fraud (screen replays, printed copies, portrait manipulation). On by default; turning it off is faster but skips that screen.

saveRecord
boolean

False (default): nothing is kept — the document images are processed for this one answer and not stored. True: the check is kept as a retrievable verification record (its data and images stay until deleted, and you get a ref for the follow-up calls).

endUserId
string

Your own stable id for the person (an opaque id, never a name or an email). It is sent to the verification service with the check, also when nothing is saved: the service uses it to tie the check to their other records.

Maximum string length: 256

Response

The result

status
string
required

passed when the document checked out with no declining warning; failed otherwise.

warnings
string[]
required

Warning codes explaining a failed or flagged check (for example SCREEN_CAPTURE_DETECTED or EXPIRATION_DATE_NOT_DETECTED), empty when it passed cleanly.

documentType
string

Kind of document detected, for example Passport or Identity Card.

documentSubtype
string

Finer kind, for example EPASSPORT.

documentNumber
string

Document number read from the document.

personalNumber
string

Personal or national number printed on the document, when present.

firstName
string

Given name(s) read from the document.

lastName
string

Family name(s) read from the document.

dateOfBirth
string

Date of birth read from the document, YYYY-MM-DD.

dateOfIssue
string

When the document was issued, YYYY-MM-DD.

documentExpiry
string

When the document expires, YYYY-MM-DD.

issuingCountry
string

Country that issued the document, as a code.

gender
string

Sex as printed on the document: M, F or U.

nationality
string

Nationality read from the document, as a code.

addressLine
string

Address printed on the document, when present.

mrzValid
boolean

Whether the machine-readable strip was present and internally consistent.

ref
string

Reference to what this call created. Pass it as ref to identity.verification.get or identity.verification.delete (only set when saveRecord was true).