New Return Reason Definitions API for Better Return Insights
You can now use the new ReturnReasonDefinition type to capture more granular, category-specific return reasons when managing returns. This replaces the previous ReturnReason enum with a richer data model that helps provide merchants with better insights in their return analytics, and more tailored return experiences for their buyers.
Also shipped Jan 1, 2026Shopify in January 2026 →
Workers - Build microfrontend applications on Workers
You can now deploy microfrontends to Cloudflare, splitting a single application into smaller, independently deployable units that render as one cohesive application. This lets different teams using different frameworks develop, test, and deploy each microfrontend without coordinating releases.
feldera 0.216.0
- adapters: invoke only one s3 push operation at a time [SQL] Ignore case when casting string to Boolean [SQL] Generate all default values for tables with key
More from Shopify developer platformEvery Shopify developer platform release →
Access transactions on the Return object
You can now access transaction data directly from the Return object in the Admin GraphQL API. This new transactions connection simplifies your ability to associate payments and refunds with specific returns, removing the need to deduce relationships based on amounts and timestamps.
`INVALID_BILLING_ADDRESS`: new processing error for subscription billing attempts
We've added a new processing error for subscription billing attempts: INVALID_BILLING_ADDRESS . This error is returned when one or more fields in the billing address contain invalid data. Validated fields include: firstName or lastName address1 or address2 city province or provinceCode country or countryCode zip (postal code) phone company
Subscription billing attempts throttling
Beginning in API version 2026-01, billing attempts will be throttled based on internal trust metrics to prevent abuse. If an attempt is throttled, it will be visible in the new throttled error code on the BillingAttemptUserErrorCode enum.
Introducing the `orders/link_requested` webhook topic
Starting with API version 2026-01 of the GraphQL Admin API, your app can subscribe to the orders/link_requested webhook topic. This webhook is triggered when a customer requests a new order link from an expired Order status page, allowing your app to be notified when customers need access to their order details after the original link has expired.
Metafield references added to Customer Account API
We have added metafield.reference and metafield.references to the Customer Account API. This means that reference Media types, including MediaImage , GenericFile , Model3d , and Video , now exist on the common query objects that currently support metafields on the Customer Account API.
Due on Fulfillment payment term available for pre-orders
In the API 2026-01 release candidate version, a new value, ON_FULFILLMENT , has been added to the SellingPlanRemainingBalanceChargeTrigger enum. This value allows you to set payments for pre-orders to be processed upon order fulfillment, providing flexibility in managing deferred payments.
Deprecated `deliveryShippingOriginAssign` mutation
Support for legacy mode profiles in shipping has been discontinued, as this feature has been inactive for some time. Consequently, the GraphQL Admin API is being updated to align with this change.
Deprecation of `Shop.billingAddress` in favor of `Shop.shopAddress`
As of API version 2026-01, the shopAddress field will be introduced to the Shop object in the GraphQL Admin API. This new field replaces the now-deprecated billingAddress field, which will be removed in a future version. shopAddress will have identical structure and values as billingAddress .