Developer API
Build with BFast
REST endpoints for wallet, shipping, tracking, and webhooks. Full docs, sandbox keys, and generous rate limits.
What you can build
The API is a first-class citizen
x-api-key auth
Simple header auth. Two keys per account — live + test.
HMAC webhooks
Every callback signed with your secret so you know it's from us.
Sandbox environment
Test AWBs, mock shipping labels, simulated tracking events.
Automatic retries
Webhooks retry with exponential backoff for 24 hours.
99.9% uptime
SLA-backed with public status page and incident RSS.
OpenAPI spec
Machine-readable spec you can plug into your codegen.
Endpoints
The endpoints you need
GET
/v1/walletFetch current wallet balance + transactionsGET
/v1/serviceabilityCheck if a pincode pair is serviceablePOST
/v1/ordersCreate a forward shipment (single or bulk)POST
/v1/orders/:id/manifestBook AWB for a pending orderPOST
/v1/reverse-ordersCreate a reverse (return) shipmentGET
/v1/tracking/:awbFetch latest scans for an AWBGET
/v1/labels/:awbDownload shipping label PDFGET
/v1/ndrList NDR events with paginationPOST
/v1/webhooksRegister a webhook for shipment eventsTry it
Book your first AWB in five lines
Send a POST to /v1/orders with your consignee, package, and payment mode. You get back an AWB number and a label URL. That's it.
CURL
curl -X POST https://api.bfastservices.com/v1/orders \
-H "x-api-key: sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"order_id": "MYORDER-001",
"consignee": {
"name": "Suresh Kumar",
"phone": "9876543210",
"address": "12 Bhairon Marg, Delhi 110001",
"pincode": "110001"
},
"package_weight": 500,
"package_dimensions": {"l": 20, "b": 15, "h": 5},
"payment_mode": "COD",
"cod_amount": 1299
}'Prefer webhooks? We push events to you.
Register a webhook URL and get notified on every scan, NDR, delivered, and RTO event. Signed with HMAC. Retries with exponential backoff.