Skip to main content
Didit’s Database Validation API queries the authoritative civil registry for each country — RENAPER (Argentina, $0.20/check with biometric face-match), Receita Federal (Brazil, $0.20), Tribunal Electoral SIB (Panama, $0.75 biometric), Junta Central Electoral (Dominican Republic, $0.05) and 14 more — billed per successful query, no monthly minimums. When you run a Database Validation, you get back two layers of result:
  1. 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.
  2. 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.
This page lists every value you can see and tells you how to react to each one.

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 as outcome_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, or REGISTRY_UNAVAILABLE.
  • Chile (Registro Civil) — RUT lookup. Maps to the standard outcomes plus MINOR_BLOCKED when the registry flags an underage record.
  • Dominican Republic (JCE) — Cédula lookup that returns a boolean validity; maps to MATCH or NO_MATCH.
  • Ecuador (Registro Civil) — Cédula lookup.
  • Mexico (RENAPO, plus INE for 2×2) — CURP lookup via RENAPO. When validation_type is two_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