Developer changelog
Subscribe to the changelog to stay up to date on recent changes to Shopify’s APIs and other developer products, as well as preview upcoming features and beta releases.
Filter by tag:
These are the most recent changes to Shopify’s developer platform.
There are no entries for your filter criteria.
September 18, 2023
New Liquid section properties and default lazy loading for image tags Themes
We've added default lazy loading for the image_tag
when it occurs in sections further down the page.
We've also added new section properties so you can customize this behavior as well as fix other web performance issues dependent on layout position:
-
section.index
- the 1-based index of a section within its location -
section.index0
- the 0-based index of a section within its location -
section.location
- the location of the section (e.g., template, section group type, etc.)
You can now fix performance anti-patterns like lazy loading images above the fold and layout shifts due to async CSS loading without depending on section settings.
Learn more about the new image_tag
behavior and how to use the new section properties.
September 14, 2023
New GraphQL Admin API field CustomerAccountsV2 exposes shops' customer accounts settings API
As of Admin GraphQL API version 2023-10, you can query the CustomerAccountsV2 field on the Shop object to get information about the shop's customer accounts settings. CustomerAccountsV2 will let you adapt your app's behaviour to the merchant's customer accounts settings.
Learn more about CustomerAccountsV2 on Shopify.dev.
September 13, 2023
Updates to the Theme Store Requirements Themes
We've made updates to the Theme Store requirements, in relation to the prohibited use of externally hosted scripts, and code which interferes with native Shopify functionality. These requirements are contained within Section 7, Consistency and functionality and inform that:
- Scripts included in theme code must be hosted on Shopify's servers, with the exception of approved third-party libraries.
- Themes must not include any Javascript or code that interferes with, or augments, any native Shopify feature within the theme editor or Shopify admin.
These requirements are to ensure all themes in the Shopify Theme Store are secure, reliable, performant, and maintain a consistent user experience.
The new requirements can be viewed on Shopify.dev.
September 13, 2023
Cart validation errors on online store cart and Storefront API API
As of Storefront GraphQL API version 2023-10, we’ve added the VALIDATION_CUSTOM
error type to CartErrorCode
so that you can use validation errors in carts.
Learn more about cart validation errors on Shopify.dev.
September 13, 2023
Admin action extensions are now generally available Tools
Admin action extensions are now generally available and can be deployed to apps. These new extensions enable you to seamlessly integrate your app's functionality into the Shopify admin by embedding workflows and UX on core admin pages.
Once deployed, merchants can find actions in the “More actions” menus at the top of Products, Orders, and Customers pages in the admin. When a merchant launches the extension, it will appear as a modal over the current page. By giving merchants access to your app's functionality, without the need to navigate away from their current task, these extensions help increase efficiency and productivity.
Admin action extensions come with direct API access, enabling them to use the Admin GraphQL API without having to proxy the calls through their app's backend resulting in faster and more responsive apps.
Learn more about admin action extensions on Shopify.dev.
September 12, 2023
Introducing homepage ads on the Shopify App Store Shopify App Store
Developers can now generate more demand for your apps by showcasing them on the homepage of the Shopify App Store.
Learn more about homepage ads on our blog and shopify.dev.
September 12, 2023
Full-funnel Google Analytics attribution Shopify App Store
We’ve added visibility into the app install event itself as part of our existing integration with Google Analytics. This addition enables developers to more easily compare the performance of your Shopify App Store Ads with your other marketing activities on and off Shopify.
In addition to having full visibility into the app install event, you can also now tie the app install event to a Shop ID, enabling richer insights on the type of merchants that are installing your app.
Learn more on our blog and shopify.dev.
September 11, 2023
New APIs added to the latest version of App Bridge Tools
With the latest version of App Bridge, you can use the Print, Scanner and Share APIs.
Both Print and Share rely on web standards. Learn more about these APIs on Shopify.dev
September 11, 2023
Automatic free shipping discount now available on GraphQL Admin API API
It is now possible to offer automatic free shipping discounts using the GraphQL Admin API using discountAutomaticFreeshippingUpdate and discountAutomaticFreeshippingCreate.
Learn more on Shopify.dev.
September 07, 2023
Liquid Console: Test and evaluate Liquid snippets quickly using Shopify CLI Tools
Liquid Console is now available, a tool that enables Liquid testing and evaluation directly in your code editor through Shopify CLI. This feature accelerates your feedback loop, simplifies debugging, and assists developers learning Liquid.
Get started by running the command shopify theme console
in your terminal. This command opens up an efficient way to experiment with Liquid filters and explore Liquid object data structures.
Learn more about Liquid Console on Shopify.dev.
September 07, 2023
Removal of UsageCharge billing_on field on Admin REST API API
As of Admin REST API version 2023-10, the following UsageCharge
fields have been deprecated: billing_on
.
Learn more about the UsageCharge
object on Shopify.dev.
September 06, 2023
Action required
Breaking changes to ShopResourceLimits API: Deprecate "skuResourceLimits" API
As of GraphQL Admin API version 2023-10, we're deprecating the "skuResourceLimits" field from the ShopResourceLimits
query object. We're no longer enforcing a limit of SKUs at a shop level. Instead, please use "maxProductVariants" to determine the limit of variants at a product level.
Learn more about ShopResourceLimits
on Shopify.dev
August 31, 2023
Removed minimum character requirement for reviews Shopify App Store
We’re simplifying feedback collection and reducing non-informative content. These ratings contribute to the overall score without impacting the recent review ranking updates.
August 28, 2023
Action required
Updates to our Terms of Use and Partner Program Agreement Shopify App Store
EFFECTIVE AUGUST 28, 2023 ACTION REQUIRED
We've made changes to our Partner Program Agreement and API License and Terms of Use. These updates include terms that clarify a partner's responsibility to sync back order data when any type of data is taken off of Shopify and facilitates an order, as well as other important updates.
These changes come into effect as of today, August 28, 2023.
We encourage all developers on our platform to review and be familiar with the API License and Terms and the Partner Program Agreement, so that you understand how to build, run, and grow your app and development business on our platform.
For more information and frequently asked questions, please visit the Shopify Help Center.
August 28, 2023
New inventory states: Safety Stock, Damaged and Quality Control API
You can now use the GraphQL Admin API to adjust new inventory states: safety_stock
, damaged
, and quality_control
.
By moving inventory units to one of these states, they are tracked as part of a merchant's on_hand
inventory, but are unavailable for sale. Inventory quantities in one of these states display as Unavailable to merchants that are tracking inventory in the Shopify admin.
Learn more about the the new states on Shopify.dev.
August 24, 2023
New App Store Requirement App Store requirements
Starting Monday September 18th, languages listed under the Languages section of your App Store listing must be fully available within the app. Any language listed that is not accessible within the app must be removed until translations can be completed.
To learn more, please see the App Store Requirements on Shopify.dev.
August 22, 2023
Search filters for Built for Shopify apps Shopify App Store
We've added a filter for apps that have achieved Built for Shopify status, which can be used in combination with category and feature filters. Learn more on shopify.dev.
August 22, 2023
Cart and Checkout Validation Functions now run in online store cart API
Cart and Checkout Validation Functions now run on the online store cart (they previously only ran on the storefront cart API). You can now apply custom validation logic to buyers on the online store as well as custom storefronts.
Learn more about Cart and Checkout Validation Functions on Shopify.dev.
August 17, 2023
checkout_started now triggers on every checkout visit in checkout extensibility. API
As of August 17, 2023 4:30 pm EDT, checkout_started now triggers on every checkout visit in checkout extensibility.
The customer event, checkout_started, will now trigger for all checkout visits if you upgraded to checkout extensibility. Previously, it only triggered the first time you entered the checkout.
Additional event data will provide additional insights into the customer journey. The customer event reference can be found here.
August 16, 2023
POS UI extensions update: new components, fixes API
As of August 16, we added the following components to POS UI extensions:
DatePicker
TimePicker
DateField
TimeField
EmailField
NumberField
TextField
TextArea
The Tile
component's props have been updated:
enabled
is now optional
onPress
is now optional
badgeValue
added
All of the changes are available for POS UI extensions version 1.3.0 and POS app version 8.15.0. See the version log for all version details.
August 14, 2023
Renderable and Online Store capabilities for metaobjects API
As of 2023-10 we're introducing new metaobject capabilities to enable SEO attributes and make entries renderable in the Online Store. These capabilities make it possible to render landing pages from metaobject entries.
The renderable capability enables setting SEO metadata attributes on your metaobjects. These attributes are accessible in Liquid and via the Storefront API.
The Online Store capability makes your metaobjects render as web pages in the Online Store by assigning a theme template and defining a URL.
Both capabilities can be enabled and configured independently when creating and updating a metaobject definition.
Learn more about the renderable
and onlineStore
capabilities on Shopify.dev
August 10, 2023
Server Pixels now has order_id as part of the checkout_completed event API
For Server Pixels, we've added order_id to the checkout_completed event payload so that you can track it server-side.
August 03, 2023
Improvements to app review ranking Shopify App Store
We’ve shipped refinements to our app review ranking system and will continue to further invest in it. If you have any feedback, please submit it to this form.
August 01, 2023
Coming soon: simplified extension versioning and deployment Tools
Soon, you'll be able to release all your extensions at the same time, directly from Shopify CLI. New app-level extension versioning will help you to keep better track of your app's iterations, and allow you to easily revert to previous versions, if needed. You’ll also be able to preview Functions using the dev command, and delete any extension.
This functionality will be included in a future release of Shopify CLI. You'll be able to opt in for each app that you develop.
July 28, 2023
[Developer Preview] Shopify Flow - Use the CLI to manage your tasks Tools
Flow in the Shopify CLI is available in developer preview. We welcome feedback at flow-connectors-dev@shopify.com
Previously, Flow actions and triggers were defined in the partner dashboard. As Shopify CLI adoption has expanded, this meant that you needed to manage and deploy your Flow extensions separately from the rest of your app.
Going forward, you will now create your Flow tasks and actions through the CLI. You can follow these guides for how to create both triggers and actions through the CLI. In addition, you can migrate your existing tasks to be CLI-managed, unifying your code. For more details on what is possible, you can also consult Flow’s reference guide for triggers and actions.
To create Flow extensions using the CLI, version 3.48 or higher is required. Please note that Flow does not currently support the app dev
command.
July 28, 2023
[Developer Preview] Shopify Flow - Use return data in your actions Tools
Your Flow actions can now return data into the Flow environment, allowing your merchants to build new types of automations making use of your app and data.
Several Flow actions make use of return data, allowing merchants to use data from other services. For example the OpenAI connector returns AI-generated text from OpenAI's completion API. Flow's "Get data" actions, including Get order data, return a list of objects that can be used in the workflow.
To use return data, your action must be defined through the Shopify CLI. You must use CLI version 3.48 or higher.
July 27, 2023
Install custom apps on multiple Shopify Plus stores Platform
Starting today partner accounts can distribute a single custom app to all stores within a Shopify Plus organization. As a result, it's now much simpler to manage and maintains apps for multi-store organizations.
Learn more about custom app distribution in the Shopify developer docs.
July 27, 2023
Extension-only apps Platform
You can now create custom apps that contain only extensions without the need to build and host an external web application, or implement OAuth. Custom apps without a requirement for embedded admin pages can now be created from the CLI and installed on merchant stores.
July 27, 2023
Checkout UI Extensions - API Versioning API
We have released API versioning for checkout UI extensions. As part of this release, we are also moving checkout UI extensions over to the new ui extension packages.
- For information on how to adopt API versions for existing extensions, visit our versioning page
- For more details on the what and why, see our post on github
July 27, 2023
[Developer Preview] Admin action and block extensions Tools
Developers can now create and test Admin action and block extensions in their dev stores. These new extensions enable you to seamlessly integrate your app's functionality into the Shopify admin by embedding workflows and UX on core admin pages. By giving merchants access to your app's functionality, without the need to navigate away from their current task, these extensions help merchants be more efficient and productive.
Admin actions and blocks can use direct API access, enabling them to use the Admin GraphQL API without having to proxy the calls through their app's backend resulting in faster and more responsive apps.
Learn more about Admin action and block extensions on Shopify.dev.
July 26, 2023
Built for Shopify badging now live in the Shopify App Store Shopify App Store
Apps that have achieved Built for Shopify status now have special badging and promotional placements in the Shopify App Store, helping them get in front of the right businesses at the right time.
July 26, 2023
Cart and Checkout Validation Function are now available for custom apps API
The Shopify Functions API for cart and checkout validations is now available on production stores for custom apps.
Learn more about building cart and checkout validations in our dev docs: Cart and Checkout validations
July 26, 2023
Introducing the new Customer Account API in developer preview API
The Developer Preview of the Customer Account API is now available for exploration and experimentation. This API can be accessed through the Hydrogen and Headless channels, providing developers with early access to its powerful features. The Customer Account API offers enhanced security, authentication, and personalization capabilities for headless storefronts. It enables passwordless single sign-on across all of the Shopify platform, from Liquid to Hydrogen and non-Hydrogen custom storefronts, all the way through to checkout. The Customer Account API also empowers effortless customer-scoped management for DTC–accounts, orders, drafts, payments, fulfillment, discounts, refunds, and metafields (shop, order, customer).
This version of the Customer Account API is marked as unstable as there will be changes and updates to refine and improve its functionality. We encourage developers to provide feedback and share their experiences to help shape the future iterations of this API.
Read the developer documentation to learn more.
July 26, 2023
App review summaries Shopify App Store
We’ve added app review summaries (powered by Shopify Magic) to the Shopify App Store, helping merchants see your app’s value based on other merchants' experiences. To start, review summaries will appear for apps with at least 100 reviews and a 4.0 rating.
Merchants can leave feedback when viewing the summary. We ask that developers share feedback using this form, which will be shared with the product team.
July 26, 2023
Oxygen Log Drains now available to Shopify Plus Tools
Oxygen has now added support for log drains, which allows developers to forward their Hydrogen storefront’s application logs to third-party log management platforms, including DataDog, Splunk, and New Relic.
Log drains can be easily set up and configured through the Shopify admin, with no code required. Merchants with complex monitoring needs now have full control of log monitoring, analysis, and retention–in your observability service of choice.
This feature is available today for all merchants on the Shopify Plus plan. Read the developer documentation to learn more.
July 26, 2023
Hydrogen updates: New CLI improvements and Remix-optimized components Tools
Building headless stores with Hydrogen is now even faster with our latest release.
Starting a new Hydrogen project with the Shopify CLI now gives you more options. You can scaffold a full purchase journey with standard app routes, add your favorite styling library, and configure language and currency settings, and connect your live product inventory to your Hydrogen app with a single command.
Hydrogen also features pre-built components optimized for Remix for better performance, SEO, and DX – from cart, image, product form, to pagination. And enhanced type safety support with built-in GraphQL codegen ensures your build is least error-prone.
Learn more about our latest release in detail and what’s coming next.
July 26, 2023
Remove rate limits on the Storefront API API
Storefront API now serves all legitimate requests from both private and public clients without rate limits. Headless stores will stay protected against bot activity and never hit a throttle, no matter the size of traffic they receive. All included for free in your plan.
Read the developer documentation to learn more.
July 26, 2023
Updates to the App Design Guidelines Tools
We've updated the App Design Guidelines for better clarity and coverage of the trickiest parts of app design. “Mandatory” and “Unacceptable” directives are now “Must Do” and “Do Not”, to clarify that all these directives must be met to qualify for Built for Shopify status. We have also added new guidelines for Forms, Marketing, and Admin UI extensions.
All Built for Shopify applicants will be evaluated against the updated App Design Guidelines starting September 1, 2023.
See the new guidelines on Shopify.dev.
July 26, 2023
The Summer ’23 Edition is live! Tools
There are now more ways than ever to customize and extend Shopify, from storefront to checkout to admin.
Explore the latest updates to our suite of APIs, SDKs, and developer tools.
- Create the best checkout experience with 17 new APIs and updates for Shopify Checkout
- Build Hydrogen storefronts faster with Remix-optimized workflows and CLI improvements like enhanced type safety support, and scale effortlessly without rate limits on the Storefront API
- Develop apps faster and more easily with our new Remix app template, extension-only apps, and config as code
- Extend the Shopify admin in entirely new ways with admin UI extensions
- Stand out from the crowd—Built for Shopify badging and promotional placements are now live in the Shopify App Store
- Customize Shopify’s backend logic with new Function APIs, support for JavaScript now generally available, and faster development and iteration with the
shopify app dev
command
Visit the Editions website to see all the developer announcements.
July 26, 2023
Cart Transform Function API API
You can now use the Cart Transform Function API to expand or merge cart line items. The Cart Transform API is used to build customized bundles.
For more information on the Cart Transform Function API click here.
For an overview on building a custom bundle offering click here.
July 26, 2023
New and updated APIs to build product bundles API
The ProductVariantComponent API has recently been added to the GraphQL Admin API allowing for the implementation of fixed bundles.
To build customized bundles, use the newly launched Cart Transform Function API.
For more information on creating bundles click here.
July 26, 2023
Checkout UI Extensions - New APIs for Summer Editions API
- Shipping address write API - Extensions can use the applyShippingAddressChange API to modify address values on behalf of a buyer.
- B2B context APIs - Extensions can now read details about a purchasingCompany as well as checkout settings that apply to the current buyer
- Support for new metafield types - Extensions can now read metafields on carts, companies, or companyLocations. They can also write to cart metafields
July 26, 2023
Polaris v12 beta now available Platform
The beta release of Polaris v12 is now available, providing developers with early access to resources for updating the look and feel of your apps to fit seamlessly within the newly redesigned Shopify admin.
Learn more about Polaris v12-beta on polaris.shopify.com.
July 26, 2023
App Bridge via tag Tools
We have released a new version of App Bridge. You can add the <script>
tag to the <head>
of your app pages and get the benefits immediately.
App Bridge has been written from the ground up to be more familiar to web standards.
App Bridge will keep itself up to date automatically, so you don't have to worry about version updates.
Learn more about App Bridge in the documentation
July 26, 2023
Simplified extension versioning and deployment Platform
As of today, extensions are packaged and deployed at the same time, directly from Shopify CLI. New app-level extension versioning will help you to keep better track of your app's iterations, and allow you to easily revert to previous versions.
Until September 5th, you can opt in to get access to simplified deployment. Simplified deployment is available in Shopify CLI 3.48.
On September 5th, all apps will automatically be opted in to simplified deployment.
July 26, 2023
Config as Code Platform
Starting today, you can configure and manage your apps directly in your codebase without having to visit the Partner Dashboard. Using Shopify CLI, you can link your shopify.app.toml
file to an app, modify the configuration, and push the configuration live.
July 20, 2023
Smart Grid management for Point of Sale now available API
As of the latest unstable GraphQL API version, we have introduced the ability to utilize the Admin API for managing Smart Grid for Point of Sale. This enhancement enables the creation and naming of Smart Grid layouts that are not yet linked to any location. Once prepared, the API facilitates the assignment of a layout to single or multiple locations. Any subsequent modifications to this layout will be reflected across all assigned locations, eliminating the necessity for individual manual adjustments.
Just request the appropriate access scope(s) be added to your app.
Learn more about Smart Grid management on Shopify.dev.
July 19, 2023
Introduce Fulfillment Constraints built on Shopify Function API
- As of
2023-10
version of the Shopify Functions API, you can use the Fulfillment Constraints API to have a higher degree of customization when defining fulfillment and delivery strategies. With this API, checkout won’t return any shipping rates if the configured constraints can’t be met. - For example, you can specify that certain products must be fulfilled from a specific location, based on buyer information, cart information or metafields.
- Learn more about Fulfillment Constraints on Shopify.dev.
July 18, 2023
Storefront API Cart BXGY discount line folding API
As of today, the way cart lines are folded when a BXGY discount is applied to the cart is changing in the Storefront API. The lines will now be grouped by applied discount and discounted amount. This change ensures that the Storefront API behaviour matches the existing line folding functionality of the Online Store/Ajax API Cart.
For example, if you have a buy one get one free discount for a product variant and you add 3 of that variant to a cart. The cart lines will be; * Item with quantity of 1, no discount applied * Item with quantity of 1, BXGY discount code applied, adjusted discounted price of 0 * Item with quantity of 1, BXGY discount code applied, full price of product variant
This change reflects the existing line folding functionality of the Online Store/Ajax API Cart.
July 17, 2023
Action required
Changes to Ajax API Cart token format API
Ajax API cart tokens will now be returned with a new format. The new format will include a prefix c1-
however the API features and functionality remain unchanged. Apps and themes should be designed to handle cart tokens in any format and of any length. Treat the cart token as a random identifier that will change in the future.
Action Required: Ensure that any app and theme code is free from hard-coded assumptions (ex. Using regex to identify a cart token) on the format and structure of the cart token.
July 14, 2023
url
available on MediaImage.originalSource
GraphQL field
API
As of API version 2023-10
, url
field is available on the GraphQL MediaImage
's originalSource
field https://shopify.dev/docs/api/admin-graphql/2023-07/objects/mediaimage#field-mediaimage-originalsource.
This will be a signed URL that is valid only for a short period of time. It provides access to the originally uploaded uncompressed image.
July 14, 2023
Shopify Protect protection status on Admin API API
As of the latest unstable
version and upcoming 2023-10
version of the Admin GraphQL API, you can use the shopifyProtect
field of Order
to view the protection status of Shop Pay orders. The protection status is established asynchronous from the orders/create
webhook so you can also listen to the orders/shopify_protect_eligibility_changed
webhook to know when the protection status is created or updated.
By providing a clear view of an order’s protection status, we're empowering developers to make more informed decisions. For instance, fraud protection apps can avoid redundant costs for merchants when a Shop Pay order is already protected.
Learn more about Shopify Protect’s protection status on Shopify.dev.
July 12, 2023
Updated integrations field for app listing Shopify App Store
We’ve combined the “Fit seamlessly” and “Integrates with” fields on our app listing pages into one place. Apps that are built using the Checkout and Point of Sale extensions will have them automatically noted in the “Works with” field on the app listing.
Log into your Partner Dashboard and click on Apps > Manage Listing to view the “Integrations” field for your app to ensure the content is up to date.
July 12, 2023
Updated merchant notification system for apps Shopify App Store
We’ve updated the app settings page with a new notification system to inform merchants of notable insights on their installed apps. Merchants will be able to quickly identify apps that are unsupported, incompatible, require action, on free trial, paid (including the cost), or least used.
July 12, 2023
Update on admin performance for Built for Shopify Shopify App Store
As of July 12, we're temporarily removing the Cumulative Layout Shift (CLS) metric from our admin performance standard for Built for Shopify.
In order to meet our admin performance standard for Built for Shopify, apps will still need to meet performance targets for Largest Contentful Paint (LCP) and First Input Delay (FID).
We are making this change to improve the measurement of this metric. We expect CLS to become a part of our admin performance standard again by the end of 2023.
Learn more about admin performance on Shopify.dev
July 01, 2023
Search and predictive search are now available on Storefront API API
You can now use search
and predictiveSearch
queries in the GraphQL Storefront API to enable natural language search on your custom storefronts.
The search API returns the most releavant search results among product, page and article resource types. Merchants can use the Shopify Search & Discovery app to change the default value of the resource types and customize search results.
The predictiveSearch API helps you implement a predictive search dropdown interface where suggested results are displayed immediately as buyers type into the search bar.
Learn more about new search APIs on Shopify.dev.
July 01, 2023
Introduce new stale
status to Subscription Contracts
API
As of API version 2023-07, you can use the new Subscription Contract stale
status to express a contract that has been marked as stale due to inactivity.
We're deprecating the SubscriptionDraftErrorCode STALE_CONTRACT
and replace it by CONCURRENT_CONTRACT_UPDATE
for a better description of the error.
We're introducing the new error code CONTRACT_STALE_STATUS
to SubscriptionBillingCycleErrorCode and SubscriptionDraftErrorCode to indicate whenever we attempt to update or bill a contract that hasn't been used for 1 year.
July 01, 2023
trackingParameters
is available on Product
, Collection
, Article
, Post
and SearchQuerySuggestion
GraphQL types
API
We've added trackingParameters
on Product
, Collection
, Article
, Post
and SearchQuerySuggestion
when it is a part of results coming from search
and predictiveSearch
as adding this to a page URL when it is linked from a search result allows for tracking the origin of the traffic.
Learn more about trackingParameters
on Shopify.dev.
July 01, 2023
Exposing ONLINE_STORE_POST_PURCHASE_CROSS_SELL fulfillment hold reason on Admin API API
As of 2023-07 partners will be able to determine whether fulfillment has been on hold for a post-purchase with the reason ONLINE_STORE_POST_PURCHASE_CROSS_SELL
.
Learn more about this new feature here
July 01, 2023
Release of Shop Promise details presented to buyer at checkout API
The DeliveryMethod object now has a brandedPromise field that can be used to determine if an order was branded with "Shop Promise" at checkout.
Additionally, the MailingAddress object now includes the timeZone field, which can be used with the DeliveryMethod's maxDeliveryDateTime field, to determine the date and time according to the time zone of the destination address.
The new field on the GraphQL DeliveryMethod object is:
- brandedPromise
Learn more about this new field in the GraphQL reference docs.
The new field on the GraphQL MailingAddress object is:
- timeZone
Learn more about this new field in the GraphQL reference docs.
Learn more about Shop Promise eligibility.
July 01, 2023
New error code added to inventory quantity mutations API
As of API version 2023-07
, a new error code item_not_stocked_at_location
will be added to the the inventorySetOnHandQuantities
, inventoryAdjustQuantities
, and inventoryMoveQuantities
mutations. This error code is returned when you attempt to change inventory quantities for an item that is not stocked at the specified location.
Learn more about managing inventory quantities on Shopify.dev.
July 01, 2023
Action required
Function parameter values can be queried in the Segmentation API API
As of GraphQL Admin API Version 2023-07
, you can use the new functionParameterQueryName
argument on segmentValueSuggestions
to query for function parameter value suggestions for Customer Segmentation.
For example, the products_purchased
filter has the function parameter id
: products_purchased(id: '2012162031638') = true
. To retrieve a list of possible Product IDs to use for the id
function parameter, provide filterQueryName: 'products_purchased', functionParameterQueryName: 'id'
as arguments to the segmentValueSuggestions
endpoint.
July 01, 2023
PUBLIC_READ Access Setting for App Owned Metafields API
As of the 2023-07 Admin API release, you can now apply a PUBLIC_READ
access setting to your metafield definitions. If your metafield definition is PUBLIC_READ
, this means:
- The merchant can read the metafields on the definition.
- All installed applications with proper access scopes can read the metafields on the definition.
- Only the owner of the definition can write metafields.
This new setting builds upon the PRIVATE
, MERCHANT_READ
, and MERCHANT_READ_WRITE
access settings released in January 2023.
Note that the access
field can only be set when the definition is in your own reserved namespace.
Learn more about access controls.
July 01, 2023
Webhooks for B2B Customers Flow Primitives API
As of the Admin API 2023-07
Release, we are providing additional webhook notifications for changes to the major entities within the B2B Customers product. These hooks are provided to enable better integration with Flow. The following webhooks are provided:
company_contact_roles/assign
company_contact_roles/revoke
Learn more about these webhooks on Shopify.dev
July 01, 2023
New mutations fulfillmentOrderSplit
and fulfillmentOrderMerge
that enables to split and merge Fulfillment Orders
API
As of API version 2023-07 partners will be able to split and merge fulfillment orders. Patners can split a single fulfillment order into multiple fulfillment order dividing the line line items across multiple fulfillment orders. Partners can also merge fulfillment orders together into a single fulfillment order
Learn more about fulfillmentOrderSplit
here and fulfillmentOrderMerge
here
July 01, 2023
New error codes added to fileUpdate
mutation
API
As of API version 2023-07 new error codes FILENAME_ALREADY_EXISTS
and INVALID_FILENAME
will be added to the fileUpdate
mutation.
These error codes are returned when you attempt to update the filename (URL Handle) and the input either matches an existing filename (URL Handle) or it is invalid.
July 01, 2023
Moving total_count field from SegmentStatistics to CustomerSegmentMemberConnection API
As of 2023-07, you can use total_count on CustomerSegmentMemberConnection endpoint, which will provide you with the total count of your specified customer segment. Also, as of 2023-07, we're removing total_count field on SegmentStatistics. Using the total_count functionality will make it easier to know the count of members of your specified segment.
July 01, 2023
Action required
Creating a single-country market will no longer automatically create a subfolder web presence for this market API
As of API version 2023-07, we are no longer automatically creating a subfolder web presence for a single-country market. To maintain existing behaviour, you can follow up creating a market with the marketWebPresenceCreate
mutation. Passing in the country code of the market region as the subfolderSuffix
would create the corresponding web presence.
July 01, 2023
Action required
Deprecation of Unity Buy SDK Tools
Today we are announcing the deprecation and end-of-life for our Unity Buy SDK. Effective July 1, 2023 the library’s repository will be placed into read-only mode and will no longer receive any updates. The repository will remain accessible as a reference to those who are still utilizing it today.
This does not mean, however, that the ability to build commerce experiences in Unity powered by Shopify will no longer exist. The Unity engine provides robust APIs for performing HTTP requests which can be used with our Storefront GraphQL API. Additionally, there are several open-source projects available which provide varying levels of GraphQL functionality within the Unity engine.
For more information, please see our Unity Buy SDK documentation. We look forward to watching our merchants continue to build and push the boundaries of commerce in the constantly changing digital world.
July 01, 2023
Allows updating the filename of a file in the fileUpdate mutation. API
As of API version 2023-07 we have added a new field called filename
to the fileUpdate
mutation. This new field allows you to update the filename
of both generic files and images.
To learn more about the fileUpdate
mutation, visit the GraphQL reference in our developer documentation.
July 01, 2023
Allows specifying a custom filename when using fileCreate mutation. API
As of API version 2023-07 , you can now specify a custom filename
when using the fileCreate
mutation to create files that will appear in the Admin.
To learn more about the fileCreate
mutation, visit our developer documentation.
July 01, 2023
Added new field type
to TranslatableContent
API
As of 2023-07
, you can use the new field type
on TranslatableContent
to get the type of the translatable content.
The new type
field gives more information about the underlying translatable content which enables the ability to conditionally render UI elements such as input fields.
Learn more about the LocalizableContentType
object on Shopify.dev
July 01, 2023
Contextual Product Feeds are Generally Available API
As of Admin API version 2023-07, all partners have access to Contextual Product Feeds. Partners will be able to receive contextual product data for any contexts they want that are supported by the merchant. To get started, the partner will need to create product feeds and subscribe to productfeeds/incrementalsync and productfeeds/fullsync webhooks.
For more information on how to query for product feeds, visit our developer documentation.
July 01, 2023
Expose the discount class for applied_discounts and discount_allocations on a line item for the Checkout Admin REST API API
The 2023-07
API version of the Checkout Admin REST API will expose the discount_class
attribute in the line_items[n].applied_discounts
and line_items[n].discount_allocations
.
The discount_class
identifies the type of discount applied to a line_item:
PRODUCT
- denotes a Product class discount that applies to specific products only.
ORDER
- denotes an Order class discount that applies across all line items.
The following example shows the "discount_class": "ORDER"
present for the line item when an order class discount was applied to a checkout.
"line_items": [
{
"id": "a93dfd7540730e5d9812a92fac5a640e",
"key": "a93dfd7540730e5d9812a92fac5a640e",
"product_id": 6,
"variant_id": 10,
"sku": "jeans1",
"vendor": "",
"title": "Jeans",
"variant_title": "Black",
"image_url": "",
"taxable": true,
"requires_shipping": true,
"gift_card": false,
"price": "50.00",
"compare_at_price": "30.00",
"line_price": "50.00",
"properties": {},
"quantity": 1,
"grams": 0,
"fulfillment_service": "manual",
"applied_discounts": [],
"discount_allocations": [
{
"id": null,
"amount": "20.00",
"description": "ORDER$20",
"created_at": null,
"application_type": "discount_code",
"discount_class": "ORDER"
}
],
"tax_lines": []
}
],
July 01, 2023
Subfolders can now exist on ccTLD domains API
As of 2023-07, you can now create region-specific subfolders on country-code top-level domains (ccTLDs), such as shop.ca or shop.fr. Previously, subfolders could only be created on generic top-level domains (gTLDs).
July 01, 2023
Action required
Update credit card payment method payload in Payments Apps API 2023-07 release API
As of 2023-07
Payments Apps API version for credit card payments app extensions, we're changing the structure of the decrypted message of payment_method.data.encrypted_message
sent in the HTTP request body from Shopify to your payments app. This change aims to consolidate the API design that we follow, as demonstrated in the payment_method object.
Learn more about the decryption of the encrypted_message
on Shopify.dev.
July 01, 2023
Adding metafield attributes to the Admin API CustomerSegmentMember
object
API
As of GraphQL Admin API version 2023-07, the CustomerSegmentMember
object now has the attributes and connections to access the metafields associated to the customer.
Learn more about the CustomerSegmentMember
object on Shopify.dev.
July 01, 2023
Adding acceptsMultipleValues
attribute to SegmentEventFilterParameter
object
API
As of GraphQL Admin API version 2023-07, the SegmentEventFilterParameter
object now has the attribute acceptsMultipleValues
to denote if the parameter can handle multiple values. For example, the id
parameter for the products_purchased
function can accept multiple values: products_purchased(id: (2012162031638, 1012132033639) = false
.
Learn more about the Segment query language
on Shopify.dev.
July 01, 2023
New mutation for removing a CompanyContact from a Company. API
As of the 2023-07
release, you can use the companyContactRemoveFromCompany
mutation in GraphQL to remove a company contact from a company even if they have placed orders on behalf of the company.
For more information on this new mutation, visit our developer documentation
July 01, 2023
Added new field isMarketplace
on ChannelDefinition
API
As of 2023-07
, you can use the new field isMarketplace
on ChannelDefinition
to check if a channel definition represents a marketplace such as Shops on Facebook and Instagram or Buy on Google.
The new isMarketplace
field gives the ability to know if any object that references ChannelDefinition
is related to a marketplace channel. For example, you can know if an order was placed on a channel that is a marketplace or if the store has available channels that are marketplaces.
Learn more about the isMarketplace
field on Shopify.dev.
July 01, 2023
Added new field taxExempt
on Order
API
As of GraphQL Admin API 2023-07
, we've added the taxExempt
field to the Order
object. You can use this field to determine whether or not an order was exempt from taxes.
Orders can be exempt from taxes if the "Charge taxes" option was disabled during the creation of a Draft Order, or if the order was created for a customer with the "Collect tax" option disabled.
Note that any products that are tax exempt in an order are not considered when calculating the taxExempt
field .
Learn more about the taxExempt
field on Shopify.dev.
July 01, 2023
Deprecation of productDuplicateAsync
and introduction of productDuplicateAsyncV2
and productDuplicateJob
API
In the Admin API 2023-07
Release, we are deprecating the productDuplicateAsync
mutation and introducing the productDuplicateAsyncV2
mutation and the productDuplicateJob
query.
The new mutation brings several improvements over productDuplicateAsync
, enhancing the overall user experience and performance of the endpoint.
- productDuplicateAsync has been deprecated.
- productDuplicateAsyncV2 has been introduced.
- productDuplicateJob query has been introduced to fetch the status of an existing product duplication job.
Learn more about these changes at productDuplicateAsyncV2 and productDuplicateJob.
July 01, 2023
Adding the ability to sort orders by total item quantity API
As of Admin API 2023-07
release we've added TOTAL_ITEM_QUANTITY
to OrderSortKeys
so that you can sort orders by the total quantity of items.
For more information on all of the other order sort keys that are available, visit our developer documentation.
July 01, 2023
New fields on Shopify Function APIs API
New fields have been added to all Shopify Functions APIs.
- The
sellingPlanAllocation
field is now available onCartLine
. - The
title
field is now available onProduct
,CustomProduct
, andProductVariant
. - The
inCollections
field onProduct
allows for checking membership in individual product collections. - The
hasTags
field onProduct
andCustomer
allows for checking the presence of individual tags. - The
isAuthenticated
field onBuyerIdentity
identifies whether the customer is logged in.
For details on these fields, see the API Reference documentation for Shopify Functions.
July 01, 2023
Partner Exclusive Mutations to Support the Transfer of Subscriptions Between Shops API
As of Admin API version 2023-07, selected partners can use the new customerPaymentMethodGetDuplicationData and customerPaymentMethodCreateFromDuplicationData to migrate subscription contracts and its vaulted payment method between shops within the same organization.
This is currently limited to specific partners, and to subscriptions checked out through Shop Pay.
No action is needed from developers at this moment.
July 01, 2023
Determining local pickup inventory availability in the Storefront API API
As of version 2023-07 of the Storefront GraphQL API, you can now use the StoreAvailability.quantityAvailable
field to determine the inventory available for a product variant at a particular local pickup location.
July 01, 2023
Added new field tax_exempt
on the Order
resource for the REST Admin API
API
As of REST Admin API 2023-07
, we've added the tax_exempt
field to the Order
resource. You can use this field to determine whether or not an order was exempt from taxes.
Orders can be exempt from taxes if the "Charge taxes" option was disabled during the creation of a Draft Order, or if the order was created for a customer with the "Collect tax" option disabled.
Note that any products that are tax exempt in an order are not considered when calculating the tax_exempt
field .
Learn more about the tax_exempt
field on Shopify.dev.
July 01, 2023
Action required
Translate filter settings API
As of 2023-07 we're introducing a new capability to translate filters.
When enabled, all filter labels will be eligible for translations through the Translations API as well as the Translate and Adapt app.
July 01, 2023
Tax partners can now configure the state of an tax app configuration API
We’ve added the taxAppConfigure mutation, which now enables selected tax partners to configure the state of an existing integrated tax service. This extended control provides partners with more flexibility and adaptability in managing tax services, ensuring a smoother, more efficient operation for their application.
For more information, visit shopify.dev
July 01, 2023
Unknown sale type API
As of 2023-07
, we are introducing sales type UnknownSale
with line type UNKNOWN
that represents new types of sales that may be added in the future and do not exist on older versions.
This is a complimentatry object type for the SalesLineType UNKNOWN and implements the Sale interface.
July 01, 2023
Action required
Breaking changes to Product Feeds API API
As of Product Feeds API version 2023-07, we're introducing two breaking changes to the productfeeds webhook topics:
- Deprecated use of bulk in favour of full for the
product_feeds
/full_sync
webhook topic. - Corrected spelling of occurred_at field in metadata for product_feeds notifications metadata.
Partners who wish to continue receiving full sync notifications should start using the productFullSync mutation instead of productBulkSync
.
July 01, 2023
Added new tax_partner/update
webhook
API
As of the Admin API 2023-07
Release the tax_partners/update
webhook will be available.
The tax_partners/update
webhook will be called whenever a tax partner is added or updated. Partners can use this webhook to determine when a merchant has made changes to the partner's tax app.
Learn more about these webhooks on Shopify.dev
July 01, 2023
Additional fees as a sale line type API
Sales records can now be of type AdditonalFeeSale
as of 2023-07
, which represents a sale associated with an additional fee charge.
For more information on this new type implementation, visit the documentation for the sale interface.
July 01, 2023
Purchase order numbers added to Orders/DraftOrders object API
As of API version 2023-07 we have added a new field called poNumber
to the Order
and DraftOrder
object.
The OrderInput
and DraftOrderInput
input objects now accept a poNumber
. This will set the purchase order number during an orderUpdate
, draftOrderUpdate
and draftOrderCreate
mutation.
June 30, 2023
Manage quantity rules for B2B customers API
As of the 2023-07
version of the Admin GraphQL API, you can use the quantityRulesAdd
and quantityRulesDelete
mutations to manage product variant minimums, maximums and increments for B2B customers. Use the quantityRules
field on ProductVariantContextualPricing to view the quantity rules applied for the companyLocationId
input.
Learn more about the Quantity Rules API on Shopify.dev.
June 28, 2023
POS UI extensions update: new components, APIs, fixes API
As of June 26, we added a PinPad component, a Product Search API and a Device API.
POS UI extensions Navigator component now supports a new prop called initialScreenName
. It can be used to set the name of the Screen
to initialize to. The List component was updated to support badge
property for leftSide
image, and toggleSwitch
property for rightSide
.
We also made the amount
field in the applyCartDiscount
function of the Cart API optional to allow for code discounts.
All of the changes are available for POS UI extensions version 1.2.0 and POS app version 8.12.0.
June 28, 2023
Order confirmation number API
As of GraphQL Admin API version 2023-07, you can filter orders by their confirmation number.
The confirmation_number filter is available on the orders connection. This number corresponds to the order confirmation number that customers see after checkout.
June 27, 2023
One page checkout in the checkout editor Platform
Developers can now customize and preview one page checkout from the checkout editor. With this new developer preview, one page checkout is automatically compatible with existing checkout extensions and customizations. Preview and prepare for one page checkout today.
Learn more about one page support in the checkout editor in the Shopify developer docs.
June 27, 2023
Checkout UI Extension limits are raised to 50 Platform
We heard you love extensions. We heard you want more per app. So we shipped 10x the goodness so apps now have a limit of 50 extensions.
June 27, 2023
Updates to order status page UI extensions API
We’ve made it easier than ever to build checkout UI extensions on the order status page! More specifically, we’ve added new getting started tutorials to help you build extensions that target all, or specific pages in the customer journey. We’ve also launched a new testing experience in the checkout editor, so you can preview what merchants will see when customizing their post-checkout extensions. Learn more.
June 26, 2023
Resource url handles are now translatable API
Using the TranslationsRegister GraphQL API, you can now register translations for resource handles in order to create localized online store urls for merchants. For example, merchants may want their product URLs to be example.com/products/en-us/red-shoes
for English-speaking customers and example.com/products/es-us/zapatos-rojos
for Spanish-speaking customers.
The resource types that support translatable url handles are Products, Collections, Articles, Blogs, and Pages. This change is supported across all api versions.
June 22, 2023
App review ranking changes Shopify App Store
On June 22nd we introduced a new ranking system for app reviews that factors in the quality of a review to determine which reviews are surfaced first. Reviews with helpful, meaningful content that were submitted recently by merchants who have used the app for an extended period will appear first.
All reviews are continuously monitored by Shopify and non-compliant reviews will be automatically removed.
June 19, 2023
Action required
New chargebackLiability field for onsite credit card payments apps with 3-D Secure API
As of version 2023-07
of the GraphQL Payments Apps API
, you must provide the chargebackLiability field in the 3-D Secure PaymentSessionThreeDSecureAuthenticationData input object. Merchants will benefit from this information to better manage their orders.
Learn more about the GraphQL Payments Apps API
and 3-D Secure on Shopify.dev.
June 16, 2023
Additional webhook subscription topics for customer tags API
As of the Admin API 2023-07
release for GraphQL, we're providing additional webhook subscription topics for customer tags:
CUSTOMER_TAGS_ADDED
CUSTOMER_TAGS_REMOVED
Learn more about these webhooks on Shopify.dev.
June 15, 2023
Release an API to update marketing activity delivery status on abandonment objects into a stable version API
As of 2023-07, you can use the abandonmentUpdateActivitiesDeliveryStatuses
to update the delivery status of marketing activities created via Flow action extension. We are deprecating the abandonmentEmailStateUpdate
mutation since it's being replaced by the new API.
June 15, 2023
Deprecation of image-related fields in product and product variants mutations API
As of GraphQL Admin API version 2023-07, we're deprecating a set of fields used for associating images with products and variants. Please, have a look at the list of upcoming changes:
- On
ProductInput
: we're deprecating theimages
field. Use the newly introducedmedia
field instead. - On
ProductVariantInput
: we're deprecatingimageId
andimageSrc
fields. UsemediaId
andmediaSrc
instead. - On
ProductVariantsBulkInput
: we're deprecating theimageSrc
field. UsemediaSrc
instead.
Learn more about ProductInput
, ProductVariantInput
and ProductVariantsBulkInput
on Shopify.dev
June 07, 2023
Increased Admin API rate limits for the Advanced plan API
Shopify increased Admin API rate limits for the Advanced plan by 2x over standard limits. Apps installed on Advanced plan stores will now get 100 points/second on the GraphQL Admin API and 4 requests/second on the REST Admin API.
June 06, 2023
Action required
Removal of the delivery_category field on order shipping lines. API
As of 2023-07, we're deprecating the order shipping line delivery_category
property. The property has not been in use since 2020-06-12
and will no longer be present.
June 05, 2023
App Store search filters by extension for checkout and Point of Sale Shopify App Store
On June 5 we released a new filter for App Store search results pages that will allow merchants to easily identify apps with extensions for Shopify Checkout and Shopify Point of Sale.
May 31, 2023
Action required
CLI 2.x is deprecated Tools
As of May 31, 2023, Shopify CLI 2.x is deprecated for app and theme development, and is no longer supported. You should use Shopify CLI 3.x for all development tasks moving forward.
Shopify will block app and extension commmands for all CLI 2.x users in the coming weeks.
Theme commands will continue to function in the near term.
Learn how to migrate to Shopify CLI 3.x using the following guides:
May 25, 2023
Storefront API is now available to non-channel apps API
Apps no longer need to be a channel in order to access the Storefront APIs. Just request the appropriate unauthenticated access scope(s) to your app.
Take advantage of the Storefront API’s powerful contextualization features to build rich customer-facing experiences for your merchants.
Learn more about authenticating with the Storefront API on Shopify.dev
May 24, 2023
Transition of application credit creation to the Partner API API
As of Admin API version 2023-07, we are deprecating creating application credits through the Admin API. Both the REST resource, and the GraphQL mutation will have their ability to create application credits deprecated. Going forward, create application credits using our new appCreditCreate mutation in the Partner API.
This change will allow us to implement new features for application credit creation, such as allowing Partners to issue credits to Shops that have uninstalled their app.
May 19, 2023
Add color schemes to themes Themes
Theme developers can now add color schemes
to themes. This update adds clarity and flexibility to the theme editing experience by allowing theme-defined and merchant-defined color schemes, adding a visual preview that enables merchants to more easily and predictably update theme colors, and allowing merchants to implement theme changes at the global, section, and block level within their theme.
A solution which will enable theme developers to specify how to migrate merchants’ theme data during the update process when introducing architecture changes (ex: changing scope of settings, modifying schema structure in other ways etc.) will be available later this summer.
Learn more about color schemes
in the dev docs
May 17, 2023
duplicateResolutionMode added to fileCreate API
As of 2023-07, you can use the new duplicateResolutionMode on the fileCreate mutation to control how duplicate filenames are handled.
Learn more about duplicateResolutionMode on Shopify.dev.
May 15, 2023
Action required
Partner email verification Platform
Starting May 15, we will begin enforcing partner email verification to keep the Shopify App Store safe and secure and to better serve our partner community.
Account owners, please use the banner in the partner dashboard to verify your email as soon as possible avoid restrictions to your dashboard access.
May 15, 2023
metafieldsSet support for MediaImage API
As of 2023-07, you can use the metafieldsSet mutation to set metafields on images via MediaImage GIDs.
Learn more about metafieldsSet on Shopify.dev.
May 15, 2023
Add scanner support to POS UI Extensions API
As of May 15, camera and hardware scanning is supported for POS UI Extensions. Available for POS UI Extensions version 1.1.2 and POS app version 8.9.0.
CameraScanner This new component utilizes the device's camera for scanning. The CameraScanner provides a live feed with guidance markers to help users align the camera with barcodes.
Scanner API This new API allows UI extensions to access scanner data and available scanning sources. The API also introduces support for hardware scanners that have external or embeddeed scanning capabilities.
May 12, 2023
Adding read and write permissions for Dependabot secrets to Shopify’s GitHub app Tools
Shopify’s GitHub app now requests read and write permissions for Dependabot secrets. This update supports improvements to the developer experience for Hydrogen headless storefronts hosted on Oxygen.
Currently, deployments to Oxygen are triggered by pushes or merges to a GitHub repo. However, Dependabot, GitHub’s dependency management service, doesn’t have access to the API tokens required to create a deployment. By adding these new permissions, Dependabot will be able to trigger preview deployments on Oxygen when creating pull requests that bump package versions. This change will let developers more quickly validate that automated updates can be safely merged.
Learn more about Shopify’s GitHub integration.
May 10, 2023
Improve your themes with theme check in the code editor Themes
As of today, you can prevent Liquid errors and improve the quality of your themes with theme check in the code editor. This new feature identifies and warns you about potential issues in your code, so you can fix them before they affect the performance of your store.
Learn more about the code editor on Shopify.dev.
May 09, 2023
Increased number of dynamic sources available within templates Themes
Based on your feedback, we've updated the number of dynamic sources you can add within an online store template. You can now add up to 100 dynamic sources per template, and 50 per static section.
Specifically, we now support:
- 100 Dynamic sources in a JSON template
- 100 Dynamic sources in general theme settings
- 100 Dynamic sources in a section group
- 50 Dynamic sources in a single setting
- 50 Dynamic sources in a static section
Updated values and more info can be found in Shopify dev docs
May 09, 2023
Action required
Changes to Merchant Asset URLs API
Update: In the coming weeks we'll start serving some store assets (e.g. images, JS or CSS) from a shop’s store domain rather than a Shopify CDN domain. Certain assets will continue to use the old URL format cdn.shopify.com/…
, while the rest will be converted to a new URL format: shop.example.com/cdn/…
. The new URL format can be seen in action on the demo store www.snowdevil.ca. The old cdn.shopify.com/…
URL format will continue to work indefinitely.
The new format will be returned by liquid tags and will be present in Shopify-rendered storefront HTML, but the old format will continue to be used in all API responses. This new asset delivery approach is not used on headless shops, which will continue to use cdn.shopify.com/…
.
The domain used in the new URL format is dependent on the request context: it may be the store’s permanent myshopify.com
domain or a custom domain depending on which one a buyer visits. Code that depends on the old URL format may need to be updated to support both formats.
In addition, new images associated with products now use the /files
path format rather than the previous /products
. Previously uploaded product images will continue to use the /products
path.
These changes are being made to provide a variety of benefits to merchants:
- Improved page load times on storefronts to provide a better buyer experience and improve conversion rate. Improvements to page load speed are potentially on the order of hundreds of milliseconds.
- Improved security: because we don't need to allow for cross-origin assets from our CDN, we can use more restrictive content security policies (CSP) and cross-origin resource sharing (CORS) policies.
- Less Shopify branding on merchant domains.
Learn more about the Shopify CDN and liquid filters on Shopify.dev
Action Required:
- Ensure that any app and theme code is free from hard-coded assumptions on the old URL format
May 08, 2023
Shopify Functions input limit updates API
As of May 8, you can access metafield values up to 10,000 bytes in Shopify Functions input queries, so that you can store more merchant configuration for your function.
The overall input JSON size for Shopify Functions is constrained to 64,000 bytes.
Learn more about execution limitations for Shopify Functions on Shopify.dev.
May 08, 2023
Introducing POS UI extensions API
New POS UI extensions available to app developers
POS UI extensions are available for developers to start building apps for Shopify POS. Improve the efficiency of a current extension or build custom functionality in the POS smart grid. POS UI extensions provide developers with access to numerous components and API's required to develop extensions that feel native to Shopify POS with faster performance. This technology will transform POS extensions for an improved merchant experience.
Extension Points Two extension points are available that allow for the rendering of different components. The Tile which can customize the functionality of the app's smart grid tile and the Modal a full-screen modal that presents on top of the smart grid.
Components Build extensions using the UI Extensions library that utilize interface elements and behaviors that mirror the look at feel of the POS experience. These elements are rendered natively, providing the performance and accessibility inherent to a native app.
To learn more about building apps for POS, please review our developer documentation.
May 02, 2023
Product media and files unification API
As of this week, we've brought product media together with the broader file management system. You can access the file management system from Shopify admin by going to Content>Files
This means that product media is now available within the files section within content in admin. As part of the new update, we’re introducing a reference feature that enables merchants to trace the usage of files in their storefronts. This feature also allows merchants to use references as search parameters, for example a search that only lists files used in product media. Additionally, we’re also launching a new file selector in the online store editor that allows merchants to save views, filter within the selector, and toggle between different types of media as required, all through a new modal design.
Learn more about product media at Shopify.dev. You can also learn more about the Files API at Shopify.dev
May 01, 2023
Changes to support requests for app charge refunds Platform
As of May 3, 2023, merchants will be required to contact partners directly if they want to discuss or request a refund for an app. When a merchant contacts Shopify to request a refund for an app charge, Shopify Support will no longer reach out to partners on behalf of the merchant to facilitate their request.
This change will streamline the refund process, as refunds are at the partners’ discretion and partners have the ability to issue most refunds themselves. The exception is still reversals to pending charges. In this case, Shopify highly encourages partners to issue application credits, which Shopify Support can then apply to the invoice.
What’s not changing?
- Other types of facilitated third party requests
- Processing of reversals for pending charges once approved by the partner
- Follow-ups on unresolved inquires from merchants
- Assistance with bulk refunds, refunds over $1,000, and refunds older than 12 months
Please contact partner support with any questions about these changes.
April 28, 2023
Update bytes in-place using fileUpdate API
As of 2023-07, you can use the fileUpdateInput
to provide an originalSource which will be used to update the bytes of a file. Passing originalSource when updating is supported media images and generic files.
Using this functionality makes it easy to do an in-place update of an existing file.
April 26, 2023
New updates to checkout extensibility API
New Checkout UI Components
DatePicker will help you build customizations to select specific delivery dates in checkout.
Disclosure will help with UX patterns that progressively disclose information, like the long list of line items in a bundle.
Checkout Branding Update
Checkout branding now supports custom fonts. Checkout, accounts, and UI extensions inherit these fonts making experiences consistent across surfaces.
April 26, 2023
Increasing search relevance with behavioral data in the Shopify App Store Shopify App Store
As of April 26, Shopify App Store’s search algorithm folds in even more data on how merchants interact with results after they search.
In other words, apps that merchants find most relevant, given what they’re searching for, will rank higher overall. While term matching will still inform results, this update will reduce the impact of keyword stuffing.
Learn more about search on our blog.
April 20, 2023
Sale attribution edits now can be subscribed via Orders/updated webhook API
As of API version 2023-07, you can now subscribe to the orders/updated webhook to be notified of any sale attribution edits to an order. When a staff attribution edit is made on POS, the orders/updated webhook will fire. The payload will include a new attributed_staffs field under line_items. This new field will reflect the new attributions on the order after the edit.
"lineitems": [ { "id":111, "attributedstaffs": [ { "id": "gid://shopify/StaffMember/123", "quantity": 1 } ] } ]
A user can edit the staff attributions on multiple line items at once on POS. In this case, the webhook payload could include multiple updated line items with different attributions applied to them.
Note that the payload in the orders/create webhook will also be updated to include attributed_staffs.
Learn more about webhook on Shopify.dev.
April 18, 2023
Update on the speed test app listing highlight Shopify App Store
As of April 18, we're temporarily suspending Speed tested as an app listing highlight. We will still measure an app’s impact on store speed once it has applied for Built for Shopify status.
We are making this change while we invest in better tooling and will keep app developers posted on plans to resume incentives in this area, as impact on store speed remains incredibly important to merchants.
Learn more about storefront performance on Shopify.dev
April 17, 2023
Action required
Deprecating mutations inventoryAdjustQuantity and inventoryBulkAdjustQuantityAtLocation API
In the GraphQL Admin API, we're deprecating the inventoryAdjustQuantity
and inventoryBulkAdjustQuantityAtLocation
mutations.
Instead, you can use the new inventoryAdjustQuantities
or inventoryMoveQuantities
mutations instead.
The inventoryAdjustQuantities
mutation supports more inventory quantity names as well as setting a reason. The mutations we're deprecating only supported setting available quantities and didn't allow you to set a reason for the adjustment.
Learn more about inventoryAdjustQuantities
on Shopify.dev or on inventory states on Shopify.dev.
April 17, 2023
Action required
Deprecating available, incoming and deactivationAlertHtml fields on InventoryLevel API
In the GraphQL Admin API, we're deprecating some fields on the InventoryLevel
.
The following fields are deprecated:
-
available
: you can usequantities
instead -
incoming
: you can usequantities
instead -
deactivationAlertHtml
: you can usedeactivationAlert
instead
The quantities
field supports all the new inventory quantity names. You can still get available
and incoming
from quantities
by specifying those as the names.
Learn more about inventoryLevel
on Shopify.dev as well as inventory states on Shopify.dev.
April 14, 2023
Theme app extension app block deep linking Tools
As of April 14, we have enabled deep linking to theme app blocks so that merchants can easily preview app functionality in their theme.
Learn more about deep links to app blocks.
April 13, 2023
New commerce primitives for development stores test data Tools
We've added new commerce primitives such as gift cards, selling plans, and metafields to development stores populated with test data.
To speed up the development and testing process, you can create a development store that's populated with test data generated by Shopify.
Review all of the objects, configurations, and relationships that are included in the development store test data set on Shopify.dev
April 10, 2023
Write Shopify Functions in JavaScript API
Shopify Functions written in JavaScript can now be deployed in production. Going forward Rust and JavaScript will be our first-class languages for Shopify Functions. However, you can still write Shopify Functions in any WebAssembly-supported language that meets our requirements.
Learn more about JavaScript Shopify Functions here
April 01, 2023
New billingAddress field on the Storefront API Order object API
As of GraphQL Storefront API version 2023-04, the Order
object has a new field: billingAddress
. This field returns a mailingAddress
object for the address associated with the payment method.
Learn more about the Order
object on Shopify.dev.
April 01, 2023
Server Pixels Limited Release API
As of 2023-04, select partners can use Server Pixels to consume customer events on the server-side. These new mutations are available to those partners:
April 01, 2023
Set Metafield values for Locations API
As of GraphQL Admin API Version 2023-04
you can use the mutations locationAdd
and locationEdit
to set Metafield values for locations.
As of Storefront API Version 2023-04
, you can query metafields belonging to a location using the Location query object.
You can use Metafields to store aditional information for Locations.
Learn more about { Metafields } on Shopify.dev.
April 01, 2023
Action required
Removal of deprecated status
field in Payments Apps API 2023-04 release
API
As of 2023-04
GraphQL Payments Apps API version, we are removing the status
field as it was deprecated since 2022-04
version in favour of the state
field of the following objects returned by our GraphQL mutations:
To get up to date, make sure you no longer query the status
field on these objects and use state
instead.
Learn more about payments apps on Shopify.dev.
April 01, 2023
Release of the subscriptionContractAtomicCreate and subscriptionContractProductUpdate mutations API
As of the 2023-04 release of the GraphQL Admin API, you can create a subscription contract in a single operation with the subscriptionContractAtomicCreate
mutation.
You can also replace a retired product by a new one, or update the price of a product in a subscription contract in one GraphQL call to the subscriptonContractProductUpdate
mutation.
More information on Bulk Operations can be found here
April 01, 2023
Generate targeted product recommendations with the new ProductRecommendationIntent
type
API
As of the 2023-04 API version of the Storefront API, the ProductRecommendations query will accept an optional intent
argument. Additionally, a new ProductRecommendationIntent
will be introduced as a GraphQL Enum Type, defining the supported product recommendation intents. By default, the API will return RELATED
recommendations for backward compatibility.
April 01, 2023
New selected_delivery_option
error codes in cart
API
We've added the error codes INVALID_DELIVERY_GROUP
and INVALID_DELIVERY_OPTION
for cartSelectedDeliveryOptionsUpdate
mutation , allowing you to get descriptive error codes when GraphQL returns invalid delivery group id or invalid delivery options input.
April 01, 2023
Introduce onsite credit card support for payments apps API
As of version 2023-04
, payments apps will have support for onsite credit card payments through new types introduced to the GraphQL Payments Apps API.
Changes to support on-site credit card processing are as follows:
-
New rejection codes are now available in the
paymentSessionReject
GraphQL mutation for credit card payments apps -
A new error code is introduced in the
paymentSessionPending
GraphQL mutation
April 01, 2023
Introducing the new Customer Merge API API
As of GraphQL Admin API version 2023-04, you can now use the Customer Merge API to combine two separate customer profiles with certain non-blocking criteria. You can use the new mutations and queries to:
Additionally, you can check whether a customer can be merged with another customer using the new Customer.mergeable field. This field is also available on the CustomerSegmentMember API CustomerSegmentMember. mergeable.
You can learn more about merging customer profiles on Shopify Help Center.
April 01, 2023
Update Access Scope for Publishing and Unpublishing Mutations to Current Channel API
As of version 2023-04, we're deprecating the requirement of writeproductslistings
access scope for the mutations publishableUnpublishToCurrentChannel
and publishablePublishToCurrentChannel
. Use the access scope writepublications
instead.
You can provide this new access scope to your third party app or any stuff member through the admin as it is regularly being done for any other access scope. This change will provide a more restricted access to call these mutations.
April 01, 2023
Filter orders by return status API
You can now filter orders by their return status.
The return_status
filter is available on the orders connection. This status corresponds to the return status merchants see in the orders page.
Learn more about the order's return status on Shopify.dev.
Learn more about return statuses on the help center.
April 01, 2023
Action required
ChangingCartLine
from an Object
to an Interface
API
As part of the GraphQL Storefront API 2023-04 API release, we are creating BaseCartLine
as an interface to CartLine
and we are updating CartLineConnection
to BaseCartLineConnection
.
Learn more about the Cart
object on Shopify.dev.
April 01, 2023
Action required
Deprecating PublishedTranslation
GraphQL type
API
As of 2023-04
, we are deprecating the PublishedTranslation
graphQL type in the admin API. Use the Translation
graphQL type instead.
The Translation
graphQL type contains more fields; outdated
, updatedAt
and market
.
To get up to date, make sure you no longer query the marketId
field on these objects and query using the market
field instead.
Learn more about Translation
on Shopify.dev.
April 01, 2023
Added source_location
field to FulfillmentOrdersMove
webhook payload
API
As of API version 2023-04, FulfillmentOrdersMove
webhook payload is extended source_location
field.
The assignedLocation of the original_fulfillment_order
may be changed by the move operation. Therefore, if you need to determine the originally assigned location, you should refer to the source_location
field.
Learn more about fulfillment order move in the FulfillmentOrdersMove webhook, FulfillmentOrdersMove GraphQL mutation and Moves a fulfillment order to a new location REST endpoint documentation pages.
April 01, 2023
productVariantsBulkUpdate mutation returns data along with errors API
In the Admin GraphQL API version 2023-04, the productVariantsBulkUpdate
mutation will return product
and productVariants
data even when errors are present. Previously, the mutation would always return null
for the product
and productVariants
data.
Learn more about the mutation here.
April 01, 2023
Releasing new Catalogs APIs to manage pricing and product publishing for different customers API
As of API version 2023-04, you can use the Catalogs API to create a set of rules that determine the available products and their prices in different customer contexts. The Catalogs API lets you link Shopify Markets and B2B primitives to Publications and PriceLists to customize product offerings for different audiences. The same APIs also allow you to manage product publishing for sales channels.
To learn more about Catalogs API, read B2B Catalogs and Catalogs for Markets.
April 01, 2023
Adds comparedTo
field to ShopifyQL query response
API
As of 2023-04, you can now use comparedTo
on comparison columns from ShopifyqlResponse
to indicate the column to compare to.
Learn more about COMPARE TO
ShopifyQL queries on Shopify.dev
April 01, 2023
Update ShopifyQL parse error codes API
As of 2023-04, parse error codes enum has been updated to remove stale codes as well as add new ones.
Added
ParseErrorCode.INVALID_DATE_RANGE
ParseErrorCode.EXCESS_BACKFILL_DIMENSIONS
ParseErrorCode.BACKFILL_DATE_RANGE_NOT_FOUND
ParseErrorCode.COMPARE_TO_MISSING_PERIOD
ParseErrorCode.EXCESS_DIMENSIONS
ParseErrorCode.SYNTAX_FAILED_PREDICATE
Removed
ParseErrorCode.VISUALIZE_TYPE_NOT_FOUND
ParseErrorCode.FUNCTION_MODIFIER_INVALID
ParseErrorCode.VISUALIZE_BY_OR_OVER_NOT_FOUND
ParseErrorCode.VISUALIZE_CONTAINS_BY_AND_OVER
ParseErrorCode.BINARY_EXPRESSION_INCOMPATIBLE_TYPES
ParseErrorCode.VISUALIZE_EXCESS_PROJECTIONS_ALPHA
ParseErrorCode.EXCESS_GROUP_BY_ALL
ParseErrorCode.GROUP_BY_ALL_DATE_RANGE_NOT_FOUND
ParseErrorCode.COMPARE_TO_WITHOUT_DURING
ParseErrorCode.GROUP_BY_EXCESS_PROJECTIONS
See the full list of parse error codes on Shopify.dev
April 01, 2023
Action required
Updates to FulfillmentOrderLineItemsPreparedForPickupUserErrorCode resource API
As of the 2023-04 API version of the Admin API, the FulfillmentOrderLineItemsPreparedForPickupUserErrorCode GraphQL object will have the following breaking changes:
- The FULFILLMENT_ORDER_CHANGED
error code will be removed
- The UNABLE_TO_PREPARE_QUANTITY
error code will be added
April 01, 2023
Adding additional filtering to /assigned_fulfillment_orders
REST endpoint
API
As of API version 2023-04
, you can retrieve a subset of fulfillment orders which are assigned to locations owned by the app performing the request but have not been requested for fulfillment so far.
The assignment_status
query parameter in the [/assignedfulfillmentorders.json]((https://shopify.dev/docs/api/admin-rest/latest/resources/assignedfulfillmentorder#get-assigned-fulfillment-orders) endpoint can now accept a value of fulfillment_unsubmitted
for filtering in addition to the existing fulfillment_requested
, fulfillment_accepted
, and cancellation_requested
filter values.
Learn more about retrieving assigned fulfillment orders as a fulfillment service on shopify.dev.
April 01, 2023
Update validations of a metafield definition API
As of GraphQL Admin API Version 2023-04
you can use the field MetafieldDefintionInput.validations
to change the validations of a metafield definition.
Also, as of GraphQL Admin API Version 2023-04
, you can query the field
MetafieldDefinitionUpdatePayload.validationJob
to get the details of the job running to validate existing metafields for the metafield definition.
Learn more about { Metafields } on Shopify.dev.
April 01, 2023
Web Pixels can be queried without specifying an ID API
In the Admin API version 2023-04, you can now query your web pixels installed on an online store without having to provide a Web Pixel ID.
API: https://shopify.dev/docs/api/admin-graphql/2023-04/queries/webPixel
Learn more about web pixels.
April 01, 2023
Accept customer address id as input for delivery address preferences in SFAPI Cart API
As of 2023-04, you can pass Customer address id as an input for CartBuyerIdentity.deliveryAddressPreferences when creating or updating carts for authenticated customers.
You can learn more about the Cart API references in here.
April 01, 2023
Add Metafields to Cart API API
As of GraphQL Storefront API Version 2023-04
you can use Metafields with Carts! Metafields can be added during Cart creation, they can be queried, updated, and deleted.
Learn more: * Create Cart Metafields * Query Cart Metafields * Update Cart Metafields * Delete Cart Metafields
March 31, 2023
GraphQL Admin API now supports creating app charges using the merchant's billing currency API
As of the 2023-04 release of the GraphQL Admin API, the Billing API will allow creating app charges using currencies that match the merchant's local billing currency.
Previously, app charges could only be created using USD and were converted to the merchant's local currency using the exchange rate at the time the invoice is issued. By creating app charges in the merchant's billing currency, app developers will allow merchants to better budget their app spend without being exposed to currency exchange rate fluctuations.
You can use the shopBillingPreferences query to retrieve the merchant's local billing currency, then pass in the currency value as input to the existing GraphQL Billing APIs.
March 30, 2023
ExchangeV2s field is available behind beta flag on order graphql API
As of 2023-07 version, you can use the Order APIs exchangeV2
field to get a better exchange (an exchangeV2
object value).
This will help ERP partners to properly integrate optimal exchange values.
Learn more about it on this doc
March 28, 2023
Update to Google Analytics 4 before July 2023 Shopify App Store
Google is sunsetting Universal Analytics in July 2023, and replacing it with Google Analytics 4 (GA4) which is Google's next-generation measurement solution. Universal Analytics will continue to collect data until its sunset in July 2023, and data will remain accessible for at least 6 months afterwards.
Visit Shopify.dev for next steps to migrate your app listing tracking from Universal Analytics to the new Google Analytics 4 or to set up tracking for the first time.
March 24, 2023
Dynamic sources for blogs and articles now live Themes
You can now use dynamic sources on blogs and articles. This means that merchants can now connect theme files to their metafields and metaobjects when working with the blog and article resources. Previously, this was only possible when working with product, collection, and page resources.
Learn more about datasources on Shopify.dev
March 20, 2023
Additional fees fields for Orders API
The Order object now has fields representing additional fees as of API version 2023-04. Additional fees are extra costs associated with an international package that aren't duties or taxes.
The new fields on the GraphQL Order object are:
- additionalFees
- currentTotalAdditionalFeesSet
- originalTotalAdditionalFeesSet
The new fields on the REST Order resource are:
- currenttotaladditionalfeesset
- originaltotaladditionalfeesset
Learn more about these new fields in the GraphQL reference docs or REST reference docs.
March 20, 2023
Policies for leaving a review on the Shopify App Store Shopify App Store
We’re continuously improving our systems to effectively and efficiently identify and remove fake reviews to ensure a safe, fair, and useful ecosystem for both merchants and developers.
As part of these efforts, you may receive an email notifying you that a review for your app has been removed because it doesn’t comply with our policies.
Learn more about our policies for leaving a review in the Shopify App Store in the Shopify Help Center.
March 19, 2023
Action required
Support For API Version 2022-04 Extended To June 30, 2023 API
Shopify is extending support for API version 2022-04 to June 30, 2023 (previously March 31, 2023). All public, custom, and private apps using API resources that are no longer supported in API version 2022-10 will stop working as intended after this date.
Action Required Existing apps must migrate to API version 2022-10 or later by June 30, 2023 to avoid any interruptions.
Below are a few important breaking changes, please make sure to review the full list:
- The following customer object properties on the REST Admin API’s order resources have been deprecated: lastorderid, lastordername, orderscount , totalspent (see details here)
- Some Fulfillment API endpoints and mutations relating to managing fulfillments via an order have been deprecated (see details here)
To see a full list of apps that may be impacted, please log into your Partner Dashboard and click on Apps > Insights > API Health.
Please note that this extended timeline for supporting API version 2022-04 does not impact deprecation timelines for any subsequent API releases. If you have any questions, reach out to your Shopify account manager or post here, in the Shopify Community.
March 17, 2023
Action required
[Action Required] Support for API version 2022-04 extended to June 30, 2023 API
Shopify is extending support for API version 2022-04 to June 30, 2023 (previously March 31, 2023). All public and custom apps using API resources which support end with the API verions 2022-04 and 2022-07 will stop working as intended after this date.
Action Required: Existing apps must migrate to API version 2022-10 or later by June 30, 2023 to avoid any interruptions.
Below are a few important breaking changes, please make sure to review the full list:
- The following
customer
object properties on the REST Admin API’sorder
resources have been deprecated:last_order_id
,last_order_name
,orders_count
,total_spent
(see details here) - Some Fulfillment API endpoints and mutations relating to managing fulfillments via an order have been deprecated (see details here)
To see a full list of apps that may be impacted, please log into your Partner Dashboard and click on Apps > Insights > API Health.
Please note that this extended timeline for supporting API version 2022-04 does not impact deprecation timelines for any subsequent API releases. If you have any questions, reach out to your Shopify account manager or post in our community forums.
March 16, 2023
Access image Focal Point from the Storefront API API
As of 2023-04
, we're introducing the ability to access the Focal Point
setting value for images using the Storefront API.
Focal Points
can be set from the Admin API or from the shop admin when editing your image files.
Learn more about Focal Points
on Shopify Help
March 16, 2023
Read 3D model configuration settings from the Storefront API API
As of 2023-04
we're introducing the ability to read presentation attributes for 3D models in the storefront api.
When a 3D model is customized via the no code 3D viewer configuration the properties associated with lighting, zoom, camera angle and background color are available in the Storefront API.
Learn more about this feature on Shopify Help
March 15, 2023
Action required
Removal of contextRule
on PriceList
API
Starting in API version 2023-04
, the PriceList.contextRule
field will be removed and deprecated in previous API versions. If you have an existing app that uses the contextRule
field, then you should migrate to catalogs.
Learn more about migrating to catalogs on Shopify.dev.
March 15, 2023
Geotargeting for Shopify App Store ads Shopify App Store
As of March 15, you can geotarget Shopify App Store advertising campaigns, giving greater control over how you market your apps and grow your business. Create effective and relevant regional campaigns with country-specific attribution, metrics, and even recommended bids.
Learn more about creating geotargeted ads on Shopify.dev.
March 15, 2023
The templates
schema attribute is now deprecated for the apps.liquid
section
Themes
As of March 15, the templates
schema attribute is no longer supported in the apps.liquid
section.
- The
templates
schema attribute cannot be specified in theapps.liquid
section. - The
enabled_on/disabled_on
schema attribute cannot containtemplates
attribute in theapps.liquid
section.
March 15, 2023
Webhooks for B2B Customers Primitives API
As of the Admin API 2023-04
Release, we are providing webhook notifications for changes to the major entities within the B2B Customers product. The following webhooks are provided:
companies/create
companies/update
companies/delete
company_locations/create
company_locations/update
company_locations/delete
company_contacts/create
company_contacts/update
company_contacts/delete
Learn more about these webhooks on Shopify.dev
March 15, 2023
SVGs returned as MediaImage in Admin API API
As of 2023-04, SVGs are treated as MediaImages by the Admin API.
This makes it easier to use SVGs in your online storefront.
March 14, 2023
Consistent presence of null values on the order object API
As of 2023-04, we're no longer filtering out null
values on certain fields of the Order
object. Previously, some keys with null
values would not be present on the REST API and webhook payloads.
This change removes unecessary and inconsistent handling of null
.
March 13, 2023
Action required
Google Analytics 4 in the Google channel app Shopify App Store
New release: Google Analytics 4 is now available through the Google channel app on Shopify, enabling you to upgrade and take advantage of its enhanced real-time, multi-channel measurement and privacy controls.
Google Analytics 4 is replacing Universal Analytics, which will continue to process data until July 1, 2023 (July 1, 2024 for Analytics 360 properties).
Learn more about Google Analytics 4 and what this means for you here.
March 13, 2023
Added wallet_preferences
to the Cart
object
API
As part of the GraphQL Storefront API 2023-04 API release, we are adding wallet_preferences
to the Cart
object. The wallet preferences from the cart will allow to pass through a buyer's wallet preference to the checkout.
Learn more about the Cart
object on Shopify.dev.
March 10, 2023
JavaScript support for Shopify Functions developer preview API
The JavaScript support developer preview enables you to write functions in JavaScript or TypeScript, compile them to WebAssembly with Shopify CLI, deploy them to Shopify, and execute them on development stores.
Learn more about the developer preview on Shopify.dev.
March 10, 2023
Idempotent creation of AppUsageRecord API
In the Admin GraphQL API version 2023-04, appUsageRecordCreate
now supports an optional parameter idempotencyKey
which ensures the merchant will not be charged twice. When idempotencyKey
is provided, the mutation will return the same response as any previous appUsageRecordCreate
mutations with identical idempotencyKey
for the intended shop and requesting app, rather than creating a new record and charging the merchant again.
This means that an idempotencyKey
could be reused by an app to create appUsageRecord
s on different shops to charge the merchant. Different apps can also use the same idempotencyKey
on the same shop and still charge the shop. But we recommend a UUID.
The appUsageRecordCreate
will behave like past API versions when idempotencyKey
is not provided and create a new record on every mutation.
March 06, 2023
Translate Metaobjects with Translatable Capability API
As of 2023-04 we're introducing a new capability to translate metaobjects.
Similar to the publishable capability, the translatable capability can be enabled when creating and updating a metaobject definition. When enabled all metaobjects belonging to the definition will be eligible for translations through the Translations API as well as the Translate and Adapt app.
Learn more about the Translatable Capability on Shopify.dev
March 02, 2023
New rich text setting functionality in online store editor Themes
We've added headings as well as ordered lists to the rich text setting within online store editor. This means that themes can now take advantage of this new semantic styling within the editor to allow merchants to configure multiple headings of different semantic sizing and craft lists (now both ordered and unordered) right in the theme.
Learn more about the rich text input setting on Shopify.dev.
February 28, 2023
Partial updates for bulk product variants mutation API
In the Admin GraphQL API version 2023-04, you can use the productVariantsBulkUpdate
mutation to update valid variants even if some variants are invalid. The new allowPartialUpdates
parameter is optional and defaults to false
for backwards compatibility, but by enabling it, the mutation will modify valid variants, instead of not updating any variants due to invalid variants.
Learn more about the mutation here.
February 27, 2023
Increasing search relevance with behavioral data Shopify App Store
As of February 27, Shopify App Store’s search algorithm folds in more data on how merchants interact with results after they search.
In other words, apps that merchants find most relevant, given what they’re searching for, will rank higher overall. While term matching will still inform results, this update will reduce the impact of keyword stuffing.
Learn more about search on our blog.
February 27, 2023
Shopify Functions now support app-owned metafields and reserved prefixes API
You can now use the $app:
metafield namespace prefix in Shopify Functions input queries to ensure your app's ownership of metafields used in your function.
We recommend use of reserved prefixes by default for all functions, so that you can control access to metafields used by your function. By default, they will be private to your app.
Learn more about metafield ownership and using metafields with input queries on Shopify.dev.
February 26, 2023
Action required
Introducing new enabled_on
/ disabled_on
app blocks schema attributes (deprecating templates
)
Themes
You can now use the new enabled_on
/ disabled_on
app block schema attributes to specify where an app block can be used. These new attributes replace the existing templates
attribute and work for both templates and section groups.
- Use the
enabled_on
attribute to limit an app block to specific templates and section groups. - Use the
disabled_on
attribute to prevent an app block from being used in specific templates and section groups. - These new attributes work for both app blocks and app block embeds.
Please keep in mind that you can use only one of enabled_on
or disabled_on
.
February 23, 2023
Action required
Deprecating Price Rules GraphQL API API
We are deprecating Price Rule GraphQL queries & mutations. Use Discounts GraphQL queries & mutations instead.
You will need to migrate to the new endpoints by April of 2024 when we will remove access to these resources.
Certain features, such as Automatic Discounts, and Shopify Functions-backed Discounts, are not supported by these Price Rule endpoints. This migration will allow you to access all the latest features, including ones coming in the future.
Affected queries:
Affected mutations:
priceRuleActivate
priceRuleCreate
priceRuleDeactivate
priceRuleDelete
priceRuleDiscountCodeCreate
priceRuleDiscountCodeUpdate
priceRuleUpdate
To get up to date, make sure you no longer use the affected queries & mutations listed above. To replace them, use the Discounts queries & mutations found on Shopify.dev below:
February 21, 2023
Action required
Upcoming changes to Asset API approval scope API
Over a year ago, we introduced Theme App Extensions as the recommended way for public apps to integrate into themes. The use of Theme App Extensions is a more streamlined and secure method for merchants to customize their Online Store themes, replacing the need for the Asset API.
As of today, when requesting the unstable 2023-04 release candidate, or future versions of the Admin API, the Asset API access to create, update and delete assets is no longer accessible for public apps. Refer to this guide for more details on the change, exemptions and how to migrate your apps.
February 15, 2023
CompanyAddress name field changes API
The CompanyAddress is no longer supporting the use of firstName/lastName fields, preferring instead to use a single recipient field. English-based UI elements may call this new field Attention. This is due to requests from merchants who are not dispatching orders to named individuals, but rather to locations, departments, or roles.
The field recipient has been added to the liquid API for CompanyAddress to display this field. However, there are a large number of existing templates that use the firstName/lastName fields. In order to minimize the impact on these templates, we populate the lastName field with the recipient, and leave the firstName field blank (specifically, it is null
).
The previous paragraph is true for those CompanyAddresses where the recipient field has been populated. Where the address is still using firstName/lastName, the firstName/lastName fields will be populated as before, with the recipient field being the concatenation of these fields in a locale aware manner (in the same way as the name field). We are in the process of porting all CompanyAddresses to use the recipient field only.
February 13, 2023
Certificate Update On Myshopify.Com Domains API
Shopify will be making changes to the certificate used to secure subdomains of myshopify.com (eg: https://test.myshopify.com/) effective February 13, 2023. The current certificate which is being used is issued by Cloudflare via DigiCert. We will be adding in additional certificates signed by Lets Encrypt and Google Trust Services.
Note: This will not affect the certificate used for mTLS connections.
For more information refer to the community notice.
February 13, 2023
Action required
Checkout.liquid will no longer work for in-checkout pages starting August 13, 2024 Tools
Shopify Plus merchants can now customize their in-checkout pages, which include their Information, Shipping, and Payment Pages, using checkout extensibility. Checkout extensibility is a faster way to customize Shopify Checkout in a way that’s app-based, upgrade-safe, higher-converting, and integrated with Shop Pay. It has the power and flexibility for merchants to build the experiences they want.
Checkout extensibility replaces checkout.liquid. As a result, checkout.liquid will no longer work for in-checkout pages on August 13, 2024. Any merchants that currently customize their in-checkout pages with checkout.liquid need to upgrade to checkout extensibility before this date.
Shopify Plus merchants can continue customizing their post-checkout pages, which includes their Thank You Page and Order Status Page, with checkout.liquid. However, we’ll soon support customization on these pages with checkout extensibility as well.
February 13, 2023
Action required
Support for Shopify Scripts will end on August 13, 2024 API
Shopify Functions replace the need for Shopify Scripts, as a result Shopify Scripts will no longer be supported as of August 13, 2024. Merchants that leverage Shopify Scripts will need to migrate to Shopify Functions before this date.
You can now build unique discount, payment, and delivery customizations with Shopify Functions. Functions are deployed via apps and configured alongside native features directly in the Shopify Admin. This means that merchant end users never have to touch a line of code when modifying their customizations.
Please note that Functions and Scripts can work together, so if a use case is not yet supported by Functions, merchants can continue to leverage their existing Shopify Scripts. Over the next year, we will continue to release additional Functions APIs to cover existing Scripts use-cases, and more.
Help merchants migrate by building apps powered by Functions
February 09, 2023
JavaScript support in Shopify Functions local developer preview API
JavaScript support for Shopify Functions is now available in a local developer preview. This means you can try Shopify Functions with JavaScript locally, on your own development machine, but you can't deploy functions to production yet. We are releasing this preview now to get your feedback on our JavaScript development experience.
Learn more about JavaScript support for functions on Shopify.dev.
February 09, 2023
Introducing Mock Shop API for prototyping storefronts Tools
We are introducing Mock.Shop, a free prototyping tool to build a proof-of-concept storefront without having to set up a shop or run any server-side code. Use Mock Shop API to query live commerce data such as sample products, variants, and carts to help you quickly prototype commerce storefronts.
Mock.Shop is publicly available - no server, or access tokens required.
Visit Mock.Shop to learn more and build a proof-of-concept.
February 09, 2023
Cart and Checkout Validations are now available in Developer Preview API
The Shopify Functions API for cart and checkout validations is now available in the Checkout Extensibility developer preview.
This API allows you to apply validation rules that run in both the cart and checkout, ensuring that purchases meet certain criteria before checking out, or completing the order.
Learn more about building cart and checkout validations in our dev docs: Cart and Checkout validations
February 09, 2023
New CheckoutBranding API properties API
We released new checkout branding API properties to make it possible to customize more of checkout’s look and feel. These consist of API-only capabilities that can style interactive elements like buttons and form inputs, as well as more typography controls on heading styles and font styles.
These customizations are automatically inherited by checkout UI extensions and include:
- Font properties for all font surfaces like case and kerning
- Form controls such as corner radius, border presence, label position and label typography
- Button styles such as padding, corner radius and button typography
For more information, view the checkout branding API reference.
February 09, 2023
Order Routing Location Rule API — Developer Preview API
The Order Routing Location Rule API is now available in a developer preview. You can use this new Shopify Functions API to write custom order routing rules that determine how to best fulfill and ship orders, based on the needs of the merchant.
For example, keeping orders within the country, balancing inventory levels to prioritize locations with more items in stock, or shipping directly from stores, just to name a few.
Learn more about the Order Routing Location Rule Function API here
February 09, 2023
Delivery and Payment Customizations - Shopify Functions API
The Shopify Functions APIs for delivery and payment customizations are now generally available. These Functions APIs allow you to hide, reorder, or rename delivery and payment options directly in the checkout.
One of the most popular delivery customizations include the ability to surface unique shipping options to specific buyers — like bike shipping options, that only display to customers that live within certain ZIP or postal codes.
With regards to payment customizations, one of the most popular use cases is to hide certain payment options based on a dollar threshold.
- Start building with the Delivery Customization API
- Start building with the Payment Customization API
February 09, 2023
Cart Transform API (Product Bundles) — Developer Preview API
The Cart Transform API is now available in a developer preview. You can use this new Shopify Functions API to create unique product bundle offerings that display directly in the checkout.
There are two key parts building a product bundle. First, you can determine which specific products can be merged into a bundle. Second, the Cart Transform API can also expand a bundle product into its individual components, making it easier to complete tasks on the backend—like calculating taxes, shipping weights, decrement inventory, and more.
Learn more about how to use the Cart Transform Function API to build product bundles here
February 09, 2023
Checkout UI extensions are now available on the order status page in developer preview API
Checkout UI extensions on the order status page are now available in the Checkout Extensibility developer preview. Add app-powered extensions or content to post-checkout pages such as surveys, social shares or referral links so merchants can install and configure apps without code. Learn more
February 09, 2023
New APIs and components for Checkout UI extensions API
New Checkout UI Extensions APIs
With this new API release, checkout UI extensions can access the storefront API without needing to be a sales channel. They can also read and edit discount codes and gift cards, and generate a signed token to be verified on an app server. Extensions can also verify that they are rendering in the checkout editor.
- Buyer journey and order hooks - Extensions can use the buyer journey API to render different extensions on the order status page based on the intended step in the customer journey (e.g. on checkout completion, or order fulfillment). For more details about extensions on the order status page, see here
- Storefront Direct Access API - Extensions can query the storefront API of a shop to get additional information like product tags, product recommendations, or currency conversions. Shopify handles authentication, so the extension only needs to pass in the query. This API is available to all apps and does not require the app to be a sales channel.
- Rendered in editor API - Extensions can now detect when they are being rendered inside the checkout editor. Extensions that only conditionally render to buyers should always use this to render content for merchants configuring the extension.
- Discount Code API - Extensions can now read discount allocations and discount codes in checkout, and add or remove the discount code(s).
- Gift Card API - Extensions can now read the gift card code applied to a checkout along with the amount. They can also add or remove gift card codes.
- Session Token API - Shopify provides a token signed with the app’s secret to the extension. This token can be passed via external call to an app server, and the app can trust that the contents of the token were created by Shopify
New UI Components
With the following new components, checkout UI extensions can progressively disclose information that buyers can opt in to. Using the overlay activation pattern on interactive components, extensions can show buyers information on customer trust like terms and conditions, trust badges, or warranties. Additional conditional styles offer more props to build performant UI.
- Pressable - Extensions can now use this generic interactive component without the styling that comes with a button or link.
- Component Overlays - Extensions have access to a set of accessible UI component overlays that provide additional information on interaction from Button, Link or Pressable components.
- Conditional style additions to Button, GridItem and Image
- Text has access to a visibility prop that allows visually-hidden content
- GridItem has added styling props on background, BlockSize and InlineSize
February 09, 2023
Introducing the Shop Minis developer program Shopify App Store
Shop Minis are a new way for Shopify App developers to bring their experiences into Shop and in front of 100 million buyers.
Our React Native SDK is designed to get you started with just one command, and it comes with all the components you’ll need, like search, product pages, and cart, to make an incredible shopping experience faster than ever before.
Learn more about early access.
February 08, 2023
Introducing new Catalogs APIs to manage pricing and product publishing for different customers API
As of the latest unstable GraphQL API version, you can use the Catalogs API to create a set of rules that determine the available products and their prices in different customer contexts. The Catalogs API lets you link Shopify Markets and B2B primitives to Publications and PriceLists to customize product offerings for different audiences. The same APIs also allow you to manage product publishing for sales channels.
To learn more about Catalogs API, read B2B Catalogs and Catalogs for Markets.
February 08, 2023
Increased Admin API rate limits for Shopify Plus API
Shopify increased Admin API rate limits for Shopify Plus by 10x over standard limits. Apps installed on Shopify Plus stores will now get 500 points/second on the GraphQL Admin API and 20 requests/second on the REST Admin API. In addition, merchants on Commerce Components by Shopify now have unlimited API calls.
February 07, 2023
Test data for Shopify development stores Tools
Now, you can populate your store with test data in a single click, so you can start developing your app or theme faster.
The generated test data set includes the most common commerce primitives and configurations that you need to test an app, theme, or custom storefront, including some Shopify Plus exclusive features.
Read the developer documentation for more information and try it in your Partner Dashboard today.
February 06, 2023
Updates to our Partner Program Agreement and API License and Terms of Use API
EFFECTIVE FEBRUARY 06, 2023 ACTION REQUIRED
We've made changes to our Partner Program Agreement and API License and Terms of Use. These updates include terms that clarify a partner's responsibility to promptly take certain actions, including as necessary to resolve failed requirements and/or violations to our terms, as well as other important updates.
These changes come into effect as of today, February 06, 2023.
We encourage all developers on our platform to review and be familiar with the API License and Terms and the Partner Program Agreement, so that you understand how to build, run, and grow your app and development business on our platform.
For more information and frequently asked questions, please visit the Shopify Help Center.
February 06, 2023
Action required
Embedded Apps not on App Bridge 2.0.5 or higher will redirect merchants to a new tab API
The following requirements must be met for embedded apps to load in admin.shopify.com
:
- The content security policy includes
admin.shopify.com
. - The app is on App Bridge 2.0.5 or higher, and has correctly implemented the
host
parameter. App Bridge 3.0 is recommended.
When merchants try and access apps which have not been updated, they will be redirected to the old admin domain in a new tab. They will also be shown a banner letting them know that they've been redirected in the original tab.
If you have recently updated your app, or if you are unsure if your app has ever loaded correctly within the new admin domain, you are encouraged to test the app on any partner owned dev store. If you are redirected, ensure that your app has loaded correctly under the banner on admin.shopify.com. We will record the successful load, and within 3 hours our data pipeline will update. Once the pipeline has updated, the banner/redirect will no longer occur.
February 03, 2023
Transaction in Admin REST API will now return the Total Unsettled Set amount API
As of version 2023-04 of the Admin REST API, requests for Transaction will now return total_unsettled_set
. This represents the remaining amount to be captured on the transaction. total_unsettled_set
is returned in both shop
and presentment
money objects with currency.
If you are leveraging manual capture and the authorized amount from Transaction, you should switch to referencing total_unsettled_set
. The authorized amount can differ from the total amount to capture due to adjustments during order finalization such as tax adjustments.
January 27, 2023
Predictive search now returns query suggestions API
As of January 23, 2023, a new resource type for query suggestions has been added to the Predictive Search API.
Notably, several other improvements have been made to the Predictive Search API:
- Resources[type] is now optional with a default set to queries, products, collections and pages
- Performance improvements when requesting multiple resource types
- New parameter: limit_scope to decide whether the limit parameter applies to the total number of returned results, or the total that each resource type returns.
Learn more about query suggestions on Shopify.dev.
January 26, 2023
Introducing intelligent code completion for Liquid API
We've added intelligent code completion features in Theme Check so that you can speedup writing Liquid code.
You can easily explore Liquid attributes as you type and benefit from type inferences, smart filters and scope awareness. With in-line documentation, you can check the most updated version of our documentation for objects, attributes, filters, and tags.
To start using, install Theme Check
January 26, 2023
Shopify Functions adds support for variables in input queries API
Shopify Functions now support the use of variables in input queries, so that you can use merchant input for GraphQL field arguments.
Learn more about input query variables on Shopify.dev.
January 25, 2023
New color settings in themes Themes
Empower your merchants to easily customize their online store with intuitive new color scheme settings. Online store color schemes are now available in developer preview.
You can define the structure of a color scheme in settings_schema.json
and set values for each color scheme in settings_data.json
. You can then reference the color schemes in the settings of a given section or block.
ColorSchemesDrop
provides access to the colors schemes and color values in each scheme. You can define your CSS by iterating over the new drop. This way, merchants no longer need to edit their CSS or liquid file to add or remove color schemes.
Learn more about color scheme and color schemes settings.
January 25, 2023
Cart Mutations return a new cart on FailedToRetrieveCart error API
In order to make the Cart SFAPI experience more seamless, we're rolling out changes to Cart Update mutations so they return a new, valid Cart even if the provided token is no longer valid. If a Cart is found for the provided token, the mutations will work the way they always have. That way you get back a a valid, updated Cart in your response, no matter what.
These mutations will return a new, empty cart:
cartLinesRemove
cartLinesUpdate
cartSelectedDeliveryOptionsUpdate
The following mutations will update the new cart with the requested input:
cartAttributesUpdate
cartBuyerIdentityUpdate
cartDiscountCodesUpdate
cartLinesAdd
cartNoteUpdate
To take advantage of this, use the new Cart ID from the returned Cart when you receive the FailedToRetrieveCart
error code in your response. Please note that the new cart is not a copy of the cart whose token was invalid.
January 23, 2023
Add inventoryItemId on FulfillmentOrderLineItem Resource API
As of Admin Graphql API version 2023-04, you can now get inventoryItemId
on the FulfillmentOrderLineItem
resource.
January 19, 2023
Private apps are automatically converting to custom apps Platform
From January 19th to January 20th, 2023, all private apps will be automatically converted to custom apps managed through the Shopify admin.
Custom apps support all the functionality that private apps did, and provide better security.
Learn more about the different types of app you can build.
January 06, 2023
Action required
We are introducing sections
liquid tag and section groups
Themes
You can now create section groups in your theme’s layout. Section groups are JSON containers that allow merchants to add, remove, and reorder sections in areas of the layout file such as the header and footer.
To include a section group in a layout file, add the section group to the sections directory of your theme, then add a {% sections '<filename>' %}
Liquid tag that references your new sections file to the layout file where you want it to be rendered.
To learn more, refer to section groups.
January 06, 2023
Introducing new enabled_on
/ disabled_on
section schema attributes (deprecating templates
)
Themes
You can now use the new enabled_on
/ disabled_on
section schema attributes to specify where a section can be used. These new attributes replace the existing templates
attribute and work for both templates and section groups.
- Use the
enabled_on
attribute to limit a section to specific templates and section groups. - Use the
disabled_on
attribute to prevent a section from being used in specific templates and section groups.
Please keep in mind that you can use only one of enabled_on
or disabled_on
.
January 04, 2023
Delivery and Payment Customizations are now available in Developer Preview API
The Functions APIs for delivery customizations and payment customizations are now available in a developer preview.
With these new APIs, you can hide, reorder, or rename payment and delivery options to help merchants increase conversions and stand out from the competition.
Learn more about building with delivery and payment Functions in our dev docs: Delivery Customization Payment Customization
January 04, 2023
Return request actions available to merchants in the admin API
We've just released enhancements that allow merchants to approve or decline return requests in their admin for partners using the returnRequest mutation.
This changelog post announced new ways for managing returns via the GraphQL Admin API, including the ability to approve or decline a return automatically.
Partners can now choose to automate this behavior or allow merchants to take action themselves.
January 04, 2023
Publication Id and channel Id validations API
As of the 2023-04 version of the Admin GraphQL API, the publicationId
and channelId
fields of the PublicationInput
will be validated on calls to publishableUnpublish
and productUnpublish
mutations.
This allows you to ensure that ids sent into a mutation correspond to existing records in the database.
The validation message for the publicationId
field will change from "Channel can't be blank" to "Publication does not exist" on a PublicationInput
object.
Learn more about publishableUnpublish and productUnpublish on Shopify.dev.
January 04, 2023
FulfillmentOrder move and hold operations now accept specific line items API
As of API version 2023-04, both FulfillmentOrder hold and move operations for both GraphQL and REST support a fulfillment_order_line_items
parameter to allow you to place only a specified subset of the line items on hold, or move them to another location where they are in stock.
GraphQL
REST
January 04, 2023
Verified by Shopify tiers now available on the GraphQL Admin API's MerchantApprovedSignals object API
You can now query verifiedByShopifyTier
on the MerchantApprovedSignals
object to determine what tier of pre-approval a merchant is in if available.
This query helps you to accelerate the onboarding of merchants to sales channels based on the tiers.
For more information, refer to the release notes.
January 03, 2023
Sort orders by destination API
GraphQL Admin API 2023-04 introduces support for sorting orders by destination, based on the order's shipping address.
Orders will be sorted first by country, then zone (e.g. state or province), then city.
January 02, 2023
New ways to manage returns with the GraphQL Admin API API
Returns apps can now use the stable version of the GraphQL Admin API to give merchants greater visibility into critical returns data across platforms, and help them manage orders more efficiently.
Returns apps can automate the return management process by taking actions on behalf of merchants. These actions can include the following:
- Creating and canceling returns
- Approving or declining return requests
- Managing reverse fulfillment orders and deliveries, including creating a reverse delivery with shipping information, and disposing or restocking items
- Issuing refunds
- Closing and reopening returns
We’ve also added new webhooks that your app can use to listen for events related to returns, refunds, reverse fulfillment orders, and reverse deliveries.
Learn more about returns management workflows on Shopify.dev.
January 01, 2023
Updated MetafieldsSetInput.type to be nullable for metafieldsSet mutation API
As part of the 2023-01 GraphQL Admin API release, we've updated the metafieldsSet
API to make the MetafieldsSetInput.type
field nullable. When the metafield you are trying to mutate already has corresponding metafield definitions, you can simplify the mutation by omitting the type
field from its arguments. The type
field is still required when the metafield doesn't have a corresponding definition to the given ownerId
, namespace
and key
.
For more information, refer to the metafieldsSet mutation.
January 01, 2023
New field tag
added to the ProductFilter object
API
You can now use the Storefront API to filter products by tags if tags are enabled as a filter setting on the shop.
The tag
field has been added to the Storefront API's ProductFilter
object, for this purpose.
January 01, 2023
Storefront API Metaobject
queries
API
With GraphQL Storefront API version 2023-01, you can use Metaobject
queries to display custom content that's associated with resources like products, customers, and orders. Metaobjects created with the CONTENT
category with an Active
status are available through Metaobject
queries.
This change is related to the GraphQL Admin API's support for content management and metaobjects.
January 01, 2023
Selling Plan Group Limit Increase API
As of 2023-01, Selling Plan Groups will have their limit on the number of associated Selling Plans increased from 20 to 31. We recommend paginating all queries on a Selling Plan Group's Selling Plans, rather than relying on this fixed limit.
To learn more about Selling Plan Groups, refer to the purchase options documentation.
January 01, 2023
Add near parameter to StoreAvailability - Storefront API API
You can now use the near parameter to search StoreAvailability by proximity, via Storefront API.
The type is GeoCoordinateInput, so far also used as parameter for Locations.
January 01, 2023
Action required
metafieldsSet
is now Atomic
API
As of 2023-01, the metafieldsSet
mutation is atomic and will not persist changes if any errors are encountered.
January 01, 2023
Duplicate and Delete Product Asynchronously with GraphQL Admin API API
As of GraphQL Admin API version 2023-01
, we are adding mutations productDuplicateAsync and productDeleteAsync. This will allow you to asynchronously duplicate and delete products that have a high number of variants that are stocked at several locations. This is because the mutations productDuplicate and productDelete may time out for these larger products.
Learn more about the mutations at productDuplicateAsync and productDeleteAsync.
January 01, 2023
New field EditedAt
is added to CheckoutProfile object
API
As of 2023-01, you can use the EditedAt
to see when checkout profile has been edited. Checkout profiles are sorted by EditedAt
field instead of updatedAt
.UpdatedAt
field may be deprecated in the future.
January 01, 2023
New And Updated Fulfillment Order Webhooks API
As of the Admin API 2023-01 release candidate, fulfillment service and order management apps can subscribe to webhooks notifications related to fulfillment orders and events relating to them.
Learn more about fulfillment order webhooks at Shopify.dev.
January 01, 2023
Moving the Shop.fulfillmentOrders connection to QueryRoot API
As of the 2023-01 release of the admin GraphQL, you can access fulfillment orders from QueryRoot.fulfillmentOrders
in addition to the pre-existing Shop.fulfillmentOrders
connection.
This change will also include the deprecation of the Shop.fulfillmentOrders
query in favour of the newly added QueryRoot.fulfillmentOrders
This change aligns with direction of the admin API moving forward ensuring that domain primitives are available on QueryRoot
and the Shop
field is reserved for key information related to the shop in the scope of the request.
You can learn more about fulfillment orders here
January 01, 2023
Release of the fulfillmentOrdersReleaseHolds Mutation API
As of the 2023-01, you can use the fulfillmentOrdersReleaseHolds
mutation to release holds on multiple fulfillment orders in a single request.
This will allow developers to reduce the number of individual requests used to complete bulk fulfillment actions with their apps.
For more details on the fulfillmentOrdersReleaseHolds
mutation see here.
January 01, 2023
Shop Resource Feedback with GraphQL Admin API API
GraphQL Admin API 2023-01 introduces support for creation of shop resource feedback.
You can now use shopResourceFeedbackCreate
mutation to create resource feedback on a shop to let merchant know what steps they need to take to make sure that your app is set up correctly.
For more information, refer to https://shopify.dev/api/admin-graphql/unstable/mutations/shopResourceFeedbackCreate.
January 01, 2023
New FulfillmentOrderLineItemsPreparedForPickup GraphQL Mutation Released API
As of the 2023-01 release candidate in the Admin API, you can use the GraphQL FulfillmentOrderLineItemsPreparedForPickup
mutation to mark line items associated with a fulfillment order as being ready for pickup by a customer.
Learn more about FulfillmentOrderLineItemsPreparedForPickup mutation on Shopify.dev.
January 01, 2023
New argument to update shipping package API
As of 2023-01 in GraphQL Admin API stable version, you can use shippingPackage
as a required argument in shippingPackageUpdate
mutation.
shippingPackage
is a set of attributes that describes a shipping package, including: weight
, dimensions
, name
, default
and type
.
Learn more about shippingPackageUpdate.
January 01, 2023
Action required
Removal of SMS Templates as translatable resources API
As part of GraphQL Admin API version 2023-01
, we are removing SMS Templates as a translatable resource.
This means the SMS_TEMPLATE
value will be removed from the TranslatableResourceType
enum and the following GraphQL endpoints will stop accepting SMS Template IDs:
January 01, 2023
Action required
Update: Carrier Service API Access for Stores on Starter and Basic Plans API
As of January 1, 2023 stores on Starter and Basic plans (globally), will no longer be able to request access to the Carrier Service API. The option to request access by transitioning to annual billing or by paying an additional monthly fee for these plan types will be removed.
Stores on Advanced and Shopify Plus plans will continue to have access to Carrier Service API. Stores on Shopify plans can continue to request access by contacting Shopify Support. Stores on Starter or Basic plans that were previously granted access are not impacted by this change.
Learn more about CarrierService access requirements on Shopify.dev.
January 01, 2023
New credit card fields added to Transaction's payment details API
As of the 2023-01 release candidate in the Admin API, new fields are available under the REST Transaction payment_details
property, and the GraphQL OrderTransaction includes a new payment_details
property.
New fields added to REST Transaction payment_details
-
credit_card_name
: The holder of the credit card. -
credit_card_wallet
: The wallet type where this credit card was retrieved from. -
credit_card_expiration_month
: The month in which the credit card expires. -
credit_card_expiration_year
: The year in which the credit card expires.
Learn more about the REST Transaction resource on Shopify.dev.
New paymentDetails
property added to GraphQL OrderTransaction
A new field, payment_details
, is available under the GraphQL OrderTransaction resource. The type of this field is PaymentDetails
, a new union type. Only one type is available at the moment, CardPaymentDetails
, which defines the following properties:
-
avsResultCode
: The response code from the address verification system (AVS). -
bin
: The issuer identification number (IIN), formerly known as bank identification number (BIN) of the customer's credit card. -
company
: The name of the company that issued the customer's credit card. -
cvvResultCode
: The response code from the credit card company indicating whether the customer entered the card security code, or card verification value, correctly. -
expirationMonth
: The month in which the credit card expires. -
expirationYear
: The year in which the credit card expires. -
name
: The holder of the credit card. -
number
: The customer's credit card number, with most of the leading digits redacted. -
wallet
: Digital wallet used for the payment.
Learn more about the GraphQL OrderTransaction resource on Shopify.dev.
January 01, 2023
Deprecate FulfillmentOrderLineItem.lineItem field API
As of API version 2023-01, the lineItem
field on the FulfillmentOrderLineItem
resource has been deprecated. The order line item associated with a FulfillmentOrderLineItem
shouldn't be used to determine what to fulfill.
Use the FulfillmentOrderLineItem
and FulfillmentOrder
objects instead. An order LineItem
represents a single line item on an order, but it doesn't represent what should be fulfilled.
January 01, 2023
Metafields and BulkOperation now available for B2B API
As of GraphQL Admin API version 2023-01, metafields are being added to the Company
and CompanyLocation
primitives for B2B. Additionally, a subset of mutations are now available for use asynchronous usage via BulkOperation.
Learn more about B2B on Shopify.dev.
January 01, 2023
Simplified Metafield Querying API
As of the 2023-01 Admin API release, you can optionally supply the key
argument to metafield queries on resources in the format of namespace.key
to simplify your queries on the metafield
field. You will also be able to optionally supply the keys
argument to the metafields
connection as a list of strings in the same format. The key returned will also be in the format of namespace.key
.
January 01, 2023
B2B Order Import REST API API
As of 2023-01, Merchants with B2B enabled on their stores can import Orders in a B2B context using the REST API.
Learn more about B2B order imports on Shopify.dev.
January 01, 2023
Removal of the error code INVALID
from LocationDeactivateErrorCode
API
As of GraphQL Admin API version 2023-01
, we are removing the error code INVALID
from LocationDeactivateUserError
as we never return this error code when using the mutation locationDeactivate
to deactivate a location.
If you are explicitly checking for this error code, you should remove references to it.
Learn more about { Location deactivate user error codes } on Shopify.dev.
January 01, 2023
Action required
Serving errors on a fulfillment orders opt-out fulfillment service creation and modification API
As of 2022-07 API version, it's mandatory for a fulfillment service to follow a fulfillment order based workflow and have fulfillment_orders_opt_in
set to true
in FulfillmentService
resource. The last API version serving the legacy fulfillment APIs is 2022-04.
With 2023-01 release, we add observability to the migration process.
Errors will be returned if a legacy (fulfillment orders opt-out) fulfillment service is intended to be created on an API version, where the legacy fulfillment APIs are not available.
Errors will be returned on fulfillment service create REST and GraphQL API calls if fulfillment_orders_opt_in
field is not set into true
in the parameters.
Errors will be returned on fulfillment service update REST and GraphQL API calls if the fulfillment service being changed has fulfillment_orders_opt_in
set to false
and the update request does not promote fulfillment_orders_opt_in
into true
. fulfillment_orders_opt_in
and callback_url
become required parameters for fulfillment service create request/mutation.
Follow Migrate to fulfillment orders guide to learn how to migrate. Follow Manage fulfillments as a fulfillment service app guide to learn how to fulfill fulfillment orders.
January 01, 2023
Shop "Contact Information" policy API
As of Admin API 2023-01, Shop Policy now supports the "Contact Information" policy. This policy is intended to allow users to add regulatory information like VAT and Trade number.
January 01, 2023
ShopifyQL API is now available for Developers API
As of Admin API version 2023-01, you can use the shopifyqlQuery API to query analytical data from merchant stores to create reporting apps that provide business insights for merchants on the Plus plan.
We are removing the unstable sales
dataset as a part of this stable channel release.
Learn more about ShopifyQL on Shopify.dev.
January 01, 2023
New webhook topic for when a PaymentSchedule
is due
API
As of Admin API 2023-01, you can subscribe to the new PAYMENT_SCHEDULES_DUE
webhook topic to be notified of when a PaymentSchedule.due_at
date is reached.
Learn more about the PAYMENT_SCHEDULES_DUE
topic on Shopify.dev.
January 01, 2023
Action required
Asynchronous queries in Segmentation API API
Starting in January 2023, on the 2023-01 API release, some queries could be processed and returned asynchronously based on complexity and the amount of shop data. Most queries will continue to be evaluated synchronously. This breaking change allows you to build the best possible user experience as we introduce more complex filters in Segmentation. Async queries should revolve within 5 seconds but some queries might take up to 1-2 minutes or even longer.
To get up to date, make sure you are handling responses returning an error code because the query must be processed asynchronously. You can follow our migration guide.
Learn more about building for asynchronous queries in our developer documentation or visit our API forum for questions.