UPI VPA Verification — Account Holder Lookup
Verify any UPI VPA (Virtual Payment Address) and retrieve the linked account holder name. Instant validation for payment workflows.
curl -X GET "https://production.deepvue.tech/v1/verification/upi?vpa=example_string&name=John Doe" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN (JWT)" \
-H "x-api-key: YOUR_API_KEY"
import requests
import json
url = "https://production.deepvue.tech/v1/verification/upi?vpa=example_string&name=John Doe"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN (JWT)",
"x-api-key": "YOUR_API_KEY"
}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch("https://production.deepvue.tech/v1/verification/upi?vpa=example_string&name=John Doe", {
method: "GET",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN (JWT)",
"x-api-key": "YOUR_API_KEY"
}
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://production.deepvue.tech/v1/verification/upi?vpa=example_string&name=John Doe", nil)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN (JWT)")
req.Header.Set("x-api-key", "YOUR_API_KEY")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://production.deepvue.tech/v1/verification/upi?vpa=example_string&name=John Doe')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN (JWT)'
request['x-api-key'] = 'YOUR_API_KEY'
response = http.request(request)
puts response.body
{
"code": 200,
"timestamp": 1737634320519,
"transaction_id": "c149c0d2da834ab7b77870edb56d5a93",
"sub_code": "SUCCESS",
"message": "UPI Successfully Verified",
"data": {
"account_exists": true,
"name_at_bank": "NIHARIKA",
"name_information": {
"name_at_bank_cleaned": "Niharika"
}
}
}
{
"code": 200,
"timestamp": 1738007863367,
"transaction_id": "a91dedbc69844de4b54cb88f4e86ed64",
"sub_code": "INVALID_VPA",
"message": "Invalid VPA",
"data": {
"account_exists": false,
"name_at_bank": ""
}
}
{
"detail": "Inactive client_id"
}
{
"detail": "Not authenticated"
}
{
"detail": "Not a valid token"
}
{
"code": 422,
"timestamp": 1737920869344,
"transaction_id": "fade8a2518dd4e939f70aacdbd75d06b",
"sub_code": "INVALID_INPUT",
"message": "Invalid UPI VPA provided"
}
{
"code": null,
"timestamp": null,
"transaction_id": "string",
"message": "Failed at bank"
}
/v1/verification/upi
ACCESS_TOKEN generated from the authorize endpoint. Should be included in the header as Bearer .
The CLIENT_SECRET provided to you. This header parameter is required for authentication purposes.
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token (JWT). ACCESS_TOKEN generated from the authorize endpoint. Should be included in the header as Bearer .
API Key for authentication. The CLIENT_SECRET provided to you. This header parameter is required for authentication purposes.
Query Parameters
Responses
Overview
You can verify the UPI details of your customer before adding them to your payouts account using the UPI Verification feature. This functionality streamlines payment operations by validating recipient information upfront.
The API addresses two main scenarios:
- Verifying customer names against their UPI registration.
- Validating whether a given UPI identifier actually exists within the banking system.
Both checks execute instantly. The verification process confirms UPI account existence and retrieves the registered account holder's name from banking records. Successful responses include both raw and cleaned name data for matching against customer records.
A successful response is billable only in case of a 200 response status code. Charges apply exclusively when the API returns successful verification results.
Last updated 4 weeks ago
Built with Documentation.AI