Skip to main content

Bulk Dispatch Fulfillments for Sales Orders

POST 

/api/sales-orders/dispatch-fulfillments

Runs the fulfillment dispatcher for multiple sales orders — each order is validated and its pending fulfillment orders are submitted to the shipping provider or fulfillment service configured for its warehouse(s).

Required scope: orders:write

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

Authentication: Requires Bearer token.

Request body fields (provide ids or filters):

  • ids (array of integers, optional, min 1): Sales order IDs to dispatch. Dispatched synchronously; the response reports how many fulfillment orders were dispatched.
  • filters (string, optional): Filter query that resolves to a list of sales order IDs (same format used by the sales-orders listing endpoint). When provided, dispatching is queued and processed in the background and the response returns immediately.
  • overrideData (object, optional): Pre-dispatch check overrides applied to every order. Keys: overrideOutOfSync, overrideSelectShippingMethod, overrideUnmappedLines, overrideManualDispatch, overridePartialDispatch (all boolean, default false).

Behavior:

  • Dispatch is treated as user-requested, so warehouse auto-dispatch eligibility rules are bypassed.
  • The success message counts fulfillment orders dispatched to providers. Shipment records are created later when each provider confirms shipment.
  • Orders skipped because another dispatch already holds their lock are listed in the message; if every requested order is skipped this way the request fails with 409 so it can be retried.

Requires permission: sales_orders.fulfill

Request

Responses

OK

Response Headers
    Content-Type