---
title: "PAN Verification"
method: POST
path: "/verify/pan_nsdl"
tags: ["PAN Verification"]
---

# PAN Verification

`POST /verify/pan_nsdl`

Verifies a PAN number. Requires X-API-KEY and X-Client-ID headers.

## Request body

- PanVerificationRequest
  - `pan_number` string, required — PAN number (10 chars). Pattern: 5 letters, 4 digits, 1 letter.
  - `name` string — Name as provided by the user
  - `dob` string, date — Date of birth (YYYY-MM-DD)

## Response `200`

PAN lookup successful

- PanVerificationResponse
  - `pan` string — Queried PAN (masked or synthetic in examples)
  - `name_input` string — Name provided in the request
  - `dob_input` string, date — DOB provided in the request
  - `pan_status` string — PAN existence/status code (provider-specific). Example: 'E' = exists
  - `name_match` boolean — Whether the provided name matches the PAN record
  - `dob_match` boolean — Whether the provided DOB matches the PAN record
  - `pan_type` string, nullable — PAN classification/type when available
  - `aadhaar_seeding` boolean — Whether Aadhaar is seeded/linked to this PAN
  - `aadhaar_seeding_description` string — Human readable description about Aadhaar seeding
  - `status` string, required — Overall API response status
  - `message` string — Informational message from the provider
  - `timestamp` integer — Unix epoch timestamp of the response
  - `chargeble` string — Indicates if the operation is chargeable ('true'|'false')
  - `user_consent` string — Indicates if user consent was obtained ('true'|'false')

## Other responses

- `400` — Invalid request
- `401` — Unauthorized - missing/invalid API key or client id
- `404` — PAN not found
- `500` — Internal server error

---

[API](https://skmtc.dev/idto/apis/verification-api.md) · [All operations](https://skmtc.dev/idto/apis/verification-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/idto/verification-api/revisions/e3d57dab8db4/schema)
