PAN Aadhaar Linking Status API
VALIDATE IF PAN AND AADHAAR NUMBER ARE LINKED
Introduction
As per CBDT India circular issued in 2022, it is now mandatory for individuals who have been allotted PAN numbers to link their PAN with Aadhaar. This API offers a real time validation of such linking / seeding status for a given pair of PAN and Aadhaar numbers.

API Details
Type | URL |
---|---|
Post | https://api.attestr.com/api/{version}/public/checkx/aadhaar-pan-seed-status |
Input and Output Definitions
Request Body Parameters
Key | Type | Description | Required | Min Version | Max Version |
---|---|---|---|---|---|
aadhaar | String | 12 digits of Aadhaar Number | Required | v1 | |
pan | String | PAN Number | Required | v1 |
Request Header Parameters
Type | Name | Value / Description | Optional | Min Version | Max Version |
---|---|---|---|---|---|
String | Content-Type | application/json | Required | v1 | |
String | Authorization | Basic {authToken} | Required | v1 |
If you do not have the authentication token, please refer to Register App to generate one.
Sample Request
{
"aadhaar": "123456789876",
"pan": "AXXXX1234R"
}
Response
Key | Type | Description | Min Version | Max Version |
---|---|---|---|---|
valid | Boolean | Flag indicating if the status check ran successfully and are found to be linked | v1 | |
message | String | Reason if the provided pair does not match. Available only if valid is false else null. | ||
status | String | The status code for the output. Check the table below for the possible set of values. | v1 |
Status Values
Value | Description |
---|---|
VALID_MATCH | A valid match found. Aadhaar and PAN are linked. |
INVALID_AADHAAR | Provided Aadhaar is invalid / does not exist. |
INVALID_PAN | Provided PAN number is invalid / does not exist. |
INVALID_MISMATCH | Both Aadhaar and PAN are valid but not linked. |
Sample Output
Output for the success scenario when a valid match is found
{
"valid": true,
"message": null,
"status": "VALID_MATCH"
}
Sample response if the provided Aadhaar and PAN are not linked.
{
"valid": false,
"message": "Provided Aadhaar and PAN are not linked",
"status": "INVALID_MISMATCH"
}
Error Response
Parameter | Type | Description |
---|---|---|
code | Number | Unique error codes for different errors. Always available. |
message | String | Error message describing the error. Always Available. |
details | String | Detail error message. Available only for certain types of errors. |
Error Codes
HTTP Status | Error Code | Error Message |
---|---|---|
400 | 4001 | Malformed data or missing required parameter values |
400 | 4005 | Operation could not be performed due to low credits balance |
401 | 4016 | Invalid client authorization |
403 | 4031 | Unauthorized access |
403 | 4035 | Requested service is not provisioned for your account |
403 | 4039 | Client's IP address is not whitelisted |
403 | 4035 | Requested service is not provisioned for your account |
429 | 4291 | Maximum account rate limit exceeded |
429 | 4292 | Maximum API rate limit exceeded |
429 | 4293 | Maximum account daily limit exceeded |
429 | 4294 | Maximum API daily limit exceeded |
500 | 5001 | Request could not be processed |
504 | 5041 | Gateway timeout |