Skip to main content

Delivery statuses

A delivery's status tells you where it is. Every change fires a delivery.status_changed webhook with the previous_status, and is added to the delivery's events.

Statuses​

StatusMeaning
requires_actionCan't move until you do something. See required_actions in Drafts and required actions.
scheduledBooked and charged (or added to your invoice); waiting for its pickup time and a rider.
rider_assignedA rider has been given the pickup.
picked_upCollected from the pickup address.
at_hubAt a Reeds hub (via-hub deliveries only).
in_transitMoving between hubs on an inter-state delivery. Inter-state delivery is not available through the API, so the API doesn't return this status.
out_for_deliveryWith the rider, heading to the receiver.
deliveredDelivered. Final.
failed_attemptThe rider couldn't deliver. Reeds will retry or contact you.
on_holdPaused by Reeds. hold_reason says why.
cancelledCancelled. Final. See Cancellations.

Typical paths​

PathStatuses
Direct (under 7 km)scheduled → rider_assigned → picked_up → out_for_delivery → delivered
Via hubscheduled → rider_assigned → picked_up → at_hub → out_for_delivery → delivered
Draftrequires_action → scheduled → then as above

The route type is on the delivery as route.type. See Quotes.

There is no ready status

The ready field and the /ready endpoint only mean that the item is packed. Once a rider is on the pickup, the delivery is rider_assigned.

failed_attempt and on_hold​

failed_attempt means the rider reached the receiver but couldn't hand over the parcel. The delivery isn't over: Reeds retries or contacts you, and the status moves on again.

on_hold means Reeds paused the delivery. Read hold_reason for why, and expect a later status change when it resumes.

Every booked delivery has a tracking_code and a tracking_url, for example https://getreeds.co/packages/HQ3W5F2. The receiver gets an SMS with that link, and you can put it in your own order emails. A draft has neither until it is booked.

Handle statuses you don't know​

Reeds may add statuses later. Treat the list above as today's list, not a closed one. Map statuses you know, and fall back to a sensible default (usually "in progress") for any other value, rather than throwing an error. For a worked mapping, see Status mapping.

Next steps​