Docs β€Ί Orders

Track an order

GET /v1/orders/{externalId}.

http
GET /v1/orders/{externalId}

Returns the current state of one of your orders, looked up by the externalId you sent. Orders from other accounts are never visible: they return 404.

bash
curl -s https://api.trydragonfly.com/v1/orders/cater-88412 -H "Authorization: Bearer $DRAGONFLY_API_KEY"
json
{
  "data": {
    "orderId": "cmuyh89rz000d01pc9uuokrld",
    "externalId": "cater-88412",
    "status": "DELIVERED",
    "trackingUrl": "https://…",
    "promisedDeliveryAt": "2026-10-09T16:45:00.000Z",
    "deliveredAt": "2026-10-09T16:38:12.000Z",
    "onTime": true,
    "createdAt": "2026-10-09T14:02:51.000Z"
  }
}

Polling vs. webhooks

Polling works, but webhooks are better: they arrive within seconds, carry the full delivery (driver, ETA, proof-of-delivery photos) and don't count against your rate limit. If you poll, once a minute per open order is plenty.

Errors

HTTPcodeMeaning
404NOT_FOUNDNo order with that externalId on your account.
401UNAUTHORIZEDBad or revoked key.

Something unclear or missing? Tell us.