POSTValidate PAN
Validate the sender's PAN to complete PPI Levin KYC and return the updated wallet profile.
Submits the sender's PAN to finish PPI Levin onboarding KYC. On success the response returns the updated customer_profile (with the verified sender name and recalculated limits).
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
customer_id | string | required | Sender's 10-digit mobile number.e.g. 9444444444 |
customer_idstringRequiredSender's 10-digit mobile number.
example: 9444444444
Body parameters
| Field | Type | Required | Description |
|---|---|---|---|
initiator_id | string | required | Registered mobile number of the API user (see Platform Credentials).e.g. 9962981729 |
user_code | string | required | User code of the retailer/agent the service is run for.e.g. 20810200 |
client_ref_id | string | optional | Unique reference id per API call, generated by your system.e.g. REQ-20260101-001 |
pan_number | string | optional | The PAN number of the sender.e.g. ABCDE1234F |
wallet_id | string | optional | Wallet identifier, when applicable.e.g. |
wallet_token | string | optional | Wallet authentication token, when applicable.e.g. |
initiator_idstringRequiredRegistered mobile number of the API user (see Platform Credentials).
example: 9962981729
user_codestringRequiredUser code of the retailer/agent the service is run for.
example: 20810200
client_ref_idstringoptionalUnique reference id per API call, generated by your system.
example: REQ-20260101-001
pan_numberstringoptionalThe PAN number of the sender.
example: ABCDE1234F
wallet_idstringoptionalWallet identifier, when applicable.
example:
wallet_tokenstringoptionalWallet authentication token, when applicable.
example:
Headers
| Field | Type | Required | Description |
|---|---|---|---|
developer_key | string | required | Static API key issued to your account after KYC. |
secret-key | string | required | Dynamic per-request signature: base64(HMAC-SHA256(timestamp, base64(access_key))). |
secret-key-timestamp | string | required | Current time in milliseconds since UNIX epoch, used to compute secret-key. Must match server time. |
content-type | string | required | application/jsone.g. application/json |
developer_keystringRequiredStatic API key issued to your account after KYC.
secret-keystringRequiredDynamic per-request signature: base64(HMAC-SHA256(timestamp, base64(access_key))).
secret-key-timestampstringRequiredCurrent time in milliseconds since UNIX epoch, used to compute secret-key. Must match server time.
content-typestringRequiredapplication/json
example: application/json
Responses
statusnumberPrimary success indicator (0 = success).
messagestringHuman-readable response / error message.
response_status_idnumberGranular status id; see the shared error-codes table.
response_type_idnumberA unique id for every possible response shape (success or error) — useful for client logic branching and analytics.
dataobjectAPI-specific response payload.
customer_profileobjectUpdated wallet profile with verified sender name and recalculated limits.
namestringVerified registered name of the sender.
next_allowed_limitstringRemaining transfer limit for the period (INR).
balancestringCurrent wallet balance (INR).
sender_namestringVerified name of the sender.
next_allowed_limitnumberRemaining transfer limit at the top level (INR).