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=CHN" \
  -F "services=chn_phone" \
  -F "consent=true" \
  -F "full_name=王新伟" \
  -F "date_of_birth=1990-01-01" \
  -F "national_id=11010519900101003X" \
  -F "phone=+15550101000"
{
  "request_id": "req_01H…",
  "status": "Approved",
  "issuing_state": "CHN",
  "match_type": "full_match",
  "validations": [
    {
      "outcome_code": "MATCH",
      "service_id": "chn_phone",
      "service_name": "China Phone",
      "source_data": {
        "date_of_birth": "1990-01-01",
        "full_name": "王新伟",
        "identification_number": "11010519900101003X"
      },
      "validation": {
        "date_of_birth": "full_match",
        "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 input data against the official data service in China. 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: ~ 100%
  • Country: China
  • Service ID: chn_phone
  • Data domain: Telecom
  • Category: Telecom

Inputs

FieldRequiredExample
full_nameYes王新伟
date_of_birthYes1990-01-01
national_idYes11010519900101003X
phoneYes+15550101000
  • Required inputs: full_name, date_of_birth, national_id, phone
  • Optional inputs:
  • Consent: Required
  • Workflow availability: Standalone API only
  • Coverage: ~ 100%
  • Price: $0.30 per successful query

Body parameters

issuing_state
string
required
ISO 3166-1 alpha-3 country code for this database service.Example: CHN
services
string
required
Array containing this service ID. Pinning the service keeps the request scoped to this exact database.Example: chn_phone
Explicit end-user consent for this service.Example: true
full_name
string
required
Full legal name to validate.Example: 王新伟
date_of_birth
string
required
Date of birth in YYYY-MM-DD format.Example: 1990-01-01
national_id
string
required
National identity number for this service.Example: 11010519900101003X
phone
string
required
Phone number in international format.Example: +15550101000

Input rules & validation notes

  • Chinese resident identity card number (15 digits or 18 characters with checksum)
  • national_id must match (?:\d{15}|\d{17}[\dXx]).
  • The final Chinese Resident Identity Card check character is validated.
  • full_name must be the original Chinese-script name as it appears in the registry or on the document. Do not send the Latin transliteration for China database checks.

How to call it

curl -X POST "https://verification.didit.me/v3/database-validation/" \
  -H "x-api-key: YOUR_API_KEY" \
  -F "issuing_state=CHN" \
  -F "services=chn_phone" \
  -F "consent=true" \
  -F "full_name=王新伟" \
  -F "date_of_birth=1990-01-01" \
  -F "national_id=11010519900101003X" \
  -F "phone=+15550101000"
{
  "request_id": "req_01H…",
  "status": "Approved",
  "issuing_state": "CHN",
  "match_type": "full_match",
  "validations": [
    {
      "outcome_code": "MATCH",
      "service_id": "chn_phone",
      "service_name": "China Phone",
      "source_data": {
        "date_of_birth": "1990-01-01",
        "full_name": "王新伟",
        "identification_number": "11010519900101003X"
      },
      "validation": {
        "date_of_birth": "full_match",
        "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 chn_phone currently documents this normalized shape:
  • date_of_birth
  • full_name
  • identification_number

Pricing & SLAs

China Phone queries are billed only when Didit receives a conclusive result from the validation source.
  • Per-call price: $0.30 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