- A standard outcome code that works the same way across every supported country, so you can write one piece of handling logic that covers all of them.
- An optional country-specific detail code that tells you exactly which condition the government registry returned — useful for support, analytics, and deciding whether to prompt the user to retry.
Standard outcome codes
These codes are identical across every country. Build your review, decline, and retry logic on top of these — not on the per-country detail codes.The
outcome_code lives inside each entry of the validations array on the validation report. See Database Validation Report for where it fits in the response.Country-specific detail codes
The detail code is returned asoutcome_detail alongside outcome_code. Only countries listed below produce detail codes beyond the standard outcome — every other supported country returns the standard codes only.
Argentina (RENAPER)
Argentina uses a biometric 1×1 validation against the RENAPER national identity registry, combining the DNI, a selfie, and declared gender.Brazil (Receita Federal — Consulta CPF)
Brazil validates the CPF against the Receita Federal’s official CPF service, with explicit handling for minors under the LGPD (Lei Geral de Proteção de Dados) and the Children’s and Adolescents’ Digital Statute.For
MINOR_BLOCKED outcomes in Brazil, source_data still returns the lgpd_minor, minor_under_18, and minor_under_16 flags so you can apply age-appropriate flows without retrying.Panama (SIB — Tribunal Electoral)
Panama uses biometric validation against the SIB (Servicio de Identificación Biométrica) registry operated by the Tribunal Electoral. If a technical SIB error occurs, the session falls back to a 1×1 lookup automatically.Other supported countries
The countries below return the standard outcome codes only — there are no country-specific detail codes to handle.- Bolivia, Colombia, Costa Rica, El Salvador, Guatemala, Honduras, Paraguay, Spain, Uruguay, Venezuela — 1×1 lookup against the corresponding civil registry. Results map directly to
MATCH,NO_MATCH,DOCUMENT_NOT_FOUND,INVALID_DOCUMENT_FORMAT, orREGISTRY_UNAVAILABLE. - Chile (Registro Civil) — RUT lookup. Maps to the standard outcomes plus
MINOR_BLOCKEDwhen the registry flags an underage record. - Dominican Republic (JCE) — Cédula lookup that returns a boolean validity; maps to
MATCHorNO_MATCH. - Ecuador (Registro Civil) — Cédula lookup.
- Mexico (RENAPO, plus INE for 2×2) — CURP lookup via RENAPO. When
validation_typeistwo_by_two, an additional INE cross-reference runs; both feed into the same standard outcome codes. - Peru (RENIEC) — DNI lookup.
Handling recipe
The simplest robust handler looks like this:You don’t need to branch on
outcome_detail for business logic — use it for analytics, debugging, and support tickets. The standard outcome_code is guaranteed to stay stable across countries and over time.See also
- Database Validation Warnings — the session-level warning tags (
COULD_NOT_PERFORM_DATABASE_VALIDATION,DATABASE_VALIDATION_PARTIAL_MATCH,DATABASE_VALIDATION_NO_MATCH) and how to configure your application’s review/decline actions. - Database Validation Report — the full response structure and where
outcome_code/outcome_detailappear. - Database Validation Supported Countries — the full country and matching-method list.