Skip to main content

List Shipment Trackings

GET 

/api/shipment-trackings

Paginated cross-entity listing of shipment tracking rows. Powers the Delivery Exceptions view, the global Trackings table, and per-entity filtered subsets.

Authorization

Any valid API token can call this endpoint — no specific scope required. Manage tokens.

Filters / sorts / per_page are read directly from the request by the repository per the Spatie QueryBuilder pagination idiom.

Allowed filters (filter[...]):

  • delivery_status — comma-separated DeliveryStatusEnum values
  • trackable_type — comma-separated friendly slugs (see query param description for the full alias list)
  • search — substring match on tracking_number
  • date_from / date_tom/d/Y bounds on last_event_at (app timezone)
  • stalled1 for in_transit rows whose last event is >7 days old
  • integration_instance_id — exact match

Allowed sorts: id, created_at, last_event_at, delivery_status. Prefix with - for DESC.

The canonical Delivery Exceptions query:

?filter[delivery_status]=exception,delivery_failure,expired&filter[stalled]=1

These statuses are the ones flagged by DeliveryStatusEnum::isException; stalled=1 adds in_transit rows that have stopped moving.

Response shape: Standard Laravel LengthAwarePaginator JSON with data[], current_page, last_page, per_page, total, from, to, *_page_url, path, links. Each row in data[] is shaped as a shipment tracking object.

Request

Responses

OK

Response Headers
    Content-Type