Starts fulfilment of a sales order (the app's Begin Fulfillment button): creates the pick transfer.
Requires ManageSalesOrders and an Idempotency-Key header; no body. Same code path and rules as the Begin Fulfillment button: the order must not be Complete or Cancelled; a pick transfer is created from the order's source locations (else the organization's warehouse locations) to its delivery destination for every line not yet covered, using available stock; the history records "Fulfillment started (via API key '…')"; the order's status is then recalculated — Picking when the transfers cover every line, otherwise it stays Pending (call again once stock arrives). The response always carries the real status; never assume Picking. Replaying the same Idempotency-Key returns the first response. A call with a new key creates another transfer only for the quantity not yet covered by a live (not Cancelled/Failed) transfer — a partly covered line is topped up, never claimed twice — and is refused with 409 Every line is already covered by a transfer when nothing is left to cover, the same rule that shows the Begin Fulfillment button in the app. Next steps: /pick, /complete-pick, /ship, /deliver, /complete.
Request
- Base URL: https://app.flexonthejob.com
- URL: https://app.flexonthejob.com/api/v1/sales-orders/{id}/fulfill
- Auth: HTTP bearer
Path parameters
Sales-order id from /api/v1/sales-orders. Example: 318.
Response
Fulfilment started; the resulting status and the pick transfer id.
Changes
No recorded changes to this operation across all 1 revision of this API.