Our ID Verification process performs comprehensive validation of identity documents, extracting and verifying key information. This guide explains the structure and contents of a verification report.Documentation Index
Fetch the complete documentation index at: https://docs.didit.me/llms.txt
Use this file to discover all available pages before exploring further.

Report Structure
The verification report is returned as a JSON object containing anid_verification object with the following key sections:
- ID Verification Status: Overall session status and specific verification results
- Document Details: Type and identifiers of the verified document
- Personal Information: Extracted biographical data
- Document Media: URLs to captured images and videos
- Address Information: Structured location data
- Verification Metadata: Additional verification details and timestamps
Core Response Fields
Sample JSON Response
For more information about potential warnings during the ID verification process, check our ID Verification Warnings guide.
Multi-script documents (Latin / non-Latin)
Some documents — Kyrgyz, Kazakh, Russian, Japanese, Korean, Chinese, Arabic, Thai, and others — print the holder’s name, address, or place of birth in both a Latin transliteration and the local script. You choose which script powers the top-level response with the workflow (or standalone-API) settingpreferred_characters:
| Value | Populates top-level fields with | Opposite script goes to |
|---|---|---|
latin (default) | The Latin transliteration printed on the document | extra_fields.*_non_latin |
non_latin | The local-script values printed on the document | extra_fields.*_latin |
extra_fields under suffixed keys: first_name_non_latin, last_name_non_latin, middle_name_non_latin, full_name_non_latin, address_non_latin, place_of_birth_non_latin (or the matching _latin variants).
When alternate-script fields appear
- Only when both scripts are actually present on the document. If an OCR field nominally labelled “Surname-Kyrgyz (Cyrillic)” is extracted as Latin-script text (homoglyphs or a Latin transliteration), it does not qualify as a non-Latin alternate and that key is omitted.
full_name_non_latin(andfull_name_latin) are always reconstructed from the individual first-, middle-, and last-name components when both are available — the raw “Full Name” field from OCR is ignored for consistency.- When
preferred_characters=latinbut the document carries only non-Latin text (so the top-level fields end up non-Latin), Didit runs a transliteration pass and exposesfirst_name_latin,last_name_latin,full_name_latin,place_of_birth_latin, andaddress_latinas a Latin fallback.
Example
Kyrgyz ID card with a Cyrillic given name and a Latin-transliterated surname, verified withpreferred_characters=latin:
last_name_non_latin is absent because the document’s “Surname (Cyrillic)” field came back as Latin characters on this sample — there was no genuine non-Latin surname to extract.
Image Quality Scores
Each document side receives a quality assessment returned asfront_image_quality_score and back_image_quality_score. These scores help you evaluate whether the captured images are suitable for reliable document verification. All sub-scores range from 0 (worst) to 100 (best).
| Field | Type | What it measures |
|---|---|---|
focus_score | number (0-100) | Sharpness of the image using top-10% local Laplacian variance, robust to documents with large uniform backgrounds. Weight: 45% |
brightness_score | number (0-100) | How well-lit the image is. Penalizes images that are too dark or overexposed. Weight: 30% |
brightness_issue | "ok" | "too_dark" | "too_bright" | Indicates the direction of the brightness problem when brightness_score is low. |
resolution_score | number (0-100) | Effective resolution based on the total pixel count of the uploaded image. Weight: 25% |
is_document_fully_visible | boolean or null | true if all four corners of the document are fully visible inside the image frame, false if any corner is cut off. null when corner coordinates are unavailable. |
overall_score | number (0-100) | Weighted average of focus (45%), brightness (30%), and resolution (25%). |