Update a fulfillment order: dates, holds, carrier preselection, warehouse, line quantities

Send version for optimistic concurrency (409 version_conflict on a stale one). Line quantities are totals and stay within the order line's open quantity and at or above what was fulfilled; the reservation follows every change (a warehouse change moves it to the new queue; a hold releases it; releasing the last hold reserves the open quantity again). Nothing changed: outcome unchanged, nothing written. Closed and canceled fulfillment orders refuse (409), except jobStatus open or scheduled, which reopens a canceled one.

Scope: fulfillment:write, channel:write or admin. A permission group made before the Channel API scopes existed grants it as fulfillment-orders:manage.

Idempotency: send Idempotency-Key; a retry with the same key replays the first answer.

Rate limit: write class, 1,200 requests per minute per tenant by default (read class 6,000). Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset; a refusal is 429 rate_limited with Retry-After.

Path Params
string
required
length between 1 and 300

The uuid, a legacy 24-hex id, or ext:: (URL-encoded).

Body Params
string
length between 1 and 32

The version you read; a stale one is 409 version_conflict.

string
length between 1 and 255

The integration's own id for the document, unique within its channel.

string
^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|[0-9a-fA-F]{24})$

A uuid, or a legacy 24-hex id.

enum

open or scheduled on a canceled fulfillment order reopens it (its open quantity is reserved again).

ISO-8601, UTC.

ISO-8601, UTC.

ISO-8601, UTC.

length ≤ 24
^[0-9]{1,14}(\.[0-9]{1,8})?$

A non-negative decimal amount in currency units ("12.50"); numbers are accepted.

preselection
object
hold
object

A manual hold: the fulfillment order is paused and releases its reservation.

releaseHolds
array of strings
length ≤ 10

Hold reasons to release; the last one released makes the fulfillment order pending and reserves its open quantity.

releaseHolds
items
array of objects
length between 1 and 500
items
string
length between 1 and 64

The order line uuid (or its 24-hex line id).

string
length between 1 and 100

The order line's externalLineId.

integer
required
0 to 1000000
string
length between 1 and 255
boolean
Headers
string
length between 7 and 50

Any string of 7 to 50 characters that identifies this request (an order number, a webhook id). A retry with the same key and the same body answers the first result with Idempotent-Replayed: true; the same key with a different body is 422 idempotency_key_reused; a concurrent request with the same key is 409 in_progress with Retry-After. Recommended on every write.

Responses

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