Skip to main content
POST
/
v3
/
database-validation
curl -X POST "https://verification.didit.me/v3/database-validation/" \
  -H "x-api-key: YOUR_API_KEY" \
  -F "issuing_state=CRI" \
  -F "personal_number=112345678" \
  -F "first_name=John" \
  -F "last_name=Smith" \
  -F "services=cri_cedula"
{
  "request_id": "req_01H…",
  "status": "Approved",
  "issuing_state": "CRI",
  "match_type": "full_match",
  "validations": [
    {
      "service_id": "cri_cedula",
      "outcome_code": "MATCH",
      "validation": {
        "personal_number": "full_match",
        "first_name": "full_match",
        "last_name": "full_match"
      },
      "source_data": {
        "personal_number": "112345678"
      }
    }
  ]
}

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.

Costa Rica Database Validation verifies a Cédula de Identidad against the Tribunal Supremo de Elecciones (TSE), which is the constitutional body that operates Costa Rica’s civil and electoral registry. Each lookup returns the holder’s name, date of birth and voter status.

What you need

FieldRequiredNotes
personal_numberYesCédula de Identidad
first_nameOptionalCross-checked against the registry name.
last_nameOptionalCross-checked against the registry name.
Format rule: Cédula is 9–12 digits, no separators. Regulatory context: Costa Rican KYC programs typically combine TSE Cédula verification with SUGEF supervision (Superintendencia General de Entidades Financieras). The TSE itself maintains the Padrón Electoral and Registro Civil, and is constitutionally independent under Costa Rican Law No. 7300.

Available service

  • cri_cedula — verification against Tribunal Supremo de Elecciones (TSE). $0.20 per call. Selected automatically when services is omitted in the request.

How to call it

curl -X POST "https://verification.didit.me/v3/database-validation/" \
  -H "x-api-key: YOUR_API_KEY" \
  -F "issuing_state=CRI" \
  -F "personal_number=112345678" \
  -F "first_name=John" \
  -F "last_name=Smith" \
  -F "services=cri_cedula"
{
  "request_id": "req_01H…",
  "status": "Approved",
  "issuing_state": "CRI",
  "match_type": "full_match",
  "validations": [
    {
      "service_id": "cri_cedula",
      "outcome_code": "MATCH",
      "validation": {
        "personal_number": "full_match",
        "first_name": "full_match",
        "last_name": "full_match"
      },
      "source_data": {
        "personal_number": "112345678"
      }
    }
  ]
}

Returned data

A successful match returns the registry’s record for the holder. Available fields for Tribunal Supremo de Elecciones:
  • name
  • lastname
  • date_of_birth
  • voter_status
  • polling_station
The exact fields surfaced in source_data depend on what the registry returns — fields that are absent from the registry record (e.g. an unset expiration_date) are simply omitted.

Common use cases

  • Onboarding entidades supervisadas by SUGEF / CONASSIF.
  • Cross-checking against the Padrón Electoral for voter-confirmation flows.
  • Cross-border worker verification for remittance services.

Pricing & SLAs

Costa Rican TSE (Tribunal Supremo de Elecciones) returns the holder’s name, date of birth and registry status on every $0.20 call — driven by the Padrón Electoral (electoral roll).
  • Per-call price: $0.20 USD.
  • Billing: per successful query. You are not charged when the registry is unreachable, when required fields are missing, or when the request is rejected before reaching the registry.
  • Latency: typical p95 < 1.5 s.
  • Availability: 99.9% per quarter.

Other live database services

Continue reading

Costa Rican SUGEF-regulated entities — banks, financieras, gestoras de fondos — pair TSE Padrón Electoral with Liveness for full KYC.

Authorizations

x-api-key
string
header
required

Body

multipart/form-data
issuing_state
enum<string>
required

The ISO 3166-1 alpha-3 country code of the issuing state. Determines which validation sources are used.

Available options:
ARG,
BOL,
BRA,
CHL,
COL,
CRI,
DOM,
ECU,
ESP,
GTM,
HND,
MEX,
PAN,
PER,
PRY,
SLV,
URY,
VEN
identification_number
string
required

Universal identification number field. Automatically maps to the correct country-specific field: ARG→document_number (DNI), BOL→document_number (CI), BRA→tax_number (CPF, 11 digits), CHL→personal_number (RUT), COL→personal_number (Cédula), CRI→personal_number (Cédula), DOM→personal_number (Cédula, 11 digits), ECU→personal_number (Cédula, 10 digits), ESP→personal_number (DNI/NIE), GTM→document_number (DPI), HND→document_number (DNI), MEX→personal_number (CURP, 18 chars), PAN→personal_number (Cédula), PER→personal_number (DNI, 8 digits), PRY→document_number (CI), SLV→document_number (DUI), URY→personal_number (CI), VEN→document_number (Cédula).

services
string[]

Optional list of service_ids to run for this country (e.g. ['bra_cpf']). If omitted, every service configured for the issuing_state is queried in waterfall order. Each id must be a service that exists for the given country — see the catalog endpoint /v1/organization/database-validation-countries/. When provided, the response contains the extended services_used, providers_used, and match_score fields.

first_name
string

The individual's first name. Might be required for some countries and matching types.

last_name
string

The individual's last name. Might be required for some countries and matching types.

date_of_birth
string

The individual's date of birth in YYYY-m-d format. Might be required for some countries and matching types. Example: 1990-01-01.

document_type
enum<string>

The type of document being validated. P = Passport, DL = Driver License, ID = National ID, RP = Residence Permit. Optional field that may help with validation in some countries.

Available options:
P,
DL,
ID,
RP
expiration_date
string<date>

The document's expiration date in YYYY-MM-DD format. Required for ESP (Spain) database validation. Example: 2030-01-15.

nationality
string

The individual's nationality, expressed as an ISO 3166-1 alpha-3 country code. Might be required for some countries and matching types.

address
string

The individual's residential address. Used in specific jurisdictions where address validation is supported. Might be required for some countries and matching types.

selfie
file

A selfie image of the individual (JPEG, PNG, or WebP). Required for ARG (Argentina) where biometric face-match is performed via RENAPER, and for PAN (Panama) where biometric validation is performed via SIB (Servicio de Identificación Biométrica). For ARG, the gender field (M/F/X) is also required.

gender
enum<string>

The individual's gender. Required for ARG (Argentina) biometric validation via RENAPER. M = Male, F = Female, X = Non-binary. When used within a verification session flow, gender is automatically extracted from the ID document or inferred from face analysis / given name.

Available options:
M,
F,
X
save_api_request
boolean
default:true

Whether to save this API request. If true, then it will appear on the Manual Checks section in the Business Console.

vendor_data
string

A unique identifier for the vendor or user, such as a UUID or email. This field enables proper session tracking and user data aggregation across multiple verification sessions.

Response