API reference

The qTap REST API lives at https://qtap.live/api/v1. Authenticate with an API key (create one under Dashboard → API Keys) sent as a bearer token.

Authentication

Authorization: Bearer qtap_live_ab12cd.xxxxxxxxxxxxxxxxxxxx

Free accounts can track up to 10 shipments per month; exceeding the quota returns402 quota_exceededuntil you upgrade.

Endpoints

GET/api/v1/couriers

List couriers available for tracking.

POST/api/v1/track

Register a shipment for tracking.

{
  "courier": "delhivery",
  "trackingNumber": "1234567890",
  "reference": "ORDER-1001"
}
GET/api/v1/shipments

List your shipments. Optional ?status= and ?limit=.

GET/api/v1/shipments/:id

Get one shipment with its full event history.

POST/api/v1/shipments/:id/refresh

Force an immediate poll of the courier.

Webhooks

Register a webhook in the dashboard to receive a signed POST on every status change:

POST <your-url>
X-QTap-Event: shipment.status_changed
X-QTap-Signature: sha256=<hmac of body with your webhook secret>

{
  "event": "shipment.status_changed",
  "status": "OUT_FOR_DELIVERY",
  "previousStatus": "IN_TRANSIT",
  "shipment": { "trackingNumber": "...", "courier": "delhivery", "status": "OUT_FOR_DELIVERY" },
  "occurredAt": "2026-06-02T10:00:00.000Z"
}