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=AUS" \
  -F "services=aus_marriage_certificate" \
  -F "vendor_data=user-1234" \
  -F "consent=true" \
  -F "first_name=John" \
  -F "last_name=Doe" \
  -F "first_partner_name=Jamie" \
  -F "last_partner_name=Example" \
  -F "marriage_certificate_number=SAMPLE-MARRIAGE-12345" \
  -F "birth_registration_number=SAMPLE-BIRTH-12345" \
  -F "birth_registration_state=Sample State" \
  -F "birth_registration_date=1990-01-01"
{
  "request_id": "req_01H…",
  "status": "Approved",
  "issuing_state": "AUS",
  "match_type": "full_match",
  "validations": [
    {
      "outcome_code": "MATCH",
      "service_id": "aus_marriage_certificate",
      "service_name": "Australia - DVS – Marriage Certificate",
      "source_data": {
        "first_name": "John",
        "identification_number": "SAMPLE-ID-12345",
        "last_name": "Doe"
      },
      "validation": {
        "full_name": "full_match",
        "identification_number": "full_match"
      }
    }
  ]
}
Verifies input data against the Document Verification Service (DVS). 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: Australia
  • Service ID: aus_marriage_certificate
  • Data domain: Identity
  • Category: CivilRegistry

Inputs

FieldRequiredExample
first_nameYesJohn
last_nameYesDoe
first_partner_nameYesJamie
last_partner_nameYesExample
marriage_certificate_numberYesSAMPLE-MARRIAGE-12345
birth_registration_numberYesSAMPLE-BIRTH-12345
birth_registration_stateYesSample State
birth_registration_dateYes1990-01-01
vendor_dataNouser-1234
  • Required inputs: first_name, last_name, first_partner_name, last_partner_name, marriage_certificate_number, birth_registration_number, birth_registration_state, birth_registration_date
  • Optional inputs: vendor_data
  • Consent: Required
  • Workflow availability: Available in workflow
  • Coverage: 100%*
  • Price: $0.45 per successful query

Body parameters

issuing_state
string
default:"AUS"
required
ISO 3166-1 alpha-3 country code for this database service.Example: AUS
services
string
default:"aus_marriage_certificate"
required
Array containing this service ID. Pinning the service keeps the request scoped to this exact database.Example: aus_marriage_certificate
Explicit end-user consent for this service.Example: true
first_name
string
default:"John"
required
Given name to validate.Example: John
last_name
string
default:"Doe"
required
Family name to validate.Example: Doe
first_partner_name
string
default:"Jamie"
required
first_partner_name value required by this database service.Example: Jamie
last_partner_name
string
default:"Example"
required
last_partner_name value required by this database service.Example: Example
marriage_certificate_number
string
default:"SAMPLE-MARRIAGE-12345"
required
marriage_certificate_number value required by this database service.Example: SAMPLE-MARRIAGE-12345
birth_registration_number
string
default:"SAMPLE-BIRTH-12345"
required
birth_registration_number value required by this database service.Example: SAMPLE-BIRTH-12345
birth_registration_state
string
default:"Sample State"
required
birth_registration_state value required by this database service.Example: Sample State
birth_registration_date
string
default:"1990-01-01"
required
birth_registration_date value required by this database service.Example: 1990-01-01
vendor_data
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

  • Send the fields listed above exactly as captured from the user or document.
  • Didit validates required fields before calling the database. Requests rejected before source lookup are not charged.

How to call it

curl -X POST "https://verification.didit.me/v3/database-validation/" \
  -H "x-api-key: YOUR_API_KEY" \
  -F "issuing_state=AUS" \
  -F "services=aus_marriage_certificate" \
  -F "vendor_data=user-1234" \
  -F "consent=true" \
  -F "first_name=John" \
  -F "last_name=Doe" \
  -F "first_partner_name=Jamie" \
  -F "last_partner_name=Example" \
  -F "marriage_certificate_number=SAMPLE-MARRIAGE-12345" \
  -F "birth_registration_number=SAMPLE-BIRTH-12345" \
  -F "birth_registration_state=Sample State" \
  -F "birth_registration_date=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 aus_marriage_certificate currently documents this normalized shape:
  • first_name
  • identification_number
  • last_name

Pricing & SLAs

Australia - DVS – Marriage Certificate queries are billed only when Didit receives a conclusive result from the validation source.
  • Per-call price: $0.45 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