Skip to main content
POST
Verifies input data against a Government agency. 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%
  • Country: Indonesia
  • Service ID: idn_residential_identity_card
  • Data domain: Address
  • Category: Residential

Inputs

  • Required inputs: full_name, date_of_birth, national_id, address.street_1, address.postal_code
  • Optional inputs: address.street_2, address.city, address.region, gender, vendor_data
  • Consent: Required
  • Workflow availability: Available in workflow
  • Coverage: ~ 90%
  • Price: $0.35 per successful query

Body parameters

string
default:"IDN"
required
ISO 3166-1 alpha-3 country code for this database service.Example: IDN
string
default:"idn_residential_identity_card"
required
Array containing this service ID. Pinning the service keeps the request scoped to this exact database.Example: idn_residential_identity_card
Explicit end-user consent for this service.Example: true
string
default:"John Doe"
required
Full legal name to validate.Example: John Doe
string
default:"1990-01-01"
required
Date of birth in YYYY-MM-DD format.Example: 1990-01-01
string
default:"1111111111111111"
required
National identity number for this service.Example: 1111111111111111
object
required
Structured residential address object. Use street_1, street_2, city, region, postal_code, and country. A complete legacy address string is still accepted but not recommended.Example: {"street_1":"123 Sample Street","street_2":"Unit 4","city":"Sample City","region":"Sample State","postal_code":"10001","country":"US"}
string
default:"M"
Gender value, when required by the database.Allowed values: M (male), F (female), X (other or unknown).Example: M
string
default:"user-1234"
Your stable user reference for this person, such as your internal user ID. Didit uses it to link standalone checks to the same end user and reduce duplicate-detection noise.Example: user-1234

Input rules & validation notes

  • national_id must contain digits only; remove spaces, hyphens, and punctuation before sending the request.
  • national_id must be exactly 16 characters long.
  • For address services, send structured address fields instead of a single address string when possible.
  • address.street_1 is the street address, including street number and street type.
  • address.street_2 is apartment, unit, building, floor, or extra address line. Send it only when you have it.
  • address.city is city, suburb, district, locality, or neighborhood.
  • address.region is state, province, region, or town.
  • address.postal_code is postcode or postal code.
  • Address-based database services require at least street address and postal code; requests rejected before source lookup are not charged.

How to call it

Returned data

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

Pricing & SLAs

Indonesia Residential Identity Card queries are billed only when Didit receives a conclusive result from the validation source.
  • Per-call price: $0.35 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