Orders query filter financial_status:expired returns no results despite orders having displayFinancialStatus: EXPIRED (Admin GraphQL API)

The orders connection’s search query does not reliably return orders when filtering by financial_status:expired. We observe two different broken behaviors across stores:

Store A: the filter returns zero orders, despite orders having displayFinancialStatus: EXPIRED.

Store B: the filter returns a partial list — some expired orders come back, but other orders that clearly have displayFinancialStatus: EXPIRED are missing from the results.

This query returned an empty array
{
orders(first: 10, query: "financial_status:expired", sortKey: CREATED_AT, reverse: true){
nodes{
id
name
displayFinancialStatus
createdAt
}
}
}

But we can see in the orders that there are some orders with expired payment status. Example:
After running the query on an order with id
"order": {
"id": "gid://shopify/Order/6659611492671",
"name": "7001808",
"displayFinancialStatus": "EXPIRED"
}

Environment:
API: Admin GraphQL API
API version: 2026-07
Docs link: orders - GraphQL Admin

Hey @Akash_Singh, can you run that again with a few additions to make sure the orders are truly being excluded when they shouldn’t?

Can you add PageInfo to make sure the next page is false.

Also add in the debugging headers, Shopify-Search-Query-Debug=1. That will give us more clarity in to how the filter is being parsed: Shopify API search syntax

Hi, thanks — I ran it exactly as you asked, with pageInfo and the Shopify-Search-Query-Debug: 1 header. Here’s what I got:

Query: { orders(first: 10, query: "financial_status:expired", sortKey: CREATED_AT, reverse: true) { nodes { id name displayFinancialStatus createdAt } pageInfo { hasNextPage endCursor hasPreviousPage } } }

Headers: Shopify-Search-Query-Debug: 1

Response: {
"data": {
"orders": {
"nodes": ,
"pageInfo": { "hasNextPage": false, "endCursor": null, "hasPreviousPage": false }
}
},
"extensions": {
"search": [
{
"path": ["orders"],
"query": "financial_status:expired",
"parsed": { "field": "financial_status", "match_all": "expired" }
}
]
}
}