Endpoint
POST /v1/verify/gstin
POST
/v1/verify/gstinScope verification.gstin.readप्रति सफल call ₹5 से शुरूलाइवGSTIN को validate और verify करता है। API key पर verification.gstin.read scope ज़रूरी है। सफल response के बाद इसे gstin.verify के रूप में metered किया जाता है - usage तभी दर्ज होता है (और priced services के लिए fulfilment wallet तभी debit होता है) जब verification सफलतापूर्वक पूरा हो जाए। नीचे दिया गया response /v1/verify/gstin से लौटने वाला असली shape है, जिसमें referenceId field भी शामिल है।
Request
Request के parameters
| Field | Type | विवरण |
|---|---|---|
Authorizationज़रूरी | header | Bearer <api-key> (जैसे sandbox में sk_test_..., production में sk_live_...)। x-api-key header भी स्वीकार किया जाता है। |
gstinज़रूरी | string | 15 characters का GSTIN। |
businessName | string | Match करने के लिए business का नाम। |
उदाहरण
Call करके देखें
curl -X POST "https://api-b2b.stampmitra.in/v1/verify/gstin" \
-H "Authorization: Bearer sk_test_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"gstin":"07AAAAA1111A1Z1","businessName":"Jane Doe Enterprises"}'Playground
Try करें
Response
Response का उदाहरण
ResponseJSON
{
"referenceId": "SMV-20260927-9K21P4",
"GSTIN": "07AAAAA1111A1Z1",
"valid": true,
"legalName": "Jane Doe Enterprises Private Limited",
"tradeName": "Jane Doe Enterprises",
"registrationStatus": "Active",
"principalPlaceOfBusiness": "123, MG Road, Bengaluru, Karnataka, 560001",
"message": "GSTIN Exists"
}| Field | Type |
|---|---|
referenceId | string |
GSTIN | string |
valid | boolean |
legalName | string |
tradeName | string |
registrationStatus | string |
principalPlaceOfBusiness | 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": "gstin must match the format 07AAAAA1111A1Z1",
"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 नहीं है।