---
title: >-
  OrderDisplayFulfillmentStatus now returns FULFILLMENT_NOT_REQUIRED for orders
  with no items to fulfill - Shopify developer changelog
description: >-
  Shopify’s developer changelog documents all changes to Shopify’s platform.
  Find the latest news and learn about new platform opportunities.
source_url:
  html: >-
    https://shopify.dev/changelog/posts/orderdisplayfulfillmentstatus-now-returns-fulfillmentnotrequired
  md: >-
    https://shopify.dev/changelog/posts/orderdisplayfulfillmentstatus-now-returns-fulfillmentnotrequired.md
metadata:
  effectiveApiVersion: 2026-10
  affectedApi:
    - displayName: Admin GraphQL API
      handle: admin-graphql
  primaryTag:
    displayName: API
    handle: api
  secondaryTag:
    displayName: Breaking API Change
    handle: breaking-api-change
  indicatesActionRequired: true
  createdAt: '2026-06-24T13:25:23-04:00'
  postedAt: '2026-07-03T12:00:00-04:00'
  updatedAt: '2026-09-18T11:18:37-04:00'
  effectiveAt: '2026-06-25T12:00:00-04:00'
---

July 3, 2026

# OrderDisplayFulfillmentStatus now returns FULFILLMENT\_NOT\_REQUIRED for orders with no items to fulfill

DateJuly 3, 2026

Version[2026-10](https://shopify.dev/changelog?api_version=2026-10)

Flags[Breaking API Change](https://shopify.dev/changelog?filter=breaking-api-change)[Action required](https://shopify.dev/changelog?action_required=true)

SurfacesAPI

Affected APIs[Admin GraphQL API](https://shopify.dev/changelog?api_type=admin-graphql)

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 an additive change, and integrations that handle unrecognized enum values gracefully won’t break. If your app branches on or filters by UNFULFILLED, see “What you may need to do” below. 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.
