Connexolve API
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.


"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.

HTTPCodeRetryableMeaning
400CNX_INVALID_INPUTNoMissing or malformed field.
400CNX_INVALID_IDENTIFIERNoIdentifier format wrong (bad PAN regex, etc.).
401CNX_AUTH_INVALIDNoBad or revoked key.
401CNX_KEY_ENVIRONMENT_MISMATCHNoLive key sent to sandbox, or vice-versa.
402CNX_INSUFFICIENT_BALANCENoPrepaid wallet too low. No upstream call made.
403CNX_IP_NOT_ALLOWEDNoSource IP not in key allowlist.
404CNX_NOT_FOUNDNoUnknown verificationId.
409CNX_IDEMPOTENCY_CONFLICTNoSame Idempotency-Key, different body.
422CNX_NO_RECORD_FOUNDNoConclusive — record doesn't exist. Billable on live.
429CNX_RATE_LIMITEDYesPer-key rate limit exceeded.
502CNX_PROVIDER_ERRORYesConnexolve upstream returned an error.
503CNX_SOURCE_UNAVAILABLEYesGovernment / source system temporarily down.
504CNX_SOURCE_TIMEOUTYesSource took longer than the timeout.
500CNX_INTERNAL_ERRORYesConnexolve-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).

// 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 containsOutcome
ZZZZZ0000Z in any identifier fieldCNX_SOURCE_UNAVAILABLE (503, retryable, never billed)
PAN AAAAA0000Asuccess, name "AARAV SHARMA"
PAN AAAAA9999ACNX_NO_RECORD_FOUND (422, billable on live)
Mobile 9000000001used across endpoints — UAN lookup, MNRL match, silent KYC, etc.
Name CLEAN PERSONzero matches in negative-diligence
Name SANCTIONED PERSON3 hits across sanctions + PEP + adverse media
OTP 000000 in any otp fieldOTP-step confirmations succeed
Idempotency-Key reused on same bodyreturns original result, no double charge
Idempotency-Key reused on different bodyCNX_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

FieldTypeDescription
panstringrequired10-character PAN (5 letters · 4 digits · 1 letter).
namestringoptionalClaimed name for cross-check. Returns a fuzzy match score.

Sandbox magic values

AAAAA0000Asuccess — returns name "AARAV SHARMA"
AAAAA9999Ano record — billable on live
ZZZZZ0000Zsource unavailable — retryable, never billed

Example request


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


{
  "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
  }
}

{
  "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

FieldTypeDescription
dlNumberstringrequiredDL number including state prefix (e.g. DL0120240001234).
dateOfBirthstringrequiredDate of birth as DD/MM/YYYY.

Sandbox magic values

DL0120240001234 + 15/01/1990success — full RTO record with photo
DL9920249999999 + 15/01/1990no record
DLZZ00000000000 + 15/01/1990source unavailable

Example request


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


{
  "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

FieldTypeDescription
epicNumberstringrequiredEPIC number printed on the Voter ID card.
includeRegionalLanguagebooleanoptionalInclude name in the regional language script (defaults to true).

Sandbox magic values

EPIC0000000001success — returns name in Tamil
EPIC0000000002success — returns name in Hindi
EPIC9999999999no record

Example request


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


{
  "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

FieldTypeDescription
fileNumberstringrequiredPassport file number from the application form.
dateOfBirthstringrequiredDate of birth as DD/MM/YYYY.

Sandbox magic values

PP0000000000001 + 15/01/1990success — MEA file found
PP0000000000099 + 15/01/1990no record

Example request


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


{
  "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

FieldTypeDescription
imageUrlstringrequiredPublic URL of the selfie image (JPEG/PNG).

Sandbox magic values

https://sandbox.connexolve.in/test/live-face.jpgisLive: true, score 0.94
https://sandbox.connexolve.in/test/spoof-photo.jpgisLive: false, score 0.31

Example request


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


{
  "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

FieldTypeDescription
imageUrl1stringrequiredURL of the first image (typically the selfie).
imageUrl2stringrequiredURL of the second image (typically the ID document).
includeFaceCountbooleanoptionalReturn number of faces detected in each image.

Sandbox magic values

Both URLs ending /test/same-person-a.jpg and /test/same-person-b.jpgmatch: yes, score 87
URLs containing /test/different-personmatch: no, score 4

Example request


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


{
  "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

FieldTypeDescription
mobilestringrequired10-digit Indian mobile number.
consentstringoptionalConsent string ('y' default).
countryCodestringoptionalDefault '91'.

Sandbox magic values

9999999999OTP sent, returns request_id

Example request


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


{
  "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

FieldTypeDescription
request_idstringrequiredrequest_id from /mobile-otp/start response.
otpstringrequired4 or 6 digit OTP entered by the user.

Sandbox magic values

123456OTP validated, provider returned

Example request


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


{
  "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

FieldTypeDescription
request_idstringrequiredrequest_id from /mobile-otp/start (NOT /verify).

Sandbox magic values

sandbox-mob-otp-0001returns full demo profile

Example request


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


{
  "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

FieldTypeDescription
mobilestringrequired10-digit Indian mobile number.
countryCodestringoptionalDefault '91'.

Sandbox magic values

9999999999OTP sent, returns referenceId

Example request


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


{
  "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

FieldTypeDescription
mobilestringrequired10-digit Indian mobile number.
referenceIdstringrequiredreferenceId from /mobile-otp-s/start.
otpstringrequiredOTP entered by the user.

Sandbox magic values

123456returns full profile + 4-month payment history

Example request


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


{
  "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

FieldTypeDescription
mobilestringrequired10-digit Indian mobile number registered with EPFO.

Sandbox magic values

9000000001success — returns 1 UAN
9000000002success — returns 2 UANs (multi-employer history)
9000000000no record

Example request


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


{
  "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

FieldTypeDescription
uanstringrequired12-digit Universal Account Number.

Sandbox magic values

100000000001success — 3 past employers
100000000099no record

Example request


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


{
  "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

FieldTypeDescription
establishmentIdstringrequired15-character EPFO establishment ID (e.g. DLNDL00000010000001).
monthsintegeroptionalHow many months of contribution history to fetch. Default 6, max 12.

Sandbox magic values

DLNDL00000010000001success — Sandbox Technologies Pvt Ltd profile
ZZZZZ00000099999999no record

Example request


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


{
  "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
  }
}
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

FieldTypeDescription
companyNamestringrequiredCompany name (partial match supported).

Sandbox magic values

SANDBOXreturns 2 matching CINs
UNKNOWN COMPANY XYZno records

Example request


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


{
  "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

FieldTypeDescription
cinstringrequired21-character CIN or LLPIN.

Sandbox magic values

U72900DL2018PTC000001success — Sandbox Technologies profile
U00000XX0000PTC999999no record

Example request


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


{
  "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

FieldTypeDescription
cinstringrequired21-character CIN.

Sandbox magic values

U72900DL2018PTC000001success — 3 directors

Example request


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


{
  "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

FieldTypeDescription
companyNamestringrequiredCompany name.

Sandbox magic values

SANDBOXreturns 2 CINs

Example request


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


{
  "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

FieldTypeDescription
dinstringrequired8-digit Director Identification Number.

Sandbox magic values

10000001success — 2 active directorships

Example request


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


{
  "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

FieldTypeDescription
tanstringrequired10-character TAN.

Sandbox magic values

DELS00001Asuccess — Sandbox Technologies Private Limited

Example request


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


{
  "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

FieldTypeDescription
udyamNumberstringrequiredUdyam Registration Number (UDYAM-XX-NN-NNNNNNN).

Sandbox magic values

UDYAM-DL-01-0000001success — full profile + structured NIC

Example request


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


{
  "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

FieldTypeDescription
iecstringrequired10-character IEC.

Sandbox magic values

AAACS0001Asuccess — full DGFT profile

Example request


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


{
  "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

FieldTypeDescription
registrationNumberstringrequiredShop & Establishment registration number.
statestringrequiredFull state name in uppercase (e.g. KARNATAKA).

Sandbox magic values

SHOP-DL-2024-0000001 + DELHIsuccess — full record

Example request


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


{
  "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

FieldTypeDescription
tinNumberstringrequired11-digit state TIN.

Sandbox magic values

19000000001success

Example request


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


{
  "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

FieldTypeDescription
gstinstringrequired15-character GSTIN. Format: 2 digits state code + 10 char PAN + 1 entity code + Z + checksum.

Sandbox magic values

07AAACS0001A1Z5success — active GSTIN of Sandbox Technologies
07AAACS9999A1Z5no record

Example request


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


{
  "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

FieldTypeDescription
gstinstringrequired15-character GSTIN.

Sandbox magic values

07AAACS0001A1Z5success with 24-month filing history
07AAACS9999A1Z5no record

Example request


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


{
  "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

FieldTypeDescription
membershipNumberstringrequiredICAI membership number.

Sandbox magic values

100001success — CA profile

Example request


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


{
  "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

FieldTypeDescription
membershipNumberstringrequiredICSI membership number (A or F prefix).

Sandbox magic values

A00001success — CS profile with photo

Example request


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


{
  "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

FieldTypeDescription
membershipNumberstringrequiredICMAI membership number.

Sandbox magic values

10001success — CMA name

Example request


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


{
  "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
  }
}

Contactability

POST /v1/verify/contact/email Email verification — deliverability, MX records, disposable + webmail detection
● Live Typical latency · ~600 ms verify.contact.email

Request body

FieldTypeDescription
emailstringrequiredThe email address to verify.

Sandbox magic values

sandbox@connexolve.invalid email
ZZZZZ0000Z@example.comsource unavailable

Example request


curl -X POST https://sandbox.connexolve.in/v1/verify/contact/email \
  -H "Authorization: Bearer cnx_test_…" \
  -H "Content-Type: application/json" \
  -d '{
  "email": "sandbox@connexolve.in"
}'

Example responses


{
  "success": true,
  "verificationId": "cnxv_01JZ9SANDBOXVERIFY_C",
  "endpoint": "verify.contact.email",
  "status": "completed",
  "data": {
    "email": "sandbox@connexolve.in",
    "result": "valid",
    "deliverable": true,
    "disposable": false,
    "webmail": false,
    "smtp_check": true,
    "mx_records": true,
    "blocked": false
  },
  "billing": {
    "charged": false,
    "amount": 0,
    "currency": "INR"
  },
  "meta": {
    "environment": "test",
    "latencyMs": 140
  }
}
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

FieldTypeDescription
accountNumberstringrequiredBeneficiary account number.
ifscstringrequired11-character IFSC code.
nameToVerifystringoptionalClaimed account holder name — returns fuzzy match score.

Sandbox magic values

Account 50000000000001 + IFSC SAND0000001success — name match

Example request


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


{
  "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

FieldTypeDescription
accountNumberstringrequiredBeneficiary account number.
ifscstringrequired11-character IFSC code.

Sandbox magic values

Account 50000000000001 + IFSC SAND0000001success — returns referenceId

Example request


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


{
  "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

FieldTypeDescription
referenceIdstringrequiredReference ID from the /send call.
amountstringrequiredAmount the user saw credited (decimal with paise, e.g. "1.05").

Sandbox magic values

referenceId sandbox_ref_dyn_001 + amount 1.05amountMatch: true
referenceId sandbox_ref_dyn_001 + amount 9.99amountMatch: false

Example request


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


{
  "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

FieldTypeDescription
panstringrequiredPAN of the data subject.
mobilestringrequiredMobile registered with the credit bureau.
namestringrequiredFull name as on PAN.
dateOfBirthstringrequiredDD/MM/YYYY.
consentArtifactobjectrequiredConsent metadata (timestamp, IP, messageId).

Sandbox magic values

PAN AAAAA0000A + mobile 9000000001success — score 750, 12 active accounts

Example request


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


{
  "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

FieldTypeDescription
ifscstringrequired11-character IFSC.

Sandbox magic values

SAND0000001valid IFSC → Sandbox Bank, Demo Branch
XXXX0000000not found
ZZZZZ0000Zsource unavailable (universal)

Example request


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


{
  "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

FieldTypeDescription
accountNumberstringrequiredBank account number to verify.
ifscstringrequired11-character IFSC of the destination.
nameToVerifystringrequiredAccount holder name.
mobilestringoptionalMobile linked to the account (enables mobileMatch).
thresholdnumberoptionalName match threshold, 0–1. Default 0.9.

Sandbox magic values

SAND0000001 + 50100000000001ACCOUNT_VALID, nameMatch=yes, score 1.0
XXXX0000000ACCOUNT_INVALID

Example request


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


{
  "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

FieldTypeDescription
ifscstringrequired11-character IFSC of the destination bank.
accountNumberstringrequiredAccount number to verify.
custNamestringoptionalAccount holder name; enables name-match scoring.
programIdstringoptional310 = penny-drop · 311 = penny-less · 312 = hybrid. Default 310.
txnTypestringoptionalANY · IMPS · NACH · UPI. Default IMPS.

Sandbox magic values

SAND0000001account valid, name matched 100%
XXXX0000000account invalid

Example request


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


{
  "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

FieldTypeDescription
origRequestIdstringrequiredOriginal requestId from /bank-account-v1 call.
programIdstringoptionalMust match programId used in the original call.

Sandbox magic values

sandbox-bnk-v1-0001returns ACCEPTED / ACCOUNT_VALID

Example request


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


{
  "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

FieldTypeDescription
namestringrequiredFull name of the subject.
dateOfBirthstringoptionalDD/MM/YYYY — improves match accuracy.
nationalitystringoptionalISO country code (IN, US, GB, etc.).
includeCategoriesarrayoptionalFilter to specific categories: SANCTIONS, PEP, ADVERSE_MEDIA, REGULATORY, LAW_ENFORCEMENT.

Sandbox magic values

CLEAN PERSONno matches
SANCTIONED PERSON3 matches across SANCTIONS + PEP + ADVERSE_MEDIA

Example request


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


{
  "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
  }
}

{
  "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

FieldTypeDescription
mobilestringrequired10-digit mobile number.

Sandbox magic values

9000000000clean — not in MNRL
9000000001revocation hit

Example request


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


{
  "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

FieldTypeDescription
mobilestringrequired10-digit mobile number.
includeAdditionalbooleanoptionalInclude porting and original-network details.

Sandbox magic values

9000000001success — Jio postpaid, ported from Airtel

Example request


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


{
  "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

FieldTypeDescription
ipstringrequiredIPv4 or IPv6 address.

Sandbox magic values

203.0.113.1clean — score 5/100
203.0.113.99high risk — VPN + Tor + abuse

Example request


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


{
  "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

FieldTypeDescription
emailstringrequiredEmail address to check.

Sandbox magic values

user@sandbox.connexolve.inmoderate risk — score 500
anyone@10minutemail.comhigh risk — disposable email

Example request


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


{
  "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

FieldTypeDescription
namestringrequiredFull candidate name. Lowercase/uppercase irrelevant — search is case-insensitive.
father_namestringoptionalFather's name — used to disambiguate homonyms and raise confidence tier.
dobstringoptionalDate of birth, DD-MM-YYYY / YYYY-MM-DD / DDMMYYYY. Used to filter case filings before candidate's 14th birthday.
statestringoptional2-letter state code (DL, MH, KA, TN, etc.) to scope search and detect cross-state homonyms.
citystringoptionalCity — auto-resolves state if state is empty.

Sandbox magic values

name = AARAV SHARMACLEAR verdict — no records found across all variants
name = RECORDS PERSONRECORDS_FOUND verdict — 4 cases including high-confidence criminal (planned magic value, contact support)
Any name with ZZZZZCNX_SOURCE_UNAVAILABLE — simulated upstream eCourts outage

Example request


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


{
  "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

FieldTypeDescription
rcNumberstringrequiredRegistration number (no spaces, e.g. DL01AB1234).

Sandbox magic values

DL01AB1234success — Sandbox Honda Activa

Example request


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


{
  "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

FieldTypeDescription
engineNumberstringrequiredEngine number stamped on the vehicle.
chassisNumberstringrequiredFull chassis number.

Sandbox magic values

ENG0000001 + CHS0000000000001success — links to DL01AB1234

Example request


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


{
  "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

FieldTypeDescription
vehicleNumberstringrequiredRegistration number.

Sandbox magic values

DL01AB1234success — active tag, Sandbox Bank issuer

Example request


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


{
  "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

FieldTypeDescription
consumerNumberstringrequiredProvider-issued consumer number.
serviceProviderstringrequiredElectricity provider code (e.g. BSES, MSEB, BESCOM).
registeredMobilestringoptionalMobile registered with the provider — improves accuracy.

Sandbox magic values

Consumer 04000000000 + provider SANDBOX_ELECsuccess — bill due

Example request


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


{
  "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

FieldTypeDescription
statestringrequiredFull state name in uppercase.
citystringrequiredCity name.
propertyNumberstringrequiredMunicipal assessee/property number.
ulbstringoptionalUrban Local Body name (full uppercase).

Sandbox magic values

State DELHI, city NEW DELHI, propertyNumber 110000000001success — full property record

Example request


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


{
  "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

FieldTypeDescription
bpNumberstringrequiredBusiness Partner number from the PNG provider.
serviceProviderstringrequiredPNG provider code (e.g. SANDBOX_GAS).

Sandbox magic values

BP number 1234567890 + provider SANDBOX_GASsuccess

Example request


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


{
  "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

FieldTypeDescription
lpgIdstringrequired17-digit LPG ID.

Sandbox magic values

70000000000000001success

Example request


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


{
  "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

FieldTypeDescription
imageUrlsarrayrequiredOne or more image URLs to analyze.
textFieldsobjectoptionalText to look for inside the image (cross-check).
thresholdintegeroptionalScore above which to flag as forged. Default 20.

Sandbox magic values

URL containing /test/clean-document.jpgNot Forged
URL containing /test/forged-document.jpgForged — splice + webcheck flags

Example request


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


{
  "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

FieldTypeDescription
redirectUrlstringrequiredWhere to send the user after consent.
requestedDocsarrayoptionalDocument types to request (drvlc, panr, ADHAR, etc.).

Sandbox magic values

This is an OAuth flowSandbox simulates a mock consent screen and returns canned issuer documents

Example request


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


{
  "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

FieldTypeDescription
urlstringrequiredDirect URL to image (JPEG/PNG) or PDF.
docTypesarrayoptionalHint list. Subset of PAN, AADHAAR, VOTER_ID, PASSPORT, DL.
pdfPasswordstringoptionalPDF password if encrypted. 'N' if not a PDF.
requiredConfidencebooleanoptionalReturn per-field confidence scores. Default true.
returnQualityChecksarrayoptional['ALL'] or subset of [BRIGHTNESS, BLUR, BLACK_AND_WHITE, CUT_CARD].
maskAadhaarImagestringoptionalEIGHT_DIGITS | TWELVE_DIGITS | NONE. Default EIGHT_DIGITS.
responseTypestringoptionalURL or BASE64. Default URL.

Sandbox magic values

PAN imagedocType=PAN with name/dob/pan/doi/father + 4 quality checks

Example request


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


{
  "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

FieldTypeDescription
urlstringrequiredDirect URL to cheque image (JPEG/PNG).

Sandbox magic values

cheque imageextracts accNo, ifsc, micr, chequeNo, bankDetails

Example request


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


{
  "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

FieldTypeDescription
urlsarrayrequiredArray of image URLs (JPEG, PNG, PDF). Multiple docs allowed.

Sandbox magic values

https://bgv.connexolve.in/test-assets/abu_pan.jpegauto-detect PAN, return fields

Example request


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


{
  "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

FieldTypeDescription
latitudestringrequiredLatitude (as string).
longitudestringrequiredLongitude (as string).

Sandbox magic values

28.613939, 77.209023Connaught Place, New Delhi

Example request


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


{
  "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

FieldTypeDescription
ipstringrequiredIPv4 or IPv6 address to check.
countrystringrequiredExpected 2-letter ISO country code (e.g. IN).
statestringrequiredExpected 2-letter state code (e.g. DL).

Sandbox magic values

8.8.8.8 + IN + DLvalidUser=true if resolved state matches

Example request


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


{
  "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

FieldTypeDescription
address1stringrequiredFirst address string.
address2stringrequiredSecond address string.

Sandbox magic values

matching pairscore ≥ 0.80 → match=true
non-matching pairscore < 0.80 → match=false

Example request


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


{
  "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

FieldTypeDescription
addressstringrequiredAddress as a single free-form string.
inferStatebooleanoptionalIf true, infer state from PIN code. Default false.

Sandbox magic values

contains a PIN codePin field populated; State inferred when inferState=true

Example request


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


{
  "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

FieldTypeDescription
name1stringrequiredFirst name string.
name2stringrequiredSecond name string.
typestringoptional'individual' (default) or 'business'.
presetstringoptionalThreshold preset; 's' = standard.
allowPartialMatchbooleanoptionalIf true, partial token overlaps still match.
suppressReorderPenaltybooleanoptionalIf true, word ordering doesn't reduce score.

Sandbox magic values

AARAV SHARMA vs SHARMA AARAVscore ~0.85 with reorder suppression on

Example request


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


{
  "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.dlverify.identity.face-matchverify.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-silentscreen.email-fraudscreen.mobile-mnrlscreen.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.forgeryverify.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.caverify.membership.csverify.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.udyamverify.company.mca.masterverify.company.iecscreen.negative-diligenceverify.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.directorverify.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-lookupverify.employment.uanverify.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-rcverify.utility.vehicle-rc-reverseverify.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.electricityverify.utility.property-taxverify.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.sendverify.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.tanverify.company.mca.master
₹5–10 typical price~9s