Pular para o conteúdo

Accepted documents

Este conteúdo não está disponível em sua língua ainda.

You decide which documents a verification will accept by passing allowed_documents to POST /v1/verifications (or by configuring the document step of a Flow). The applicant then picks one of them on the hosted page. If you omit it, the applicant gets the default Mozambique surface.

The allowlist

allowed_documents is a list of { country, document_type } entries. The country is an explicit ISO-3166-1 alpha-2 code — wildcards ("*") are rejected at request time; always pin the countries you accept.

{
"type": "kyc",
"allowed_documents": [
{ "country": "MZ", "document_type": "bilhete_identidade" },
{ "country": "MZ", "document_type": "passport" },
{ "country": "PT", "document_type": "passport" }
]
}

The applicant flow follows from the list:

  • One entry → pinned; the applicant goes straight to capture.
  • Multiple → the applicant picks the issuing country first, then the document type allowed for it.

The three support tiers

Every (country, document_type) pair falls into one of three tiers. The tier determines what treatment the run gets — never whether your request is accepted.

1. Tuned — full treatment

Pairs with per-country calibration: templates, MRZ rules, document-side profiles, and tuned thresholds. The full range of assessments is available, including no_material_concerns.

Countrydocument_typeDocument
MZbilhete_identidadeMozambique Bilhete de Identidade
MZpassportMozambique passport
MXnational_idMexico national ID (INE)
MXpassportMexico passport

2. Uncalibrated — runs fully, review-floored

Documents approved to run without per-country calibration. This is the honest “any passport, any country” story: every country’s ICAO 9303 MRZ (TD3) passport is in this tier — deterministic check-digit validation works regardless of issuer — plus a small set of named MZ/MX documents:

Countrydocument_typeDocument
any explicit countrypassportICAO 9303 TD3 machine-readable passport
MZdrivers_licenseCarta de condução
MZdireDIRE residence permit
MXdrivers_licenseLicencia de conducir
MXresidence_permitTarjeta de residente

The pipeline executes fully — OCR, MRZ check-digits, authenticity, liveness, face match — so the capture is never wasted and the evidence is real. The difference is the outcome: the scorer floors the assessment at manual_review_recommended with the reason uncalibrated_document_scope. Never a clean pass, never a silent rejection — the run tells you honestly that per-country calibration is still maturing, and hands your reviewer the full evidence bundle.

So a foreigner resident in Mozambique can always verify with their home-country passport: list { "country": "PT", "document_type": "passport" } (or whichever countries you serve) alongside your MZ documents, and expect those runs to come back review-floored.

3. Everything else — assessment_incomplete

Any other pair — say a national ID from a country without tuning — is not rejected. The verification still runs its lifecycle, but the engine resolves the assessment to assessment_incomplete (fail-closed) without spending the pipeline. You’ll see it clearly in the result rather than getting a misleading score.

How matching works

Validation is composed from open standards — no proprietary per-country template database:

  • ICAO 9303 MRZ check-digits (TD3) — universal across machine-readable passports; picking passport locks MRZ validation in.
  • Tuned per-country templates (MZ BI/passport, MX national ID/passport) — format-aware field validation and calibrated thresholds.
  • Template-backed uncalibrated definitions for the named MZ/MX documents above — real registry templates, minus the calibration claim.

Adding a country to the tuned tier is a registration plus its calibration assets — the pipeline itself is country-agnostic, which is why passports run everywhere today.