Introduction

Welcome to the SecureDesk API documentation. Our APIs allow you to integrate real-time Identity Verification and Banking Validation services into your applications seamlessly.

Base URL: https://securedesk.in/api/

Integration Flow

1. Sign Up: Create an account on the dashboard.
2. Activate Services: Ensure the products (PAN, Aadhaar, etc.) are active in your plan.
3. Whitelist IP: Add your server IP to the whitelist in settings.
4. Integrate: Use your Agent ID and Token to make requests.

Authentication

All API requests must include your unique credentials in the HTTP Headers. These are used to authenticate your account and deduct balances.

Required Headers

Header KeyValueRequired
agent_idYour unique Agent ID (e.g., SD1001)Yes
tokenYour Secret Access TokenYes
Note: If headers are missing or invalid, the API will return a 401 Unauthorized error.
POST /api/pan-verification.php

PAN Verification

Validate a Permanent Account Number (PAN) and retrieve the cardholder's name and status.

Request Body

ParameterTypeDescription
pan_numberStringValid 10-digit PAN Number.
order_idStringUnique Order ID for tracking (max 50 chars).
JSON Request
{
  "pan_number": "ABCDE1234F",
  "order_id": "ORD_PAN_001"
}

Success Response

JSON Response
{
  "status_code": 200,
  "status": "success",
  "message": "PAN Validate Successfully",
  "txn_id": "TXN-A1B2C3",
  "order_id": "ORD_PAN_001",
  "debited_amount": 2.50,
  "available_balance": "950.00",
  "data": {
    "pan_number": "ABCDE1234F",
    "name": "RAJESH KUMAR",
    "status": "VALID"
  }
}
POST /api/aadhaar-verification.php

Aadhaar Verification

Aadhaar verification is a two-step process: First, generate an OTP, then validate it.

Step 1: Send OTP (Request)

Send a request with type: "send_otp". No balance is deducted for this step.

Request (Send OTP)
{
  "type": "send_otp",
  "aadhaar_number": "999988887777",
  "order_id": "ORD_ADR_01"
}
Response (OTP Sent)
{
  "status_code": 200,
  "status": "success",
  "message": "OTP Generated Successfully",
  "txn_id": "TXN_123456", // Save this for Step 2
  "order_id": "ORD_ADR_01"
}

Step 2: Validate OTP (Response)

Send a request with type: "validate_otp" including the OTP received by the user and the txn_id from Step 1.

Request (Validate OTP)
{
  "type": "validate_otp",
  "aadhaar_number": "999988887777",
  "otp": "123456",
  "txn_id": "TXN_123456",
  "order_id": "ORD_ADR_01"
}
Response (Success)
{
  "status_code": 200,
  "status": "success",
  "message": "OTP Validate Successfully",
  "debited_amount": 5.00,
  "data": {
    "name": "Amit Verma",
    "dob": "1990-01-01",
    "gender": "M",
    "address": "B-12, Sector 4, Delhi...",
    "image_src": "base64_string..."
  }
}
POST /api/bank-verification.php

Bank Account Verification

Performs a penny-drop verification to check if a bank account is valid and returns the beneficiary name.

Request Body

ParameterTypeDescription
account_numberStringThe bank account number.
ifscStringValid IFSC Code.
order_idStringUnique Order ID.
nameString(Optional) Name to match.
JSON Request
{
  "account_number": "987654321012",
  "ifsc": "SBIN0001234",
  "order_id": "ORD_BNK_99"
}

Success Response

JSON Response
{
  "status_code": 200,
  "status": "success",
  "message": "Bank Verification Successful",
  "debited_amount": 3.00,
  "data": {
     "BeneName": "VIKRAM SINGH",
     "BankRef": "IMPS12345678"
  }
}
POST /api/mobile-to-accounts.php

Mobile To Multiple Account

Fetch all bank accounts linked to a specific mobile number.

Request Body

ParameterTypeDescription
mobile_numberString10-digit Mobile Number.
order_idStringUnique Order ID.
JSON Request
{
  "mobile_number": "9999888877",
  "order_id": "ORD_M2A_01"
}

Success Response

JSON Response
{
  "status_code": 200,
  "status": "success",
  "message": "Accounts Fetched Successfully",
  "data": {
    "mobile_number": "9999888877",
    "details": [
       {
         "full_name": "Dummy1",
         "account_number": "123456789012",
         "ifsc": "HDFC0001234"
       }
    ]
  }
}
POST /api/mobile-to-ifsc-account.php

Mobile To IFSC & Account

Fetch detailed account and IFSC information using a mobile number.

Request Body

ParameterTypeDescription
mobile_numberString10-digit Mobile Number.
order_idStringUnique Order ID.
JSON Request
{
  "mobile_number": "9999888877",
  "order_id": "ORD_M2I_01"
}

Success Response

JSON Response
{
  "status_code": 200,
  "status": "success",
  "data": {
     "name": "Vishal Singh",
     "ifsc": "FDRL0007717",
     "ifsc_details": {
        "bank": "Federal Bank",
        "branch": "NEO BANKING"
     }
  }
}
POST /api/vpa-info.php

VPA / UPI Info

Verify a Unified Payments Interface (UPI) ID and fetch registered name and bank details.

Request Body

ParameterTypeDescription
upi_idStringValid UPI ID (e.g., number@ybl).
order_idStringUnique Order ID.
JSON Request
{
  "upi_id": "9988776655@ybl",
  "order_id": "ORD_UPI_01"
}

Success Response

JSON Response
{
  "status_code": 200,
  "status": "success",
  "message": "VPA Details Found",
  "data": {
     "bank_name": "Yes Bank",
     "upi_handle": "@ybl",
     "upi_id": "9988776655@ybl"
  }
}
POST /api/otp_sms.php

OTP SMS Service

Send an OTP via SMS to verify a mobile number using our notification gateway.

Request Body

ParameterTypeDescription
numberString10-digit Mobile Number.
otpStringThe OTP code to send.
order_idStringUnique Order ID.
JSON Request
{
  "number": "9988776655",
  "otp": "5896",
  "order_id": "ORD_SMS_01"
}

Success Response

JSON Response
{
  "status_code": 200,
  "status": "success",
  "message": "OTP Sent Successfully",
  "debited_amount": 0.25,
  "available_balance": "940.00"
}

Status Codes

Standard HTTP status codes used by the API to indicate success or failure.

CodeMeaningDescription
200SuccessRequest processed (check status field for logic success).
400Bad RequestMissing parameters (e.g., missing order_id).
401UnauthorizedInvalid agent_id or token.
402Payment RequiredInsufficient wallet balance.
403ForbiddenIP not whitelisted or Account inactive.
409ConflictDuplicate order_id detected.