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.
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.
3. Handle webhooks
Async endpoints post signed callbacks to your webhook URL. Verify the X-Signature HMAC before trusting the payload.
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.
| Header | Required | Value |
|---|---|---|
| X-API-Key | Yes | Your API key (pk_…) |
| X-API-Secret | Yes | Your API secret (sk_…) |
| X-API-Secret | Yes | Your API secret (or send a bearer token instead) |
| Authorization | Optional | Bearer <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
}
}
| Field | Type | Description |
|---|---|---|
| balance | number | Current wallet balance available for API usage |
| currency | string | Always INR |
| environment | string | sandbox or production, based on the key used |
| requests_today | integer | API calls made today |
| requests_total | integer | Lifetime API calls |
Errors: 401 invalid or revoked key, 402 insufficient balance on paid endpoints, 429 rate limit exceeded.
Identity Verification
| API | Method | Endpoint | |
|---|---|---|---|
| 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
Vehicle & Transport
Documents & PDF
Business & Tax
Wallet & Utility
Status codes & rate limits
| Code | Meaning | What to do |
|---|---|---|
| 200 | Success | Wallet debited for billable endpoints |
| 400 | Bad request | Check the JSON body and required fields |
| 401 | Unauthorized | Invalid, revoked or missing key / token |
| 402 | Insufficient balance | Top up the wallet, then retry |
| 404 | Not found | Unknown endpoint or record |
| 422 | Validation failed | Read the errors object per field |
| 429 | Rate limited | Back off and retry after the window resets |
| 500 | Server error | Safe 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