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=MEX" \
  -F "services=mex_curp" \
  -F "personal_number=ABCD900101HDFABC09"
{
  "request_id": "req_01H…",
  "status": "Approved",
  "issuing_state": "MEX",
  "match_type": "full_match",
  "validations": [
    {
      "outcome_code": "MATCH",
      "service_id": "mex_curp",
      "service_name": "Mexico - CURP verification",
      "source_data": {
        "curp_status": "sample_value",
        "date_of_birth": "1990-01-01",
        "doc_probatorio": "sample_value",
        "first_name": "John",
        "full_name": "John Doe",
        "gender": "M",
        "identification_number": "SAMPLE-ID-12345",
        "last_name": "Doe",
        "nationality": "USA",
        "num_acta": "sample_value",
        "registration_municipality": "sample_value",
        "registration_state": "sample_value",
        "registration_year": "sample_value",
        "state_of_birth": "sample_value"
      },
      "validation": {
        "full_name": "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 Mexican CURP against the RENAPO national identifier registry. 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:
  • Country: Mexico
  • Service ID: mex_curp
  • Data domain: Identity
  • Category: NationalIDRegistry

Inputs

FieldRequiredExample
personal_numberYesABCD900101HDFABC09
first_nameNoJohn
last_nameNoDoe
  • Required inputs: personal_number
  • Optional inputs: first_name, last_name
  • Consent: Not required
  • Workflow availability: Available in workflow
  • Coverage:
  • Price: $0.20 per successful query

Body parameters

issuing_state
string
required
ISO 3166-1 alpha-3 country code for this database service.Example: MEX
services
string
required
Array containing this service ID. Pinning the service keeps the request scoped to this exact database.Example: mex_curp
personal_number
string
required
Country-specific personal identity number.Example: ABCD900101HDFABC09
first_name
string
Given name to validate.Example: John
last_name
string
Family name to validate.Example: Doe

Input rules & validation notes

  • Mexican CURP (exactly 18 alphanumeric characters)
  • personal_number must be exactly 18 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=MEX" \
  -F "services=mex_curp" \
  -F "personal_number=ABCD900101HDFABC09"
{
  "request_id": "req_01H…",
  "status": "Approved",
  "issuing_state": "MEX",
  "match_type": "full_match",
  "validations": [
    {
      "outcome_code": "MATCH",
      "service_id": "mex_curp",
      "service_name": "Mexico - CURP verification",
      "source_data": {
        "curp_status": "sample_value",
        "date_of_birth": "1990-01-01",
        "doc_probatorio": "sample_value",
        "first_name": "John",
        "full_name": "John Doe",
        "gender": "M",
        "identification_number": "SAMPLE-ID-12345",
        "last_name": "Doe",
        "nationality": "USA",
        "num_acta": "sample_value",
        "registration_municipality": "sample_value",
        "registration_state": "sample_value",
        "registration_year": "sample_value",
        "state_of_birth": "sample_value"
      },
      "validation": {
        "full_name": "full_match",
        "identification_number": "full_match"
      }
    }
  ]
}

Returned data

The exact fields surfaced in source_data depend on what the registry returns. The generated example for mex_curp currently documents this normalized shape:
  • curp_status
  • date_of_birth
  • doc_probatorio
  • first_name
  • full_name
  • gender
  • identification_number
  • last_name
  • nationality
  • num_acta
  • registration_municipality
  • registration_state
  • registration_year
  • state_of_birth

Pricing & SLAs

Mexico - CURP 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