Skip to main content

Get Identification

Three endpoint variants let you retrieve a single identification by its transaction number or IdentID, or list identifications filtered by status.

All requests require the auth header:

HeaderTypeRequiredDescription
X-API-LOGIN-TOKENstringYesAuth token for authentication

Get by transaction number

GET /api/v1/{customer}/identifications/{transaction-number}
ParameterTypeDescription
customerstringYour company identifier
transaction-numberstringThe transaction number you assigned at identification creation

Get by IdentID

GET /api/v1/{customer}/identifications/{identid}
ParameterTypeDescription
customerstringYour company identifier
identidstringThe IdentID returned by the Create Identification endpoint (e.g. ABC-DEFGH)

Both variants return the same response structure.


Get identifications by status

Add a query parameter to retrieve a list of all identifications for your account in a given status.

GET /api/v1/{customer}/identifications?{parameter}=true
Query parameterStatus returned
pendingREVIEW_PENDING identifications awaiting manual review
abortedAborted user quit before completing
canceledCancelled cancelled by an IDnow agent
successfulFinished identifications with a final outcome: SUCCESS, SUCCESS_DATA_CHANGED, or FRAUD_SUSPICION_CONFIRMED

Example: retrieve all pending identifications:

GET /api/v1/{customer}/identifications?pending=true

Response

The response is a JSON object with the following top-level blocks:

BlockTypeDescription
identificationprocessobjectCore identification metadata, see fields below
customdataobjectThe custom1custom5 fields you sent at identification creation
contactdataobjectContact information provided at creation (mobilephone, email)
userdataobjectPersonal data fields with per-field status and values, see below
identificationdocumentobjectPrimary document data extracted during verification
identificationdocument2objectSecond document data, present only when a driver's licence was also scanned. Type is always DRIVERS_LICENSE
additionaldocumentsarrayAdditional documents (e.g. utility bill for Proof of Address)
questionsobjectAnswers to pre-defined or agent-asked questions (VideoIdent only), see questions fields
attachmentsobjectResult files: PDF, images, audio/video logs, security feature captures, see attachments fields
note

This same JSON structure is sent in the body of all webhook calls.

identificationprocess fields

FieldTypeDescription
resultstringCurrent result or interim state, see Result values below
reasonstringReason code qualifying the result. See Abort reasons, Cancel reasons, and Fraud-suspicion reasons for the full lists.
companyidstringYour company short name
transactionnumberstringTransaction number you assigned at creation
idstringIdentID (format: ABC-DEFGH)
identificationtimestringISO 8601 timestamp of when the identification was completed; null if not yet completed
filenamestringName of the result ZIP file
hrefstringPath to retrieve the result ZIP file
typestringAlways APP
agentnamestringName of the reviewing agent; TROBOT for automated test robot reviews
wasnfcusedbooleantrue if NFC chip reading was used during the identification
poaresultstringProof of Address result (SUCCESS, FAILED); only present when PoA feature is enabled

customdata fields

The customdata block returns the custom values you passed at identification creation. Use these fields to attach your own IDs, tags, or any other metadata you need to correlate with the identification.

FieldMandatoryDescriptionExample
custom1NoCustom text field. Use it for your own IDs, tags, etc.Your own internal ID (e.g. 287492_23552)
custom2NoSee custom1.
custom3NoSee custom1.
custom4NoSee custom1.
custom5NoSee custom1.

contactdata fields

The contactdata block holds the user's contact details. The values are either passed at identification creation or entered by the user during the process. If the user updates a value (e.g. their mobile phone number) during the identification, the updated data is returned here.

FieldMandatoryDescriptionExample
emailNoThe user's email address.sampleuser@example.com
mobilephoneNoThe user's mobile phone number.0151 23411232

userdata fields

The userdata block contains the user's personal data as retrieved during the identification, with information about whether values were changed. Each field carries a status and, depending on the status, a value and/or original.

FieldMandatoryDescription
firstnameYesThe user's first name(s). Uppercase.
lastnameYesThe user's last name. Uppercase.
birthdayNoDate of birth in ISO 8601 format: YYYY-MM-DD.
birthnameNoBirth name of the user. Do not include prefixes, only the name itself.
birthplaceNoThe user's birthplace. Uppercase.
genderNoThe user's gender. MALE or FEMALE.
nationalityNoThe user's nationality. Uppercase two-letter code (ISO 3166).
titleNoAcademic title. Only used when the title is part of the name and shown on the ID document.
streetNoThe user's street. Provided inside the address sub-object. Uppercase.
streetnumberNoThe user's street number. Provided inside the address sub-object. Can be configured to be merged into street if you store street and number together, contact your IDnow account manager.
zipcodeNoThe user's zip code. Provided inside the address sub-object.
cityNoThe user's city. Provided inside the address sub-object. Uppercase.
countryNoThe user's country. Provided inside the address sub-object. Uppercase two-letter code (ISO 3166).

userdata field statuses

Each field in userdata (and identificationdocument) carries a status indicating how the value was determined:

StatusMeaning
NEWValue was read from the document; you did not provide this field at creation. Only value is present.
ORIGINALDocument was not read for this field (e.g. identification aborted, or field unreadable). Only original (your submitted value) is present.
MATCHDocument was read and confirms the value you submitted. value contains the confirmed value.
CHANGEDocument was read and differs from your submitted value. value = document readout, original = your submitted value.

identificationdocument fields

The identificationdocument block describes the document used by the user during the identification. Each field carries a status.

FieldMandatoryDescriptionExample
typeYesType of ID document. One of: IDCARD, PASSPORT, DRIVERS_LICENSE, RESIDENCE_PERMIT, EU_CITIZEN_CARD (eID only).IDCARD
countryYesIssuing country of the document. Uppercase two-letter code (ISO 3166).DE
validuntilYesDate until which the document is valid, in ISO 8601 format: YYYY-MM-DD.2020-03-10
numberNoThe ID number.402324847
issuedbyNoGovernment agency that issued the document. Uppercase.LANDESHAUPTSTADT MÜNCHEN, KVR
dateissuedYes (except eID)Date the document was issued, in ISO 8601 format: YYYY-MM-DD.2010-03-10
driverlicensesNoDriver's licence classes present on the document, as an array. Only applicable for driver's licences. See driverlicenses entry.[{ "type": "ML" }, { "type": "B" }]

driverlicenses entry

Each item in the driverlicenses array describes one licence class read from the document.

FieldDescription
licenseClassThe licence class (e.g. A1, B, C1E).
additionalInformationAny extra text printed on the licence for this class.
validFromReadoutHow the "valid from" cell was read. One of: DATE (a date is printed), EMPTY (blank or dashes such as ---------), REFERENCE_GERMAN (German licences printing *)).
validUntilReadoutHow the "valid until" cell was read. Same possible values as validFromReadout: DATE, EMPTY, REFERENCE_GERMAN.
validFromThe "valid from" date in ISO 8601 format (YYYY-MM-DD). Populated only when validFromReadout is DATE; otherwise null.
validUntilThe "valid until" date in ISO 8601 format (YYYY-MM-DD). Populated only when validUntilReadout is DATE; otherwise null.

All fields are extracted automatically by AutoIdent.

note

Austrian driver's licences with all fields empty are treated as invalid.

Example: German driver's licence backside readout:

german driver licence example
"driverlicenses": [
{ "licenseClass": "A1", "additionalInformation": null, "validFromReadout": "EMPTY", "validUntilReadout": "EMPTY", "validFrom": null, "validUntil": null },
{ "licenseClass": "A", "additionalInformation": null, "validFromReadout": "EMPTY", "validUntilReadout": "EMPTY", "validFrom": null, "validUntil": null },
{ "licenseClass": "A", "additionalInformation": null, "validFromReadout": "EMPTY", "validUntilReadout": "EMPTY", "validFrom": null, "validUntil": null },
{ "licenseClass": "B", "additionalInformation": null, "validFromReadout": "REFERENCE_GERMAN", "validUntilReadout": "EMPTY", "validFrom": null, "validUntil": null },
{ "licenseClass": "C1", "additionalInformation": null, "validFromReadout": "EMPTY", "validUntilReadout": "EMPTY", "validFrom": null, "validUntil": null },
{ "licenseClass": "C", "additionalInformation": null, "validFromReadout": "EMPTY", "validUntilReadout": "EMPTY", "validFrom": null, "validUntil": null },
{ "licenseClass": "D1", "additionalInformation": null, "validFromReadout": "EMPTY", "validUntilReadout": "EMPTY", "validFrom": null, "validUntil": null },
{ "licenseClass": "D", "additionalInformation": null, "validFromReadout": "EMPTY", "validUntilReadout": "EMPTY", "validFrom": null, "validUntil": null },
{ "licenseClass": "BE", "additionalInformation": null, "validFromReadout": "EMPTY", "validUntilReadout": "EMPTY", "validFrom": null, "validUntil": null },
{ "licenseClass": "C1E", "additionalInformation": null, "validFromReadout": "EMPTY", "validUntilReadout": "EMPTY", "validFrom": null, "validUntil": null },
{ "licenseClass": "CE", "additionalInformation": null, "validFromReadout": "EMPTY", "validUntilReadout": "EMPTY", "validFrom": null, "validUntil": null },
{ "licenseClass": "D1E", "additionalInformation": null, "validFromReadout": "EMPTY", "validUntilReadout": "EMPTY", "validFrom": null, "validUntil": null },
{ "licenseClass": "DE", "additionalInformation": null, "validFromReadout": "EMPTY", "validUntilReadout": "EMPTY", "validFrom": null, "validUntil": null },
{ "licenseClass": "M", "additionalInformation": null, "validFromReadout": "DATE", "validUntilReadout": "EMPTY", "validFrom": "2010-06-15", "validUntil": null },
{ "licenseClass": "L", "additionalInformation": null, "validFromReadout": "REFERENCE_GERMAN", "validUntilReadout": "EMPTY", "validFrom": null, "validUntil": null },
{ "licenseClass": "T/S", "additionalInformation": null, "validFromReadout": "REFERENCE_GERMAN", "validUntilReadout": "EMPTY", "validFrom": null, "validUntil": null }
]

questions fields (VideoIdent only)

The questions block contains answers to questions that were either pre-defined or asked by the identification agent during the video call. Only present for VideoIdent flows.

FieldMandatoryDescription
<question key>NoKey of the configured question; value is the answer captured during the call.

attachments fields

The attachments block lists the additional files generated during the identification process (audio logs, images, result PDF, etc.). Each entry maps a key to the filename of the attachment.

FieldMandatoryDescription
pdfYesA PDF file containing the result data with pictures. Default filename: <transactionnumber>.pdf.
idfrontsideYesImage showing the front side of the ID. Default filename: <transactionnumber>_idfrontside.png.
idbacksideYesImage showing the back side of the ID. Default filename: <transactionnumber>_idbackside.png.
idhologramsNoImage showing the holograms of the ID. Default filename: <transactionnumber>_idholograms.png.
userfaceNoImage showing the face of the user. Default filename: <transactionnumber>_userface.png.
audiologNoAudio log of the identification process. Default filename: <transactionnumber>.mp3.
videologNoVideo log of the identification process. Default filename: <transactionnumber>.mp4.
security<N>NoImages of the document security features (holograms, etc.). Typically 3 security features are included. Default filename pattern: <transactionnumber>_security[1-3].png.
security_coveredNoImage of a covered security feature. Default filename: <transactionnumber>_security_covered.png.
<custom image key>NoAdditional images captured during the verification process.

Image format

Images are delivered in one of the following formats:

  • JPEG (default): Joint Photographic Experts Group format, file extension .jpg.
  • PNG: Portable Network Graphics with a 24-bit palette.

If you need a format other than JPEG, contact IDnow.

Audio log format

The audio log is delivered in one of the following formats:

  • MP3 (default): mono, 22.05 kHz, 36 kbps.
  • WAV: 11.025 kHz, 16-bit, mono.

If you need a format other than MP3 or WAV, contact IDnow.

Video log format

The video log is delivered as MP4 with H.264 video encoding and AAC audio encoding.


Status values

StatusDescription
CreatedIdentification request created; waiting for the user to start
StartedUser has started the identification process in the app
PendingUser has completed the in-app flow; awaiting review
ReviewIdentification data is currently being reviewed
FinishedReview complete; a final result is available
CancelledCancelled by an IDnow agent (e.g., inconclusive data)
AbortedUser quit the identification process before completing
ArchivedIdentification stored in archive
note

Cancelled and Aborted identifications can be retried using the same IdentID.

Result values

Result values are set on Finished identifications. Interim values may appear while a review is in progress.

ResultFinal?Description
SUCCESSYesIdentity verified successfully
SUCCESS_DATA_CHANGEDYesIdentity verified; some fields were corrected by the reviewing agent
FRAUD_SUSPICION_CONFIRMEDYesIdentity verification rejected due to confirmed fraud suspicion
CANCELEDYesCancelled by an agent e.g., poor image quality, expired document, or unreadable data
CHECK_PENDINGNoAutomated checks were inconclusive; identification is awaiting manual agent review
FRAUD_SUSPICION_PENDINGNoFraud indicators detected; identification is awaiting senior agent review before final decision
caution

Never treat CHECK_PENDING or FRAUD_SUSPICION_PENDING as a final outcome. Always wait for a Finished result before acting.


Aborted identifications

When a user quits the identification before completing it, the reason field carries an abort code. See Abort reasons for the full list (AutoIdent and VideoIdent).


Cancelled identifications

When an agent (or the IDnow system) cancels an identification during review typically due to inconclusive data or a technical issue, the reason field carries a cancel code. See Cancel reasons for the full list (AutoIdent, VideoIdent, system-set, and eID).

note

Cancelled identifications can be retried by the user with the same IdentID.


Fraud suspicion reasons

When the result is FRAUD_SUSPICION_CONFIRMED, the reason field carries a fraud code. See Fraud-suspicion reasons for the full list (AutoIdent and VideoIdent).


Errors

For the full list of error codes and response structure, see API errors.

note

An identification that has been created but not yet started by the user returns OBJECT_NOT_FOUND, no data exists in the backend until the user begins the identification process.


Response examples

All userdata fields have status: "NEW", the document was read and no prior values were submitted.

{
"identificationprocess": {
"result": "SUCCESS",
"id": "TST-SFYGG",
"transactionnumber": "demosecurityfeatures_20190528",
"identificationtime": "2019-05-28T17:47:12+02:00",
"wasnfcused": true
},
"userdata": {
"firstname": { "status": "NEW", "value": "ERIKA" },
"lastname": { "status": "NEW", "value": "MUSTERMANN" },
"birthday": { "status": "NEW", "value": "1977-04-27" }
},
"identificationdocument": {
"type": { "status": "NEW", "value": "IDCARD" },
"number": { "status": "NEW", "value": "LF3R8ZV44" },
"validuntil": { "status": "NEW", "value": "2024-09-11" }
},
"attachments": {
"pdf": "demosecurityfeatures_20190528.pdf",
"xml": "demosecurityfeatures_20190528.xml"
}
}