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=ITA" \
  -F "services=ita_consumer" \
  -F "first_name=John" \
  -F "last_name=Doe" \
  -F "date_of_birth=1990-01-01"
{
  "request_id": "req_01H…",
  "status": "Approved",
  "issuing_state": "ITA",
  "match_type": "full_match",
  "validations": [
    {
      "outcome_code": "MATCH",
      "service_id": "ita_consumer",
      "service_name": "Italy Consumer",
      "source_data": {
        "address": "123 Sample Street",
        "address_match_score": "1.000",
        "city": "Sample City",
        "date_of_birth": "1990-01-01",
        "first_name": "John",
        "full_name": "John Doe",
        "last_name": "Doe",
        "name_match_score": "1.000",
        "street": "sample_value",
        "verifications": {
          "address": true,
          "date_of_birth": true,
          "full_name": true
        }
      },
      "validation": {
        "address": "full_match",
        "date_of_birth": "full_match",
        "full_name": "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 to a lead generation database. 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: ~ 5%
  • Country: Italy
  • Service ID: ita_consumer
  • Data domain: Address
  • Category: Residential

Inputs

FieldRequiredExample
first_nameYesJohn
last_nameYesDoe
date_of_birthYes1990-01-01
addressNo123 Sample Street, Sample City, 10001
phoneNo+15550101000
emailNojohn.doe@example.com
  • Required inputs: first_name, last_name, date_of_birth
  • Optional inputs: address, phone, email
  • Consent: Not required
  • Workflow availability: Available in workflow
  • Coverage: ~ 5%
  • Price: $0.08 per successful query

Body parameters

issuing_state
string
required
ISO 3166-1 alpha-3 country code for this database service.Example: ITA
services
string
required
Array containing this service ID. Pinning the service keeps the request scoped to this exact database.Example: ita_consumer
first_name
string
required
Given name to validate.Example: John
last_name
string
required
Family name to validate.Example: Doe
date_of_birth
string
required
Date of birth in YYYY-MM-DD format.Example: 1990-01-01
address
string
Complete address string. Didit can split this into structured address elements when possible.Example: 123 Sample Street, Sample City, 10001
phone
string
Phone number in international format.Example: +15550101000
email
string
Email address.Example: john.doe@example.com

Input rules & validation notes

  • address is optional for this service. You can send one complete address string and Didit will split it into structured address elements when possible, or you can send the structured fields explicitly.
  • address_element_1 is the street address, including street number and street type.
  • address_element_2 is optional unit, building, floor, or extra address line. Didit only sends it when you provide it explicitly.
  • address_element_3 is suburb, district, locality, or neighborhood.
  • address_element_4 is city, town, state, province, or region.
  • address_element_5 is postcode or postal code. postal_code is accepted as an alias.
  • Address-based database services need at least address_element_1 plus one searchable component such as address_element_3, address_element_4, or address_element_5; 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=ITA" \
  -F "services=ita_consumer" \
  -F "first_name=John" \
  -F "last_name=Doe" \
  -F "date_of_birth=1990-01-01"
{
  "request_id": "req_01H…",
  "status": "Approved",
  "issuing_state": "ITA",
  "match_type": "full_match",
  "validations": [
    {
      "outcome_code": "MATCH",
      "service_id": "ita_consumer",
      "service_name": "Italy Consumer",
      "source_data": {
        "address": "123 Sample Street",
        "address_match_score": "1.000",
        "city": "Sample City",
        "date_of_birth": "1990-01-01",
        "first_name": "John",
        "full_name": "John Doe",
        "last_name": "Doe",
        "name_match_score": "1.000",
        "street": "sample_value",
        "verifications": {
          "address": true,
          "date_of_birth": true,
          "full_name": true
        }
      },
      "validation": {
        "address": "full_match",
        "date_of_birth": "full_match",
        "full_name": "full_match"
      }
    }
  ]
}

Returned data

The exact fields surfaced in source_data depend on what the registry returns. The generated example for ita_consumer currently documents this normalized shape:
  • address
  • address_match_score
  • city
  • date_of_birth
  • first_name
  • full_name
  • last_name
  • name_match_score
  • street

Pricing & SLAs

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