Get shipments
Lists shipments on your account, newest first. Standard
pagination applies, and
the response carries a count of the full result set.
Without a filter an API key only sees this month. Unless you send an id, a
reference or a date (id, tracking_reference, start_date or end_date, or
one of a few less common filters such as ids and
provider_tracking_reference), you get the shipments created since the 1st of
the current month (South African time), not the whole history.
On the 1st that is a single day. To reach further back, send a date range.
Parameters
| Name | Type | Notes |
|---|---|---|
id |
integer | Fetch one shipment. |
tracking_reference |
string | Fetch by Bob Go's tracking reference. |
limit |
integer | Page size. Defaults to 100, capped at 100. |
offset |
integer | Rows to skip. |
start_date |
timestamp | Filters on the date the shipment was created. Send end_date with it: on its own it covers the seven days that follow. |
end_date |
timestamp | Filters on the date the shipment was created. On its own it covers the seven days before. |
order |
string | asc or desc. Ignored unless you also send order_by. |
order_by |
string | Field to sort on. Leave it out for the default, time_created descending. Sent without order, it sorts ascending. |
status |
array of string | The tracking status, e.g. ["in-transit"]. |
submission_status |
array of string | e.g. ["failed-indefinitely"]. |
provider_slug |
array of string | The courier. |
service_level_code |
string | One service level, e.g. ECO. |
service_level_codes |
array of string | Several service levels. |
archived |
boolean | true returns only archived shipments. |
Array filters are sent as a JSON array in the query string, with no spaces,
e.g. ?status=["in-transit","out-for-delivery"]. With a space after the comma
the filter matches nothing.
Response
One shipment, trimmed to the fields most integrations read:
See the example response.
Filtering on submission_status=["failed-indefinitely"] is the cheap way to
find bookings that never reached a courier, and worth a scheduled sweep if you
are not consuming the submission-status webhook.