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.
RSS updatesThere are no entries for your filter criteria.
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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).
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
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 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 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 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
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 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