Introduction
Starting with API Version 2026-01, we have introduced updates to bulk operations that enhance performance and reliability. This change restructures output for faster processing and reduced timeouts, helping developers handle large datasets more effectively.
What’s Changed
Bulk Queries
The groupObjects argument now defaults to false. This new default setting simplifies the result structure to improve processing speed and minimize the chance of timeouts. Previously, grouping objects often slowed operations and increased the likelihood of failures.
Bulk Mutations
The groupObjects argument has been removed entirely. Results now always align with the order of input rows. This change simplifies the correlation between output responses and the original data.
What You Need to Do
For Bulk Queries
-
If you rely on grouped output: Set
groupObjectstotrueto maintain the nested structure. For example:
mutation {
bulkOperationRunQuery(
query: """
{ products { edges { node { id title } } } }
"""
groupObjects: true # Add this to maintain grouped output
) { bulkOperation { id status } userErrors { field message } }
}
- If grouped output is not necessary: No action is required. Queries will run faster by default.
For Bulk Mutations
-
If you were using
groupObjects: true: Remove the argument from your mutation call. Results will now directly align with your input rows. -
If you weren't using
groupObjects: No changes are required. Mutations will continue functioning with improved reliability.
Why This Change Was Made
Most apps do not require grouped output, and the overhead it causes can severely impact performance. By defaulting to flat structures, these updates provide faster and more predictable results that are easier to process at scale.
For bulk queries, enable groupObjects only if nested output is essential. For bulk mutations, results matching input order simplifies your ability to track successes or failures.