Skip to main content

Fulfill Order

POST 

//:domain/api/3pl/orders/fulfillmentOrder/fulfill

Report a shipment for a fulfillment order — the partner confirms what it shipped. Creates one SalesOrderFulfillment against the FO (inventory + COGS post at ship-time), decrements each line's remaining, and advances the FO Open → Incomplete ("Partially shipped") → Closed.

Body:

  • lines (required, min 1): {id, quantity_fulfilled} where id is the FULFILLMENT ORDER LINE id (from List Orders), quantity_fulfilled numeric ≥ 0 (clamped to remaining).
  • fulfilled_at (required date): the actual shipped timestamp (drives COGS dating).
  • shipping_method, tracking_number (optional).
  • provider_shipment_id (optional): idempotent dedup — a retried fulfill never records a duplicate shipment.

All-zero report → 422.

Auth: 3PL Integration Token (Bearer).

Request

Responses

Successful response