Identity, company, employment and risk verification — PAN, EPFO, MCA, Udyam, sanctions screening and more. Prepaid, predictable, and built for India.
sandbox.connexolve.in · free & deterministic
api.connexolve.in · live & billed
Every endpoint follows the same pattern: POST JSON, get a verification envelope back.
Hit sandbox.connexolve.in with your key. Responses are instant and deterministic — perfect for building.
Swap to api.connexolve.in and a cnx_live_… key. Top up your prepaid wallet and you're billing real verifications.
Call GET /v1/usage any time for per-endpoint spend. Every call is logged with a verificationId.
cURL — sanctions screening (sandbox) # Magic value "CLEAN PERSON" → clean; "SANCTIONED PERSON" → 3 matches curl -X POST https://sandbox.connexolve.in/v1/screen/negative-diligence \ -H "Authorization: Bearer cnx_test_…" \ -H "Content-Type: application/json" \ -d '{"name":"CLEAN PERSON"}'
200 OK — universal response envelope { "success": true, "verificationId": "cnxv_01KSPRP2H6RMMKQCMRENST5DHF", "endpoint": "screen.negative-diligence", "status": "completed", "data": { "clean": true, "matchCount": 0 }, "billing": { "charged": false, "amount": 0, "currency": "INR" }, "meta": { "environment": "test", "latencyMs": 12 } }
Bearer token on every request. Keys are environment-scoped and can't cross environments.
cnx_test_… works only on sandbox. cnx_live_… works only on production. Using one on the wrong host returns CNX_KEY_ENVIRONMENT_MISMATCH.
Authorization: Bearer cnx_live_…
Rotate keys any time from the console. Old keys remain valid for 24 hours after rotation to allow rolling deployment.
Prepaid, in paise, never a surprise. You only pay for conclusive results.
Top up in advance. Each live call holds the price, then commits on success or releases on a retryable failure. Sandbox calls are always free.
A successful verification is billed. A conclusive CNX_NO_RECORD_FOUND (422) is billed — it's a real answer. Transient errors (5xx, rate limits) are never billed.
Send Idempotency-Key to safely retry. A replayed key returns the original result and is never double-charged.
If your wallet can't cover a call you get 402 CNX_INSUFFICIENT_BALANCE before any provider is contacted — no partial charges.
The sandbox returns deterministic results for these inputs, so you can build and test every code path before going live — free.
name: "CLEAN PERSON" → clean.
name: "SANCTIONED PERSON" → 3 matches across sanctions lists.
pan: "AAAAA0000A" → success.
pan: "AAAAA9999A" → no-record (billable on live).
Any field set to "ZZZZZ0000Z" → CNX_SOURCE_UNAVAILABLE (retryable, never billed). Test your retry logic.
mobile: "9000000001" → MNRL revocation hit. Other numbers → not found.
Every error returns the same envelope with a stable error.code. Retryable errors are never billed.
CNX_INVALID_INPUT (400) · CNX_INVALID_IDENTIFIER (400) · CNX_AUTH_INVALID (401) · CNX_KEY_ENVIRONMENT_MISMATCH (401) · CNX_INSUFFICIENT_BALANCE (402)
CNX_NO_RECORD_FOUND — a conclusive answer that the record doesn't exist. This is billed on live, because it's a real result.
CNX_RATE_LIMITED (429) · CNX_SOURCE_UNAVAILABLE (503) · CNX_SOURCE_TIMEOUT (504). Safe to retry; never billed.
Add an Idempotency-Key header so a retry returns the original result instead of charging twice.
All 50+ endpoints with request/response schemas, magic values, and example responses for every result class.
Open full API reference →