00
API Reference
All endpoints follow a single contract — Bearer auth, POST JSON, one universal envelope. This reference covers 53 verifications across 8 categories. Sandbox is free and deterministic; production bills only conclusive results.
sandbox.connexolve.in · free, deterministic
api.connexolve.in · live, prepaid
v1 · stable
00.1
The universal envelope
Every endpoint returns the same outer shape. Inner data is endpoint-specific.
copy
"success" : true , // false on failure
"verificationId" : "cnxv_01JZ9SAND00X1A2B3C4D5E6F7G" ,
"referenceId" : "your-X-Reference-Id-or-null" ,
"endpoint" : "verify.identity.pan" ,
"status" : "completed" , // completed | pending | failed
"data" : { /* endpoint-specific result */ },
"billing" : { "charged" : true , "amount" : 2.28 , "currency" : "INR" , "walletBalanceAfter" : 4821.16 },
"meta" : { "createdAt" : "2026-06-09T00:00:00Z" , "environment" : "live" , "latencyMs" : 842 }
Billing rule
Conclusive results bill — including CNX_NO_RECORD_FOUND (a real answer that the record doesn't exist). Source-down, timeout, rate-limit and Connexolve-side errors never bill.
00.2
Error codes
Stable Connexolve codes — never tied to a specific upstream provider. Use these in your retry and logging logic.
HTTP Code Retryable Meaning
400 CNX_INVALID_INPUTNo Missing or malformed field.
400 CNX_INVALID_IDENTIFIERNo Identifier format wrong (bad PAN regex, etc.).
401 CNX_AUTH_INVALIDNo Bad or revoked key.
401 CNX_KEY_ENVIRONMENT_MISMATCHNo Live key sent to sandbox, or vice-versa.
402 CNX_INSUFFICIENT_BALANCENo Prepaid wallet too low. No upstream call made.
403 CNX_IP_NOT_ALLOWEDNo Source IP not in key allowlist.
404 CNX_NOT_FOUNDNo Unknown verificationId.
409 CNX_IDEMPOTENCY_CONFLICTNo Same Idempotency-Key, different body.
422 CNX_NO_RECORD_FOUNDNo Conclusive — record doesn't exist. Billable on live.
429 CNX_RATE_LIMITEDYes Per-key rate limit exceeded.
502 CNX_PROVIDER_ERRORYes Connexolve upstream returned an error.
503 CNX_SOURCE_UNAVAILABLEYes Government / source system temporarily down.
504 CNX_SOURCE_TIMEOUTYes Source took longer than the timeout.
500 CNX_INTERNAL_ERRORYes Connexolve-side fault.
00.3
Webhooks
For async results — Udyam OTP confirm, DigiLocker pull, forgery callbacks, slow EPFO history. Connexolve POSTs the same envelope to your registered URL when the verification reaches a terminal state.
Signature verification
Every webhook carries an HMAC-SHA256 signature in the X-Connexolve-Signature header. Verify it with your webhook signing secret (separate from your API key).
copy // Node.js — verify Connexolve webhook signature
const crypto = require('crypto' );
function verifyConnexolveWebhook(rawBody, signatureHeader, secret) {
const [tPart, vPart] = signatureHeader.split(',' );
const t = tPart.split('=' )[1 ];
const v1 = vPart.split('=' )[1 ];
const signed = t + '.' + rawBody;
const expected = crypto.createHmac('sha256' , secret).update(signed).digest('hex' );
return crypto.timingSafeEqual(Buffer.from(v1), Buffer.from(expected));
}
Retry schedule
At-least-once delivery. Retries at 0s, 30s, 2m, 10m, 1h, 6h — then dead-letter. Be idempotent on verificationId.
00.4
Sandbox cheat sheet
Universal magic values that work across the sandbox.
Input contains Outcome
ZZZZZ0000Z in any identifier fieldCNX_SOURCE_UNAVAILABLE (503, retryable, never billed)
PAN AAAAA0000A success, name "AARAV SHARMA"
PAN AAAAA9999A CNX_NO_RECORD_FOUND (422, billable on live)
Mobile 9000000001 used across endpoints — UAN lookup, MNRL match, silent KYC, etc.
Name CLEAN PERSON zero matches in negative-diligence
Name SANCTIONED PERSON 3 hits across sanctions + PEP + adverse media
OTP 000000 in any otp field OTP-step confirmations succeed
Idempotency-Key reused on same body returns original result, no double charge
Idempotency-Key reused on different body CNX_IDEMPOTENCY_CONFLICT (409)
Tip: Sandbox responses always set billing.charged: false and billing.amount: 0. Your code that checks billing.charged before debiting your own ledger will work identically against live.
01
Identity & KYC
Government-attested identity records — PAN, DL, Voter ID, Passport, plus biometric checks.
POST
/v1/verify/identity/pan
Verify a PAN number and fetch holder name
▸
● Live
Typical latency · ~250 ms
verify.identity.pan
Request body
Field Type Description
panstring required 10-character PAN (5 letters · 4 digits · 1 letter).
namestring optional Claimed name for cross-check. Returns a fuzzy match score.
Sandbox magic values
AAAAA0000A success — returns name "AARAV SHARMA"
AAAAA9999A no record — billable on live
ZZZZZ0000Z source unavailable — retryable, never billed
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/identity/pan \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"pan": "AAAAA0000A",
"name": "AARAV SHARMA"
}'
Example responses
200 Success
422 No Record
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00X1A2B3C4D5E6F7G" ,
"endpoint" : "verify.identity.pan" ,
"status" : "completed" ,
"data" : {
"pan" : "AAAAA0000A" ,
"name" : "AARAV SHARMA" ,
"nameMatchScore" : 100 ,
"nameOnPan" : "AARAV SHARMA" ,
"category" : "Individual" ,
"panStatus" : "VALID" ,
"lastUpdated" : "2024-08-12"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 240
}
}
copy
{
"success" : false ,
"verificationId" : "cnxv_01JZ9SAND00X9NOREC" ,
"endpoint" : "verify.identity.pan" ,
"status" : "failed" ,
"error" : {
"code" : "CNX_NO_RECORD_FOUND" ,
"message" : "No record found for the provided PAN." ,
"retryable" : false
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 180
}
}
POST
/v1/verify/identity/dl
Driver's licence — RTO-attested name, photo, validity, vehicle classes
▸
● Live
Typical latency · ~3-15 s
verify.identity.dl
Request body
Field Type Description
dlNumberstring required DL number including state prefix (e.g. DL0120240001234).
dateOfBirthstring required Date of birth as DD/MM/YYYY.
Sandbox magic values
DL0120240001234 + 15/01/1990 success — full RTO record with photo
DL9920249999999 + 15/01/1990 no record
DLZZ00000000000 + 15/01/1990 source unavailable
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/identity/dl \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"dlNumber": "DL0120240001234",
"dateOfBirth": "15/01/1990"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00DL001" ,
"endpoint" : "verify.identity.dl" ,
"status" : "completed" ,
"data" : {
"dlNumber" : "DL0120240001234" ,
"name" : "AARAV SHARMA" ,
"fatherOrHusbandName" : "RAJESH SHARMA" ,
"dateOfBirth" : "1990-01-15" ,
"issueDate" : "2020-06-12" ,
"validity" : {
"nonTransport" : {
"from" : "2020-06-12" ,
"to" : "2040-01-14"
},
"transport" : {
"from" : "" ,
"to" : ""
}
},
"vehicleClasses" : [
"MCWG",
"LMV"
],
"rtoOffice" : "Sandbox RTO, New Delhi" ,
"address" : "FLAT 12B, SANDBOX APARTMENTS, DEMO ROAD, NEW DELHI 110001" ,
"splitAddress" : {
"addressLine" : "FLAT 12B, SANDBOX APARTMENTS, DEMO ROAD" ,
"city" : "NEW DELHI" ,
"district" : "NEW DELHI" ,
"state" : "DELHI" ,
"stateCode" : "DL" ,
"pincode" : "110001" ,
"country" : "IN"
},
"status" : "ACTIVE" ,
"photo" : "data:image/svg+xml;base64,PHN2Zy4uLg== (truncated)"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 320
}
}
POST
/v1/verify/identity/voter
Voter ID (EPIC) — ECI-attested name, polling station, constituency
▸
● Live
Typical latency · ~400 ms
verify.identity.voter
Request body
Field Type Description
epicNumberstring required EPIC number printed on the Voter ID card.
includeRegionalLanguageboolean optional Include name in the regional language script (defaults to true).
Sandbox magic values
EPIC0000000001 success — returns name in Tamil
EPIC0000000002 success — returns name in Hindi
EPIC9999999999 no record
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/identity/voter \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"epicNumber": "EPIC0000000001"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00VTR001" ,
"endpoint" : "verify.identity.voter" ,
"status" : "completed" ,
"data" : {
"epicNumber" : "EPIC0000000001" ,
"name" : "ARUN KUMAR" ,
"nameInRegionalLang" : "அருண் குமார்" ,
"age" : 32 ,
"gender" : "MALE" ,
"fatherName" : "KUMAR SUBRAMANIAN" ,
"relationType" : "Father" ,
"address" : "12 SAMPLE STREET, TEST NAGAR, SANDBOX CITY, TAMIL NADU 600001" ,
"splitAddress" : {
"addressLine" : "12 SAMPLE STREET, TEST NAGAR" ,
"city" : "SANDBOX CITY" ,
"district" : "CHENNAI" ,
"state" : "TAMIL NADU" ,
"stateCode" : "TN" ,
"pincode" : "600001" ,
"country" : "IN"
},
"constituency" : {
"assemblyNumber" : "1" ,
"assemblyName" : "SANDBOX SOUTH" ,
"parliamentaryNumber" : "1" ,
"parliamentaryName" : "DEMO CONSTITUENCY"
},
"pollingStation" : {
"partNumber" : "001" ,
"serialNumber" : "0001" ,
"name" : "Sandbox Higher Secondary School" ,
"address" : "School Lane, Test Nagar"
}
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 410
}
}
POST
/v1/verify/identity/passport
Passport — Ministry of External Affairs file lookup
▸
● Live
Typical latency · ~350 ms
verify.identity.passport
Request body
Field Type Description
fileNumberstring required Passport file number from the application form.
dateOfBirthstring required Date of birth as DD/MM/YYYY.
Sandbox magic values
PP0000000000001 + 15/01/1990 success — MEA file found
PP0000000000099 + 15/01/1990 no record
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/identity/passport \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"fileNumber": "PP0000000000001",
"dateOfBirth": "15/01/1990"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00PP001" ,
"endpoint" : "verify.identity.passport" ,
"status" : "completed" ,
"data" : {
"fileNumber" : "PP0000000000001" ,
"givenName" : "AARAV" ,
"surname" : "SHARMA" ,
"fullName" : "AARAV SHARMA" ,
"dateOfBirth" : "1990-01-15" ,
"typeOfApplication" : "NORMAL" ,
"applicationReceivedOn" : "2023-04-12"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 350
}
}
POST
/v1/verify/identity/face-liveness
Passive liveness — detect spoofs (photos, screen captures, deepfakes)
▸
● Live
Typical latency · ~2 s
verify.identity.face-liveness
Request body
Field Type Description
imageUrlstring required Public URL of the selfie image (JPEG/PNG).
Sandbox magic values
https://sandbox.connexolve.in/test/live-face.jpg isLive: true, score 0.94
https://sandbox.connexolve.in/test/spoof-photo.jpg isLive: false, score 0.31
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/identity/face-liveness \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"imageUrl": "https://sandbox.connexolve.in/test/live-face.jpg"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00LIV001" ,
"endpoint" : "verify.identity.face-liveness" ,
"status" : "completed" ,
"data" : {
"isLive" : true ,
"livenessScore" : 0.9412 ,
"multipleFacesDetected" : false ,
"reviewNeeded" : false
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 1980
}
}
POST
/v1/verify/identity/face-match
Compare two faces — selfie vs ID document photo
▸
● Live
Typical latency · ~1 s
verify.identity.face-match
Request body
Field Type Description
imageUrl1string required URL of the first image (typically the selfie).
imageUrl2string required URL of the second image (typically the ID document).
includeFaceCountboolean optional Return number of faces detected in each image.
Sandbox magic values
Both URLs ending /test/same-person-a.jpg and /test/same-person-b.jpg match: yes, score 87
URLs containing /test/different-person match: no, score 4
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/identity/face-match \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"imageUrl1": "https://sandbox.connexolve.in/test/same-person-a.jpg",
"imageUrl2": "https://sandbox.connexolve.in/test/same-person-b.jpg"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00FM001" ,
"endpoint" : "verify.identity.face-match" ,
"status" : "completed" ,
"data" : {
"match" : true ,
"matchScore" : 87.42 ,
"confidence" : 96.5 ,
"reviewNeeded" : false
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 1050
}
}
POST
/v1/verify/identity/mobile-otp/start
Mobile OTP — step 1: send OTP to a mobile number with consent
▸
● Live
Typical latency · ~500 ms
verify.identity.mobile-otp.start
Request body
Field Type Description
mobilestring required 10-digit Indian mobile number.
consentstring optional Consent string ('y' default).
countryCodestring optional Default '91'.
Sandbox magic values
9999999999 OTP sent, returns request_id
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/identity/mobile-otp/start \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"mobile": "9999999999",
"consent": "y"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SANDBOXVERIFY_I" ,
"endpoint" : "verify.identity.mobile-otp.start" ,
"status" : "completed" ,
"data" : {
"request_id" : "sandbox-mob-otp-0001" ,
"status-code" : "101" ,
"message" : "Otp has been sent to your mobile number"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 140
}
}
POST
/v1/verify/identity/mobile-otp/verify
Mobile OTP — step 2: validate OTP entered by the user
▸
● Live
Typical latency · ~500 ms
verify.identity.mobile-otp.verify
Request body
Field Type Description
request_idstring required request_id from /mobile-otp/start response.
otpstring required 4 or 6 digit OTP entered by the user.
Sandbox magic values
123456 OTP validated, provider returned
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/identity/mobile-otp/verify \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"request_id": "sandbox-mob-otp-0001",
"otp": "123456"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SANDBOXVERIFY_I" ,
"endpoint" : "verify.identity.mobile-otp.verify" ,
"status" : "completed" ,
"data" : {
"provider" : "sandbox telecom" ,
"otp_validated" : true ,
"status-code" : "101"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 140
}
}
POST
/v1/verify/identity/mobile-otp/fetch
Mobile OTP — step 3: retrieve full identity + contact + 10-month payment history
▸
● Live
Typical latency · ~2 s
verify.identity.mobile-otp.fetch
Request body
Field Type Description
request_idstring required request_id from /mobile-otp/start (NOT /verify).
Sandbox magic values
sandbox-mob-otp-0001 returns full demo profile
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/identity/mobile-otp/fetch \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"request_id": "sandbox-mob-otp-0001"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SANDBOXVERIFY_I" ,
"endpoint" : "verify.identity.mobile-otp.fetch" ,
"status" : "completed" ,
"data" : {
"name" : "Aarav Sharma" ,
"date_of_birth" : "15-08-1990" ,
"address" : "Flat 12B, Sandbox Apartments, Demo Road, New Delhi, DL-110001" ,
"alt_contact" : "9999999999" ,
"provider" : "Sandbox Telecom" ,
"type" : "POSTPAID"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 140
}
}
POST
/v1/verify/identity/mobile-otp-s/start
Mobile OTP Silent — step 1: send OTP via short 2-step variant
▸
● Live
Typical latency · ~500 ms
verify.identity.mobile-otp-s.start
Request body
Field Type Description
mobilestring required 10-digit Indian mobile number.
countryCodestring optional Default '91'.
Sandbox magic values
9999999999 OTP sent, returns referenceId
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/identity/mobile-otp-s/start \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"mobile": "9999999999",
"countryCode": "91"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SANDBOXVERIFY_I" ,
"endpoint" : "verify.identity.mobile-otp-s.start" ,
"status" : "completed" ,
"data" : {
"referenceId" : "telecom_sandbox0001"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 140
}
}
POST
/v1/verify/identity/mobile-otp-s/fetch
Mobile OTP Silent — step 2: submit OTP and receive identity + 4-month history in one call
▸
● Live
Typical latency · ~2 s
verify.identity.mobile-otp-s.fetch
Request body
Field Type Description
mobilestring required 10-digit Indian mobile number.
referenceIdstring required referenceId from /mobile-otp-s/start.
otpstring required OTP entered by the user.
Sandbox magic values
123456 returns full profile + 4-month payment history
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/identity/mobile-otp-s/fetch \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"mobile": "9999999999",
"referenceId": "telecom_sandbox0001",
"otp": "123456"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SANDBOXVERIFY_I" ,
"endpoint" : "verify.identity.mobile-otp-s.fetch" ,
"status" : "completed" ,
"data" : {
"name" : "Aarav Sharma" ,
"dob" : "1990-08-15" ,
"billingType" : "postpaid" ,
"mobileNetworkOperator" : "Sandbox" ,
"alternatePhone" : "9888888888" ,
"email" : "sandbox@connexolve.in"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 140
}
}
02
Employment
EPFO-backed employment history and establishment verification.
POST
/v1/verify/employment/uan-lookup
Find UAN(s) linked to a mobile number — EPFO entry point
▸
● Live
Typical latency · ~500 ms
verify.employment.uan-lookup
Request body
Field Type Description
mobilestring required 10-digit Indian mobile number registered with EPFO.
Sandbox magic values
9000000001 success — returns 1 UAN
9000000002 success — returns 2 UANs (multi-employer history)
9000000000 no record
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/employment/uan-lookup \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"mobile": "9000000001"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00UAN001" ,
"endpoint" : "verify.employment.uan-lookup" ,
"status" : "completed" ,
"data" : {
"mobile" : "9000000001" ,
"uanList" : [
"100000000001"
]
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 480
}
}
POST
/v1/verify/employment/uan
Full employment history for a UAN — all past employers with dates
▸
● Live
Typical latency · ~5-20 s
verify.employment.uan
May take up to 20 seconds. Returns 202 + webhook for very slow EPFO responses.
Request body
Field Type Description
uanstring required 12-digit Universal Account Number.
Sandbox magic values
100000000001 success — 3 past employers
100000000099 no record
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/employment/uan \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"uan": "100000000001"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00UAN002" ,
"endpoint" : "verify.employment.uan" ,
"status" : "completed" ,
"data" : {
"uan" : "100000000001" ,
"memberName" : "AARAV SHARMA" ,
"dateOfBirth" : "1990-01-15" ,
"employmentHistory" : [
{
"establishmentId" : "DLNDL00000010000001" ,
"establishmentName" : "Sandbox Technologies Private Limited" ,
"doj" : "2023-08-01" ,
"dol" : "" ,
"designation" : "Senior Engineer" ,
"memberId" : "DLNDL000000100000010000001"
},
{
"establishmentId" : "MHMAH00000020000001" ,
"establishmentName" : "Example Software LLP" ,
"doj" : "2020-04-15" ,
"dol" : "2023-07-31" ,
"designation" : "Software Engineer" ,
"memberId" : "MHMAH000000200000010000099"
},
{
"establishmentId" : "KAKAR00000030000001" ,
"establishmentName" : "Demo Systems India" ,
"doj" : "2017-09-01" ,
"dol" : "2020-04-10" ,
"designation" : "Associate Engineer" ,
"memberId" : "KAKAR000000300000010000050"
}
]
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 12400
}
}
POST
/v1/verify/employment/epfo-establishment
EPFO establishment profile — contributions, employee count, status
▸
● Live
Typical latency · ~3-25 s
verify.employment.epfo-establishment
Request body
Field Type Description
establishmentIdstring required 15-character EPFO establishment ID (e.g. DLNDL00000010000001).
monthsinteger optional How many months of contribution history to fetch. Default 6, max 12.
Sandbox magic values
DLNDL00000010000001 success — Sandbox Technologies Pvt Ltd profile
ZZZZZ00000099999999 no record
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/employment/epfo-establishment \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"establishmentId": "DLNDL00000010000001",
"months": 6
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00EST001" ,
"endpoint" : "verify.employment.epfo-establishment" ,
"status" : "completed" ,
"data" : {
"establishmentId" : "DLNDL00000010000001" ,
"establishmentName" : "Sandbox Technologies Private Limited" ,
"address" : "Plot 42, Demo Tech Park, New Delhi 110001" ,
"businessActivity" : "Information Technology Services" ,
"registrationDate" : "2018-04-01" ,
"status" : "ACTIVE" ,
"totalEmployees" : 142 ,
"contributionHistory" : [
{
"month" : "2025-12" ,
"employerShare" : 145000 ,
"employeeShare" : 145000 ,
"memberCount" : 142
},
{
"month" : "2025-11" ,
"employerShare" : 138000 ,
"employeeShare" : 138000 ,
"memberCount" : 138
},
{
"month" : "2025-10" ,
"employerShare" : 138000 ,
"employeeShare" : 138000 ,
"memberCount" : 138
}
]
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 8200
}
}
POST
/v1/verify/employment/epfo-name-search
Confirm whether a named employee worked at an establishment in a given month
▸
● Live
Typical latency · ~800 ms
verify.employment.epfo-name-search
Request body
Field Type Description
establishmentIdstring required 15-character EPFO establishment ID.
establishmentNamestring required Establishment name (used for cross-check).
employeeNamestring required Employee name to search.
employmentMonthstring required Month to check, format MM/YYYY. Must be within last 12 months.
Sandbox magic values
EstabId DLNDL00000010000001 + name AARAV SHARMA + 11/2025 found
Any unknown name no record
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/employment/epfo-name-search \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"establishmentId": "DLNDL00000010000001",
"establishmentName": "Sandbox Technologies Private Limited",
"employeeName": "AARAV SHARMA",
"employmentMonth": "11/2025"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00EMP001" ,
"endpoint" : "verify.employment.epfo-name-search" ,
"status" : "completed" ,
"data" : {
"match" : true ,
"employeeName" : "AARAV SHARMA" ,
"memberId" : "DLNDL000000100000010000001" ,
"establishmentName" : "Sandbox Technologies Private Limited" ,
"employmentMonth" : "11/2025" ,
"contributionAmount" : 1800
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 860
}
}
03
Business & Company
MCA, RoC, Udyam, TAN, IEC, Shop & Establishment, TIN.
POST
/v1/verify/company/mca/cin-lookup
Find CIN(s) matching a company name
▸
● Live
Typical latency · ~6 s
verify.company.mca.cin-lookup
Request body
Field Type Description
companyNamestring required Company name (partial match supported).
Sandbox magic values
SANDBOX returns 2 matching CINs
UNKNOWN COMPANY XYZ no records
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/company/mca/cin-lookup \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"companyName": "SANDBOX"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00CIN001" ,
"endpoint" : "verify.company.mca.cin-lookup" ,
"status" : "completed" ,
"data" : {
"matches" : [
{
"cin" : "U72900DL2018PTC000001" ,
"companyName" : "SANDBOX TECHNOLOGIES PRIVATE LIMITED" ,
"status" : "Active"
},
{
"cin" : "U72900MH2019PTC000002" ,
"companyName" : "SANDBOX SOFTWARE INDIA PRIVATE LIMITED" ,
"status" : "Active"
}
]
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 5780
}
}
POST
/v1/verify/company/mca/master
Full MCA master data for a CIN — capital, address, AGM, filings
▸
● Live
Typical latency · ~8 s
verify.company.mca.master
Request body
Field Type Description
cinstring required 21-character CIN or LLPIN.
Sandbox magic values
U72900DL2018PTC000001 success — Sandbox Technologies profile
U00000XX0000PTC999999 no record
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/company/mca/master \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"cin": "U72900DL2018PTC000001"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00MCA001" ,
"endpoint" : "verify.company.mca.master" ,
"status" : "completed" ,
"data" : {
"cin" : "U72900DL2018PTC000001" ,
"companyName" : "SANDBOX TECHNOLOGIES PRIVATE LIMITED" ,
"registrationNumber" : "000001" ,
"companyStatus" : "Active" ,
"companyCategory" : "Company limited by Shares" ,
"companySubcategory" : "Non-govt company" ,
"classOfCompany" : "Private" ,
"incorporationDate" : "2018-04-01" ,
"registeredOffice" : "Plot 42, Demo Tech Park, New Delhi 110001" ,
"authorizedCapital" : 10000000 ,
"paidUpCapital" : 8000000 ,
"lastAgmDate" : "2024-09-28" ,
"lastFilingDate" : "2024-10-30" ,
"registrar" : "RoC-Delhi"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 7860
}
}
POST
/v1/verify/company/mca/signatories
All directors and signatories of a company with DINs and tenure
▸
● Live
Typical latency · ~14 s
verify.company.mca.signatories
Request body
Field Type Description
cinstring required 21-character CIN.
Sandbox magic values
U72900DL2018PTC000001 success — 3 directors
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/company/mca/signatories \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"cin": "U72900DL2018PTC000001"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00SIG001" ,
"endpoint" : "verify.company.mca.signatories" ,
"status" : "completed" ,
"data" : {
"cin" : "U72900DL2018PTC000001" ,
"directors" : [
{
"din" : "10000001" ,
"name" : "AARAV SHARMA" ,
"designation" : "Director" ,
"appointmentDate" : "2018-04-01" ,
"endDate" : ""
},
{
"din" : "10000002" ,
"name" : "PRIYA VERMA" ,
"designation" : "Director" ,
"appointmentDate" : "2018-04-01" ,
"endDate" : ""
},
{
"din" : "10000003" ,
"name" : "VIKRAM SINGH" ,
"designation" : "Additional Director" ,
"appointmentDate" : "2022-06-15" ,
"endDate" : ""
}
]
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 13900
}
}
POST
/v1/verify/company/mca/search
Lightweight company search — returns CIN list only
▸
● Live
Typical latency · ~2 s
verify.company.mca.search
Request body
Field Type Description
companyNamestring required Company name.
Sandbox magic values
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/company/mca/search \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"companyName": "SANDBOX"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00SEARCH" ,
"endpoint" : "verify.company.mca.search" ,
"status" : "completed" ,
"data" : {
"cins" : [
"U72900DL2018PTC000001",
"U72900MH2019PTC000002"
]
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 1850
}
}
POST
/v1/verify/company/roc/director
Director profile by DIN — all companies they're directing, current and past
▸
● Live
Typical latency · ~4 s
verify.company.roc.director
PAN and parent names are partially masked at source — full values are never available via this endpoint.
Request body
Field Type Description
dinstring required 8-digit Director Identification Number.
Sandbox magic values
10000001 success — 2 active directorships
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/company/roc/director \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"din": "10000001"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00ROC001" ,
"endpoint" : "verify.company.roc.director" ,
"status" : "completed" ,
"data" : {
"din" : "10000001" ,
"name" : "AARAV SHARMA" ,
"fatherName" : "*****ER ***** *****" ,
"dateOfBirth" : "15/01/1990" ,
"panNumber" : "*****0000A" ,
"dinStatus" : "Approved" ,
"nationality" : "IN" ,
"noOfCompanies" : 2 ,
"companies" : [
{
"cin" : "U72900DL2018PTC000001" ,
"companyName" : "SANDBOX TECHNOLOGIES PRIVATE LIMITED" ,
"beginDate" : "2018-04-01" ,
"endDate" : ""
},
{
"cin" : "U72900MH2019PTC000002" ,
"companyName" : "SANDBOX SOFTWARE INDIA PRIVATE LIMITED" ,
"beginDate" : "2019-08-12" ,
"endDate" : ""
}
]
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 4400
}
}
POST
/v1/verify/company/tan
TAN → registered name of the deductor
▸
● Live
Typical latency · ~1 s
verify.company.tan
Request body
Field Type Description
tanstring required 10-character TAN.
Sandbox magic values
DELS00001A success — Sandbox Technologies Private Limited
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/company/tan \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"tan": "DELS00001A"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00TAN001" ,
"endpoint" : "verify.company.tan" ,
"status" : "completed" ,
"data" : {
"tan" : "DELS00001A" ,
"name" : "SANDBOX TECHNOLOGIES PRIVATE LIMITED" ,
"category" : "Company" ,
"status" : "ACTIVE"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 970
}
}
POST
/v1/verify/company/udyam
Udyam (MSME) registration verification — full profile, NIC codes, certificate
▸
● Live
Typical latency · ~3 s
verify.company.udyam
Request body
Field Type Description
udyamNumberstring required Udyam Registration Number (UDYAM-XX-NN-NNNNNNN).
Sandbox magic values
UDYAM-DL-01-0000001 success — full profile + structured NIC
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/company/udyam \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"udyamNumber": "UDYAM-DL-01-0000001"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01KWY7XSA79V0M5BHXAPP234DR" ,
"referenceId" : null ,
"endpoint" : "verify.company.udyam" ,
"status" : "completed" ,
"data" : {
"udyamRegistrationNo" : "UDYAM-DL-01-0000001" ,
"dateOfRegistration" : "2020-08-12" ,
"profile" : {
"name" : "SANDBOX TECHNOLOGIES PRIVATE LIMITED" ,
"majorActivity" : "Services" ,
"organizationType" : "Private Limited Company" ,
"ownerName" : null ,
"pan" : null ,
"socialCategory" : "GENERAL" ,
"dateOfIncorporation" : "2020-08-01" ,
"dateOfCommencement" : "2020-08-01"
},
"officialAddress" : {
"flat" : "PLOT 42" ,
"premises" : "DEMO TECH PARK" ,
"road" : "Sandbox Boulevard" ,
"city" : "NEW DELHI" ,
"district" : "NEW DELHI" ,
"state" : "DELHI" ,
"pincode" : "110001"
},
"industry" : [
{
"nicCode" : "62011" ,
"industry" : "Computer programming, consultancy and related activities" ,
"subSector" : "Computer programming activities" ,
"activityDescription" : "Writing, modifying, testing of computer program to meet the needs of a particular client" ,
"activity" : "Services"
}
],
"branchDetails" : [
{
"name" : "HQ" ,
"flat" : "PLOT 42" ,
"premises" : "DEMO TECH PARK" ,
"road" : "Sandbox Boulevard" ,
"city" : "NEW DELHI" ,
"state" : "DELHI" ,
"pincode" : "110001"
}
],
"employmentDetails" : { "male" : null , "female" : null , "others" : null , "total" : null },
"financials" : {
"financialYear" : null ,
"details" : { "wdvPme" : null , "netInvestmentInPme" : null , "totalTurnover" : null }
}
},
"billing" : {
"charged" : true ,
"amount" : 2500 ,
"currency" : "INR" ,
"walletBalanceAfter" : 47500
},
"meta" : {
"createdAt" : "2026-07-07T12:15:00Z" ,
"environment" : "test" ,
"provider" : "connexolve" ,
"latencyMs" : 42
}
}
POST
/v1/verify/company/iec
Import-Export Code profile from DGFT
▸
● Live
Typical latency · ~1 s
verify.company.iec
Request body
Field Type Description
iecstring required 10-character IEC.
Sandbox magic values
AAACS0001A success — full DGFT profile
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/company/iec \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"iec": "AAACS0001A"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00IEC001" ,
"endpoint" : "verify.company.iec" ,
"status" : "completed" ,
"data" : {
"iec" : "AAACS0001A" ,
"entityName" : "SANDBOX TECHNOLOGIES PRIVATE LIMITED" ,
"iecIssueDate" : "2019-06-12" ,
"iecStatus" : "Valid" ,
"natureOfBusiness" : "Service Provider" ,
"branches" : [
{
"address" : "Plot 42, Demo Tech Park, New Delhi 110001"
}
]
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 1020
}
}
POST
/v1/verify/company/shop-establishment
State Shop & Establishment licence verification
▸
● Live
Typical latency · ~2-15 s
verify.company.shop-establishment
Request body
Field Type Description
registrationNumberstring required Shop & Establishment registration number.
statestring required Full state name in uppercase (e.g. KARNATAKA).
Sandbox magic values
SHOP-DL-2024-0000001 + DELHI success — full record
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/company/shop-establishment \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"registrationNumber": "SHOP-DL-2024-0000001",
"state": "DELHI"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00SHOP001" ,
"endpoint" : "verify.company.shop-establishment" ,
"status" : "completed" ,
"data" : {
"registrationNumber" : "SHOP-DL-2024-0000001" ,
"establishmentName" : "Sandbox Demo Store" ,
"ownerName" : "AARAV SHARMA" ,
"address" : "Shop 12, Demo Market, New Delhi 110001" ,
"natureOfBusiness" : "Retail Trade" ,
"registrationDate" : "2024-01-15" ,
"validUpto" : "2029-01-14" ,
"status" : "ACTIVE"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 4200
}
}
POST
/v1/verify/company/tin
Legacy state VAT TIN lookup (pre-GST registered dealers)
▸
● Live
Typical latency · ~20-25 s
verify.company.tin
Request body
Field Type Description
tinNumberstring required 11-digit state TIN.
Sandbox magic values
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/company/tin \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"tinNumber": "19000000001"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00TIN001" ,
"endpoint" : "verify.company.tin" ,
"status" : "completed" ,
"data" : {
"tinNumber" : "19000000001" ,
"dealerName" : "SANDBOX TRADERS" ,
"state" : "WEST BENGAL" ,
"status" : "ACTIVE" ,
"registrationDate" : "2015-04-10"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 22400
}
}
POST
/v1/verify/company/gst
GSTIN verification (lite) — registration status, business name, taxpayer type
▸
● Live
Typical latency · ~700 ms
verify.company.gst
Request body
Field Type Description
gstinstring required 15-character GSTIN. Format: 2 digits state code + 10 char PAN + 1 entity code + Z + checksum.
Sandbox magic values
07AAACS0001A1Z5 success — active GSTIN of Sandbox Technologies
07AAACS9999A1Z5 no record
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/company/gst \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"gstin": "07AAACS0001A1Z5"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00GST001" ,
"endpoint" : "verify.company.gst" ,
"status" : "completed" ,
"data" : {
"gstin" : "07AAACS0001A1Z5" ,
"isValid" : true ,
"businessName" : "SANDBOX TECHNOLOGIES PRIVATE LIMITED" ,
"legalName" : "SANDBOX TECHNOLOGIES PRIVATE LIMITED" ,
"tradeName" : "Sandbox Tech" ,
"registrationDate" : "01/07/2017" ,
"taxpayerType" : "Regular" ,
"status" : "Active" ,
"constitution" : "Private Limited Company" ,
"principalAddress" : "4-FR, Sandbox Tower, Demo Road, New Delhi, Delhi, 110001" ,
"stateJurisdiction" : "State - DELHI, Ward 1, AC 1" ,
"centerJurisdiction" : "Commissionerate: DELHI NORTH, Division: DELHI, Range: 1" ,
"pan" : "AAACS0001A"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 680
}
}
POST
/v1/verify/company/gst-detailed
GSTIN verification (detailed) — lite fields plus 24 months of returns filing history
▸
● Live
Typical latency · ~1.5 s
verify.company.gst-detailed
Request body
Field Type Description
gstinstring required 15-character GSTIN.
Sandbox magic values
07AAACS0001A1Z5 success with 24-month filing history
07AAACS9999A1Z5 no record
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/company/gst-detailed \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"gstin": "07AAACS0001A1Z5"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00GSTD001" ,
"endpoint" : "verify.company.gst-detailed" ,
"status" : "completed" ,
"data" : {
"gstin" : "07AAACS0001A1Z5" ,
"isValid" : true ,
"businessName" : "SANDBOX TECHNOLOGIES PRIVATE LIMITED" ,
"legalName" : "SANDBOX TECHNOLOGIES PRIVATE LIMITED" ,
"tradeName" : "Sandbox Tech" ,
"registrationDate" : "01/07/2017" ,
"taxpayerType" : "Regular" ,
"status" : "Active" ,
"constitution" : "Private Limited Company" ,
"principalAddress" : "4-FR, Sandbox Tower, Demo Road, New Delhi, Delhi, 110001" ,
"additionalAddresses" : [
{
"address" : "5-FR, Sandbox Tower, Demo Road, New Delhi, Delhi, 110001" ,
"type" : "Branch"
}
],
"stateJurisdiction" : "State - DELHI, Ward 1, AC 1" ,
"centerJurisdiction" : "Commissionerate: DELHI NORTH, Division: DELHI, Range: 1" ,
"pan" : "AAACS0001A" ,
"natureOfBusiness" : [
"Service Provision",
"Office / Sale Office"
],
"returnsFilingFrequency" : "Monthly" ,
"returnsFilingHistory" : [
{
"returnType" : "GSTR-1" ,
"periodOfReturn" : "042026" ,
"dateOfFiling" : "11/05/2026" ,
"status" : "Filed"
},
{
"returnType" : "GSTR-3B" ,
"periodOfReturn" : "042026" ,
"dateOfFiling" : "20/05/2026" ,
"status" : "Filed"
},
{
"returnType" : "GSTR-1" ,
"periodOfReturn" : "032026" ,
"dateOfFiling" : "11/04/2026" ,
"status" : "Filed"
},
{
"returnType" : "GSTR-3B" ,
"periodOfReturn" : "032026" ,
"dateOfFiling" : "20/04/2026" ,
"status" : "Filed"
}
],
"complianceRating" : "High" ,
"lateFilingPenalty" : 0
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 1480
}
}
04
Professional
ICAI, ICSI, ICMAI — verify Chartered Accountants, Company Secretaries, Cost Accountants.
POST
/v1/verify/membership/ca
Chartered Accountant — ICAI membership verification
▸
● Live
Typical latency · ~3 s
verify.membership.ca
Request body
Field Type Description
membershipNumberstring required ICAI membership number.
Sandbox magic values
100001 success — CA profile
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/membership/ca \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"membershipNumber": "100001"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00CA001" ,
"endpoint" : "verify.membership.ca" ,
"status" : "completed" ,
"data" : {
"membershipNumber" : "100001" ,
"name" : "CA AARAV SHARMA" ,
"designation" : "Chartered Accountant" ,
"category" : "ASSOCIATE" ,
"memberSince" : "2015-01-12" ,
"cpNumber" : "" ,
"region" : "Northern Region"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 2840
}
}
POST
/v1/verify/membership/cs
Company Secretary — ICSI membership verification with photo
▸
● Live
Typical latency · ~3 s
verify.membership.cs
Request body
Field Type Description
membershipNumberstring required ICSI membership number (A or F prefix).
Sandbox magic values
A00001 success — CS profile with photo
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/membership/cs \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"membershipNumber": "A00001"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00CS001" ,
"endpoint" : "verify.membership.cs" ,
"status" : "completed" ,
"data" : {
"membershipNumber" : "A00001" ,
"name" : "CS PRIYA VERMA" ,
"designation" : "Company Secretary" ,
"memberCategory" : "ASSOCIATE" ,
"city" : "New Delhi" ,
"address" : "B-204 Example Tower, Sample Colony, New Delhi 110001" ,
"cpNumber" : "0" ,
"photo" : "data:image/svg+xml;base64,PHN2Zy4uLg== (truncated)"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 3300
}
}
POST
/v1/verify/membership/cma
Cost & Management Accountant — ICMAI membership
▸
● Live
Typical latency · ~8 s
verify.membership.cma
Request body
Field Type Description
membershipNumberstring required ICMAI membership number.
Sandbox magic values
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/membership/cma \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"membershipNumber": "10001"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00CMA001" ,
"endpoint" : "verify.membership.cma" ,
"status" : "completed" ,
"data" : {
"membershipNumber" : "10001" ,
"firstName" : "VIKRAM" ,
"middleName" : "" ,
"surname" : "SINGH" ,
"fullName" : "VIKRAM SINGH" ,
"memberCategory" : "" ,
"region" : "" ,
"chapter" : ""
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 7900
}
}
05
Financial
Bank account verification (static, dynamic, hybrid), IFSC lookup, credit bureau reports.
POST
/v1/verify/financial/bank-account
Silent (pennyless) bank account verification — name + IFSC validation, no money moved
▸
● Live
Typical latency · ~250 ms
verify.financial.bank-account
Request body
Field Type Description
accountNumberstring required Beneficiary account number.
ifscstring required 11-character IFSC code.
nameToVerifystring optional Claimed account holder name — returns fuzzy match score.
Sandbox magic values
Account 50000000000001 + IFSC SAND0000001 success — name match
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/financial/bank-account \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"accountNumber": "50000000000001",
"ifsc": "SAND0000001",
"nameToVerify": "AARAV SHARMA"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00BANK001" ,
"endpoint" : "verify.financial.bank-account" ,
"status" : "completed" ,
"data" : {
"accountActive" : true ,
"accountHolderName" : "AARAV SHARMA" ,
"nameMatch" : true ,
"nameMatchScore" : 100 ,
"bankName" : "Sandbox Bank Limited" ,
"branchName" : "Demo Branch"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 240
}
}
POST
/v1/verify/financial/bank-dynamic/send
Dynamic bank validation step 1 — send a small random amount to the account
▸
● Live
Typical latency · ~2.5 s
verify.financial.bank-dynamic.send
Sandbox does NOT actually transfer money — the response is synthetic.
Request body
Field Type Description
accountNumberstring required Beneficiary account number.
ifscstring required 11-character IFSC code.
Sandbox magic values
Account 50000000000001 + IFSC SAND0000001 success — returns referenceId
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/financial/bank-dynamic/send \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"accountNumber": "50000000000001",
"ifsc": "SAND0000001"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00DYN001" ,
"endpoint" : "verify.financial.bank-dynamic.send" ,
"status" : "completed" ,
"data" : {
"active" : true ,
"reason" : "success" ,
"auditTrail" : {
"nature" : "BANK RRN" ,
"value" : "999999999001" ,
"timestamp" : "2026-01-01T00:00:00Z"
},
"beneficiaryName" : "AARAV SHARMA" ,
"beneficiaryIfsc" : "SAND0000001" ,
"referenceId" : "sandbox_ref_dyn_001" ,
"amountSent" : 1.05
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 2450
}
}
POST
/v1/verify/financial/bank-dynamic/verify
Dynamic bank validation step 2 — confirm the amount received
▸
● Live
Typical latency · ~500 ms
verify.financial.bank-dynamic.verify
Request body
Field Type Description
referenceIdstring required Reference ID from the /send call.
amountstring required Amount the user saw credited (decimal with paise, e.g. "1.05").
Sandbox magic values
referenceId sandbox_ref_dyn_001 + amount 1.05 amountMatch: true
referenceId sandbox_ref_dyn_001 + amount 9.99 amountMatch: false
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/financial/bank-dynamic/verify \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"referenceId": "sandbox_ref_dyn_001",
"amount": "1.05"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00DYN002" ,
"endpoint" : "verify.financial.bank-dynamic.verify" ,
"status" : "completed" ,
"data" : {
"amountMatch" : true ,
"accountHolderName" : "AARAV SHARMA"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 410
}
}
POST
/v1/verify/financial/credit-report
Credit bureau report — full credit history with consent
▸
● Live
Typical latency · ~8 s
verify.financial.credit-report
Live calls retain the report for 7 years per RBI guidelines. Every access is audit-logged.
Request body
Field Type Description
panstring required PAN of the data subject.
mobilestring required Mobile registered with the credit bureau.
namestring required Full name as on PAN.
dateOfBirthstring required DD/MM/YYYY.
consentArtifactobject required Consent metadata (timestamp, IP, messageId).
Sandbox magic values
PAN AAAAA0000A + mobile 9000000001 success — score 750, 12 active accounts
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/financial/credit-report \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"pan": "AAAAA0000A",
"mobile": "9000000001",
"name": "AARAV SHARMA",
"dateOfBirth": "15/01/1990",
"consentArtifact": {
"timestamp": "2026-01-01T00:00:00Z",
"ip": "203.0.113.1",
"messageId": "CM_1"
}
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00CRED001" ,
"endpoint" : "verify.financial.credit-report" ,
"status" : "completed" ,
"data" : {
"score" : 750 ,
"scoreBand" : "GOOD" ,
"totalAccounts" : 12 ,
"activeAccounts" : 8 ,
"closedAccounts" : 4 ,
"highCreditAmount" : 1500000 ,
"currentBalance" : 350000 ,
"overdueAmount" : 0 ,
"delinquentAccounts" : 0 ,
"inquiriesLast6Months" : 2 ,
"accounts" : [
{
"accountType" : "Credit Card" ,
"memberName" : "Sandbox Bank" ,
"openDate" : "2020-04-15" ,
"status" : "Active" ,
"balance" : 50000 ,
"creditLimit" : 200000
}
]
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 7800
}
}
POST
/v1/verify/financial/ifsc
Resolve an IFSC to bank, branch, address, MICR, SWIFT, and supported rails (NEFT/IMPS/RTGS/UPI)
▸
● Live
Typical latency · ~150 ms
verify.financial.ifsc
Request body
Field Type Description
ifscstring required 11-character IFSC.
Sandbox magic values
SAND0000001 valid IFSC → Sandbox Bank, Demo Branch
XXXX0000000 not found
ZZZZZ0000Z source unavailable (universal)
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/financial/ifsc \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"ifsc": "SAND0000001"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SANDBOXVERIFY_F" ,
"endpoint" : "verify.financial.ifsc" ,
"status" : "completed" ,
"data" : {
"verification_id" : "sandbox-ifsc-0001" ,
"reference_id" : 1000001 ,
"status" : "VALID" ,
"bank" : "Sandbox Bank" ,
"ifsc" : "SAND0000001" ,
"neft" : "Live" ,
"imps" : "Live" ,
"rtgs" : "Live" ,
"upi" : "Live" ,
"ft" : "Not Live" ,
"card" : "Not Live" ,
"micr" : 110000001 ,
"nbin" : 0 ,
"address" : "SANDBOX BANK LTD, DEMO BRANCH, SAMPLE STREET, NEW DELHI 110001" ,
"city" : "NEW DELHI" ,
"state" : "DELHI" ,
"branch" : "DEMO BRANCH" ,
"ifsc_subcode" : "SAND0" ,
"swift_code" : "SANDINBBXXX"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 140
}
}
POST
/v1/verify/financial/bank-hybrid
Hybrid bank account verification — name match + mobile match + bank RRN audit trail
▸
● Live
Typical latency · ~3 s
verify.financial.bank-hybrid
Request body
Field Type Description
accountNumberstring required Bank account number to verify.
ifscstring required 11-character IFSC of the destination.
nameToVerifystring required Account holder name.
mobilestring optional Mobile linked to the account (enables mobileMatch).
thresholdnumber optional Name match threshold, 0–1. Default 0.9.
Sandbox magic values
SAND0000001 + 50100000000001 ACCOUNT_VALID, nameMatch=yes, score 1.0
XXXX0000000 ACCOUNT_INVALID
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/financial/bank-hybrid \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"accountNumber": "50100000000001",
"ifsc": "SAND0000001",
"nameToVerify": "AARAV SHARMA",
"mobile": "9999999999",
"threshold": "0.9"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SANDBOXVERIFY_F" ,
"endpoint" : "verify.financial.bank-hybrid" ,
"status" : "completed" ,
"data" : {
"active" : "yes" ,
"reason" : "success" ,
"nameMatch" : "yes" ,
"mobileMatch" : "not available" ,
"nameMatchScore" : 1 ,
"bankRRN" : "900000000001" ,
"beneName" : "AARAV SHARMA" ,
"beneIFSC" : "SAND0000001"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 140
}
}
POST
/v1/verify/financial/bank-account-v1
Bank account V1 — penny-drop or penny-less, with name-match scoring
▸
● Live
Typical latency · ~4 s
verify.financial.bank-account-v1
Request body
Field Type Description
ifscstring required 11-character IFSC of the destination bank.
accountNumberstring required Account number to verify.
custNamestring optional Account holder name; enables name-match scoring.
programIdstring optional 310 = penny-drop · 311 = penny-less · 312 = hybrid. Default 310.
txnTypestring optional ANY · IMPS · NACH · UPI. Default IMPS.
Sandbox magic values
SAND0000001 account valid, name matched 100%
XXXX0000000 account invalid
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/financial/bank-account-v1 \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"ifsc": "SAND0000001",
"accountNumber": "50100000000001",
"custName": "AARAV SHARMA",
"programId": "310",
"txnType": "IMPS"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SANDBOXVERIFY_F" ,
"endpoint" : "verify.financial.bank-account-v1" ,
"status" : "completed" ,
"data" : {
"statusCode" : "TB000" ,
"status" : "ACCEPTED" ,
"acValidationStatus" : "ACCOUNT_VALID" ,
"message" : "SUCCESS | NameMatched" ,
"custName" : "AARAV SHARMA" ,
"nameAtBank" : "AARAV SHARMA" ,
"custAcctNo" : "50100000000001" ,
"custIfsc" : "SAND0000001" ,
"bankCode" : "SAND" ,
"methodUsed" : "IMPS_PENNY_DROP" ,
"fuzzyLogicScore" : "100" ,
"utr" : "900000000001"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 140
}
}
POST
/v1/verify/financial/bank-account-v1/status
Status enquiry for a prior Bank Account V1 verification
▸
● Live
Typical latency · ~300 ms
verify.financial.bank-account-v1.status
Request body
Field Type Description
origRequestIdstring required Original requestId from /bank-account-v1 call.
programIdstring optional Must match programId used in the original call.
Sandbox magic values
sandbox-bnk-v1-0001 returns ACCEPTED / ACCOUNT_VALID
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/financial/bank-account-v1/status \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"origRequestId": "sandbox-bnk-v1-0001",
"programId": "310"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SANDBOXVERIFY_F" ,
"endpoint" : "verify.financial.bank-account-v1.status" ,
"status" : "completed" ,
"data" : {
"statusCode" : "TB000" ,
"status" : "ACCEPTED" ,
"acValidationStatus" : "ACCOUNT_VALID" ,
"requestId" : "sandbox-bnk-v1-0001" ,
"nameAtBank" : "AARAV SHARMA" ,
"bankCode" : "SAND" ,
"methodUsed" : "IMPS_PENNY_DROP"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 140
}
}
06
Risk & Fraud
Sanctions screening, mobile MNRL, IP quality, email fraud, silent telecom KYC.
POST
/v1/screen/negative-diligence
Sanctions, PEP, regulatory and adverse-media screening across 30+ databases
▸
● Live
Typical latency · ~5 s
screen.negative-diligence
Request body
Field Type Description
namestring required Full name of the subject.
dateOfBirthstring optional DD/MM/YYYY — improves match accuracy.
nationalitystring optional ISO country code (IN, US, GB, etc.).
includeCategoriesarray optional Filter to specific categories: SANCTIONS, PEP, ADVERSE_MEDIA, REGULATORY, LAW_ENFORCEMENT.
Sandbox magic values
CLEAN PERSON no matches
SANCTIONED PERSON 3 matches across SANCTIONS + PEP + ADVERSE_MEDIA
Example request
copy
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",
"dateOfBirth": "15/01/1990"
}'
Example responses
200 Success
200 Match Found
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00NDD001" ,
"endpoint" : "screen.negative-diligence" ,
"status" : "completed" ,
"data" : {
"clean" : true ,
"matchCount" : 0 ,
"categoriesHit" : []
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 4520
}
}
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00NDD002" ,
"endpoint" : "screen.negative-diligence" ,
"status" : "completed" ,
"data" : {
"clean" : false ,
"matchCount" : 3 ,
"categoriesHit" : [
"SANCTIONS",
"PEP",
"ADVERSE_MEDIA"
],
"matches" : [
{
"category" : "SANCTIONS" ,
"source" : "OFAC SDN" ,
"name" : "SANCTIONED PERSON" ,
"matchScore" : 95 ,
"details" : "Designated 2022-04-12"
},
{
"category" : "PEP" ,
"source" : "Worldwide PEP Database" ,
"name" : "SANCTIONED PERSON" ,
"matchScore" : 92 ,
"details" : "Politically Exposed Person — Tier 1"
},
{
"category" : "ADVERSE_MEDIA" ,
"source" : "Global News Aggregator" ,
"name" : "SANCTIONED PERSON" ,
"matchScore" : 88 ,
"details" : "3 adverse media articles"
}
]
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 4720
}
}
POST
/v1/screen/mobile-mnrl
TRAI/DoT Mobile Number Revocation List — flag fraudulent or revoked numbers
▸
● Live
Typical latency · ~1.2 s
screen.mobile-mnrl
Request body
Field Type Description
mobilestring required 10-digit mobile number.
Sandbox magic values
9000000000 clean — not in MNRL
9000000001 revocation hit
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/screen/mobile-mnrl \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"mobile": "9000000000"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00MNRL001" ,
"endpoint" : "screen.mobile-mnrl" ,
"status" : "completed" ,
"data" : {
"mobile" : "9000000000" ,
"matchFound" : false ,
"category" : ""
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 1180
}
}
POST
/v1/screen/mobile-silent
Silent telecom lookup — name, network, porting history (no OTP)
▸
● Live
Typical latency · ~5 s
screen.mobile-silent
Request body
Field Type Description
mobilestring required 10-digit mobile number.
includeAdditionalboolean optional Include porting and original-network details.
Sandbox magic values
9000000001 success — Jio postpaid, ported from Airtel
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/screen/mobile-silent \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"mobile": "9000000001",
"includeAdditional": true
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00SILENT001" ,
"endpoint" : "screen.mobile-silent" ,
"status" : "completed" ,
"data" : {
"customerName" : "AARAV SHARMA" ,
"alternateNumber" : "" ,
"isValid" : true ,
"subscriberStatus" : "CONNECTED" ,
"connectionType" : "postpaid" ,
"currentServiceProvider" : "SANDBOX MOBILE" ,
"originalServiceProvider" : "DEMO TELECOM" ,
"networkRegion" : "Delhi" ,
"isPorted" : true
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 4820
}
}
POST
/v1/screen/ip-quality
IP fraud risk — VPN, Tor, proxy, abuse history, geo confidence
▸
● Live
Typical latency · ~600 ms
screen.ip-quality
Request body
Field Type Description
ipstring required IPv4 or IPv6 address.
Sandbox magic values
203.0.113.1 clean — score 5/100
203.0.113.99 high risk — VPN + Tor + abuse
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/screen/ip-quality \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"ip": "203.0.113.1"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00IPQ001" ,
"endpoint" : "screen.ip-quality" ,
"status" : "completed" ,
"data" : {
"ip" : "203.0.113.1" ,
"fraudScore" : 5 ,
"isProxy" : false ,
"isVpn" : false ,
"isTor" : false ,
"isBot" : false ,
"isCrawler" : false ,
"isAbuser" : false ,
"country" : "IN" ,
"region" : "Delhi" ,
"city" : "New Delhi" ,
"isp" : "Sandbox Telecom Networks" ,
"asn" : "AS65000"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 540
}
}
POST
/v1/screen/email-fraud
Email fraud signals — domain age, breach history, disposable, fake-account score
▸
● Live
Typical latency · ~3 s
screen.email-fraud
Request body
Field Type Description
emailstring required Email address to check.
Sandbox magic values
user@sandbox.connexolve.in moderate risk — score 500
anyone@10minutemail.com high risk — disposable email
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/screen/email-fraud \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"email": "user@sandbox.connexolve.in"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00EMAIL001" ,
"endpoint" : "screen.email-fraud" ,
"status" : "completed" ,
"data" : {
"email" : "user@sandbox.connexolve.in" ,
"fraudScore" : 500 ,
"riskLevel" : "Moderate" ,
"deliverable" : true ,
"disposable" : false ,
"freeProvider" : false ,
"domainAgeDays" : 1240 ,
"breachCount" : 0 ,
"firstSeenDaysAgo" : 380
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 2940
}
}
POST
/v1/screen/court-records
Court Records (CCRV) — pan-India search across eCourts CCRV with AI-powered case analysis
▸
● Live
Typical latency · ~20 s (production); instant in sandbox
screen.court-records
Request body
Field Type Description
namestring required Full candidate name. Lowercase/uppercase irrelevant — search is case-insensitive.
father_namestring optional Father's name — used to disambiguate homonyms and raise confidence tier.
dobstring optional Date of birth, DD-MM-YYYY / YYYY-MM-DD / DDMMYYYY. Used to filter case filings before candidate's 14th birthday.
statestring optional 2-letter state code (DL, MH, KA, TN, etc.) to scope search and detect cross-state homonyms.
citystring optional City — auto-resolves state if state is empty.
Sandbox magic values
name = AARAV SHARMA CLEAR verdict — no records found across all variants
name = RECORDS PERSON RECORDS_FOUND verdict — 4 cases including high-confidence criminal (planned magic value, contact support)
Any name with ZZZZZ CNX_SOURCE_UNAVAILABLE — simulated upstream eCourts outage
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/screen/court-records \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"name": "AARAV SHARMA",
"father_name": "RAJESH SHARMA",
"dob": "15-01-1990",
"state": "DL",
"city": "NEW DELHI"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00CRT001" ,
"endpoint" : "screen.court-records" ,
"status" : "completed" ,
"data" : {
"candidate" : {
"name" : "AARAV SHARMA" ,
"father_name" : "RAJESH SHARMA" ,
"dob" : "15-01-1990" ,
"state" : "DL" ,
"city" : "NEW DELHI"
},
"verdict" : "CLEAR" ,
"tier_counts" : {
"high" : 0 ,
"medium" : 0 ,
"low" : 0
},
"cases" : [],
"cases_total" : 0 ,
"search_log" : [
{
"variant" : "AARAV SHARMA" ,
"http" : 200 ,
"latency_ms" : 1247 ,
"total_hits" : 47 ,
"new_cnrs" : 0
},
{
"variant" : "A SHARMA" ,
"http" : 200 ,
"latency_ms" : 980 ,
"total_hits" : 312 ,
"new_cnrs" : 0
},
{
"variant" : "AARAV S" ,
"http" : 200 ,
"latency_ms" : 1102 ,
"total_hits" : 89 ,
"new_cnrs" : 0
}
],
"records_scanned" : 448 ,
"variants_run" : [
"AARAV SHARMA",
"A SHARMA",
"AARAV S"
],
"credits_used" : 0.6 ,
"gpt" : null ,
"gpt_raw" : null ,
"gpt_tokens" : 0 ,
"state_auto_derived" : false ,
"dob_filtered" : 12 ,
"min_filing_year" : 2004 ,
"pipeline_ms" : 3329
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 12
}
}
07
Vehicle & Utility
RC, FASTag, electricity, property tax, PNG, LPG — address-of-residence proof points.
POST
/v1/verify/utility/vehicle-rc
Vehicle RC — owner, model, insurance, PUC, registration validity
▸
● Live
Typical latency · ~3 s
verify.utility.vehicle-rc
Request body
Field Type Description
rcNumberstring required Registration number (no spaces, e.g. DL01AB1234).
Sandbox magic values
DL01AB1234 success — Sandbox Honda Activa
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/utility/vehicle-rc \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"rcNumber": "DL01AB1234"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00RC001" ,
"endpoint" : "verify.utility.vehicle-rc" ,
"status" : "completed" ,
"data" : {
"registrationNumber" : "DL01AB1234" ,
"ownerName" : "VIKRAM SINGH" ,
"fatherName" : "SURESH SINGH" ,
"vehicleManufacturer" : "HONDA MOTORCYCLE" ,
"model" : "ACTIVA 6G" ,
"vehicleClass" : "Motorcycle/Scooter" ,
"fuelType" : "PETROL" ,
"manufacturingMonthYear" : "06/2022" ,
"registrationDate" : "2022-07-15" ,
"rcExpiryDate" : "2037-07-14" ,
"address" : "Plot 9, Sample Street, New Delhi 110001" ,
"rtoCode" : "DL01" ,
"rtoOffice" : "Mall Road, Delhi" ,
"insurance" : {
"company" : "Sandbox General Insurance" ,
"policyNumber" : "POL/2024/0001" ,
"validUpto" : "2025-07-14"
},
"puccNumber" : "PUC123456" ,
"puccValidUpto" : "2025-12-31" ,
"status" : "ACTIVE" ,
"blacklistStatus" : "Not Blacklisted"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 2880
}
}
POST
/v1/verify/utility/vehicle-rc-reverse
Reverse RC lookup — engine + chassis → registration number and owner
▸
● Live
Typical latency · ~1.5 s
verify.utility.vehicle-rc-reverse
Request body
Field Type Description
engineNumberstring required Engine number stamped on the vehicle.
chassisNumberstring required Full chassis number.
Sandbox magic values
ENG0000001 + CHS0000000000001 success — links to DL01AB1234
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/utility/vehicle-rc-reverse \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"engineNumber": "ENG0000001",
"chassisNumber": "CHS0000000000001"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00RCREV001" ,
"endpoint" : "verify.utility.vehicle-rc-reverse" ,
"status" : "completed" ,
"data" : {
"registrationNumber" : "DL01AB1234" ,
"engineNumber" : "ENG0000001" ,
"chassisNumber" : "CHS0000000000001" ,
"ownerName" : "VIKRAM SINGH" ,
"vehicleManufacturer" : "HONDA MOTORCYCLE" ,
"model" : "ACTIVA 6G" ,
"vehicleClass" : "Motorcycle/Scooter" ,
"status" : "ACTIVE"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 1430
}
}
POST
/v1/verify/utility/fastag
FASTag verification — tag status, issuer bank, vehicle class
▸
● Live
Typical latency · ~450 ms
verify.utility.fastag
Request body
Field Type Description
vehicleNumberstring required Registration number.
Sandbox magic values
DL01AB1234 success — active tag, Sandbox Bank issuer
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/utility/fastag \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"vehicleNumber": "DL01AB1234"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00FT001" ,
"endpoint" : "verify.utility.fastag" ,
"status" : "completed" ,
"data" : {
"tagId" : "34160000000000000000000" ,
"vehicleNumber" : "DL01AB1234" ,
"tagStatus" : "Active" ,
"vehicleClass" : "VC4" ,
"issueDate" : "2022-08-12" ,
"issuerBank" : "Sandbox Bank Limited"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 430
}
}
POST
/v1/verify/utility/electricity
Electricity bill — consumer name, bill amount, due date by provider + consumer ID
▸
● Live
Typical latency · ~1.5 s
verify.utility.electricity
Request body
Field Type Description
consumerNumberstring required Provider-issued consumer number.
serviceProviderstring required Electricity provider code (e.g. BSES, MSEB, BESCOM).
registeredMobilestring optional Mobile registered with the provider — improves accuracy.
Sandbox magic values
Consumer 04000000000 + provider SANDBOX_ELEC success — bill due
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/utility/electricity \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"consumerNumber": "04000000000",
"serviceProvider": "SANDBOX_ELEC"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00ELEC001" ,
"endpoint" : "verify.utility.electricity" ,
"status" : "completed" ,
"data" : {
"consumerNumber" : "04000000000" ,
"consumerName" : "PRIYA VERMA" ,
"billAmount" : "₹ 3,250" ,
"billDueDate" : "2026-06-17" ,
"address" : "B-204 Example Tower, Sample Colony, New Delhi 110001" ,
"provider" : "SANDBOX_ELEC"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 1340
}
}
POST
/v1/verify/utility/property-tax
Municipal property tax record — owner name, dues, address
▸
● Live
Typical latency · ~2 s
verify.utility.property-tax
Request body
Field Type Description
statestring required Full state name in uppercase.
citystring required City name.
propertyNumberstring required Municipal assessee/property number.
ulbstring optional Urban Local Body name (full uppercase).
Sandbox magic values
State DELHI, city NEW DELHI, propertyNumber 110000000001 success — full property record
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/utility/property-tax \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"state": "DELHI",
"city": "NEW DELHI",
"propertyNumber": "110000000001",
"ulb": "MCD"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00PTAX001" ,
"endpoint" : "verify.utility.property-tax" ,
"status" : "completed" ,
"data" : {
"propertyNumber" : "110000000001" ,
"ownerName" : "AARAV SHARMA" ,
"propertyAddress" : "Flat 12B, Sandbox Apartments, Demo Road, New Delhi 110001" ,
"ward" : "84" ,
"billAmount" : "₹ 27,163" ,
"dueDate" : "2026-06-30" ,
"lastPaidAmount" : "₹ 27,363" ,
"lastPaidDate" : "2025-04-19"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 1950
}
}
POST
/v1/verify/utility/png
Piped natural gas (PNG) connection verification
▸
● Live
Typical latency · ~300 ms
verify.utility.png
Request body
Field Type Description
bpNumberstring required Business Partner number from the PNG provider.
serviceProviderstring required PNG provider code (e.g. SANDBOX_GAS).
Sandbox magic values
BP number 1234567890 + provider SANDBOX_GAS success
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/utility/png \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"bpNumber": "1234567890",
"serviceProvider": "SANDBOX_GAS"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00PNG001" ,
"endpoint" : "verify.utility.png" ,
"status" : "completed" ,
"data" : {
"bpNumber" : "1234567890" ,
"consumerName" : "AARAV SHARMA" ,
"address" : "Flat 12B, Sandbox Apartments, Demo Road, New Delhi 110001" ,
"connectionStatus" : "ACTIVE" ,
"billAmount" : "₹ 480" ,
"dueDate" : "2026-06-20"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 290
}
}
POST
/v1/verify/utility/lpg
LPG cylinder connection lookup
▸
● Live
Typical latency · ~500 ms
verify.utility.lpg
Request body
Field Type Description
lpgIdstring required 17-digit LPG ID.
Sandbox magic values
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/utility/lpg \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"lpgId": "70000000000000001"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00LPG001" ,
"endpoint" : "verify.utility.lpg" ,
"status" : "completed" ,
"data" : {
"lpgId" : "70000000000000001" ,
"consumerName" : "PRIYA VERMA" ,
"distributor" : "Sandbox Gas Agency" ,
"address" : "B-204 Example Tower, Sample Colony, New Delhi 110001" ,
"subsidyStatus" : "Active"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 490
}
}
08
Document & OCR
Forgery detection, DigiLocker-issued documents, KYC OCR, cheque OCR.
POST
/v1/verify/document/forgery
Multi-modal forgery detection — splice, photocopy, screenshot, web-sourced, metadata
▸
● Live
Typical latency · ~3 s
verify.document.forgery
Request body
Field Type Description
imageUrlsarray required One or more image URLs to analyze.
textFieldsobject optional Text to look for inside the image (cross-check).
thresholdinteger optional Score above which to flag as forged. Default 20.
Sandbox magic values
URL containing /test/clean-document.jpg Not Forged
URL containing /test/forged-document.jpg Forged — splice + webcheck flags
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/document/forgery \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"imageUrls": [
"https://sandbox.connexolve.in/test/clean-document.jpg"
],
"textFields": {
"pan": "AAAAA0000A"
},
"threshold": 20
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00FORG001" ,
"endpoint" : "verify.document.forgery" ,
"status" : "completed" ,
"data" : {
"trackingId" : "sandbox-forgery-001" ,
"imageResults" : [
{
"imageUrl" : "https://sandbox.connexolve.in/test/clean-document.jpg" ,
"summary" : {
"status" : "Not Forged" ,
"spliceDetection" : "No" ,
"spliceDetectionScore" : 8 ,
"photocopyDetection" : "No" ,
"photocopyDetectionScore" : 4 ,
"webcheckDetection" : "No" ,
"webcheckDetectionScore" : 0 ,
"screenshotDetection" : "No" ,
"screenshotDetectionScore" : 0 ,
"textmatch" : "MATCH" ,
"textmatchScore" : 100 ,
"reason" : "All forgery scores below threshold (20)"
},
"metadata" : {
"resolution" : [
2048,
1536
],
"cameraMake" : "Sandbox Phone" ,
"cameraModel" : "SP-1" ,
"software" : "" ,
"captureDate" : "2025-12-10T14:22:18Z"
}
}
]
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 2700
}
}
POST
/v1/verify/document/digilocker/*
DigiLocker integration — issuer-signed documents (Aadhaar, PAN, DL, marksheets)
▸
● Live
Typical latency · varies
verify.document.digilocker
DigiLocker is a multi-step OAuth flow. Sandbox simulates consent screens. Final document data is delivered via webhook on completion.
Request body
Field Type Description
redirectUrlstring required Where to send the user after consent.
requestedDocsarray optional Document types to request (drvlc, panr, ADHAR, etc.).
Sandbox magic values
This is an OAuth flow Sandbox simulates a mock consent screen and returns canned issuer documents
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/document/digilocker/* \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"redirectUrl": "https://your-app.example.com/digilocker/callback",
"requestedDocs": [
"panr",
"drvlc"
]
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SAND00DIGI001" ,
"endpoint" : "verify.document.digilocker.token" ,
"status" : "pending" ,
"data" : {
"consentUrl" : "https://sandbox.connexolve.in/digilocker/consent?state=sand_box_state_1"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 580
}
}
POST
/v1/verify/document/kyc-ocr
KYC OCR Plus — extract structured fields from PAN/Aadhaar/DL/Passport/VoterID with confidence + quality flags
▸
● Live
Typical latency · ~4 s
verify.document.kyc-ocr
Request body
Field Type Description
urlstring required Direct URL to image (JPEG/PNG) or PDF.
docTypesarray optional Hint list. Subset of PAN, AADHAAR, VOTER_ID, PASSPORT, DL.
pdfPasswordstring optional PDF password if encrypted. 'N' if not a PDF.
requiredConfidenceboolean optional Return per-field confidence scores. Default true.
returnQualityChecksarray optional ['ALL'] or subset of [BRIGHTNESS, BLUR, BLACK_AND_WHITE, CUT_CARD].
maskAadhaarImagestring optional EIGHT_DIGITS | TWELVE_DIGITS | NONE. Default EIGHT_DIGITS.
responseTypestring optional URL or BASE64. Default URL.
Sandbox magic values
PAN image docType=PAN with name/dob/pan/doi/father + 4 quality checks
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/document/kyc-ocr \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-host.com/pan.jpg",
"docTypes": ["PAN"],
"returnQualityChecks": ["ALL"]
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SANDBOXVERIFY_D" ,
"endpoint" : "verify.document.kyc-ocr" ,
"status" : "completed" ,
"data" : {
"documentType" : "PAN" ,
"pageNo" : 1 ,
"ocrData.name" : "AARAV SHARMA" ,
"ocrData.dob" : "15/08/1990" ,
"ocrData.pan" : "AAAAA0000A" ,
"ocrData.doi" : "25/10/2016" ,
"ocrData.father" : "RAJESH SHARMA" ,
"qualityChecks[0]" : "BRIGHTNESS (score 0.69, flag false)" ,
"qualityChecks[1]" : "BLACK_AND_WHITE (score 0.00, flag false)" ,
"qualityChecks[2]" : "BLUR (score 0.00, flag false)" ,
"qualityChecks[3]" : "CUT_CARD (score 0.21, flag false)"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 140
}
}
POST
/v1/verify/document/cheque-ocr
Extract structured fields from a cheque image: account, IFSC, MICR, cheque number, bank name + branch
▸
● Live
Typical latency · ~3 s
verify.document.cheque-ocr
Request body
Field Type Description
urlstring required Direct URL to cheque image (JPEG/PNG).
Sandbox magic values
cheque image extracts accNo, ifsc, micr, chequeNo, bankDetails
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/document/cheque-ocr \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-host.com/cheque.jpg"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SANDBOXVERIFY_D" ,
"endpoint" : "verify.document.cheque-ocr" ,
"status" : "completed" ,
"data" : {
"name" : "["AARAV SHARMA"]" ,
"accNo" : "50100000000001" ,
"chequeNo" : "000001" ,
"ifsc" : "SAND0000001" ,
"micr" : "110000001" ,
"bank" : "SANDBOX BANK" ,
"bankDetails.branch" : "DEMO BRANCH" ,
"bankDetails.city" : "NEW DELHI" ,
"bankDetails.state" : "DELHI"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 140
}
}
POST
/v1/verify/document/kyc-ocr-s
KYC OCR Silent — auto-classify and extract from PAN, Aadhaar, Voter ID, Passport, DL, utility bills
▸
● Live
Typical latency · ~4 s
verify.document.kyc-ocr-s
Request body
Field Type Description
urlsarray required Array of image URLs (JPEG, PNG, PDF). Multiple docs allowed.
Sandbox magic values
https://bgv.connexolve.in/test-assets/abu_pan.jpeg auto-detect PAN, return fields
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/document/kyc-ocr-s \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"urls": ["https://your-host.com/pan.jpg"]
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SANDBOXVERIFY_D" ,
"endpoint" : "verify.document.kyc-ocr-s" ,
"status" : "completed" ,
"data" : {
"docType" : "individualPan" ,
"status" : "completed" ,
"requestId" : "sandbox-kyc-ocr-s-0001"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 140
}
}
09
Data Quality
Name and address normalisation, reverse geocoding, geo-fencing — building blocks for clean onboarding.
POST
/v1/verify/address/geocode
Reverse geocode — convert lat/lng into a structured address with confidence score
▸
● Live
Typical latency · ~600 ms
verify.address.geocode
Request body
Field Type Description
latitudestring required Latitude (as string).
longitudestring required Longitude (as string).
Sandbox magic values
28.613939, 77.209023 Connaught Place, New Delhi
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/address/geocode \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"latitude": "28.613939",
"longitude": "77.209023"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SANDBOXVERIFY_A" ,
"endpoint" : "verify.address.geocode" ,
"status" : "completed" ,
"data" : {
"address" : "XX2V+8XX, SANDBOX BUILDING, DEMO ROAD, NEW DELHI, DELHI 110001, INDIA" ,
"latitude" : "28.613939" ,
"longitude" : "77.209023" ,
"confidenceScore" : 1 ,
"city" : "NEW DELHI" ,
"state" : "DELHI" ,
"stateCode" : "DL" ,
"country" : "INDIA" ,
"countryCode" : "IN" ,
"zipcode" : "110001"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 140
}
}
POST
/v1/verify/address/geo-fence
Geo fence by IP — resolve IP to country/state/city and validate against expected location
▸
● Live
Typical latency · ~500 ms
verify.address.geo-fence
Request body
Field Type Description
ipstring required IPv4 or IPv6 address to check.
countrystring required Expected 2-letter ISO country code (e.g. IN).
statestring required Expected 2-letter state code (e.g. DL).
Sandbox magic values
8.8.8.8 + IN + DL validUser=true if resolved state matches
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/address/geo-fence \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"ip": "8.8.8.8",
"country": "IN",
"state": "DL"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SANDBOXVERIFY_A" ,
"endpoint" : "verify.address.geo-fence" ,
"status" : "completed" ,
"data" : {
"ip" : "8.8.8.8" ,
"country" : "INDIA" ,
"countryCode" : "IN" ,
"state" : "DELHI" ,
"stateCode" : "DL" ,
"city" : "NEW DELHI" ,
"zipCode" : "110001" ,
"latitude" : 28.6139 ,
"longitude" : 77.209 ,
"asn" : "4755" ,
"riskip" : false ,
"validUser" : true
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 140
}
}
POST
/v1/verify/address/match
Score similarity between two address strings; returns score + auto-parsed structure of both inputs
▸
● Live
Typical latency · ~400 ms
verify.address.match
Request body
Field Type Description
address1string required First address string.
address2string required Second address string.
Sandbox magic values
matching pair score ≥ 0.80 → match=true
non-matching pair score < 0.80 → match=false
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/address/match \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"address1": "Flat 12B, Sandbox Apartments, Demo Road, New Delhi 110001",
"address2": "12B Sandbox Apts, Demo Rd, Delhi 110001"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SANDBOXVERIFY_A" ,
"endpoint" : "verify.address.match" ,
"status" : "completed" ,
"data" : {
"score" : 0.82 ,
"match" : true ,
"address1.house" : "FLAT 12B" ,
"address1.street" : "DEMO ROAD" ,
"address1.pin" : 110001 ,
"address1.state" : "DELHI"
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 140
}
}
POST
/v1/verify/address/split
Parse a free-form address into structured components: house, building, street, locality, landmark, pin
▸
● Live
Typical latency · ~300 ms
verify.address.split
Request body
Field Type Description
addressstring required Address as a single free-form string.
inferStateboolean optional If true, infer state from PIN code. Default false.
Sandbox magic values
contains a PIN code Pin field populated; State inferred when inferState=true
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/address/split \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"address": "Flat 12B, Sandbox Apartments, Demo Road, Near Sandbox Metro, New Delhi 110001"
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SANDBOXVERIFY_A" ,
"endpoint" : "verify.address.split" ,
"status" : "completed" ,
"data" : {
"House" : "FLAT 12B" ,
"Floor" : "1" ,
"Building" : "SANDBOX APARTMENTS" ,
"Street" : "DEMO ROAD" ,
"locality" : "SANDBOX COMPLEX" ,
"Landmark" : "NEAR SANDBOX METRO" ,
"Pin" : 110001
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 140
}
}
POST
/v1/verify/name/match
Score similarity between two person names, with reorder + partial-match tolerance options
▸
● Live
Typical latency · ~200 ms
verify.name.match
Request body
Field Type Description
name1string required First name string.
name2string required Second name string.
typestring optional 'individual' (default) or 'business'.
presetstring optional Threshold preset; 's' = standard.
allowPartialMatchboolean optional If true, partial token overlaps still match.
suppressReorderPenaltyboolean optional If true, word ordering doesn't reduce score.
Sandbox magic values
AARAV SHARMA vs SHARMA AARAV score ~0.85 with reorder suppression on
Example request
copy
curl -X POST https://sandbox.connexolve.in/v1/verify/name/match \
-H "Authorization: Bearer cnx_test_…" \
-H "Content-Type: application/json" \
-d '{
"name1": "AARAV SHARMA",
"name2": "AARAV K SHARMA",
"type": "individual",
"preset": "s",
"allowPartialMatch": true,
"suppressReorderPenalty": true
}'
Example responses
200 Success
copy
{
"success" : true ,
"verificationId" : "cnxv_01JZ9SANDBOXVERIFY_N" ,
"endpoint" : "verify.name.match" ,
"status" : "completed" ,
"data" : {
"score" : 0.85 ,
"result" : true
},
"billing" : {
"charged" : false ,
"amount" : 0 ,
"currency" : "INR"
},
"meta" : {
"environment" : "test" ,
"latencyMs" : 140
}
}
99
Verification bundles
Single endpoints answer one question. Bundles answer the questions you actually have — onboarding a vendor, hiring an employee, accepting a customer. Each bundle is a single API call that orchestrates several underlying verifications and returns one normalized envelope.
01
Full identity KYC
Selfie → ID document photo extracted → biometric match score + liveness pass. The full digital onboarding chain.
verify.identity.dl → verify.identity.face-match → verify.identity.face-liveness
₹100–150 typical price12–18s end-to-end
02
Fraud check
Run mobile + email + sanctions in parallel. Returns a single rolled-up risk score.
screen.mobile-silent → screen.email-fraud → screen.mobile-mnrl → screen.negative-diligence
₹15–25 typical price~5s
03
Document forgery check
Detect forged ID documents alongside liveness — the combined output is required for many regulated onboardings.
verify.document.forgery → verify.identity.face-liveness
₹15–25 typical price~5s
04
Professional membership router
Pass body_type=CA/CS/CMA — Connexolve routes to the right institute and returns a normalized response.
verify.membership.ca → verify.membership.cs → verify.membership.cma
₹15–25 typical price~3s
05
Full business verification
Onboard a B2B vendor in one call. Confirms MSME registration, MCA filings, IEC status, sanctions clean, and TAN identity.
verify.company.udyam → verify.company.mca.master → verify.company.iec → screen.negative-diligence → verify.company.tan
₹150–250 typical price~15s
06
Director due diligence
DIN → all companies they direct, with master data for each. Used in KYC and corporate background checks.
verify.company.roc.director → verify.company.mca.master
₹25–50 typical price~7s
07
Employment claim verification
Mobile → UAN → past employers → confirm month-specific employment. Verifies tenure claims for hiring.
verify.employment.uan-lookup → verify.employment.uan → verify.employment.epfo-name-search
₹50–100 typical price12–25s
08
Credit bureau report
Full credit history, score, account list. Consent-required.
verify.financial.credit-report
₹50–150 typical price~8s
09
Vehicle forensic verification
Detect stolen-and-rebadged vehicles by cross-checking engine/chassis with RC and FASTag issuer history.
verify.utility.vehicle-rc → verify.utility.vehicle-rc-reverse → verify.utility.fastag
₹50–75 typical price~5s
10
Address utility verification
Confirm someone lives at a claimed address using utility bills they couldn't fake.
verify.utility.electricity → verify.utility.property-tax → verify.utility.png
₹20–30 typical price~4s
11
Dynamic bank validation
Send a small random amount, customer confirms what they saw. Validates the customer actually owns the account.
verify.financial.bank-dynamic.send → verify.financial.bank-dynamic.verify
₹15–25 typical price~5s (plus user-facing OTP wait)
12
Company TAN identity
TAN → name → CIN cross-check. Lightweight KYC for B2B onboarding when full Udyam+MCA isn't needed.
verify.company.tan → verify.company.mca.master
₹5–10 typical price~9s
Connexolve Infotech Private Limited · CIN U62011WB2026PTC287766 · Kalighat, Kolkata 700026 · api@connexolve.in · directors@connexolve.in
DPIIT-recognised startup. All API responses returned by Connexolve are sourced from authorised data providers and government registries. © 2026 Connexolve Infotech Private Limited.