Skip to main content

Mark Sales Order for Pickup

POST 

/api/sales-orders/:salesOrder/mark-for-pickup

Stages a subset of the order's allocated line quantities for customer pickup. The order's pending fulfillment work is parked in an awaiting-pickup state — no shipment record is created until the customer actually collects — and the request records who marked the items, when, and the expected pickup date. Partial quantities are supported, so some units can be marked for pickup while the rest are fulfilled normally.

Required scope: orders:write

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

Authentication: Requires Bearer token.

Request body fields:

  • warehouse_id (integer, required): Warehouse the customer will collect from. Every listed line must be routed to this warehouse.
  • expected_pickup_at (date-time, optional): When the customer is expected to collect.
  • note (string, optional, max 2000): Free-text note; recorded on the order as "Marked for pickup: <note>".
  • items (array, required, min 1): Lines and quantities to mark for pickup.
    • items.*.sales_order_line_id (integer, required): Sales order line; must belong to the order and the given warehouse.
    • items.*.quantity (number, required, > 0, < 100000): Quantity to mark; cannot exceed the line's unfulfilled quantity.

Behavior:

  • Returns the ID of the pickup-staged fulfillment order in fulfillment_order_id.
  • Items with a zero quantity are ignored; if no item has a positive quantity the request fails with 400.

Path parameters:

  • salesOrder (required): Sales order ID.

Requires permission: sales_orders.fulfill

Request

Responses

OK

Response Headers
    Content-Type