POSTUPI ID (VPA) Verification
Validate a UPI Virtual Payment Address (VPA) and retrieve the registered payee name and mobile number in real time.
Confirms whether a UPI ID (VPA) is active and returns the verified recipient name and registered mobile number. Use this before initiating any UPI transfer to reduce wrong-payee failures and payment fraud.
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 |
customer_vpaCustomer VPA | string | required | The UPI Virtual Payment Address (VPA / UPI ID) to validate, e.g. rajesh.kumar@okicici.e.g. rajesh.kumar@okicici |
recipient_mobile | string | required | Mobile number of the recipient linked to the VPA, used for additional verification.e.g. 9876543210 |
name | string | required | Name of the recipient as expected — returned for match validation against the bank-verified payee name.e.g. Rajesh Kumar |
latlong | string | required | Geo-coordinates of the request origination point (latitude,longitude).e.g. 28.6139,77.2090 |
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
customer_vpastringRequired· Customer VPAThe UPI Virtual Payment Address (VPA / UPI ID) to validate, e.g. rajesh.kumar@okicici.
example: rajesh.kumar@okicici
recipient_mobilestringRequiredMobile number of the recipient linked to the VPA, used for additional verification.
example: 9876543210
namestringRequiredName of the recipient as expected — returned for match validation against the bank-verified payee name.
example: Rajesh Kumar
latlongstringRequiredGeo-coordinates of the request origination point (latitude,longitude).
example: 28.6139,77.2090
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.
vpastringThe validated UPI Virtual Payment Address (VPA / UPI ID) exactly as registered.
validbooleanWhether the VPA is active and valid. true = valid VPA; false = invalid or inactive.
recipient_namestringVerified payee name as returned by the UPI network — use this for name-match checks before payment.
mobile_numberstringRegistered mobile number linked to the VPA.
transaction_idstringUnique transaction / verification request ID generated by Eko's system for audit and support reference.