2019-07 release notes

Release date Date version is no longer supported
July 1, 2019 July 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.

Developer preview

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

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

REST Admin API changes

Abandoned checkouts

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

ArticleSavedSearch

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

BalanceTransactionSavedSearch

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

BlogSavedSearch

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

Checkout

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

CheckoutSavedSearch

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

Collect

  • 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.

CollectionListing

  • 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.

Collections

  • 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.

CollectionSavedSearch

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

CommentSavedSearch

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

Country

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

Customer

CustomerSavedSearch

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

DiscountCodeSavedSearch

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

DraftOrderSavedSearch

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

Event

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

FileSavedSearch

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

GiftCardSavedSearch

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

InventoryTransferSavedSearch

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

Metafield

  • 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.

OrderSavedSearch

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

PageSavedSearch

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

PriceRuleSavedSearch

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

Product

  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/products.json.
  • Removed the page filter, and replaced page-based pagination with cursor-based pagination for GET /admin/api/2019-07/products/search.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.

ProductListing

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

ProductSavedSearch

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

ProductVariant

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

ProductVariantSavedSearch

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

Province

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

RedirectSavedSearch

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

ShippingZone

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

TransferSavedSearch

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

Webhook

  • 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.

GraphQL Admin API changes

Schema changes

The following fields were added

The following objects were added

The following enum values were added

The following enum types were added

Storefront API

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.

Sign up for a Partner account to get started.

Sign up