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"
}
}
]
}
{
"request_id": "req_01H…",
"status": "In Review",
"issuing_state": "AUS",
"match_type": "partial_match",
"validations": [
{
"outcome_code": "PARTIAL_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": "no_match",
"identification_number": "full_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "AUS",
"match_type": "no_match",
"validations": [
{
"outcome_code": "NO_MATCH",
"service_id": "aus_marriage_certificate",
"service_name": "Australia - DVS – Marriage Certificate",
"source_data": {
"full_name": "NO_MATCH",
"identification_number": "NO_MATCH"
},
"validation": {
"full_name": "no_match",
"identification_number": "no_match"
}
}
]
}
🇦🇺 Australia
Australia - DVS – Marriage Certificate
Verifies input data against the Document Verification Service (DVS). Authoritative real-time identity lookup for Australia. Real-time lookup, pay-per-call.
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"
}
}
]
}
{
"request_id": "req_01H…",
"status": "In Review",
"issuing_state": "AUS",
"match_type": "partial_match",
"validations": [
{
"outcome_code": "PARTIAL_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": "no_match",
"identification_number": "full_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "AUS",
"match_type": "no_match",
"validations": [
{
"outcome_code": "NO_MATCH",
"service_id": "aus_marriage_certificate",
"service_name": "Australia - DVS – Marriage Certificate",
"source_data": {
"full_name": "NO_MATCH",
"identification_number": "NO_MATCH"
},
"validation": {
"full_name": "no_match",
"identification_number": "no_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
| Field | Required | Example |
|---|---|---|
first_name | Yes | John |
last_name | Yes | Doe |
first_partner_name | Yes | Jamie |
last_partner_name | Yes | Example |
marriage_certificate_number | Yes | SAMPLE-MARRIAGE-12345 |
birth_registration_number | Yes | SAMPLE-BIRTH-12345 |
birth_registration_state | Yes | Sample State |
birth_registration_date | Yes | 1990-01-01 |
vendor_data | No | user-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 with field mapping
- Coverage: 100%*
- Price: $0.45 per successful query
first_partner_name, last_partner_name, birth_registration_state and birth_registration_date are not printed on an identity document, so no step produces them on their own. Collect them from a Questionnaire answer, a Document AI extraction field, or a value you send when you create the session, and map each one on the Database Validation step. Until they are mapped the workflow editor shows this service disabled and names the missing input; at run time a missing input means the check is skipped before any query, so you are never billed for a database that could not be asked.
Body parameters
string
default:"AUS"
required
ISO 3166-1 alpha-3 country code for this database service.Example:
AUSstring
default:"aus_marriage_certificate"
required
Array containing this service ID. Pinning the service keeps the request scoped to this exact database.Example:
aus_marriage_certificateboolean
default:"true"
required
Explicit end-user consent for this service.Example:
truestring
default:"John"
required
Given name to validate.Example:
Johnstring
default:"Doe"
required
Family name to validate.Example:
Doestring
default:"Jamie"
required
first_partner_name value required by this database service.Example: Jamiestring
default:"Example"
required
last_partner_name value required by this database service.Example: Examplestring
default:"SAMPLE-MARRIAGE-12345"
required
marriage_certificate_number value required by this database service.Example: SAMPLE-MARRIAGE-12345string
default:"SAMPLE-BIRTH-12345"
required
birth_registration_number value required by this database service.Example: SAMPLE-BIRTH-12345string
default:"Sample State"
required
birth_registration_state value required by this database service.Example: Sample Statestring
default:"1990-01-01"
required
birth_registration_date value required by this database service.Example: 1990-01-01string
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-1234Input 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.MATCH — The registry confirmed the identity and every checked field matched.{
"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"
}
}
]
}
PARTIAL_MATCH — The identification number was found but one or more personal fields (usually name or date of birth) did not fully match.{
"request_id": "req_01H…",
"status": "In Review",
"issuing_state": "AUS",
"match_type": "partial_match",
"validations": [
{
"outcome_code": "PARTIAL_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": "no_match",
"identification_number": "full_match"
}
}
]
}
NO_MATCH — The registry returned no match for the submitted data.{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "AUS",
"match_type": "no_match",
"validations": [
{
"outcome_code": "NO_MATCH",
"service_id": "aus_marriage_certificate",
"service_name": "Australia - DVS – Marriage Certificate",
"source_data": {
"full_name": "NO_MATCH",
"identification_number": "NO_MATCH"
},
"validation": {
"full_name": "no_match",
"identification_number": "no_match"
}
}
]
}
Returned data
The exact fields surfaced insource_data depend on what the registry returns. The generated example for aus_marriage_certificate currently documents this normalized shape:
first_nameidentification_numberlast_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.