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


<table>
  <tr>
    <th>Release date</th>
    <th>Date version is no longer supported</th>
  </tr>
  <tr>
    <td>April 1, 2020</td>
    <td>July 1, 2021</td>
  </tr>
</table>

> Note:
> 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](https://help.shopify.com/en/manual/products/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](/docs/api/admin-graphql/latest/objects/lineitem) in GraphQL. Visit our doc on [testing with developer preview](/docs/api/developer-previews) to get started.

* Additional fields were added to the [Order](/docs/api/storefront/reference/orders/order) and [OrderLineItem](/docs/api/storefront/reference/orders/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](/docs/apps/build/online-store/product-media) will now expose the filename, which allows for easier identification of relevant resources.

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


### Price reductions removed

The `productBulkAddPriceReductions` and `productBulkRemovePriceReductions` GraphQL mutations have been removed as of 2020-04.

### New error codes for media objects

New values have been added to the [MediaErrorCode](/docs/api/admin-graphql/latest/enums/mediaerrorcode) type to better represent the different types of errors that can occur when creating media objects.

### New error codes for customers on Storefront API

More specific error codes have been added to the [CustomerErrorCode](/docs/api/storefront/reference/customers/customererrorcode) when a customer provides an invalid email domain during checkout. These errors were previously returned as generic invalid customer or token errors.

## REST Admin API changes

<div class="accordion-container">
  <div class="accordion-controls">
    <button class="accordion-control" data-accordion-control-type="expand-all" type="button">Expand all</button>
  </div>
  <div class="accordion-content-container">
    <div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Get localized country and province names with the Location resource</h3>
  </div>
  <div class="accordion-content">
    <p>The Location resource now returns the localized names for the location&#39;s country and province.</p>
<p><strong>New properties</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">localized_country_name</code> property was added to <a href="/docs/api/admin-rest/latest/resources/location">Location</a> resource</li>
<li><code class="text-highlight text-highlight--grey">localized_province_name</code> property was added to <a href="/docs/api/admin-rest/latest/resources/location">Location</a> resource</li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Manage duties and taxes on orders<span id="duties-taxes-order-rest"></span></h3>
  </div>
  <div class="accordion-content">
    <p>The Order, Refund, and AbandonedCheckout resources have been updated to help manage duties and taxes.</p>
<div class="heading-wrapper heading-wrapper-3"><h3 id="order-updates">Order updates</h3><a class="article-anchor-link" href="#order-updates"><span class="visuallyhidden">Anchor link to section titled "Order updates"</span></a></div>
<p><strong>New properties</strong></p>
<ul>
<li>Added <code class="text-highlight text-highlight--grey">current_total_duties_set</code> property to <a href="/docs/api/admin-rest/latest/resources/order">Order</a> resource.</li>
<li>Added <code class="text-highlight text-highlight--grey">original_total_duties_set</code> property to <a href="/docs/api/admin-rest/latest/resources/order">Order</a> resource.</li>
<li>Added list of <code class="text-highlight text-highlight--grey">duties</code> to <code class="text-highlight text-highlight--grey">line_items</code> object in <a href="/docs/api/admin-rest/latest/resources/order">Order</a> resource.</li>
</ul>
<p><strong>Updated properties</strong></p>
<ul>
<li>Updated <code class="text-highlight text-highlight--grey">total_price_set</code> property to include any duties that have been charged during checkout on an international order.</li>
</ul>
<div class="heading-wrapper heading-wrapper-3"><h3 id="refund-updates">Refund updates</h3><a class="article-anchor-link" href="#refund-updates"><span class="visuallyhidden">Anchor link to section titled "Refund updates"</span></a></div>
<p><strong>New properties</strong></p>
<ul>
<li>Added list of <code class="text-highlight text-highlight--grey">duties</code> to <a href="/docs/api/admin-rest/latest/resources/refund">Refund</a> resource.</li>
</ul>
<div class="heading-wrapper heading-wrapper-3"><h3 id="abandoned-checkout-updates">Abandoned checkout updates</h3><a class="article-anchor-link" href="#abandoned-checkout-updates"><span class="visuallyhidden">Anchor link to section titled "Abandoned checkout updates"</span></a></div>
<p><strong>New properties</strong></p>
<ul>
<li>Added <code class="text-highlight text-highlight--grey">total_duties</code> property to <a href="/docs/api/admin-rest/latest/resources/abandoned-checkouts">Abandoned checkout</a> resource.</li>
</ul>
<div class="heading-wrapper heading-wrapper-3"><h3 id="fulfillment-updates">Fulfillment updates</h3><a class="article-anchor-link" href="#fulfillment-updates"><span class="visuallyhidden">Anchor link to section titled "Fulfillment updates"</span></a></div>
<p><strong>New properties</strong></p>
<ul>
<li>Added list of <code class="text-highlight text-highlight--grey">duties</code> to <code class="text-highlight text-highlight--grey">line_items</code> object in <a href="/docs/api/admin-rest/latest/resources/fulfillment">Fulfillment</a> resource.</li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Update a fulfillment service's inventory management field<span id="fulfillmentservice-inventory-management]"></span></h3>
  </div>
  <div class="accordion-content">
    <p><strong>Updated properties</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">inventory_management</code> property on <a href="/docs/api/admin-rest/latest/resources/fulfillmentservice">FulfillmentService</a> resource can now be edited.</li>
</ul>
  </div>
</div>
  </div>
</div>


## GraphQL Admin API changes

Below are all the changes introduced in the 2020-04 version of the GraphQL Admin API.

<div class="accordion-container">
  <div class="accordion-controls">
    <button class="accordion-control" data-accordion-control-type="expand-all" type="button">Expand all</button>
  </div>
  <div class="accordion-content-container">
    <div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Remove bulk price reductions<span id="remove-bulk-price-reductions" class="heading-flag breaking"></span></h3>
  </div>
  <div class="accordion-content">
    <p>Bulk price reduction mutations and associated fields have been removed.</p>
<p><strong>Removed fields</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">productBulkRemovePriceReductions</code> was removed from object type <code class="text-highlight text-highlight--grey">Mutation</code></li>
<li><code class="text-highlight text-highlight--grey">productBulkAddPriceReductions</code> was removed from object type <code class="text-highlight text-highlight--grey">Mutation</code></li>
</ul>
<p><strong>Removed types</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">ProductBulkRemovePriceReductionsPayload</code> was removed</li>
<li><code class="text-highlight text-highlight--grey">PriceReductionInput</code> was removed</li>
<li><code class="text-highlight text-highlight--grey">ProductBulkAddPriceReductionsPayload</code> was removed</li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>New error codes for media objects <span id="add-media-error-codes" class="heading-flag breaking"></span></h3>
  </div>
  <div class="accordion-content">
    <p>New values have been added to the <a href="/docs/api/admin-graphql/latest/enums/mediaerrorcode">MediaErrorCode</a> type to better represent the different types of errors that can occur when creating media objects.</p>
<p><strong>Updated types</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">EXTERNAL_VIDEO_INVALID_ASPECT_RATIO</code> value was added to enum <a href="/docs/api/admin-graphql/latest/enums/mediaerrorcode">MediaErrorCode</a></li>
<li><code class="text-highlight text-highlight--grey">MODEL3D_VALIDATION_ERROR</code> value was added to enum <a href="/docs/api/admin-graphql/latest/enums/mediaerrorcode">MediaErrorCode</a></li>
<li><code class="text-highlight text-highlight--grey">MEDIA_TIMEOUT_ERROR</code> value was added to enum <a href="/docs/api/admin-graphql/latest/enums/mediaerrorcode">MediaErrorCode</a></li>
<li><code class="text-highlight text-highlight--grey">IMAGE_PROCESSING_FAILURE</code> value was added to enum <a href="/docs/api/admin-graphql/latest/enums/mediaerrorcode">MediaErrorCode</a></li>
<li><code class="text-highlight text-highlight--grey">IMAGE_DOWNLOAD_FAILURE</code> value was added to enum <a href="/docs/api/admin-graphql/latest/enums/mediaerrorcode">MediaErrorCode</a></li>
<li><code class="text-highlight text-highlight--grey">EXTERNAL_VIDEO_UNLISTED</code> value was added to enum <a href="/docs/api/admin-graphql/latest/enums/mediaerrorcode">MediaErrorCode</a></li>
<li><code class="text-highlight text-highlight--grey">EXTERNAL_VIDEO_NOT_FOUND</code> value was added to enum <a href="/docs/api/admin-graphql/latest/enums/mediaerrorcode">MediaErrorCode</a></li>
<li><code class="text-highlight text-highlight--grey">VIDEO_VALIDATION_ERROR</code> value was added to enum <a href="/docs/api/admin-graphql/latest/enums/mediaerrorcode">MediaErrorCode</a></li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Updates to metafields<span id="admin-metafields-updates"></span></h3>
  </div>
  <div class="accordion-content">
    <p>You can now return the <code class="text-highlight text-highlight--grey">updatedAt</code> and <code class="text-highlight text-highlight--grey">createdAt</code> dates for metafields and private metafields.</p>
<p><strong>New fields</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">updatedAt</code> field was added to object type <a href="/docs/api/admin-graphql/latest/objects/privatemetafield">PrivateMetafield</a></li>
<li><code class="text-highlight text-highlight--grey">createdAt</code> field was added to object type <a href="/docs/api/admin-graphql/latest/objects/privatemetafield">PrivateMetafield</a></li>
<li><code class="text-highlight text-highlight--grey">updatedAt</code> field was added to object type <a href="/docs/api/admin-graphql/latest/objects/metafield">Metafield</a></li>
<li><code class="text-highlight text-highlight--grey">createdAt</code> field was added to object type <a href="/docs/api/admin-graphql/latest/objects/metafield">Metafield</a></li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Generate account activation URL <span id="customer-account-activation-url"></span></h3>
  </div>
  <div class="accordion-content">
    <p>You can now generate an account activation URL that customers can use to activate their account.</p>
<p><strong>New mutations</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">customerGenerateAccountActivationUrl</code> was added.</li>
</ul>
<p><strong>New types</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">CustomerGenerateAccountActivationUrlPayload</code> was added</li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Manage duties and taxes on orders<span id="duties-taxes-order"></span></h3>
  </div>
  <div class="accordion-content">
    <p>You can now <a href="/docs/apps/build/orders-fulfillment/returns-apps/view-and-refund-duties">manage the taxes and duties</a> applied to orders that ship internationally.</p>
<p><strong>New fields</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">totalDutiesSet</code> field was added to object type <code class="text-highlight text-highlight--grey">SuggestedRefund</code></li>
<li><code class="text-highlight text-highlight--grey">refundDuties</code> field was added to object type <code class="text-highlight text-highlight--grey">SuggestedRefund</code></li>
<li><code class="text-highlight text-highlight--grey">refundDuties</code> optional argument was added to <code class="text-highlight text-highlight--grey">SuggestedRefund</code></li>
<li><code class="text-highlight text-highlight--grey">duties</code> field was added to object type <code class="text-highlight text-highlight--grey">Refund</code></li>
<li><code class="text-highlight text-highlight--grey">duties</code> field was added to object type <code class="text-highlight text-highlight--grey">LineItem</code></li>
<li><code class="text-highlight text-highlight--grey">originalTotalDutiesSet</code> field was added to object type <code class="text-highlight text-highlight--grey">Order</code></li>
<li><code class="text-highlight text-highlight--grey">currentTotalDutiesSet</code> field was added to object type <code class="text-highlight text-highlight--grey">Order</code></li>
<li><code class="text-highlight text-highlight--grey">refundDuties</code> field was added to input object type <code class="text-highlight text-highlight--grey">RefundInput</code></li>
</ul>
<p><strong>New types</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">Duty</code> was added</li>
<li><code class="text-highlight text-highlight--grey">RefundDutyRefundType</code> enum was added</li>
<li><code class="text-highlight text-highlight--grey">RefundDutyInput</code> was added</li>
<li><code class="text-highlight text-highlight--grey">RefundDuty</code> was added</li>
</ul>
<p><strong>Updated mutations</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">refundDuties</code> optional argument was added to <a href="/docs/api/admin-graphql/latest/mutations/refundcreate">refundCreate</a>.</li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Retrieve filename of videos and 3D models <span id="add-filename-3d-video"></span></h3>
  </div>
  <div class="accordion-content">
    <p>The <a href="/docs/api/admin-graphql/latest/objects/video">Video</a> and <a href="/docs/api/admin-graphql/latest/objects/model3d">Model3d</a> object types now return the filename field.</p>
<p><strong>New fields</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">filename</code> field was added to object type <a href="/docs/api/admin-graphql/latest/objects/model3d">Model3d</a></li>
<li><code class="text-highlight text-highlight--grey">filename</code> field was added to object type <a href="/docs/api/admin-graphql/latest/objects/video">Video</a></li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Updates to delivery profiles<span id="delivery-profile-updates"></span></h3>
  </div>
  <div class="accordion-content">
    <p>The following changes have been made to delivery profiles:</p>
<p><strong>Updated fields</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">DeliveryMethodDefinitionType</code> argument was added to field <code class="text-highlight text-highlight--grey">DeliveryLocationGroupZone.methodDefinitions</code></li>
</ul>
<p><strong>New fields</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">methodDefinitionCounts</code> field was added to object type <a href="/docs/api/admin-graphql/latest/objects/deliverylocationgroupzone">DeliveryLocationGroupZone</a></li>
</ul>
<p><strong>New types</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">DeliveryMethodDefinitionType</code> was added</li>
<li><code class="text-highlight text-highlight--grey">DeliveryMethodDefinitionCounts</code> was added</li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Query fulfillment service provider<span id="fulfillment-service-query"></span></h3>
  </div>
  <div class="accordion-content">
    <p>You can now query a fulfillment service by ID.</p>
<p><strong>New fields</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">fulfillmentService</code> was added to <code class="text-highlight text-highlight--grey">QueryRoot</code></li>
</ul>
  </div>
</div>
  </div>
</div>


## Storefront API changes

Below are all the changes introduced in the 2020-04 version of the Storefront API.

<div class="accordion-container">
  <div class="accordion-controls">
    <button class="accordion-control" data-accordion-control-type="expand-all" type="button">Expand all</button>
  </div>
  <div class="accordion-content-container">
    <div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>New error code for customer <span id="add-customer-error-code" class="heading-flag breaking"></span></h3>
  </div>
  <div class="accordion-content">
    <p>A new error code that&#39;s returned when a customer provides an invalid email domain during checkout.</p>
<p><strong>Updated types</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">BAD_DOMAIN</code> value was added to enum <code class="text-highlight text-highlight--grey">CustomerErrorCode</code></li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Additional fields and types added for enhanced visibility into orders</h3>
  </div>
  <div class="accordion-content">
    <p>You can now query order editing information using the Storefront API and have better visibility into order state.</p>
<p><strong>New types</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">OrderCancelReason</code> was added</li>
<li><code class="text-highlight text-highlight--grey">OrderFulfillmentStatus</code> was added</li>
<li><code class="text-highlight text-highlight--grey">OrderFinancialStatus</code> was added</li>
</ul>
<p><strong>New fields</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">discountedTotalPrice</code> was added to object type <a href="/docs/api/storefront/reference/orders/orderlineitem">OrderLineItem</a></li>
<li><code class="text-highlight text-highlight--grey">currentQuantity</code> was added to object type <a href="/docs/api/storefront/reference/orders/orderlineitem">OrderLineItem</a></li>
<li><code class="text-highlight text-highlight--grey">originalTotalPrice</code> was added to object type <a href="/docs/api/storefront/reference/orders/orderlineitem">OrderLineItem</a></li>
<li><code class="text-highlight text-highlight--grey">originalTotalPrice</code> was added to object type <a href="/docs/api/storefront/reference/orders/order">Order</a></li>
<li><code class="text-highlight text-highlight--grey">fulfillmentStatus</code> was added to object type <a href="/docs/api/storefront/reference/orders/order">Order</a></li>
<li><code class="text-highlight text-highlight--grey">financialStatus</code> was added to object type <a href="/docs/api/storefront/reference/orders/order">Order</a></li>
<li><code class="text-highlight text-highlight--grey">edited</code> was added to object type <a href="/docs/api/storefront/reference/orders/order">Order</a></li>
<li><code class="text-highlight text-highlight--grey">currentTotalTax</code> was added to object type <a href="/docs/api/storefront/reference/orders/order">Order</a></li>
<li><code class="text-highlight text-highlight--grey">currentTotalPrice</code> was added to object type <a href="/docs/api/storefront/reference/orders/order">Order</a></li>
<li><code class="text-highlight text-highlight--grey">currentSubtotalPrice</code> was added to object type <a href="/docs/api/storefront/reference/orders/order">Order</a></li>
<li><code class="text-highlight text-highlight--grey">canceledAt</code> was added to object type <a href="/docs/api/storefront/reference/orders/order">Order</a></li>
<li><code class="text-highlight text-highlight--grey">cancelReason</code> was added to object type <a href="/docs/api/storefront/reference/orders/order">Order</a></li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Updates to metafields<span id="storefront-metafields-updates"></span></h3>
  </div>
  <div class="accordion-content">
    <p>You can now return the <code class="text-highlight text-highlight--grey">updatedAt</code> and <code class="text-highlight text-highlight--grey">createdAt</code> dates for metafields.</p>
<p><strong>New fields</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">updatedAt</code> field was added to object type <a href="/docs/api/admin-graphql/latest/objects/metafield">Metafield</a></li>
<li><code class="text-highlight text-highlight--grey">createdAt</code> field was added to object type <a href="/docs/api/admin-graphql/latest/objects/metafield">Metafield</a></li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Updates to tokenized payment checkout<span id="tokenized-payment-checkout"></span></h3>
  </div>
  <div class="accordion-content">
    <p>A new checkoutComplete mutation with updated token type requirements.</p>
<p><strong>New mutations</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">checkoutCompleteWithTokenizedPaymentV3</code> was added</li>
</ul>
<p><strong>New types</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">PaymentTokenType</code> was added</li>
<li><code class="text-highlight text-highlight--grey">TokenizedPaymentInputV3</code> was added</li>
<li><code class="text-highlight text-highlight--grey">CheckoutCompleteWithTokenizedPaymentV3Payload</code> was added</li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Activate customer accounts by URL <span id="storefront-customer-account-activation-url"></span></h3>
  </div>
  <div class="accordion-content">
    <p>You can now <a href="/docs/storefronts/headless/building-with-the-storefront-api/customer-accounts#step-2-activate-a-customer">activate customer accounts</a> using a generated URL.</p>
<p><strong>New mutations</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">customerActivateByUrl</code> was added.</li>
</ul>
<p><strong>New types</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">CustomerActivateByUrlPayload</code> was added</li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Create customer access tokens using multipass <span id="multipass-access-tokens"></span></h3>
  </div>
  <div class="accordion-content">
    <p>You can now create customer access tokens for the Storefront API using multipass.</p>
<p><strong>Updated types</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">INVALID_MULTIPASS_REQUEST</code> value was added to enum <code class="text-highlight text-highlight--grey">CustomerErrorCode</code></li>
</ul>
<p><strong>New mutations</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">customerAccessTokenCreateWithMultipass</code> was added</li>
</ul>
<p><strong>New types</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">CustomerAccessTokenCreateWithMultipassPayload</code> was added</li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Updates to product and product variants <span id="product-variant-updates"></span></h3>
  </div>
  <div class="accordion-content">
    <p>You can now view additional inventory and stock information on products and product variants.</p>
<p><strong>New fields</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">totalInventory</code> field was added to object type <code class="text-highlight text-highlight--grey">Product</code></li>
<li><code class="text-highlight text-highlight--grey">compareAtPriceRange</code> field was added to object type <code class="text-highlight text-highlight--grey">Product</code></li>
<li><code class="text-highlight text-highlight--grey">quantityAvailable</code> field was added to object type <code class="text-highlight text-highlight--grey">ProductVariant</code></li>
<li><code class="text-highlight text-highlight--grey">currentlyNotInStock</code> field was added to object type <code class="text-highlight text-highlight--grey">ProductVariant</code></li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Query the unit price of checkout line items <span id="unit-price-line-items"></span></h3>
  </div>
  <div class="accordion-content">
    <p>You can now query the unit price of checkout line items.</p>
<p><strong>New fields</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">unitPrice</code> field was added to object type <code class="text-highlight text-highlight--grey">CheckoutLineItem</code></li>
</ul>
  </div>
</div>
  </div>
</div>


### Corresponding Buy SDK versions

<table>
  <tr>
    <th>SDK</th>
    <th>Supported Versions</th>
  </tr>
  <tr>
    <td>Mobile Buy SDK Android</td>
    <td>5.0.0</td>
  </tr>
  <tr>
    <td>Mobile Buy SDK iOS</td>
    <td>4.0.0</td>
  </tr>
  <tr>
    <td>Unity Buy SDK</td>
    <td>N/A</td>
  </tr>
  <tr>
    <td>JS Buy SDK</td>
    <td>2.10.0</td>
  </tr>
  <tr>
    <td>Buy Button JS</td>
    <td>2.1.3</td>
  </tr>
</table>