Skip to main content

2019-07 release notes

Note

We're no longer publishing API release notes. Instead, you can find the latest updates on Shopify APIs in our developer changelog. You can filter updates by area. For example, you can filter API updates by the API name and version, such as GraphQL Admin API changes in version 2025-04.

Release dateDate version is no longer supported
July 1, 2019July 1, 2020

The 2019-07 release focuses on improving performance by removing page-based pagination and introducing a more efficient way to paginate through resources using cursor-based pagination. Cursor-based pagination has been implemented across various endpoints, and more are expected to support cursor-paged pagination in upcoming versions.

The GraphQL Admin API is growing in 2019-07. Among some of the GraphQL API changes is the introduction of delivery profiles, which now gives developers the ability to set per-product and per-location shipping rules. Support for billing and automatic discounting is also now available in GraphQL. Metafields can now be accessed and published to the Storefront API in 2019-07.

What’s new in 2019-07

  • Storefront API was added to our admin versioning scheme

  • Page-based pagination has been replaced by cursor-based pagination across multiple REST endpoints

  • Delivery profiles was added to allow you to set per-product and per-location shipping rules

  • Added GraphQL support for billing

  • Improved sorting of metafields

  • Improved interoperability for consuming webhook data with the addition GraphQL Admin API IDs

  • Metafields were made available through Storefront API

  • New discount types added in GraphQL

    Below are all the changes introduced to the REST Admin API, the GraphQL Admin API, and the Storefront API in 2019-07.


These changes require special attention as failure to migrate can result in broken requests in the future.

Page-based pagination has been removed, and has been replaced with cursor-based pagination on many endpoints.

To migrate, see our guide on cursor-based pagination.

The featured field was removed from the collect endpoint.

To migrate, update the URL of all your requests to the collect endpoint to API version 2019-07 or later.

Anchor to GraphQL Admin ID added to webhooksGraphQL Admin ID added to webhooks

Added the admin_graphql_api_id property to webhook payloads for many resources.

Note

This is a breaking change exclusive to apps that use versions of the shopify_app gem lower than 10.0.0 and Rails versions lower than 5.2.1.1. See the shopify_app gem changelog for more details.

To migrate, update webhook API version to API version 2019-07 or later.


There is no developer preview for the API changes in version 2019-07. Use a development store for your development environments.

To use the new API features, call the 2019-07 version of the API.


Anchor to REST Admin API changesREST Admin API changes

  • Added new route /admin/api/2019-07/abandoned_checkouts.json to access the Abandoned checkouts API.

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/article_saved_searches.json.

Anchor to BalanceTransactionSavedSearchBalanceTransactionSavedSearch

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/balance_transaction_saved_searches.json.

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/blog_saved_searches.json.

  • Removed the X-Shopify-Checkout-Version header support from GET /admin/checkouts.json.

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/checkout_saved_searches.json.

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/collects.json.
  • Removed the featured property.

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/collection_listings.json.
  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/collection_listings/#{collection_listing_id}/product_ids.json.

  • Requests that pass a value for title will match only if the value is the same as the complete title. Partial matches aren't supported.
  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/collections.json.

Anchor to CollectionSavedSearchCollectionSavedSearch

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/collection_saved_searches.json.

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/comment_saved_searches.json.

  • Removed the ability to update a province's code.

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/customer_saved_searches.json.

Anchor to DiscountCodeSavedSearchDiscountCodeSavedSearch

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/discount_code_saved_searches.json.

Anchor to DraftOrderSavedSearchDraftOrderSavedSearch

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/draft_order_saved_searches.json.

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/events.json.

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/file_saved_searches.json.

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/gift_card_saved_searches.json.

Anchor to InventoryTransferSavedSearchInventoryTransferSavedSearch

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/inventory_transfer_saved_searches.json.

  • By default, metafields are now sorted by ID instead of namespace and key.
  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/metafields.json.

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/order_saved_searches.json.

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/page_saved_searches.json.

Anchor to PriceRuleSavedSearchPriceRuleSavedSearch

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/price_rule_saved_searches.json.

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/products.json.
  • Requests that pass a value for title will match only if the value is the same as the complete title. Partial matches aren't supported.

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/product_listings.json.

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/product_saved_searches.json.

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/variants/search.json.

Anchor to ProductVariantSavedSearchProductVariantSavedSearch

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/product_variant_saved_searches.json.

  • Removed the ability to update a province's code.

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/redirect_saved_searches.json.

  • Added profile_id, location_group_id, and admin_graphql_api_id properties. Learn more.

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/transfer_saved_searches.json.

  • Added the admin_graphql_api_id property to webhook payloads for many resources for easier interoperability. The property returns the resource's GraphQL Admin API ID in the global ID format: gid://shopify/Order/1234.
Note

This is a breaking change exclusive to apps that use versions of the shopify_app gem lower than 10.0.0 and Rails versions lower than 5.2.1.1. See the shopify_app gem changelog for more details.


Anchor to GraphQL Admin API changesGraphQL Admin API changes

Anchor to Changes to QueryRootChanges to QueryRoot

The following fields were added

The following fields were added

Anchor to Changes to input objectsChanges to input objects

The following fields were added

Anchor to Changes to mutationsChanges to mutations

The following mutations were added

The following enum values were added


Version 2019-07 is the base version of the GraphQL API. This base version is a snapshot of the existing API, which means that there are no changes in this initial release. You can begin adopting API calls to this version in your apps without needing to make changes to your code base.

We strongly recommend that you update your apps to call a stable API version. Updating your apps to use the latest stable version lets you spend less time configuring your apps to be version aware, and helps you to be first to market by adopting new API changes when they are released.

Anchor to Corresponding Buy SDK versionsCorresponding Buy SDK versions

SDKSupported Versions
Mobile Buy SDK Android3.5.0
Mobile Buy SDK iOS3.6.0
Unity Buy SDK1.1.0
JS Buy SDK2.6.1, 2.7.0, 2.7.1, 2.7.2
Buy Button JS0.12.0, 0.12.1, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 2.0.0

Was this page helpful?