2020-04 release notes
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.
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 date | Date version is no longer supported |
|---|---|
| April 1, 2020 | July 1, 2021 |
Due to the late notice given for a breaking change in 2020-07, the availability of the 2020-04 API version has been extended until July 1, 2021 for existing apps.
Due to the late notice given for a breaking change in 2020-07, the availability of the 2020-04 API version has been extended until July 1, 2021 for existing apps.
The 2020-04 release contains changes to support order editing on the Storefront API, viewing and refunding duties on orders on the Admin API, and offers more information about media that has been embedded on product pages through product media.
What's new in 2020-04
The following features were added in version 2020-04 of Shopify’s APIs:
-
Duties and Taxes are now available for testing through the "Duties and taxes" developer preview. Duties are calculated per line item on international orders, and can be viewed as a part of the LineItem in GraphQL. Visit our doc on testing with developer preview to get started.
-
Additional fields were added to the Order and OrderLineItem objects in the Storefront API to better support order editing and provide better visibility into an order's state.
-
3D models and videos embedded on product pages using Media will now expose the filename, which allows for easier identification of relevant resources.
Anchor to Breaking changesBreaking 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.
Anchor to Price reductions removedPrice reductions removed
The productBulkAddPriceReductions and productBulkRemovePriceReductions GraphQL mutations have been removed as of 2020-04.
Anchor to New error codes for media objectsNew error codes for media objects
New values have been added to the MediaErrorCode type to better represent the different types of errors that can occur when creating media objects.
Anchor to New error codes for customers on Storefront APINew error codes for customers on Storefront API
More specific error codes have been added to the CustomerErrorCode when a customer provides an invalid email domain during checkout. These errors were previously returned as generic invalid customer or token errors.
Anchor to REST Admin API changesREST Admin API changes
Anchor to Get localized country and province names with the Location resourceGet localized country and province names with the Location resource
The Location resource now returns the localized names for the location's country and province.
New properties
localized_country_nameproperty was added to Location resourcelocalized_province_nameproperty was added to Location resource
Anchor to Manage duties and taxes on orders,[object Object]Manage duties and taxes on orders
The Order, Refund, and AbandonedCheckout resources have been updated to help manage duties and taxes.
Anchor to Order updatesOrder updates
New properties
-
Added
current_total_duties_setproperty to Order resource. -
Added
original_total_duties_setproperty to Order resource. -
Added list of
dutiestoline_itemsobject in Order resource.Updated properties
-
Updated
total_price_setproperty to include any duties that have been charged during checkout on an international order.
Anchor to Refund updatesRefund updates
New properties
- Added list of
dutiesto Refund resource.
Anchor to Abandoned checkout updatesAbandoned checkout updates
New properties
- Added
total_dutiesproperty to Abandoned checkout resource.
Anchor to Fulfillment updatesFulfillment updates
New properties
- Added list of
dutiestoline_itemsobject in Fulfillment resource.
Anchor to Update a fulfillment service's inventory management field,[object Object]Update a fulfillment service's inventory management field
Updated properties
inventory_managementproperty on FulfillmentService resource can now be edited.
Anchor to GraphQL Admin API changesGraph QL Admin API changes
Below are all the changes introduced in the 2020-04 version of the GraphQL Admin API.
Anchor to Remove bulk price reductionsRemove bulk price reductions
Anchor to BreakingBreaking
Bulk price reduction mutations and associated fields have been removed.
Removed fields
-
productBulkRemovePriceReductionswas removed from object typeMutation -
productBulkAddPriceReductionswas removed from object typeMutationRemoved types
-
ProductBulkRemovePriceReductionsPayloadwas removed -
PriceReductionInputwas removed -
ProductBulkAddPriceReductionsPayloadwas removed
Anchor to New error codes for media objectsNew error codes for media objects
Anchor to BreakingBreaking
New values have been added to the MediaErrorCode type to better represent the different types of errors that can occur when creating media objects.
Updated types
EXTERNAL_VIDEO_INVALID_ASPECT_RATIOvalue was added to enum MediaErrorCodeMODEL3D_VALIDATION_ERRORvalue was added to enum MediaErrorCodeMEDIA_TIMEOUT_ERRORvalue was added to enum MediaErrorCodeIMAGE_PROCESSING_FAILUREvalue was added to enum MediaErrorCodeIMAGE_DOWNLOAD_FAILUREvalue was added to enum MediaErrorCodeEXTERNAL_VIDEO_UNLISTEDvalue was added to enum MediaErrorCodeEXTERNAL_VIDEO_NOT_FOUNDvalue was added to enum MediaErrorCodeVIDEO_VALIDATION_ERRORvalue was added to enum MediaErrorCode
Anchor to Updates to metafields,[object Object]Updates to metafields
You can now return the updatedAt and createdAt dates for metafields and private metafields.
New fields
updatedAtfield was added to object type PrivateMetafieldcreatedAtfield was added to object type PrivateMetafieldupdatedAtfield was added to object type MetafieldcreatedAtfield was added to object type Metafield
Anchor to Generate account activation URL ,[object Object]Generate account activation URL
You can now generate an account activation URL that customers can use to activate their account.
New mutations
-
customerGenerateAccountActivationUrlwas added.New types
-
CustomerGenerateAccountActivationUrlPayloadwas added
Anchor to Manage duties and taxes on orders,[object Object]Manage duties and taxes on orders
You can now manage the taxes and duties applied to orders that ship internationally.
New fields
-
totalDutiesSetfield was added to object typeSuggestedRefund -
refundDutiesfield was added to object typeSuggestedRefund -
refundDutiesoptional argument was added toSuggestedRefund -
dutiesfield was added to object typeRefund -
dutiesfield was added to object typeLineItem -
originalTotalDutiesSetfield was added to object typeOrder -
currentTotalDutiesSetfield was added to object typeOrder -
refundDutiesfield was added to input object typeRefundInputNew types
-
Dutywas added -
RefundDutyRefundTypeenum was added -
RefundDutyInputwas added -
RefundDutywas addedUpdated mutations
refundDutiesoptional argument was added to refundCreate.
Anchor to Retrieve filename of videos and 3D models ,[object Object]Retrieve filename of videos and 3D models
The Video and Model3d object types now return the filename field.
New fields
Anchor to Updates to delivery profiles,[object Object]Updates to delivery profiles
The following changes have been made to delivery profiles:
Updated fields
-
DeliveryMethodDefinitionTypeargument was added to fieldDeliveryLocationGroupZone.methodDefinitionsNew fields
-
methodDefinitionCountsfield was added to object type DeliveryLocationGroupZoneNew types
-
DeliveryMethodDefinitionTypewas added -
DeliveryMethodDefinitionCountswas added
Anchor to Query fulfillment service provider,[object Object]Query fulfillment service provider
You can now query a fulfillment service by ID.
New fields
fulfillmentServicewas added toQueryRoot
Anchor to Storefront API changesStorefront API changes
Below are all the changes introduced in the 2020-04 version of the Storefront API.
Anchor to New error code for customerNew error code for customer
Anchor to BreakingBreaking
A new error code that's returned when a customer provides an invalid email domain during checkout.
Updated types
BAD_DOMAINvalue was added to enumCustomerErrorCode
Anchor to Additional fields and types added for enhanced visibility into ordersAdditional fields and types added for enhanced visibility into orders
You can now query order editing information using the Storefront API and have better visibility into order state.
New types
-
OrderCancelReasonwas added -
OrderFulfillmentStatuswas added -
OrderFinancialStatuswas addedNew fields
-
discountedTotalPricewas added to object type OrderLineItem -
currentQuantitywas added to object type OrderLineItem -
originalTotalPricewas added to object type OrderLineItem -
originalTotalPricewas added to object type Order -
fulfillmentStatuswas added to object type Order -
financialStatuswas added to object type Order -
editedwas added to object type Order -
currentTotalTaxwas added to object type Order -
currentTotalPricewas added to object type Order -
currentSubtotalPricewas added to object type Order -
canceledAtwas added to object type Order -
cancelReasonwas added to object type Order
Anchor to Updates to metafields,[object Object]Updates to metafields
You can now return the updatedAt and createdAt dates for metafields.
New fields
updatedAtfield was added to object type MetafieldcreatedAtfield was added to object type Metafield
Anchor to Updates to tokenized payment checkout,[object Object]Updates to tokenized payment checkout
A new checkoutComplete mutation with updated token type requirements.
New mutations
-
checkoutCompleteWithTokenizedPaymentV3was addedNew types
-
PaymentTokenTypewas added -
TokenizedPaymentInputV3was added -
CheckoutCompleteWithTokenizedPaymentV3Payloadwas added
Anchor to Activate customer accounts by URL ,[object Object]Activate customer accounts by URL
You can now activate customer accounts using a generated URL.
New mutations
-
customerActivateByUrlwas added.New types
-
CustomerActivateByUrlPayloadwas added
Anchor to Create customer access tokens using multipass ,[object Object]Create customer access tokens using multipass
You can now create customer access tokens for the Storefront API using multipass.
Updated types
-
INVALID_MULTIPASS_REQUESTvalue was added to enumCustomerErrorCodeNew mutations
-
customerAccessTokenCreateWithMultipasswas addedNew types
-
CustomerAccessTokenCreateWithMultipassPayloadwas added
Anchor to Updates to product and product variants ,[object Object]Updates to product and product variants
You can now view additional inventory and stock information on products and product variants.
New fields
totalInventoryfield was added to object typeProductcompareAtPriceRangefield was added to object typeProductquantityAvailablefield was added to object typeProductVariantcurrentlyNotInStockfield was added to object typeProductVariant
Anchor to Query the unit price of checkout line items ,[object Object]Query the unit price of checkout line items
You can now query the unit price of checkout line items.
New fields
unitPricefield was added to object typeCheckoutLineItem
Anchor to Corresponding Buy SDK versionsCorresponding Buy SDK versions
| SDK | Supported Versions |
|---|---|
| Mobile Buy SDK Android | 5.0.0 |
| Mobile Buy SDK iOS | 4.0.0 |
| Unity Buy SDK | N/A |
| JS Buy SDK | 2.10.0 |
| Buy Button JS | 2.1.3 |