Corporate APIv1

API reference

Recharge

4 endpoints

Mobile and DTH recharge. Money endpoints are POST; status is GET.

Simple or signed — your choice. Your API token alone is enough for every call on this page. You may also sign them (see Request signing); a signature you send is checked.

Place a recharge

Moves money

POST/api/corp/v1/recharge

Body parameters

NameDescription
accountrequiredCustomer number or DTH subscriber id.
operatorrequiredLIVE operator code (e.g. LIVJIO00003) or our catalog code (e.g. jio). A bare number is an operator id, never an operator code.
amountrequiredFace value in rupees.
uridrequiredYour unique reference (idempotency key), max 64 characters.
circleoptionalCircle/state hint.
customer_nameoptionalFor your own records.

Notes

status is success | pending | failed. A recharge we refuse for a business reason — recharge not enabled on your account, the account paused or inactive, KYC or the service agreement pending, your wallet suspended, recharge or the operator switched off, a routing block, a daily limit — also comes back failed, with an empty order_id: nothing was charged. A retry of a urid that already has a transaction is not refused that way: sent with the same details, it gets that transaction's own result (while your account is refused, with balance null). Sent with different details, it gets an HTTP 403 status:"rejected": when recharge is switched off for your account, look the urid up with GET /api/corp/v1/recharge?urid=; while your account itself is paused, inactive or waiting on KYC or the service agreement, status checks are refused too until it is restored. Any other refusal (for example a bad urid, an unknown operator code, a bad number or amount, insufficient balance, or a duplicate) returns status:"rejected" with an error string and the matching numeric code.

Request
curl "https://apipe.in/api/corp/v1/recharge" \
  -X POST \
  -H "X-Api-Token: <your-token>" \
  -H "Content-Type: application/json" \
  -d '{
    "account": "<account>",
    "operator": "<operator>",
    "amount": "<amount>",
    "urid": "<urid>"
  }'
Replace each <…> with your own value. Only the required fields are shown.
Response
{
    "status": "success",
    "code": 200,
    "order_id": "R2607…",
    "urid": "ABC123",
    "operator_ref": "OP998877",
    "amount": "100.0000",
    "account": "9876543210",
    "balance": "4900.0000",
    "message": "Recharge successful."
}

Status by our order id

GET/api/corp/v1/recharge/{ref}

Request
curl "https://apipe.in/api/corp/v1/recharge/<ref>" \
  -H "X-Api-Token: <your-token>"
Replace each <…> with your own value.
Response
{
    "status": "success",
    "code": 200,
    "order_id": "R2607…",
    "urid": "ABC123",
    "operator_ref": "OP998877",
    "amount": "100.0000",
    "account": "9876543210",
    "refunded": false
}

Status by your own reference

GET/api/corp/v1/recharge

Query parameters

NameDescription
uridrequiredThe reference you sent.
Request
curl "https://apipe.in/api/corp/v1/recharge?urid=<urid>" \
  -H "X-Api-Token: <your-token>"
Replace each <…> with your own value. Only the required fields are shown.

Operator catalog with codes and limits

GET/api/corp/v1/operators

Request
curl "https://apipe.in/api/corp/v1/operators" \
  -H "X-Api-Token: <your-token>"
Replace each <…> with your own value.