Skip to main content

Exclusive > timestamp filters exclude the full second

As of API version 2026-10, an exclusive lower bound (>) on a timestamp filter in the GraphQL Admin API search syntax excludes the full second. For example, created_at:>'2026-09-15T12:00:02Z' no longer returns an order created at 12:00:02.500.

What changed

The GraphQL Admin API returns timestamps such as createdAt to the second, but internally some resources store them with fractional seconds.

Before 2026-10, created_at:>'2026-09-15T12:00:02Z' compared against 12:00:02.000000. It returned records from later in that second, and the response showed those records with createdAt: "2026-09-15T12:00:02Z". The same records also matched created_at:<='2026-09-15T12:00:02Z'.

As of 2026-10, when a > value has no fractional seconds, the filter starts after the end of that second (12:00:02.999999). A record matches >T only when the timestamp that the API returns for it is later than T, so >T and <=T no longer overlap.

These filters don't change on any version: >=, <, and <=; date-only values such as created_at:>2026-09-15; and values with fractional seconds such as created_at:>'2026-09-15T12:00:02.250Z'.

Who's affected

Apps that send a > bound without fractional seconds on a timestamp filter in the query argument of a GraphQL Admin API connection, for example created_at on the orders query.

What to do

Apps on 2026-07 or earlier don't need to change anything. Before you move an app to 2026-10, check its > filters:

  1. Find queries that pass a timestamp from an earlier response as a > bound, for example to fetch records newer than the last record that the app saw.
  2. If the app must not miss records created later in that same second, use >= with that timestamp and remove duplicates by id.
query OrdersSinceLastSync {
orders(first: 50, sortKey: CREATED_AT, query: "created_at:>='2026-09-15T12:00:02Z'") {
nodes {
id
createdAt
}
}
}
Was this page helpful?