Feel free to reach techsupport@surepass.io for any technical support or guidance.
client_id from the Search step and the customer's mobile number (used for validation only - the OTP is sent to the number on file in CKYC, not necessarily the number you pass). Returns a download_client_id for the Download step.client_id + mobile_numberAuthorization header as Bearer TOKEN.https://sandbox.surepass.iohttps://kyc-api.surepass.io| Header | Required | Description |
|---|---|---|
| Authorization | Yes | JWT Bearer token for API authentication |
| Content-Type | Yes | Must be set to application/json |
| Parameter | Type | Required | Description |
|---|---|---|---|
| client_id | String | Yes | client_id from the Search response |
| mobile_number | String | Yes | 10-digit mobile number for validation. The OTP is sent to the mobile registered in the customer's CKYC record, not this number. This number is used to confirm the customer knows their registered mobile. |
{
"client_id": "ckyc_EklilHGggwPXenefi",
"mobile_number": "8939809876"
}| Parameter | Type | Description |
|---|---|---|
| data | Object | Container for response data |
| data.client_id | String | New download_client_id to use for the Download step |
| data.otp_sent | Boolean | Whether the OTP was successfully sent |
| status_code | Integer | HTTP status code (200 for success) |
| success | Boolean | Overall operation success indicator |
| message | String | Human-readable response message |
| message_code | String | Machine-readable message identifier |
{
"data": {
"client_id": "ckyc_download_nNfWARdhysddWFiXddXF",
"otp_sent": true
},
"status_code": 200,
"success": true,
"message": "Success",
"message_code": "success"
}{
"data": null,
"status_code": 422,
"success": false,
"message": "Mobile Number not matched with CKYC.",
"message_code": "mobile_number_not_matched"
}mobile_number_not_matched), (2) mobile doesn't exist in CKYC (mobile_does_not_exist_ckyc), and (3) mobile not registered (mobile_not_registered). Handle each appropriately in your UI.download_client_id from this response + the OTP the customer receives to download full KYC datacurl --location --request POST 'https://kyc-api.surepass.app/api/v1/ckyc-v2/generate-otp' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"client_id": "ckyc_EklilHGggwPXenefi",
"mobile_number": "8939809876"
}'{
"data": {
"client_id": "ckyc_download_nNfWARdhysddWFiXddXF",
"otp_sent": true
},
"status_code": 200,
"success": true,
"message": "Success",
"message_code": "success"
}