Admin GraphQL API failure when fetching sales data from agreements node

Hi,

We have started encountering the following error for our GraphQL requests since this morning (around 2026-04-16 12:00:00 UTC):

“The parent ‘node’ field for a nested connection must return a type that implements the ‘Node’ interface. Invalid connections: agreements.”

These queries were working as expected until now, and there haven’t been any changes on our side. The issue also doesn’t seem to affect all Shopify stores, and only some of them.

Has anyone else faced a similar issue, or have any insights on what might be causing this?

Query:

{
  shop {
    name
    id
    orders(query: "((created_at:>='2026-04-16T01:14:23+01:00' AND created_at:<='2026-04-16T03:30:58+01:00'))") { 
      edges {
        node {
          id
          agreements {
            edges {
              node {
                id
                reason
                happenedAt
                app {
                  id
                  title
                }
                sales {
                  edges {
                    node {
                      id
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  } 
}
4 Likes

Our team is experiencing the exact same failure when attempting to run a bulkOperationRunQuery that includes the agreements field.

but unike the OP mentioned, for us the query works perfectly fine when executed as a regular (non-bulk) GraphQL query. It only fails when wrapped in a bulkOperationRunQuery.

1 Like

Thank you. We are also using bulk operations for this. Missed to mention this in the post.

I tried running the same query using synchronous (non-bulk) requests, and it seems to work fine in that case. But, this approach may not be suitable when dealing with a large number of objects. Bulk operations would be better for this.

Have the same issue, sync API is good, but bulk operator just break.

1 Like

We have the same issue here on multiple stores

1 Like

We have the exact same issue on all of our stores, it was working perfectly fine until about 00:30 GMT, 16th of April. This is a critical issue.

1 Like

Does anyone know if there is an official developer support channel we can reach out to for this?

Let mention shopify developer on X

The working day has only just started in Europe, and I assume a majority of the Shopify team are more Canadian/US based so will be asleep currently.

1 Like

Hi all, thanks for reporting this! A recent change to bulk operations validation is now rejecting queries where nested connections use types that don’t implement the Node interface, and the agreements connection falls into that category.

Previously these bulk queries were accepted and worked in most cases, even though the agreement types didn’t meet the Node interface requirement for bulk ops. The stricter validation now catches this upfront and rejects the query at submission time, which is why you’re seeing the error across all stores.

As a temporary workaround, synchronous (non-bulk) GraphQL queries for the same orders > agreements > sales data still work fine. I understand this is not ideal for large datasets, but it is functional in the meantime.

I’ve raised the impact of this change with the relevant team internally. I’ll update this thread when I have more information. Thanks again for flagging!

4 Likes

Same issue on our end. Bulk operations started failing at 2026-04-16 02:30 UTC (12:30 AEST) with the same agreements error. Same query works fine as a standard GraphQL request, only breaks in bulkOperationRunQuery.

Surely this is some breaking change that needs to be reverted no?

1 Like

It has to be reverted (or perhaps properly fixed, even, by adding the Node interface to SalesAgreements). It’s not realistic to have to synchronize agreements one-by-one for possibly tens/hundreds of thousands of orders. It’s physically impossible.

6 Likes

we have to hotfix our pipeline to call agreements one-by-one, very slow and reach rate llimit very often, absolutely a bad idea

4 Likes

This same issue has already happened once before in 2023:

How can you make sure that this doesn’t keep happening?

1 Like

rejecting queries where nested connections use types that don’t implement the Node interface, and the agreements connection falls into that category

is there any way to make it implementing the node interface? it looks like to be matching it anyway

interface Node {
  id: ID!
}

# change to `interface SalesAgreement implements Node`
interface SalesAgreement {
  app: App
  happenedAt: DateTime!
  id: ID!
  reason: OrderActionType!
  sales: SaleConnection!
  user: StaffMember
}

Seems like it’s working again! @Donal-Shopify Did you guys remove the validation or implement the Node interface?

Yes, the error have reduced now. Seems to be working.

Hi all, thanks for your patience on this. We reverted the on-submission validation change on our end and that revert is in the process of deploying. You should see recovery soon if not already.

5 Likes

Thanks for reverting this, is there any plan on your side to make the SalesAgreement implement the Node interface?
This would resolve some other issues like this one :

Have a nice day