See the flow
An interactive demo of every screen an Indian user sees.
Already verify users?
Use KYC sharing to submit data you collected.
Flow
1. Generate the link
Create the customer first, then callPOST /kyc/generate-link.
2. Send the user to the link
Openurl in the browser, a new tab or a webview. When the user finishes, Zapyd sends them to your redirect_url. It’s optional: without it, Zapyd uses the redirect URL set for your organization.
If you embed the flow in a webview or an iframe, allow camera access. The selfie step needs it.
3. What the user does (India)
Indian users need Aadhaar or a passport, and a PAN. The flow runs three checks in order.1
PAN
The user enters their name, date of birth and PAN. Zapyd checks that the PAN is valid, belongs to an individual, matches the name and date of birth, and is linked to an Aadhaar.
2
Identity document
Aadhaar: the user authenticates with an OTP through DigiLocker, so there’s nothing to upload. Passport: the user uploads the front and back pages. Zapyd runs forgery detection and OCR, then matches the name and date of birth with the PAN.
3
Liveness and face match
The user takes a live selfie. Zapyd confirms it isn’t a photo of a photo, then matches the face with the document.
VERIFIED.
4. Get the result
Most results arrive within minutes. Manual review can take up to 2 hours. Zapyd sends aCUSTOMER webhook:
GET /customer/{customer_id} no more than once a minute.
5. Handle a failure
OnFAILED, read metadata.failure_reason, tell the user what went wrong, and generate a new link. Each customer has three attempts.