Identity
KYC Verification
POST
/api/marketplace/v1/kyc-verification starter+ planOverview
PAN + Aadhaar validation, name match, DOB match, address parsing. All persistence is masked — full PAN / Aadhaar never leaves the vault.
Use case
Any regulated onboarding flow — lending, insurance, broking, wallets.
Authentication
All requests require the X-API-Key header. Sandbox and live keys share the same base URL — the platform routes based on the key prefix.
Base URL
https://api.loan4bank.com/v3
Auth header
X-API-Key: <YOUR_KEY>
Request parameters
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
| pan_number | string | Required | 10-char PAN. | "ABCDE1234F" |
| name | string | Required | Full legal name as on PAN. | "Priya Sharma" |
| dob | string | Required | YYYY-MM-DD. | "1993-07-14" |
| aadhaar_last4 | string | Optional | Last 4 digits of Aadhaar (masked). | "1234" |
Response schema
| Field | Type | Description |
|---|---|---|
| data.verified | boolean | True on hard match. |
| data.pan_masked | string | First-4 + last-4 mask. |
| data.match_score | number | 0–1 fuzzy match confidence. |
| data.kyc_reference_id | string | Audit reference for the ledger. |
Sample request & response
Request · cURL
curl -X POST 'https://api.loan4bank.com/v3/marketplace/v1/kyc-verification' \
-H 'X-API-Key: <YOUR_KEY>' \
-H 'Content-Type: application/json' \
-d '{"pan_number":"ABCDE1234F","name":"Priya Sharma","dob":"1993-07-14","aadhaar_last4":"1234"}'Sample response
{
"status": "SUCCESS",
"message": "ok",
"data": {
"verified": true,
"pan_masked": "ABCD…234F",
"match_score": 0.98,
"kyc_reference_id": "kyc_ab12cd34"
}
}Want to hit this endpoint without leaving the docs? and use the in-modal runner — it's pre-loaded with this endpoint's sample body.
Error codes
| HTTP | Code | Fix |
|---|---|---|
| 400 | L4B-001 | Check the params table for the endpoint and re-send. |
| 401 | L4B-101 | Include the header on every request. |
| 401 | L4B-102 | Rotate via /developer/dashboard or grab a fresh sandbox key. |
| 402 | L4B-201 | Upgrade to the min plan shown in the endpoint's docs page. |
| 403 | L4B-301 | Toggle it on via `POST /developers/apis/toggle` or the dashboard. |
| 404 | L4B-401 | Verify the URL path and version prefix (`/v1/`). |
| 422 | L4B-421 | Check the response body for `detail` — it names the offending field. |
| 429 | L4B-491 | Backoff `Retry-After` seconds, or upgrade the plan. |
Rate limits by plan
| Plan | Monthly quota | Burst | Price |
|---|---|---|---|
| free | 100 calls | 10 / minute | ₹0 |
| starter | 5,000 calls | 60 / minute | ₹999 / month |
| growth | 25,000 calls | 240 / minute | ₹2,999 / month |
| enterprise | Unlimited | 1,200 / minute | Custom |
Changelog
See the platform changelog for version-level history covering this endpoint.