← All breaking-change reports

Shopify breaking change: OrderDisplayFulfillmentStatus now returns FULFILLMENT_NOT_REQUIRED for orders with no items to fulfill

shopify · breaking · 2026-07-03 · upstream source

What changed

From the upstream announcement:

As of API version 2026-10, the OrderDisplayFulfillmentStatus enum can return a new value: FULFILLMENT_NOT_REQUIRED . It is returned for orders that are not fulfilled but have no items remaining to fulfill — for example, an order that was fully cancelled or fully refunded before any items were fulfilled. Previously, these orders returned UNFULFILLED . This is a backward-compatible, additive change: integrations that already handle unrecognized enum values gracefully don't need to do anything. As with all GraphQL enums, treat the set of values as open — new values may be added in future versions. What's changing Order.displayFulfillmentStatus (and any field typed as OrderDisplayFulfillmentStatus ) may return FULFILLMENT_NOT_REQUIRED on API version 2026-10 and later. This value represents an order whose remaining fulfillable quantity is zero — for example, all line item quantities were remo […]

Who is affected

Codebases that call the Shopify API surface named above.

To find out whether your repo is hit — file and line number, no code leaving your machine:

npx mendapi scan --repo .

How to fix it

mendapi ships a deterministic migration pack for this change (shopify-order-fulfillment-not-required). Preview the patch locally (dry-run is the default; nothing is modified without --apply):

npx mendapi fix --repo . --migration shopify-order-fulfillment-not-required

The pack is idempotent, gold-regression tested, and safe on partially migrated code.

Detected and tracked by mendapi — Dependabot for every API you depend on. Scans run locally; your code never leaves your machine.

Related

Pre-release. Change data is recorded from upstream provider releases, changelogs and OpenAPI spec diffs; every article links its source.