---
title: "Validate PAN details"
method: POST
path: "/v2/verify/pan_validation"
tags: ["PAN Validation v2"]
---

# Validate PAN details

`POST /v2/verify/pan_validation`

This API verifies the basic details associated with a PAN card by validating the PAN number and the cardholder's name. It retrieves the registered name directly from the official PAN database maintained by the government. If the provided PAN number exists in the underlying registry, the API returns the Status of PAN (Active/Invalid).

## Request body

- VerifyPanV2Request
  - `pan_number` string, required — PAN to verify. Must follow the 10-character PAN format (five letters, four digits, one letter). Example: ACGPA1234K
  - `user_consent` boolean, required — User consent flag required by the v2 PAN flow.

## Response `200`

PAN verification result. Raw vendor audit payloads are stored internally and are not included in the response body.

- VerifyPanV2Response
  - `status` 'success' | 'failed', required — Top-level verification status. 'success' for a verified PAN (HTTP 200), 'failed' for a valid request with no matching record (HTTP 200).
  - `message` string, required — Human-readable message. Always present.
  - `error_code` string, nullable, required — Canonical IDTO error code. Always present; null on success.
  - `data` object, nullable, required — Canonical PAN data on success; null on non-success. Always present.
    - `pan_name` string, nullable — PAN holder name returned by the vendor.
    - `pan_number` string, nullable — PAN number returned by the vendor.
    - `pan_status` string, nullable — Vendor status for the PAN record.
    - `category` string, nullable — PAN category derived from the PAN holder type.
  - `tranx_id` string, nullable — Internal transaction identifier.
  - `timestamp` string, nullable — Creation timestamp in ISO 8601 format.

## Other responses

- `400` — Bad request - missing PAN or malformed input.
- `422` — Validation error - request body failed schema validation.
- `429` — Too many requests — rate limited (IDTO_006). Retry after a short wait.
- `451` — User consent is required.
- `500` — Internal server error.
- `503` — Vendor temporarily unavailable — verification could not be completed (IDTO_008). Retry shortly.

---

[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)
