List Post-Submission Merge Candidates
GET/api/fulfillment-orders/:fulfillmentOrder/post-submission-merge-candidates
Returns sibling fulfillment orders on OTHER sales orders that this ALREADY-DISPATCHED fulfillment order could still be merged with at the shipping provider (post-submission cross-order merge). Same customer/address/warehouse/provider consensus as the pre-dispatch merge candidates, but for the window after auto-dispatch has already sent the orders to the provider.
orders:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Eligibility — a candidate is included only if it (and the anchor):
- Is
status=openandrequest_statusin {submitted,accepted,acknowledged} (handed to the provider, awaiting tracking). - Belongs to a sales order that is NOT cancelled.
- Is at the SAME warehouse, resolves to the SAME provider type + requested integration instance, and is NOT FBA-routed.
- Ships to the SAME shipping-address signature as the anchor, and is on a DIFFERENT sales order (ungrouped or already in the anchor's merge group).
If the anchor is itself ineligible (not in the post-submission window, FBA, cancelled order, or no shipping address) an empty list is returned.
Response shape — data[] is an array of merge candidates. Same fields as the pre-dispatch merge candidates, plus a provider-side verdict:
provider_eligibility(object) — whether the candidate can still be cancelled/merged at its provider:eligible(bool) —falsewhen the provider order has already shipped or been cancelled.reason(string | null) — human-facing explanation shown when ineligible.requires_label_void(bool) —truewhen a shipping label must be voided before the order becomes mutable again.
This is a conservative list-level read of each candidate's locally-synced provider order; the precise, live per-provider "too far gone" check runs immediately before the merge is executed.
Request
Responses
- 200
- 401
- 403
- 404
- 429
OK
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.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
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.