Skip to main content

List Fulfillment Orders

GET 

/api/fulfillment-orders/list

Paginated, filtered, sorted list of FulfillmentOrders across ALL sales orders — the data source for the top-level Fulfillment Orders list view (a sibling of the Fulfillments table). Distinct from GET /api/fulfillment-orders (the active dispatch board): this list endpoint includes closed/cancelled FOs and supports the full filter/sort/paginate surface.

Required scope: orders:read

Grant this scope to your token under Settings → Developer → Personal Access Tokens.

Each row eager-loads warehouse, salesOrder (for sales_order_number), lines.salesOrderLine.product (for the expandable line rows), and the requested shipping method.

Filters also accept the Advanced-Filters base64 filter_groups tree (the chips/modal send operator-suffixed keys such as status.is, created_at.between); both flat filter[col] and filter_groups flow through the same Spatie QueryBuilder + GroupedFilterSupport pipeline.

Returns standard Laravel pagination — items directly under data[] (NOT data.data). Authenticate with a Personal Access Token.

New columns (also returned by the dispatch board): sales_order_date, customer_name, sales_channel_name, total_quantity (sum of line quantities), and packing_slip_printed_at (when the FO's packing slip was last printed; null until printed). The customer/sales-channel/sales-order-date columns are filterable via the filters above (customer_name / sales_channel_type_name already exist), and packing_slip_printed_at is sortable.

Shipping method filters: filter[shipping_method] (structured/mapped method) and filter[shipping_method_manual] (free-text "Manual" method). The response exposes shipping_method and shipping_method_manual accordingly - exactly one is populated per FO.

The response is standard Laravel pagination (items under data, plus current_page, last_page, per_page, total) with one extra top-level key: unfiltered_total — the count of all fulfillment orders ignoring filters (used to label the "All records" option in the export modal).

ShipBob submit pre-flight fields (present on every fulfillment order; null unless the order dispatches via ShipBob):

  • shipbob_fulfillment_center_mapped (bool|null) — true when the order's warehouse is mapped to a ShipBob fulfillment center.
  • shipbob_integration_instance_id (int|null) — the ShipBob integration instance owning that mapped fulfillment center.
  • has_shipping_address (bool|null) — true when the order resolves a shipping address with an ISO-2 country code (required to ship with ShipBob).

Request

Responses

OK

Response Headers
    Content-Type