Get Fulfillment Order Detail
GET/api/fulfillment-orders/:fulfillmentOrder
Returns a single FulfillmentOrder with its lines and warehouse eager-loaded. Each line exposes its quantity (the original budget) and remaining_quantity (the over-fulfilment backstop — units still available to consume via a SalesOrderFulfillmentLine).
orders:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Returns 404 if the feature flag is off or the FO does not exist.
Fulfillability: each line carries fulfillable_quantity and unfulfillable_quantity, computed against the FulfillmentOrder's own (intent) warehouse — not the SalesOrderLine's warehouse_id. The warehouse block's tracks_inventory flag is false for externally-managed warehouses (Amazon FBA/AWD).
Line field executed_quantity (per FO line): the physically-executed quantity — the sum of non-voided child SalesOrderFulfillmentLine quantities. Distinct from the accounting figure quantity - remaining_quantity; when the two disagree the line carries a masked shortfall (e.g. a bundle line grown to its component quantity with remaining_quantity = 0 though fewer component units actually shipped).
provider_order_link (object|null): INTERNAL cross-link to this FO's registered shipping-provider order detail page inside SKU — { link_reference, link_type_label, link_id, link_route }. Distinct from the EXTERNAL provider_order_url. Populated for providers with an in-app per-order page (ShipStation, ShipHero, Starshipit, Trackstar, VeraCore, Shipfusion); null for providers with no detail page (ShipMyOrders), for pre-submit FOs, and for FBA/Manual FOs with no provider order. link_route is a application UI path, e.g. /integrations/shipstation/4/orders/92532.
Line field sales_order_fulfillment_lines (per FO line): the child SalesOrderFulfillmentLine (execution) records for this FOL — a debug aid so support can trace SOL → FOL → SOFL on any line. Each entry is { id, sales_order_fulfillment_id, voided }; voided reflects the parent SalesOrderFulfillment's voided_at (a voided SOFL can pin its FOL at quantity 0). Empty array until the FO is submitted into a carrier shipment. Example populated value: [{ "id": 1194390, "sales_order_fulfillment_id": 685484, "voided": false }].
Request
Responses
- 200
- 401
- 403
- 404
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.