BFast
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 + transactions
GET/v1/serviceabilityCheck if a pincode pair is serviceable
POST/v1/ordersCreate a forward shipment (single or bulk)
POST/v1/orders/:id/manifestBook AWB for a pending order
POST/v1/reverse-ordersCreate a reverse (return) shipment
GET/v1/tracking/:awbFetch latest scans for an AWB
GET/v1/labels/:awbDownload shipping label PDF
GET/v1/ndrList NDR events with pagination
POST/v1/webhooksRegister a webhook for shipment events
Try 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.

Enable webhooks