--- title: 2020-07 release notes description: Update your app from API version 2020-04 to 2020-07. api_name: release-notes source_url: html: https://shopify.dev/docs/api/release-notes/previous-versions/2020-07?itcat=partner_blog&itterm=api_deprecation_update_2021-04 md: https://shopify.dev/docs/api/release-notes/previous-versions/2020-07.md?itcat=partner_blog&itterm=api_deprecation_update_2021-04 --- ExpandOn this page * [Breaking changes](https://shopify.dev/docs/api/release-notes/previous-versions/2020-07#breaking-changes) * [Graph​QL Admin API changes](https://shopify.dev/docs/api/release-notes/previous-versions/2020-07#graphql-admin-api-changes) * [REST Admin API changes](https://shopify.dev/docs/api/release-notes/previous-versions/2020-07#rest-admin-api-changes) * [Storefront API changes](https://shopify.dev/docs/api/release-notes/previous-versions/2020-07#storefront-api-changes) # 2020-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](https://shopify.dev/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 date | Date version is no longer supported | | - | - | | July 2, 2020 | July 2, 2021 | The 2020-07 release contains changes to support AWS EventBridge integration, annual billing through the Shopify Billing API, and better errors in GraphQL. This release also offers more flexible explicit discounts, exposes tips on orders, and extends locale-specific support for collecting additional information at checkout. **What’s new in 2020-07** The following features were added in version 2020-07 of Shopify's APIs. * Apps now support integration with Amazon EventBridge to receive Shopify webhooks using an event bus. As a result, \[Webhooks]/api/admin/rest/reference/events/webhook) now support ARN addresses. * Shopify's [Billing API](https://shopify.dev/docs/apps/launch/billing) now offers annual billing in GraphQL. * Access errors in GraphQL now reference the denied resource, rather than returning a generic `access denied` error. * The CPF/CNPJ can now be collected at checkout for merchants in Brazil. This information is exposed through the API using a new [`localizationExtensions` connection](https://shopify.dev/docs/apps/build/markets/add-locally-required-order-data). * The total tip amount received on an order is now available via `Order.totalTipReceived`. * The API now offers [additional data on domains](https://shopify.dev/docs/api/admin-graphql/latest/objects/shop) associated with a given shop using the new `shop.domains` field and webhook events. *** ## Breaking changes These changes require special attention. If your app uses these API resources, and you don’t adjust your usage of the resources according to the following instructions, then your app might break when you update to this API version. ### Allocation method for discounts We updated the allocation method for discounts that have set the `target_selection` as `explicit`. Previously, Shopify applied these discounts to a single line item, which corresponded to an allocation method of `one`. With this change, the allocation methods will instead include `each` and `across`. We've made this change to simplify the discount syntax, as `one` and `across` functionally both discount the final price by a set amount. ### Product variant resource The deprecated `images` value was removed from object type `ProductVariant`. *** ## Graph​QL Admin API changes Below are all the changes currently introduced in the 2020-07 version of the GraphQL Admin API. ### Allocation method for explicit discounts #### Breaking **Removed field** `ONE` value was removed from enum [DiscountApplicationAllocationMethod](https://shopify.dev/docs/api/admin-graphql/latest/enums/discountapplicationallocationmethod). `ACROSS` is returned in its place as the meaning is the same for explicit discounts. ### Product variant update #### Breaking The following changes were made to the [ProductVariant](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) resource: **Removed field** * `images` value was removed from object type `ProductVariant` ### Improved access errors in GraphQL Access errors in GraphQL now reference the denied resource, rather than returning a generic `access denied` error. Responses now also include extensions, which consist of an error code, link to necessary documentation, and the name of the required access scope. Learn more about access scopes in our [documentation](https://shopify.dev/docs/api/usage/access-scopes). ### Localization extensions The `localizationExtensions` field was added to the order object. For more information, refer to [Manage country fields using localization extensions](https://shopify.dev/docs/apps/build/markets/add-locally-required-order-data). **New fields** * `localizationExtensions` was added to object type `Order` * `totalTipReceived` was added to object type `Order` **New types** * `LocalizationExtension` was added * `LocalizationExtensionPurpose` enum was added ### Bulk operations A new field was added to the [BulkOperation](https://shopify.dev/docs/api/admin-graphql/latest/objects/bulkoperation) resource. **New fields** * `rootObjectCount` was added to object type `BulkOperation` ### Customer multipass A new field was added to the [Customer](https://shopify.dev/docs/api/admin-graphql/latest/objects/customer) resource. **New fields** * `multipassIdentifier` was added to object type `Customer` ### Draft order A new field was added to the [DraftOrder](https://shopify.dev/docs/api/admin-graphql/latest/objects/draftorder) resource. **New fields** * `ready` was added to object type `DraftOrder` ### Annual billing You can now create annual billing subscriptions for your apps. To learn more, refer to [Create an annual subscription](https://shopify.dev/docs/apps/launch/billing/subscription-billing/create-time-based-subscriptions). **New fields** * `interval` was added to input object type `AppRecurringPricingInput` **Updated types** * `ANNUAL` value was added to enum `AppPricingInterval` ### Localized domains You can now query a shop's localized domains and subscribe to domain event webhooks. **New fields** * `localization` was added to object type `Domain` * `domains` was added to object type `Shop` **New types** * `DomainLocalization` was added **Updated types** * `DOMAINS_UPDATE` value was added to enum `WebhookSubscriptionTopic` * `DOMAINS_DESTROY` value was added to enum `WebhookSubscriptionTopic` * `DOMAINS_CREATE` value was added to enum `WebhookSubscriptionTopic` ### Localization extensions **New fields** * `localizationExtensions` was added to object type `Order` **New types** * `LocalizationExtensionEdge` was added * `LocalizationExtension` was added * `HasLocalizationExtensions` was added * `LocalizationExtensionPurpose` was added * `LocalizationExtensionConnection` was added ### Webhook subscriptions The `endpoint` field of type **WebhookSubscriptionEndpoint** was added to the webhook subscription object. This replaces the `callbackUrl` field. New create and update mutations were added to support EventBridge webhook subscriptions. **New fields** * `endpoint` was added to object type `WebhookSubscription` **New types** * `WebhookSubscriptionEndpoint` was added * `WebhookEventBridgeEndpoint` was added * `WebhookHttpEndpoint` was added * `EventBridgeWebhookSubscriptionUpdatePayload` was added * `EventBridgeWebhookSubscriptionInput` was added * `EventBridgeWebhookSubscriptionCreatePayload` was added * `ARN` was added **New mutations** * `EventBridgeWebhookSubscriptionCreate` was added * `EventBridgeWebhookSubscriptionUpdate` was added *** ## REST Admin API changes Below are all the changes currently introduced in the 2020-07 version of the REST Admin API. ### Allocation method for explicit discounts #### Breaking **Removed field** `one` value was removed from `allocation_method` in the [Order resource](https://shopify.dev/docs/api/admin-rest/latest/resources/order). `across` is returned in its place as the meaning is the same for explicit discounts. ### Domain event webhooks You can now subscribe to domain event webhooks. **New topics** The following changes have been made to the [Webhook resource](https://shopify.dev/docs/api/admin-rest/latest/resources/webhook). * `domains/create` was added as part of accessing [additional data on domains in the GraphQL Admin API](https://shopify.dev/docs/api/admin-graphql/latest/objects/shop). * `domains/update` was added as part of accessing [additional data on domains in the GraphQL Admin API](https://shopify.dev/docs/api/admin-graphql/latest/objects/shop). * `domains/destroy` was added as part of accessing [additional data on domains in the GraphQL Admin API](https://shopify.dev/docs/api/admin-graphql/latest/objects/shop). ### Webhook subscriptions The `Webhook` resource was updated to support EventBridge webhook subscriptions. **Updated properties** * `address` property was updated to accept a URI or an EventBridge event source ARN. *** ## Storefront API changes Below are all the changes introduced in the 2020-07 version of the Storefront API. ### New error code for checkout #### Breaking A new error code was added to CheckoutErrorCode. **Updated types** * `DISCOUNT_ALREADY_APPLIED` was added to enum `CheckoutErrorCode` ### Improved access errors in GraphQL Access errors in GraphQL now reference the denied resource, rather than returning a generic `access denied` error. Responses now also include extensions, which consist of an error code, link to necessary documentation, and the name of the required access scope. Learn more about access scopes in our [documentation](https://shopify.dev/docs/api/usage/access-scopes). *** * [Breaking changes](https://shopify.dev/docs/api/release-notes/previous-versions/2020-07#breaking-changes) * [Graph​QL Admin API changes](https://shopify.dev/docs/api/release-notes/previous-versions/2020-07#graphql-admin-api-changes) * [REST Admin API changes](https://shopify.dev/docs/api/release-notes/previous-versions/2020-07#rest-admin-api-changes) * [Storefront API changes](https://shopify.dev/docs/api/release-notes/previous-versions/2020-07#storefront-api-changes)