Graphql orders created_at filter inaccurate

The created_at (and potentially other date filters) doesn’t seem to parse the timestamp correctly.

I have an order:

“createdAt”: “2025-07-01T06:18:07Z”,

“id”: “gid://shopify/Order/6402154299474”,

“name”: “#1025”,

Yet if i use the filter (note minute = 19)

created_at:>=2025-07-01T06:19:00Z AND created_at:<=2025-07-01T06:19:06Z

the errors show that it doesn’t interpret this correctly and is searching on the entire day instead.

How can i get the search filter to recognise the entire timestamp?

"extensions": {

    "cost": {

        "requestedQueryCost": 65,

        "actualQueryCost": 4,

        "throttleStatus": {

            "maximumAvailable": 2000.0,

            "currentlyAvailable": 1996,

            "restoreRate": 100.0

        }

    },

    "search": \[

        {

            "path": \[

                "orders"

            \],

            "query": "created_at:>=2025-07-01T06:19:00Z AND created_at:<=2025-07-01T06:19:06Z",

            "parsed": {

                "and": \[

                    {

                        "field": "created_at",

                        "range_gte": "2025-07-01T00:00:00+10:00",

                        "range_lte": "2025-07-01T23:59:59+10:00"

                    },

                    {

                        "field": "19",

                        "match_all": "00Z"

                    },

                    {

                        "field": "19",

                        "match_all": "06Z"

                    }

                \]

            },

            "warnings": \[

                {

                    "field": "19",

                    "message": "Invalid search field for this query.",

                    "code": "invalid_field"

                },

                {

                    "field": "19",

                    "message": "Invalid search field for this query.",

                    "code": "invalid_field"

                }

            \]

        }

    \]

}

The x-request-id is

7289cd32-7f9e-431a-ba60-22db51d0ef4b-1770174767

Hi @Min_Liu! The issue is with the timestamp format in your query filter - ISO 8601 timestamps with the T separator need to be quoted for the parser to recognize them as complete values.

Without quotes, the T acts as a delimiter and the time portion gets parsed as separate (invalid) fields, which is exactly what the warnings in your extensions output are showing.

Try this instead:

created_at:>='2025-07-01T06:19:00Z' AND created_at:<='2025-07-01T06:19:06Z'

The search syntax documentation has examples showing the quoted format.

If you’re still seeing unexpected behavior after quoting the timestamps, could you share the full request body and response (including the extensions block), along with the x-request-id from the response headers? That’ll help us dig deeper if needed.

Ah cheers thank you, the documentation on the individual graphql docs should probably be updated to show this too.