Quickstart
5-minute integration · sandbox · first PAN verify.
1 · Get your sandbox key
Sign up at kyc.zyroai.com/signup · receive email · click verify · get key.
2 · Make first call
curl -X POST https://api.kyc.zyroai.com/v1/identity/pan/verify \
-H "Authorization: Bearer kos_sandbox_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"pan":"ABCDE1234F","name":"John Doe","customerId":"cust-001"}'
3 · Inspect response
{
"verificationId": "a1b2...",
"outcome": "Verified",
"panMasked": "XXXXX0000X",
"name": "John Doe",
"category": "Individual",
"kycCompliant": true,
"latencyMs": 312,
"provider": "nsdl-stub"
}
Auth · API keys
Bearer token. Sandbox keys start kos_sandbox_ · production kos_live_. Rotate via dashboard or DELETE /v1/keys/{id}.
Scopes per key (least privilege): identity:write · face:write · billing:read · etc. See full scope matrix in dashboard.
Block reference
16 single-block + N tenant-custom journeys. Each call meter-debited from wallet.
POST /v1/identity/pan/verify· NSDL · ₹1.50POST /v1/identity/aadhaar/otp/{start,confirm}· UIDAI sub-AUA · ₹3.00POST /v1/identity/digilocker/session· ₹6.00POST /v1/ocr/id-card· PaddleOCR · ₹2.00POST /v1/face/match· InsightFace · ₹2.00POST /v1/liveness/check· Silent-Face · ₹1.50POST /v1/vcip· ₹35.00 (full session)POST /v1/ckyc/{search,download}· Cersai · ₹35.00 gov passthroughPOST /v1/bureau/pull· CIBIL/Experian · ₹15.00POST /v1/bank/verify· penny-drop · ₹1.00POST /v1/address/verify· India Post · ₹1.00POST /v1/selfie/score· ₹0.50POST /v1/screen· watchlist · ₹2.00POST /v1/esign/{initiate,complete}· NSDL eSign · ₹25.00
SDKs
Three first-party SDKs. All open source · Apache-2.0.
- Web ·
npm i @kycos/web-sdk· 5 KB gzip · React/Vue/Vanilla - Android · Maven ·
in.kycos:android-sdk:0.1.0· Kotlin · MinSdk 26 - iOS · SPM ·
github.com/kycos/ios-sdk· Swift · iOS 15+
Web · 3-line hosted flow
import { KycOs } from "@kycos/web-sdk";
const sdk = new KycOs({ tenantSlug: "acme", env: "sandbox" });
sdk.startHostedJourney({
templateCode: "t-individual-basic",
customerId: "user-12345",
mount: "#kyc-container",
onComplete: (r) => console.log("done", r),
});
Flow templates
20 pre-built · combine any blocks. SaaS-admin owns global · tenant owns custom.
- 16 single-block ·
t-pan-only·t-aadhaar-otp-only·t-face-only· etc - 4 multi-block ·
t-individual-basic·t-individual-full·t-vcip-flow·t-corporate - Custom ·
POST /v1/templateswith kebab-code + block array
Webhooks
HMAC-SHA256 signed · exponential retry · dead-letter · replay UI.
// header X-KycOs-Signature: t=1715000000,v1=abcdef... X-KycOs-Event-Type: kyc.identity.pan-verified X-KycOs-Delivery: d8a3f... X-KycOs-Source-Event: 7b2c1...
Verify:
const sig = req.headers['x-kycos-signature'];
const [t, v1] = sig.split(',');
const expected = hmacSha256(secret, `${t.slice(2)}.${rawBody}`);
if (v1.slice(3) !== expected) throw new Error('bad signature');
Billing · Wallet
Pre-funded · per-verify debit · low-balance webhook · auto-recharge via Razorpay (production).
GET /v1/wallet· current balance · currency · lifetime credit/debitPOST /v1/wallet/topup· add funds · returns ledger entryGET /v1/wallet/ledger· paginated history
DPDP · consent · DPO
Compliance built-in. No bolt-ons.
- Consent · purpose-limited · revocable · receipt PDF · hash-stable audit
- Erasure · 30-day SLA · auto-cascade across svcs
- Grievance officer · public form · 3-day ack · 30-day resolve
- Breach notification · CERT-In 6 hr · DPDP Board 72 hr · data-principal notification
- Audit trail · hash-chained · WORM S3 · 7-year retention
Errors · rate limits
Standard HTTP. Custom X-RateLimit-* headers. 429 with Retry-After.
400validation failed · response body has field errors401bad/expired API key402insufficient wallet balance · auto-topup or block403scope missing423block not live in your country (catalog gate)429rate limit · default 50 RPS per tenant
Compliance certs
- RBI Regulatory Sandbox · in flight
- DPDP 2023 · DPO registered · grievance officer · erasure API
- iBeta L1 · Q4 2026 target
- NIST FRVT · Q4 2026 target
- SOC 2 Type 1 · M9 target
- SOC 2 Type 2 · M24 target
- ISO 27001 · M15 target
- CERT-In annual VAPT · M3+