Corporate APIv1

API reference

Bill payments — BBPS

7 endpoints

Browse the biller directory, render the biller's input form from its customer_params schema, fetch the live bill, then pay. Billers whose fetch_requirement is MANDATORY must be fetched before payment.

Signed requests only. Once this service is switched on for your account, every call on this page must be signed with your signing secret (see Request signing). A call with the API token alone is refused with HTTP 401 and invalid_signature.

Biller categories with counts

GET/api/corp/v1/bbps/categories

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

Paginated biller directory

GET/api/corp/v1/bbps/billers

Query parameters

NameDescription
categoryoptionalExact category string from /bbps/categories.
qoptionalName search.
pageoptionalDefault 1.
page_sizeoptionalDefault 50, max 100.
Request
curl "https://apipe.in/api/corp/v1/bbps/billers" \
  -H "X-Api-Token: <your-token>"
Replace each <…> with your own value. Only the required fields are shown.

One biller WITH its input-form schema

GET/api/corp/v1/bbps/billers/{id}

Notes

customer_params[].name must be echoed back verbatim on fetch and pay.

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

Price preview — no money, no vendor call

GET/api/corp/v1/bbps/quote

Query parameters

NameDescription
biller_idrequiredBiller id.
amountrequiredBill amount in rupees.
Request
curl "https://apipe.in/api/corp/v1/bbps/quote?biller_id=<biller_id>&amount=<amount>" \
  -H "X-Api-Token: <your-token>"
Replace each <…> with your own value. Only the required fields are shown.
Response
{
    "ok": true,
    "amount": "500.00",
    "convenience_fee": "0.00",
    "total": "500.00",
    "charge": "500.00"
}

Fetch the live bill (no money)

POST/api/corp/v1/bbps/fetch

Body parameters

NameDescription
biller_idrequiredBiller id.
paramsrequiredThe biller's customer parameters, as a name→value object or a [{name,value}] list.
customer_mobileoptionalCustomer contact number.

Notes

The returned fetch_ref binds to the bill you fetched and must be sent on pay.

Request
curl "https://apipe.in/api/corp/v1/bbps/fetch" \
  -X POST \
  -H "X-Api-Token: <your-token>" \
  -H "Content-Type: application/json" \
  -d '{
    "biller_id": "<biller_id>",
    "params": {"<param-name>": "<value>"}
  }'
Replace each <…> with your own value. Only the required fields are shown.

Pay the bill

Moves money

POST/api/corp/v1/bbps/pay

Body parameters

NameDescription
biller_idrequiredBiller id.
paramsrequiredSame customer parameters used on fetch.
amountrequiredAmount in rupees.
request_idrequiredYour unique reference (idempotency key), max 64 characters.
fetch_refoptionalRequired for billers whose fetch_requirement is MANDATORY.
Request
curl "https://apipe.in/api/corp/v1/bbps/pay" \
  -X POST \
  -H "X-Api-Token: <your-token>" \
  -H "Content-Type: application/json" \
  -d '{
    "biller_id": "<biller_id>",
    "params": {"<param-name>": "<value>"},
    "amount": "<amount>",
    "request_id": "<request_id>"
  }'
Replace each <…> with your own value. Only the required fields are shown.

Status of one of your bill payments

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

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