Endpoint
POST /v1/verify/pan
POST
/v1/verify/panScope verification.pan.readप्रति सफल call ₹5 से शुरूलाइवPAN को validate और verify करता है। API key पर verification.pan.read scope ज़रूरी है। सफल response के बाद इसे pan.verify के रूप में metered किया जाता है - usage तभी दर्ज होता है (और priced services के लिए fulfilment wallet तभी debit होता है) जब verification सफलतापूर्वक पूरा हो जाए। नीचे दिया गया response /v1/verify/pan से लौटने वाला असली shape है, जिसमें referenceId field भी शामिल है।
Request
Request के parameters
| Field | Type | विवरण |
|---|---|---|
Authorizationज़रूरी | header | Bearer <api-key> (जैसे sandbox में sk_test_..., production में sk_live_...)। x-api-key header भी स्वीकार किया जाता है। |
panज़रूरी | string | PAN, format ABCDE1234F। |
name | string | Records से match करने के लिए नाम (अधिकतम 256 characters)। |
उदाहरण
Call करके देखें
curl -X POST "https://api-b2b.stampmitra.in/v1/verify/pan" \
-H "Authorization: Bearer sk_test_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"pan":"ABCDE1234F","name":"Rahul Kumar"}'Playground
Try करें
Response
Response का उदाहरण
ResponseJSON
{
"referenceId": "SMV-20260927-8F42K7",
"pan": "ABCDE1234F",
"type": "Individual",
"valid": true,
"registeredName": "RAHUL KUMAR",
"fatherName": "SURESH KUMAR",
"panStatus": "VALID",
"panStatusCode": "E",
"panStatusDescription": "Existing and valid PAN",
"nameMatchResult": "MATCH",
"nameMatchScore": "100",
"aadhaarSeedingStatus": "y",
"aadhaarSeedingStatusDescription": "Aadhaar linked",
"lastUpdatedAt": "2023-04-01",
"message": "PAN is Valid"
}| Field | Type |
|---|---|
referenceId | string |
pan | string |
type | string |
valid | boolean |
registeredName | string |
fatherName | string |
panStatus | string |
panStatusCode | string |
panStatusDescription | string |
nameMatchResult | string |
nameMatchScore | string |
aadhaarSeedingStatus | string |
aadhaarSeedingStatusDescription | string |
lastUpdatedAt | string |
message | string |
Errors
Error responses
401API key missing या invalid
{
"error": {
"code": "UNAUTHORIZED",
"message": "Missing or invalid API key.",
"requestId": "a1b2c3d4-e5f6-4a1b-8c2d-9f0e1a2b3c4d"
}
}403Key valid है, पर ज़रूरी scope नहीं है
{
"error": {
"code": "FORBIDDEN",
"message": "API key is valid but lacks the required scope for this endpoint.",
"requestId": "a1b2c3d4-e5f6-4a1b-8c2d-9f0e1a2b3c4d"
}
}400Validation error
{
"error": {
"code": "BAD_REQUEST",
"message": "pan must match the format ABCDE1234F",
"requestId": "a1b2c3d4-e5f6-4a1b-8c2d-9f0e1a2b3c4d"
}
}402Wallet balance अपर्याप्त
{
"error": {
"code": "PAYMENT_REQUIRED",
"message": "Insufficient fulfilment wallet balance to cover this call.",
"requestId": "a1b2c3d4-e5f6-4a1b-8c2d-9f0e1a2b3c4d"
}
}429Rate limit पार हो गई
{
"error": {
"code": "TOO_MANY_REQUESTS",
"message": "Rate limit exceeded: 60 requests per 60 seconds for this endpoint.",
"requestId": "a1b2c3d4-e5f6-4a1b-8c2d-9f0e1a2b3c4d"
}
}502Upstream verification service तक पहुँच नहीं हो पाई
{
"error": {
"code": "INTERNAL_ERROR",
"message": "Unable to reach the order/customer service right now",
"requestId": "5c1c1e9e-2f7b-4b7a-9b0e-0f1a2b3c4d5e"
}
}ध्यान दें
जानने लायक बातें
नोट
Input format पहले ही validate किया जाता है - गलत format वाला pan/gstin/आदि verification के लिए भेजे जाने के बजाय तुरंत 400 के साथ fail हो जाता है। referenceId (format SMV-YYYYMMDD-XXXXXXX) इस call के लिए StampMitra की अपनी transaction id है और हमेशा मौजूद रहती है, negative (valid: false / found: false) result में भी - positive और negative दोनों determinations पूरे, billable verifications हैं। यह idempotency key नहीं है।