Bulk Pick Incoming Orders

Picks multiple incoming orders in a single request.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Up to 100 incoming orders can be picked in a single request. Each entry must include id or control_number to identify the order — when both are provided, id is used.

The pick fields (items, update_stock, discount, discount_remarks, delivery_remarks, sent_date) are set per entry — they are not shared across the batch.

Within items, each entry identifies the package with either incoming_order_package (an existing package on the order) or supplier_package (to attach a new supplier package to the order at pick time) — exactly one of the two is required.

If any order in the request is invalid — duplicate identifier, unknown order, already in SENT status, item with both or neither of incoming_order_package and supplier_package, sent_date in the future, or negative actual_price — none of the orders are picked and the response lists every problem under orders. Orders already in PICKED status can be re-picked, which replaces the previously recorded quantities and remarks.

Body Params
orders
array of objects
required
length between 1 and 100

Up to 100 incoming orders to pick. Must contain at least one entry.

orders*
string
required

The incoming order's ID. Provide this or control_number.

string
length ≤ 100

The control number of the incoming order. Provide this or id.

items
array of objects
required
length ≥ 1

One entry per package to pick for this order. Each entry identifies the package with either incoming_order_package (an existing package on the order) or supplier_package (to add a new supplier package to the order at pick time) — exactly one of the two is required.

items*
string
required

The ID of an existing incoming order package being picked. Provide this or supplier_package, not both.

string

The ID of a supplier package to add to the order at pick time. Provide this or incoming_order_package, not both.

string
required
^[0-9]+\.?[0-9]*$

The quantity received for this package. Must be zero or positive.

string | null
string | null
^[0-9]+\.?[0-9]*$

Optional override of the price actually paid for this package. Must be zero or positive. When omitted on a re-pick, the previously recorded price is preserved.

date-time | null

Date and time the order was sent. Must not be in the future. Defaults to now when omitted; on a re-pick it is restamped to the current time when omitted.

string | null
string | null
string | null
boolean
Defaults to true
Responses

400

One or more orders are invalid (for example, duplicate identifiers, unknown order, an order already in SENT, items with both or neither of incoming_order_package and supplier_package, sent_date in the future, or negative actual_price). Failures are returned under orders and no orders are picked.

403

The user does not have permission to pick incoming orders, or a supplier package referenced in items.supplier_package is not accessible to the user.

404

An incoming order or supplier package referenced in the request was not found.

409

One or more orders are currently being processed by another request. Try again shortly.

Language
Credentials
OAuth2
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json