Eko Platform Services Logo

PUTDaily KYC

Perform the mandatory daily biometric re-verification that authorises an agent to carry out AePS transactions for the current calendar day.

PUT/user/collection/aeps-fingpay/kyc/biometric/daily

Biometric-only re-verification for the days after the one-time eKYC — no OTP step is required. AePS Fingpay requires every agent to re-authenticate themselves biometrically at the start of each working day, before their first transaction of the day.

If this fails with reason Please complete bank eKYC to process the transaction., re-run the full first-time eKYC sequence — Send OTP → Verify OTP → Biometric — before retrying.

To capture the piddata PID block with an RDService-compliant fingerprint scanner, see the Aadhaar Biometric Authentication guide.

The aadhar parameter must be encrypted with Fingpay's RSA public key (PKCS#1 v1.5 padding) and Base64-encoded — never sent as plain text. See Aadhaar Encryption (Fingpay AePS) for how to get the production key and code samples.

Tip
This endpoint is one step in a complete workflow:
  • AePS (Fingpay) — Cash Withdrawal — Aadhaar-enabled cash withdrawal: one-time agent activation and eKYC, daily KYC, a transaction OTP for amounts above ₹5,000, then the biometric withdrawal.

Request

Body parameters

initiator_idstringRequired

Registered mobile number of the API user (see Platform Credentials).

example: 9962981729

client_ref_idstringoptional

Unique reference ID per API call, generated by your system (10–20 characters; 10 recommended). The SDKs generate one for every non-GET call when you don't.

example: 2026010100123456789

user_codestringRequired

Unique code of your user/agent/retailer the service is run for. Use `Onboard Agent` API to register your users

example: 20810200

aadharstringRequired

RSA-encrypted (PKCS#1 v1.5), Base64-encoded Aadhaar number of the agent performing Daily KYC. See the Aadhaar Encryption (Fingpay AePS) guide for the key and code samples.

example: BASE64_ENCRYPTED_AADHAAR

customer_idstringRequired

Registered mobile number of the agent/merchant.

example: 9123456789

latlongstringRequired

GPS coordinates of the agent's location at the time of daily KYC.

example: 28.6139,77.2090

piddatastringRequired

PID XML string from the UIDAI-certified biometric device (fType=2, Data type='X', mc in DeviceInfo). This represents the agent's own fingerprint, not the customer's. If you generate the PID block yourself, the value of `wadh` must be blank/empty for Daily KYC.

example: <?xml version='1.0'?><PidData><Data type='X'>...</Data><DeviceInfo mc='...' /></PidData>

bank_codestringRequired

Eko bank code of the agent's bank. Resolve it using the [Get List of Banks](./get-banks) API.

example: HDFC

Response types

response_type_idMeaningNext step
1713Daily KYC successful — the agent may transact today—
1714Daily KYC failed — if `data.reason` is 'Please complete bank eKYC to process the transaction.', re-run the full eKYC from Send OTPSend OTP (eKYC)

Responses

1713Daily KYC successful — the agent may transact today

  • statusnumber

    Primary success indicator (0 = success).

  • messagestring

    Human-readable response / error message.

  • response_status_idnumber

    UI display hint only (-1/0 success, 1 failure, 2 initiated, 3 refund initiated, 4 refunded). Never branch on it — use `status` (and `tx_status` for financial APIs), or `response_type_id` where documented.

  • response_type_idnumber

    A unique id for every possible response shape (success or error) — useful for client logic branching and analytics.

  • dataobject

    API-specific response payload.

    • user_codestring

      User code of the agent whose daily KYC is now complete for the current calendar day.

Next steps

Related