KYC sharing accepts customers from India (
IND). For US customers, use the KYC SDK.Flow
1. Create the customer
Create a customer withPOST /customer/create and save its id. See the customer object.
2. Get the KYC configuration
Your organization’s configuration decides which documents are accepted and which extra fields you must send. Read it once per customer country.3. Submit the KYC data
Send the verified data withPOST /kyc/add-kyc-data. The customer moves to PROCESSING.
string
required
The customer, their legal name, their phone number without country code (9–10 digits), and their full residential address.
string (DD-MM-YYYY)
required
Date of birth, and the date the user registered on your platform.
string
required
One of
supported_document_types from step 2.string (URL)
JPG, JPEG, PNG or PDF. Required for every document type except
AADHAAR, which also accepts aadhaar_json or aadhaar_xml in document_details.additional_data.string
required
The document’s number (for a passport, the file number): 6–20 letters, digits or hyphens.
string (URL)
required
JPG, JPEG or PNG. The face must be clearly visible.
string
Optional. The PAN in India.
object
The fields your configuration requires.
string
Optional. The end user’s IP address.
4. Wait for the result
Zapyd runs these checks. The first one that fails sets thefailure_reason:
Most results arrive within 60 seconds. Manual review can take up to 24 hours. Zapyd sends the result as a
CUSTOMER webhook:
GET /customer/{customer_id} no more than once a minute and read status and failure_reason.
5. Fix a failure
Resubmit only the part that failed. Each update moves the customer back toPROCESSING and uses one of the customer’s three attempts.
PATCH /cms/api/v1/kyc/update-tax-info
KYC_FAILED means the customer can’t be verified. Don’t retry. Contact support with the customer_id.
Usual causes of a failure: blurry images, an expired document, a name that differs between documents, or a mistyped tax number. Show the user what to fix before they use another attempt.
Test it in sandbox
- Create a customer and submit KYC data with any well-formed values.
- Set a result with Mock KYC Status.
kyc_statusacceptsVERIFIED,UNVERIFIED,DOCUMENT_VERIFICATION_FAILED,TAX_VERIFICATION_FAILEDandADDITIONAL_INFO_VERIFICATION_FAILED. - Check that your webhook handler and your update flow work, then set
VERIFIED.