Skip to main content

OrderDisplayFulfillmentStatus now returns FULFILLMENT_NOT_REQUIRED for orders with no items to fulfill

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 removed through order edits, or the order was closed by cancellation.
  • API versions earlier than 2026-10 are unchanged and continue to return UNFULFILLED for these orders.

Why The UNFULFILLED status was misleading for orders that have nothing left to fulfill. FULFILLMENT_NOT_REQUIRED makes the order's true state clear to merchants and to the apps that read it.

What you may need to do

  • If your app exhaustively maps OrderDisplayFulfillmentStatus values (switch statements, status-to-label/badge maps, or generated types), add handling for FULFILLMENT_NOT_REQUIRED when you adopt 2026-10.
  • If your app branches on or filters by UNFULFILLED, note that orders with no fulfillable items report FULFILLMENT_NOT_REQUIRED instead on 2026-10 and later.
Was this section helpful?