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=URY" \
  -F "services=ury_cedula" \
  -F "personal_number=1111111" \
  -F "date_of_birth=1990-01-01"
{
  "request_id": "req_01H…",
  "status": "Approved",
  "issuing_state": "URY",
  "match_type": "full_match",
  "validations": [
    {
      "outcome_code": "MATCH",
      "service_id": "ury_cedula",
      "service_name": "Uruguay - CI verification",
      "source_data": {
        "date_of_birth": "1990-01-01",
        "first_name": "John",
        "full_name": "John Doe",
        "identification_number": "SAMPLE-ID-12345",
        "last_name": "Doe"
      },
      "validation": {
        "date_of_birth": "full_match",
        "identification_number": "full_match"
      }
    }
  ]
}

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.

Verifies Uruguayan Cédula data against Dirección Nacional del Registro de Estado Civil government records. Didit exposes this service through POST /v3/database-validation/ so you can verify the submitted data against the authoritative source and receive normalized match results.

Coverage

  • Coverage: 90-95%
  • Country: Uruguay
  • Service ID: ury_cedula
  • Data domain: Identity
  • Category: NationalIDRegistry

Inputs

FieldRequiredExample
personal_numberYes1111111
date_of_birthYes1990-01-01
first_nameNoJohn
last_nameNoDoe
  • Required inputs: personal_number, date_of_birth
  • Optional inputs: first_name, last_name
  • Consent: Not required
  • Workflow availability: Available in workflow
  • Coverage: 90-95%
  • Price: $0.20 per successful query

Body parameters

issuing_state
string
default:"URY"
required
ISO 3166-1 alpha-3 country code for this database service.Example: URY
services
string
default:"ury_cedula"
required
Array containing this service ID. Pinning the service keeps the request scoped to this exact database.Example: ury_cedula
personal_number
string
default:"1111111"
required
Country-specific personal identity number.Example: 1111111
date_of_birth
string
default:"1990-01-01"
required
Date of birth in YYYY-MM-DD format.Example: 1990-01-01
first_name
string
default:"John"
Given name to validate.Example: John
last_name
string
default:"Doe"
Family name to validate.Example: Doe

Input rules & validation notes

  • Uruguayan CI (7-9 digits)
  • personal_number must contain digits only; remove spaces, hyphens, and punctuation before sending the request.
  • personal_number must be 7-9 characters long.

How to call it

curl -X POST "https://verification.didit.me/v3/database-validation/" \
  -H "x-api-key: YOUR_API_KEY" \
  -F "issuing_state=URY" \
  -F "services=ury_cedula" \
  -F "personal_number=1111111" \
  -F "date_of_birth=1990-01-01"
Every successful call returns HTTP 200. The outcome_code field tells you what actually happened — distinguishing, for example, a real biometric mismatch (BIOMETRIC_NO_MATCH) from a selfie that could not be read (BIOMETRIC_IMAGE_UNUSABLE). The status shown is the default feature status; your configured Partial Match / No Match actions can override it.

Returned data

The exact fields surfaced in source_data depend on what the registry returns. The generated example for ury_cedula currently documents this normalized shape:
  • date_of_birth
  • first_name
  • full_name
  • identification_number
  • last_name

Pricing & SLAs

Uruguay - CI verification queries are billed only when Didit receives a conclusive result from the validation source.
  • 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 source.
  • Latency: typical p95 < 2 s.
  • Availability: 99.9% per quarter on Didit’s side; downstream source availability varies by country and dataset.

Continue reading