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=IND" \
  -F "services=ind_pan_permanent_account_number" \
  -F "consent=true" \
  -F "full_name=John Doe" \
  -F "date_of_birth=1990-01-01" \
  -F "pan=ABCDE1234F"
{
  "request_id": "req_01H…",
  "status": "Approved",
  "issuing_state": "IND",
  "match_type": "full_match",
  "validations": [
    {
      "outcome_code": "MATCH",
      "service_id": "ind_pan_permanent_account_number",
      "service_name": "India PAN (Permanent Account Number) (ITD)",
      "source_data": {
        "date_of_birth": "1990-01-01",
        "identification_number": "SAMPLE-ID-12345",
        "verifications": {
          "date_of_birth": true,
          "identification_number": true
        }
      },
      "validation": {
        "date_of_birth": "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 database of the Income Tax Department of India. 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: India
  • Service ID: ind_pan_permanent_account_number
  • Data domain: Financial
  • Category: TaxRegistry

Inputs

FieldRequiredExample
full_nameYesJohn Doe
date_of_birthYes1990-01-01
panYesABCDE1234F
  • Required inputs: full_name, date_of_birth, pan
  • Optional inputs:
  • Consent: Required
  • Workflow availability: Available in workflow
  • Coverage: ~ 100%
  • Price: $0.84 per successful query

Body parameters

issuing_state
string
required
ISO 3166-1 alpha-3 country code for this database service.Example: IND
services
string
required
Array containing this service ID. Pinning the service keeps the request scoped to this exact database.Example: ind_pan_permanent_account_number
Explicit end-user consent for this service.Example: true
full_name
string
required
Full legal name to validate.Example: John Doe
date_of_birth
string
required
Date of birth in YYYY-MM-DD format.Example: 1990-01-01
pan
string
required
Permanent Account Number.Example: ABCDE1234F

Input rules & validation notes

  • pan must use uppercase letters.
  • pan must match [A-Z]{5}\d{4}[A-Z].

How to call it

curl -X POST "https://verification.didit.me/v3/database-validation/" \
  -H "x-api-key: YOUR_API_KEY" \
  -F "issuing_state=IND" \
  -F "services=ind_pan_permanent_account_number" \
  -F "consent=true" \
  -F "full_name=John Doe" \
  -F "date_of_birth=1990-01-01" \
  -F "pan=ABCDE1234F"
{
  "request_id": "req_01H…",
  "status": "Approved",
  "issuing_state": "IND",
  "match_type": "full_match",
  "validations": [
    {
      "outcome_code": "MATCH",
      "service_id": "ind_pan_permanent_account_number",
      "service_name": "India PAN (Permanent Account Number) (ITD)",
      "source_data": {
        "date_of_birth": "1990-01-01",
        "identification_number": "SAMPLE-ID-12345",
        "verifications": {
          "date_of_birth": true,
          "identification_number": true
        }
      },
      "validation": {
        "date_of_birth": "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 ind_pan_permanent_account_number currently documents this normalized shape:
  • date_of_birth
  • identification_number

Pricing & SLAs

India PAN (Permanent Account Number) (ITD) queries are billed only when Didit receives a conclusive result from the validation source.
  • Per-call price: $0.84 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