A narrow, useful check
| Check | Reported behavior |
|---|---|
| Common fields | Required strings, supported kind and permanent fictional markers |
| Date fields | Calendar validity, birth/issue order, issue/expiry order and reference-date limits |
| Identifiers | TEST- and NOT-VALID- formats, plus duplicate record IDs across the batch |
| Result counts | Rows passing these rules, affected rows and per-field affected-row counts |
The checker uses the same common-field rules as the single-record validator. Optional passportTest and licenseTest objects are not validated. Unknown extra fields are not a schema error, and a rule pass does not authenticate a document or verify a person.
JSON and CSV have different boundaries
JSON input must be an array of 1–200 records. CSV must contain a header followed by records, with at most 30 distinct simple column names and a consistent column count. Quoted commas, double quotes and line breaks are supported. The exact CSV value false in validForIdentification is converted to a boolean; other cells remain strings.
Each input is limited to 128 KiB of UTF-8 text. A malformed CSV stops the batch so row boundaries are not guessed. A malformed JSON row is reported as a row issue. An individual JSON record exceeding the single-record validator's size limit is reported without being validated.
Read the report before acting
Affected-row counts are not error totals: a row can have several issues, and one field is counted once per affected row. All occurrences of a duplicate record ID are flagged. Row numbers refer to records; CSV row 1 in the report is the first row after the header.
The page shows the first 20 affected rows. JSON and CSV report exports include every row result, omit original field values and retain their non-authentication label. Inputs and reports remain in page memory until you leave or reload; downloaded files remain on your device.