Execute Post-Submission Merge
POST/api/fulfillment-orders/merge-provider/execute
Runs a post-submission cross-order merge for already-dispatched fulfillment orders. The plan is re-validated first; if it can still run, a background job cancels the absorbed orders at the shipping provider, adds their items to the master order, and then records the merge in SKU (each sales order keeps its own tracking). Returns a job handle to track progress.
orders:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Body
fulfillment_order_ids(int[], required, min 2) — the orders to merge.primary_fulfillment_order_id(int, required) — the order that survives as the master (it receives the others' items).acknowledge_label_voids(bool, optional) — set true to confirm any labels that must be voided first.
Responses
202 Accepted—data.tracked_job_log_idto poll/subscribe on.422— the merge can't run;blockerslists why.
Request
Responses
- 202
- 401
- 403
- 422
- 429
Accepted
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Unprocessable Content
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.