Back
API Documentation
Get API Key

Ilambit DevPort

Unified API gateway for Indian businesses. Access payment verification, GST lookup, and more through a single API key. All requests follow the same pattern — authenticate, call the service, get a standardized response.

API OnlineREST APIJSON Responses

Quick Start

  1. 1 Sign up at devport.ilambit.in/signup
  2. 2 Generate an API key from your dashboard
  3. 3 Make your first API call (see below)

Authentication

All API requests require an X-API-Key header. Generate your API key from the dashboard.

http
GET /api/v1/bharatpe/status/432112345678 HTTP/1.1
Host: devport.ilambit.in
X-API-Key: ilm_live_your_api_key_here
Content-Type: application/json

Security: Never expose your API key in client-side code. Always call the gateway from your backend server.

Base URL

All API endpoints use the following base URL:

text
https://devport.ilambit.in/api/v1

The full endpoint pattern is: /api/v1/<service>/status/<id>

Making Requests

All requests flow through the gateway proxy. Specify the service name in the URL, pass your API key in the header, and send any service-specific parameters in the request body.

bash
# Check a BharatPe payment status by UTR
curl https://devport.ilambit.in/api/v1/bharatpe/status/432112345678 \
  -H "X-API-Key: ilm_live_your_api_key_here"

Available Services

Currently available services on the gateway:

BharatPe API

Verify UPI payments and fetch transaction history using your BharatPe merchant credentials. Configure your credentials in the Dashboard panel first.

BASE URL
https://devport.ilambit.in/api/v1/bharatpe
GET/status/:txnId

Verify a UPI payment by Bank Reference Number (UTR). Returns match status, amount, sender, and timestamp.

Path Parameters
ParamTypeDescription
txnIdstringBank Reference Number (UTR) of the UPI payment
Example Request
bash
curl https://devport.ilambit.in/api/v1/bharatpe/status/432112345678 \
  -H "X-API-Key: ilm_live_your_api_key_here"
Success Response
json
{
  "success": true,
  "data": {
    "verified": true,
    "found": true,
    "message": "Payment found and verified",
    "transaction": {
      "bankReferenceNo": "432112345678",
      "amount": 499,
      "senderName": "John Doe",
      "status": "SUCCESS",
      "transactionTimestamp": "2025-07-18T10:30:00.000Z"
    }
  },
  "meta": {
    "requestsRemaining": 946,
    "latencyMs": 234,
    "timestamp": "2025-07-18T10:30:01.000Z"
  }
}
GET/transactions

List recent BharatPe payment transactions. Supports configurable lookback period.

Query Parameters
ParamTypeDefaultDescription
daysnumber2Days to look back (1–7)
Example Request
bash
curl "https://devport.ilambit.in/api/v1/bharatpe/transactions?days=3" \
  -H "X-API-Key: ilm_live_your_api_key_here"
Success Response
json
{
  "success": true,
  "data": {
    "transactions": [
      {
        "bankReferenceNo": "432112345678",
        "amount": 499,
        "senderName": "John Doe",
        "status": "SUCCESS",
        "transactionTimestamp": "2025-07-18T10:30:00.000Z"
      }
    ],
    "total": 1,
    "lookbackDays": 3
  },
  "meta": {
    "requestsRemaining": 945,
    "latencyMs": 189,
    "timestamp": "2025-07-18T10:31:00.000Z"
  }
}
Authentication: Both endpoints require a valid X-API-Key header. Each successful call deducts 1 credit from your active subscription. Configure your BharatPe merchant credentials in Dashboard → BharatPe Config.

Paytm API

Verify Paytm payment status by order ID using your Merchant ID (MID). Configure your MID in the Dashboard panel first.

BASE URL
https://devport.ilambit.in/api/v1/paytm
GET/status/:orderId

Verify a Paytm payment by Order ID. Returns transaction status, amount, payment mode, and gateway details.

Path Parameters
ParamTypeDescription
orderIdstringPaytm Order ID to check payment status for
Example Request
bash
curl https://devport.ilambit.in/api/v1/paytm/status/ORDER_12345 \
  -H "X-API-Key: ilm_live_your_api_key_here"
Success Response
json
{
  "success": true,
  "data": {
    "verified": true,
    "found": true,
    "message": "Payment verified successfully.",
    "transaction": {
      "txnId": "20250718111212800110168",
      "bankTxnId": "8217183929123",
      "orderId": "ORDER_12345",
      "txnAmount": "499.00",
      "status": "TXN_SUCCESS",
      "txnType": "SALE",
      "gatewayName": "ICICI",
      "respCode": "01",
      "respMsg": "Txn Success",
      "paymentMode": "UPI",
      "txnDate": "2025-07-18 11:12:12.0"
    }
  },
  "meta": {
    "requestsRemaining": 944,
    "latencyMs": 312,
    "timestamp": "2025-07-18T11:12:13.000Z"
  }
}
Not Found Response
json
{
  "success": true,
  "data": {
    "verified": false,
    "found": false,
    "message": "Order not found on Paytm.",
    "transaction": null
  },
  "meta": {
    "requestsRemaining": 943,
    "latencyMs": 198,
    "timestamp": "2025-07-18T11:13:00.000Z"
  }
}
Authentication: This endpoint requires a valid X-API-Key header. Each successful call deducts 1 credit from your active subscription. Configure your Paytm Merchant ID in Dashboard → Paytm Config.

Response Format

All responses follow a consistent JSON envelope. Every response includes a meta object with your request ID, remaining credits, and latency.

Success Response (2xx)

json
{
  "success": true,
  "data": {
    // Service-specific response payload
  },
  "meta": {
    "requestId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "requestsRemaining": 947,
    "latencyMs": 234,
    "service": "bharatpe-verify",
    "timestamp": "2025-07-18T10:30:00.000Z"
  }
}

Error Response (4xx / 5xx)

json
{
  "success": false,
  "error": {
    "code": "CREDITS_EXHAUSTED",
    "message": "No active subscription with remaining credits."
  },
  "meta": {
    "requestId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "requestsRemaining": 0,
    "latencyMs": 12,
    "service": "bharatpe-verify",
    "timestamp": "2025-07-18T10:30:00.000Z"
  }
}

Error Codes

Switch on the error.code field, not HTTP status codes or message strings.

CodeHTTPDescription
INVALID_API_KEY401API key is missing, malformed, or not found
API_KEY_REVOKED401API key has been revoked from the dashboard
API_KEY_EXPIRED401API key has passed its expiration date
CLIENT_SUSPENDED401Your account has been suspended
IP_NOT_WHITELISTED401Request IP not in the key's whitelist
RATE_LIMIT_EXCEEDED429Too many requests — retry after the cooldown
CREDITS_EXHAUSTED402No remaining credits on any active subscription
NO_ACTIVE_SUBSCRIPTION402No active subscription found — purchase a package
SUBSCRIPTION_EXPIRED402All subscriptions have expired
INVALID_SERVICE404Service name not found in the registry
SERVICE_DISABLED503Service is temporarily disabled by admin
UPSTREAM_TIMEOUT504Upstream service did not respond in time
UPSTREAM_UNAVAILABLE502Upstream service is unreachable
UPSTREAM_ERROR502Upstream returned an error response

Rate Limiting

Requests are rate-limited per API key using a sliding window algorithm. Default limits:

10 req/s
Per Second
100 req/min
Per Minute
20 req
Burst

When rate-limited, the API returns 429 with a Retry-After header. Enterprise plans have configurable limits.

Credits & Billing

Each successful API call (2xx response) deducts 1 credit from your active subscription. Failed upstream calls (4xx/5xx from the upstream service) are not billed.

  • Check remaining credits in every response via meta.requestsRemaining
  • Purchase credit packages from your dashboard
  • Multiple subscriptions stack — credits are deducted from the earliest expiring subscription first
  • Low-balance alerts are sent automatically when credits drop below 10%

Code Examples

Integrate from any language using standard HTTP. Here are some common examples:

Node.js (fetch)

javascript
const response = await fetch('https://devport.ilambit.in/api/v1/bharatpe/status/432112345678', {
  method: 'GET',
  headers: {
    'X-API-Key': 'ilm_live_your_api_key_here',
    'Content-Type': 'application/json',
  },
});

const data = await response.json();

if (data.success) {
  console.log('Payment:', data.data);
  console.log('Credits left:', data.meta.requestsRemaining);
} else {
  console.error('Error:', data.error.code, data.error.message);
}

Python (requests)

python
import requests

response = requests.get(
    'https://devport.ilambit.in/api/v1/bharatpe/status/432112345678',
    headers={
        'X-API-Key': 'ilm_live_your_api_key_here',
    }
)

data = response.json()

if data['success']:
    print('Verified:', data['data'])
else:
    print('Error:', data['error']['code'])

PHP (cURL)

php
$ch = curl_init('https://devport.ilambit.in/api/v1/paytm/status/ORDER_12345');

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'X-API-Key: ilm_live_your_api_key_here',
        'Content-Type: application/json',
    ],
]);

$response = json_decode(curl_exec($ch), true);
curl_close($ch);

if ($response['success']) {
    print_r($response['data']);
}

Need Help?

Reach out to our team for integration support.