New: Vehicle RC + Driving Licence APIs now live in production. View APIs →

API reference

Download OpenAPI 3.1 Download Postman collection

Every endpoint documented with headers, parameters, validation rules, sample requests and responses, status codes and rate limits. Swagger/OpenAPI and Postman collections available per API.

1. Authenticate

Exchange your API key + secret for a short-lived JWT, then send it as a bearer token on every call.

POST/api/v1/auth/token

2. Call an endpoint

Send JSON with Content-Type: application/json and your X-API-Key and X-API-Secret. Each success debits your wallet.

POST/api/v1/verify/pan

3. Handle webhooks

Async endpoints post signed callbacks to your webhook URL. Verify the X-Signature HMAC before trusting the payload.

POSTyour-webhook-url

Check API wallet balance

Poll this endpoint to read the live wallet balance of the authenticated account, its environment and request counters. Every successful API call debits this wallet, so check it before running bulk jobs.

GET/api/v1/balance
HeaderRequiredValue
X-API-KeyYesYour API key (pk_…)
X-API-SecretYesYour API secret (sk_…)
X-API-SecretYesYour API secret (or send a bearer token instead)
AuthorizationOptionalBearer <jwt> from /api/v1/auth/token
curl -X GET "https://versatile-lavender-rat.163-61-39-39.cpanel.site/api/v1/balance" \
  -H "X-API-Key: pk_xxxxxxxxxxxx" \
  -H "X-API-Secret: sk_xxxxxxxxxxxx" \
  -H "X-API-Secret: sk_xxxxxxxxxxxx"
{
  "success": true,
  "data": {
    "balance": 1450.75,
    "currency": "INR",
    "environment": "production",
    "requests_today": 128,
    "requests_total": 9421
  }
}
FieldTypeDescription
balancenumberCurrent wallet balance available for API usage
currencystringAlways INR
environmentstringsandbox or production, based on the key used
requests_todayintegerAPI calls made today
requests_totalintegerLifetime API calls

Errors: 401 invalid or revoked key, 402 insufficient balance on paid endpoints, 429 rate limit exceeded.

Identity Verification

APIMethodEndpoint
Aadhaar to PAN GET /api/v1/aadhaar-to-pan Docs
INSTNT PAN FIND POST /api/v1/instant-pan-find Docs
Mobile to PAN GET /api/v1/mobile-to-pan Docs
PAN Details GET /api/v1/pan-details Docs
PAN to Aadhaar GET /api/v1/pan-to-aadhaar Docs
PAN TO AADHAAR SEARCH POST /api/v1/pan-to-aadhaar-search Docs
UP Ration to Aadhaar GET /api/v1/up-ration-to-aadhaar Docs
Voter Mobile Link GET /api/v1/voter-mobile-link Docs

Banking & Payments

APIMethodEndpoint
BANK IFSC DETAILS GET /api/v1/bank-ifsc-details Docs
IFSC Details GET /api/v1/ifsc-details Docs
NPCI Status GET /api/v1/npci-status Docs

Vehicle & Transport

APIMethodEndpoint
DL PDF POST /api/v1/dl-pdf Docs
LL Exam GET /api/v1/ll-exam Docs
LL Exam Status GET /api/v1/ll-exam-status Docs
RC PDF POST /api/v1/rc-pdf Docs
Vehicle Challan GET /api/v1/vehicle-challan Docs

Documents & PDF

APIMethodEndpoint
Agristack Farmer PDF GET /api/v1/agristack-farmer-pdf Docs
DL Print GET /api/v1/dl-print Docs
Ration Print GET /api/v1/ration-print Docs
RC Print GET /api/v1/rc-print Docs

Business & Tax

APIMethodEndpoint
GST Details GET /api/v1/gst-details Docs
PAN to GST GET /api/v1/pan-to-gst Docs
PAN TO GST SEARCH POST /api/v1/pan-to-gst-search Docs

Wallet & Utility

APIMethodEndpoint
Balance Check GET /api/v1/balance Docs
Place Order POST /api/v1/place-order Docs

Status codes & rate limits

CodeMeaningWhat to do
200SuccessWallet debited for billable endpoints
400Bad requestCheck the JSON body and required fields
401UnauthorizedInvalid, revoked or missing key / token
402Insufficient balanceTop up the wallet, then retry
404Not foundUnknown endpoint or record
422Validation failedRead the errors object per field
429Rate limitedBack off and retry after the window resets
500Server errorSafe to retry with the same idempotency key

Default limits: 60 requests/min on sandbox keys, 300 requests/min on production keys. Machine-readable search: /docs/search.json?q=pan