Skip to main content
POST
/
api
/
v1
/
full-check
Full Check
curl --request POST \
  --url https://api.example.com/api/v1/full-check \
  --header 'Content-Type: application/json' \
  --data '
{
  "mobile": "<string>",
  "async": true
}
'

Full Check

Comprehensive verification combining UPI lookup, KYC verification, and VPA chargeback check in a single request. Get complete customer intelligence in one API call.

Overview

This endpoint performs three verification steps:
  1. UPI by Mobile - Retrieve all UPI VPAs linked to the mobile number
  2. KYC by Mobile - Fetch KYC data (name, PAN, masked Aadhaar, DOB)
  3. VPA Chargeback Check - Check discovered VPAs against the blocklist
This is ideal for comprehensive customer verification during onboarding or high-value transactions.

Request

mobile
string
required
Mobile number in Indian international format (+91XXXXXXXXXX)
async
boolean
default:"true"
If true (default), request is queued and result delivered via webhook. If false, wait for result synchronously (up to 30 seconds).

Headers

HeaderValueRequired
X-API-KeyYour API keyYes
Content-Typeapplication/jsonYes

Example Request (Async Mode - Default)

curl -X POST "https://api.txncheck.in/api/v1/full-check" \
  -H "X-API-Key: fb_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "mobile": "+919876543210"
  }'

Example Request (Sync Mode)

curl -X POST "https://api.txncheck.in/api/v1/full-check" \
  -H "X-API-Key: fb_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "mobile": "+919876543210",
    "async": false
  }'
Full Check performs multiple verification steps and may take longer to complete. Consider using async mode (default) to avoid timeouts.

Response

202 Accepted

Request accepted and queued for processing.
{
  "statusCode": 202,
  "message": "Request accepted and queued for processing",
  "requestId": "550e8400-e29b-41d4-a716-446655440000",
  "status": "QUEUED"
}

Result Data (via webhook, polling, or sync response)

When the request completes successfully:
{
  "requestId": "550e8400-e29b-41d4-a716-446655440000",
  "method": "full-check",
  "status": "COMPLETED",
  "stepStatuses": {
    "upiByMobile": "ok",
    "kycByMobile": "ok",
    "vpaChargebackCheck": "ok"
  },
  "result": {
    "upiByMobile": {
      "name": "JOHN DOE",
      "upi": [
        "johndoe@upi",
        "9876543210@paytm",
        "9876543210@ybl"
      ],
      "status": "1"
    },
    "kycByMobile": {
      "fullName": "JOHN DOE",
      "pan": "ABCDE1234F",
      "maskedAadhaar": "XXXXXXXX1234",
      "dob": "1990-01-15",
      "status": "1"
    },
    "vpaChargebackCheck": {
      "blocklisted": [],
      "clean": [
        {"vpa": "johndoe@upi", "isBlocklisted": false},
        {"vpa": "9876543210@paytm", "isBlocklisted": false},
        {"vpa": "9876543210@ybl", "isBlocklisted": false}
      ],
      "summary": {
        "total": 3,
        "blocklisted": 0,
        "clean": 3
      }
    }
  },
  "webhookStatus": "SENT",
  "createdAt": "2025-01-11T10:30:00.000Z",
  "completedAt": "2025-01-11T10:30:10.000Z"
}

Partial Completion

If some steps fail but others succeed, the status will be PARTIAL:
{
  "requestId": "550e8400-e29b-41d4-a716-446655440000",
  "method": "full-check",
  "status": "PARTIAL",
  "stepStatuses": {
    "upiByMobile": "ok",
    "kycByMobile": "failed",
    "vpaChargebackCheck": "ok"
  },
  "result": {
    "upiByMobile": {
      "name": "JOHN DOE",
      "upi": ["johndoe@upi"],
      "status": "1"
    },
    "vpaChargebackCheck": {
      "blocklisted": [],
      "clean": [{"vpa": "johndoe@upi", "isBlocklisted": false}],
      "summary": {"total": 1, "blocklisted": 0, "clean": 1}
    }
  },
  "error": {
    "kycByMobile": {
      "class": "PROVIDER_TEMPORARY",
      "message": "KYC service temporarily unavailable"
    }
  },
  "webhookStatus": "SENT",
  "createdAt": "2025-01-11T10:30:00.000Z",
  "completedAt": "2025-01-11T10:30:10.000Z"
}

Step Statuses

StatusDescription
okStep completed successfully
failedStep failed (check error details)
skippedStep was skipped (e.g., no VPAs found for chargeback check)
pendingStep not yet executed

Result Fields

upiByMobile

FieldTypeDescription
namestringName associated with the mobile number
upistring[]Array of UPI VPAs
statusstring"1" if data found

kycByMobile

FieldTypeDescription
fullNamestringFull name as per KYC records
panstringPAN number
maskedAadhaarstringMasked Aadhaar number
dobstringDate of birth (YYYY-MM-DD)
statusstring"1" if data found

vpaChargebackCheck

FieldTypeDescription
blocklistedarrayVPAs found in blocklist
cleanarrayVPAs not in blocklist
summaryobjectCount summary

Error Responses

400 Bad Request

Invalid mobile number format.
{
  "statusCode": 400,
  "message": ["Mobile must be in format +91XXXXXXXXXX (Indian number)"],
  "error": "Bad Request"
}

401 Unauthorized

Invalid or missing API key.
{
  "statusCode": 401,
  "message": "Invalid API key",
  "error": "Unauthorized"
}

402 Payment Required

Insufficient account balance.
{
  "statusCode": 402,
  "message": "Insufficient wallet balance",
  "error": "Payment Required"
}

403 Forbidden

Method not enabled for your account.
{
  "statusCode": 403,
  "message": "Access to method 'full-check' is not allowed",
  "error": "Forbidden"
}

408 Request Timeout (Sync Mode Only)

Request processing timed out.
{
  "statusCode": 408,
  "message": "Request processing timed out after 30 seconds",
  "error": "Request Timeout"
}

429 Too Many Requests

Rate limit exceeded.
{
  "statusCode": 429,
  "message": "Too Many Requests",
  "error": "Too Many Requests"
}

Use Cases

Get complete customer verification in a single API call during account creation.
Perform comprehensive verification before processing large transactions.
Meet compliance requirements with thorough identity verification.
Build a complete risk profile combining identity, UPI, and blocklist data.
Full Check is billed as three separate verifications. Ensure your account has sufficient balance for all steps.