Overview
On Oct 8th, 2025, Appstle implemented a structural update to its internal Shopify GraphQL client to resolve upstream inconsistencies in pagination behavior. This update resulted in a shift from edges → nodes within certain paginated objects returned through Appstle’s APIs and webhook payloads.
This change was applied globally across all API responses and webhook payloads where Shopify GraphQL pagination is involved.
🔍 Background
Shopify had updated its recommended structure for paginated queries — shifting from the legacy edges { node { ... } } format to a simplified nodes { ... } format.
Reference: Shopify GraphQL Pagination — Connection Edges
To prevent production instability, infinite pagination loops, and timeout errors observed in merchant systems, Appstle adopted this new structure immediately.
⚙️ What Changed
Previous Format (Old)
"lines": { "__typename": "SubscriptionLineConnection", "edges": [ { "__typename": "SubscriptionLineEdge", "node": { "__typename": "SubscriptionLine", "currentPrice": 24.99 } } ] }New Format (Updated)
"lines": { "__typename": "SubscriptionLineConnection", "nodes": [ { "__typename": "SubscriptionLine", "currentPrice": 24.99 } ], "pageInfo": { "hasNextPage": false, "hasPreviousPage": false, "startCursor": "cursor_start", "endCursor": "cursor_end" } }This change applies to all relevant API responses and webhook payloads (e.g., subscription contracts, customer data, and product-related GraphQL queries).
🧩 Impact for Integrators
If your integration parses raw GraphQL pagination responses from Appstle APIs or webhooks, you will need to:
Replace references to
edges[].nodewithnodes[].Update any logic tied to pagination objects (
hasNextPage,startCursor,endCursor).
If your system only consumes Appstle’s higher-level API responses (and not direct GraphQL connections), you should not experience any disruption.
🧠 Summary
Aspect | Details |
Change Type | Structural alignment with Shopify GraphQL pagination |
Impact Scope | All Appstle APIs and webhook payloads with GraphQL responses and using pagination |
Old Structure |
|
New Structure |
|
Reason | Fix upstream pagination inconsistency causing timeouts |
Next Steps for Developers | Update response parsers to read from |
