Fulfillments
List Fulfillments
Returns paginated sales order fulfillments for the V2 fulfillments list page. Supports GroupedFilterSupport filter_groups tree for advanced filtering.
Export Fulfillments
Exports sales order fulfillments as XLSX or CSV.
Get Fulfillment Detail
Returns full fulfillment detail including all related data: lines with products, sales order with addresses, warehouse, shipping methods, shipping provider orders (Shipstation, Shipfusion, etc.).
Get Fulfillment Line Items
Returns lightweight line items for a fulfillment's expandable row. Each item includes id, quantity, unit_cost, sku, product_name, and product_id. `unit_cost` is the per-unit cost of goods sold (FIFO-derived, prorated to the fulfilled quantity) β NOT the sale price; it is 0 when the line has no financial cost record.
Get Activity Log
Returns paginated activity log for a fulfillment, including activities on the fulfillment itself and all its child records (lines, etc.).
Get Inventory Movements
Returns paginated inventory movements linked to the fulfillment or any of its fulfillment lines.
Clear Channel Submission
Clears the submitted_to_sales_channel_at timestamp so the fulfillment will be resubmitted on the next sync. Works regardless of sales order status.
Submit to Sales Channel
Submits (or resubmits) fulfillment tracking info to the sales channel (e.g. Shopify) synchronously. Only sends tracking to the sales channel β NOT to the shipping provider.
Resync to Provider
Re-syncs the fulfillment to the shipping provider by sending the current line state. Only available for update-capable providers (Shipfusion, ShipHero, etc.) with submitted fulfillments.
Resync from Provider
Fetches the latest data FROM the shipping provider (tracking, status, etc.) and updates the local fulfillment record. Supported providers: Shipstation, Starshipit, Shipfusion, ShipHero, Trackstar, Veracore.
Cancel Provider Order
Cancels the provider-side fulfillment order. Supported providers: Amazon MCF (FBA), Shipfusion, ShipHero, Trackstar, Veracore.
Edit Shipping Details
Edit an existing fulfillment's shipping details β tracking number and shipping cost. A narrow, guard-free update: unlike the fulfill flow it does NOT require an open sales order or fulfillment lines, so a tracking number can be corrected after the order has shipped/closed. Never changes the warehouse (Stage 0 lock untouched).
Void Shipment
Voids a shipment (SalesOrderFulfillment) β a SOFT, reversible cancel that does NOT hard-delete the record ('A1'). Voiding: reverses the shipment's inventory movements, reverts FulfilledβAllocated allocations, restores the parent FulfillmentOrder budget and reopens the SAME FO to Open/Unsubmitted so it can be re-fulfilled, cancels the carrier order, and flips the SOF to status=canceled with voided_at/voided_by_user_id/void_reason set. The SOF + its lines are RETAINED for history; voided shipments are excluded from the active fulfillment tab (voided_at IS NULL filter).
Fulfill or Update Shipment
Create or update a shipment (fulfillment) for a sales order. Uses FulfillSalesOrderRequest. Authenticate with a Personal Access Token, passed in the `Authorization` header as a bearer token.
Get Fulfillment
Get a single fulfillment (shipment) with its lines, parent sales order summary, warehouse, tracking, and void audit fields.
Bulk Void Shipments
Bulk-voids shipments. The DELETE verb is retained for backwards compatibility, but it now performs a soft VOID (not a hard delete): each shipment's inventory is reversed, its parent FulfillmentOrder is reopened, the carrier order is cancelled, and the SOF row is kept for history (status=canceled + void audit columns).
Get Shipment Packing Slip Cache Status
Reports whether a rendered packing-slip PDF is currently cached for this shipment (SalesOrderFulfillment), and when it was generated. The packing-slip export serves the stored `{id}.pdf` as-is whenever it exists, so a cached slip can lag the FO's current lines or sequence. The UI uses this to show a 'cached' indicator and offer a one-click clear.
Clear Shipment Packing Slip Cache
Clears (deletes) the cached packing-slip PDF for this shipment (SalesOrderFulfillment) so the next print regenerates from current data. Idempotent β clearing a slip that was never cached is a no-op.
Get Provider Fulfillment Snapshots
Read-only provider order/shipment visibility & reconciliation for the Sales Order Fulfillments tab.
Repair Provider Fulfillment Orphan
Link an orphan shipping-provider order (link_state `orphan_linkable`, suggested_action `link`) to an existing FulfillmentOrder / SalesOrderFulfillment already on this sales order whose lines cover the same products (Phase 2). Only links to an FO/SOF that does NOT already have an active (non-cancelled) provider order β two active provider orders on one FO is invalid. An orphan whose only match is already taken is classified `orphan_duplicate` (use Import) instead of `orphan_linkable`, and a repair attempt against it is rejected with 422. Use the `provider`, `integration_instance_id`, and `external_order_id` from the orphan returned by GET provider-fulfillment-snapshots.
Import Provider Fulfillment Orphan
Create the SKU fulfillment entities for an orphan shipping-provider order with no counterpart (link_state `orphan_importable`) (Phase 3). When the provider order is not yet shipped (suggested_action `import_fo`) a FulfillmentOrder is created; when it is already shipped (suggested_action `import_fo_and_sof`) a FulfillmentOrder plus a SalesOrderFulfillment ship event with tracking is created. Provider item SKUs are matched against the sales order's unfulfilled lines.
Check Fulfillments Deletable
Check whether fulfillments can be voided (deleted). A fulfillment is not deletable when its linked shipping-provider order is already marked as shipped at the provider.
Restore Voided Shipment
Restore (un-void) a previously voided shipment. No request body.
Bulk Archive Fulfillments
Archive multiple fulfillments at once. Archived fulfillments are hidden from default list results but remain retrievable.
Bulk Unarchive Fulfillments
Unarchive multiple fulfillments at once, restoring them to default list results.
Bulk Request Fulfillment Tracking Updates
Request fresh tracking information from shipping providers for the selected fulfillments.
Archive Fulfillment
Archive a single fulfillment. No request body. Archived fulfillments are hidden from default list results but remain retrievable.
Unarchive Fulfillment
Unarchive a single fulfillment, restoring it to default list results. No request body.
Mark Fulfillment as Printed
Mark a fulfillment's packing slip as printed by stamping `packing_slip_printed_at` with the current time. No request body.