Event types
| Event | Fired when |
|---|---|
route.created | A new route is created |
route.updated | A route’s details change (name, schedule date, drivers) |
route.dispatched | A route is dispatched to drivers |
route.completed | All stops on a route are marked complete |
stop.completed | A stop is completed successfully |
stop.failed | A stop is marked as failed (undeliverable, refused, etc.) |
stop.updated | A stop’s details change |
order.created | A new order enters the inbox |
order.updated | An order’s fields are modified |
driver.location_updated | A driver’s GPS location is updated |
Payload examples
route.dispatched
{
"event": "route.dispatched",
"timestamp": "2026-10-28T14:30:00.000Z",
"data": {
"id": "665f1a2b3c4d5e6f7a8b9c0d",
"name": "North Bay AM",
"scheduleDate": "2026-10-28",
"status": "dispatched",
"drivers": [
{ "id": "665f1a2b3c4d5e6f7a8b9c01", "name": "Alex Rivera" }
],
"stopCount": 18,
"createdAt": "2026-10-27T09:00:00.000Z",
"updatedAt": "2026-10-28T14:30:00.000Z"
}
}
stop.completed
{
"event": "stop.completed",
"timestamp": "2026-10-28T15:12:00.000Z",
"data": {
"id": "665f1a2b3c4d5e6f7a8b9c0e",
"type": "delivery",
"status": "completed",
"sequence": 3,
"location": {
"address": "456 Oak Ave, San Francisco, CA 94102",
"latitude": 37.7751,
"longitude": -122.4193
},
"recipient": {
"fullName": "Jane Smith",
"phone": "+14155551234"
},
"routeId": "665f1a2b3c4d5e6f7a8b9c0d",
"orderIds": ["665f1a2b3c4d5e6f7a8b9c0f"],
"completedAt": "2026-10-28T15:12:00.000Z"
}
}
order.created
{
"event": "order.created",
"timestamp": "2026-10-28T10:30:00.000Z",
"data": {
"id": "665f1a2b3c4d5e6f7a8b9c0f",
"source": "api",
"externalOrderId": "ORD-2026-1043",
"status": "ready",
"recipient": {
"fullName": "Jane Smith"
},
"location": {
"address": "456 Oak Ave, San Francisco, CA 94102",
"latitude": 37.7751,
"longitude": -122.4193
},
"createdAt": "2026-10-28T10:30:00.000Z"
}
}
driver.location_updated
{
"event": "driver.location_updated",
"timestamp": "2026-10-28T15:05:00.000Z",
"data": {
"driverId": "665f1a2b3c4d5e6f7a8b9c01",
"name": "Alex Rivera",
"latitude": 37.7821,
"longitude": -122.4055,
"heading": 270,
"speed": 12.5,
"recordedAt": "2026-10-28T15:05:00.000Z"
}
}
The
driver.location_updated event fires frequently — potentially every
few seconds per active driver. Only subscribe if you need real-time
tracking; otherwise query the Routes API for last-known positions.