Skip to main content

Mark Fulfillment Order Picked Up

PUT 

/api/fulfillment-orders/:fulfillmentOrder/mark-picked-up

Records an in-person Click & Collect collection. Creates the execution SalesOrderFulfillment (status=fulfilled) directly from the awaiting-pickup FulfillmentOrder — driving the inventory deduction at create-time — and advances the FO request_status to picked_up. No SalesOrderFulfillment exists before this point; the awaiting-pickup state lives entirely on the FO.

Required scope: orders:write

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

Gate. 422 unless the FO is a Click & Collect order (is_pickup) currently at request_status=awaiting_pickup. 422 with shortfalls if inventory_allocations don't cover the FO's line quantities. 422 with an error message when the collected stock cannot be deducted (not enough On Hand); nothing is recorded.

Body fields:

  • picked_up_at (nullable, date) — collection timestamp; defaults to now.
  • note (nullable, string, max 1000) — recorded as a sales-order pickup note.

Required permission: fulfillment_orders.ship (Fulfillment Orders → Ship) and fulfillment_orders.index (Fulfillment Orders → View). A token also needs its orders scope; the owner needs these role permissions.

Request​

Responses​

OK

Response Headers
    Content-Type