<table>
  <tr>
    <th>Release date</th>
    <th>Date version is no longer supported</th>
  </tr>
  <tr>
    <td>January 1, 2021</td>
    <td>January 1, 2022</td>
  </tr>
</table>

The 2021-01 release contains native support for subscriptions through our new [Subscription APIs](/docs/apps/build/purchase-options/subscriptions).

This release also includes support for scheduled fulfillments to facilitate prepaid subscriptions, automatic activation of app charges, and more granular financial information on orders and transactions, such as fees and tip totals.

**What’s new in 2021-01**

The following features were added in version 2021-01 of Shopify's APIs:

- We've included several new endpoints and resources to help you manage subscriptions on behalf of merchants. You can use [selling plans](/docs/api/admin-graphql/latest/objects/sellingplan) to set delivery, billing, and pricing policies for groups of products. When a customer places an order that includes a product with a selling plan, you can manage [subscription contracts](/docs/api/admin-graphql/latest/queries/subscriptioncontract) to support recurring payments on the [customer payment methods](/docs/api/admin-graphql/latest/objects/customerpaymentmethod) that are available.
- We've released a [product subscription app extension](/docs/apps/build/purchase-options/product-subscription-app-extensions/start-building) that allows you to manage subscriptions directly inside the Shopify admin.
- Fulfillment orders now support the `SCHEDULED` status, which displays for any orders that include a prepaid subscription. To learn more about how fulfillments and subscriptions work together, refer to the [Create and manage fulfillments for prepaid subscriptions](/docs/apps/build/purchase-options/subscriptions/fulfillments).
- Accepted application charges now automatically transition into an `active` state. To learn more about creating and issuing charges, refer to [Charging for your app with the REST Admin API](/docs/apps/launch/billing).
- The new [`TransactionFee`](/docs/api/admin-graphql/latest/objects/transactionfee) object includes more detailed information about fees collected as a part of Shopify Payments payouts, including the flat rate charges, percentage charges, and a breakdown of the tax charged on these fees.
- The [GraphQL Admin API](/docs/api/admin-graphql/latest/objects/order) now includes tips received as a part of an order in both shop and presentment currencies using the `totalTipReceivedSet` field on the `Order` object. This increased granularity helps accounting apps report accurately on fees and tips for order transactions.

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


### Status field in REST FulfillmentOrder resource

As of the 2021-01 API version, we've added a new **scheduled** value to the `status` field in the `FulfillmentOrder` resource.

For more information, refer to [Managing prepaid subscription orders](#prepaid-subscriptions-rest).

### Auto-activate billing charges using the REST Admin API

We've removed the `accepted` value for the `status` field and the `activate` endpoint on the [ApplicationCharge](/docs/api/admin-rest/latest/resources/applicationcharge?api%5Bversion%5D=2021-01#activate-2021-01) and [RecurringApplicationCharge](/docs/api/admin-rest/latest/resources/recurringapplicationcharge?api%5Bversion%5D=2021-01#activate-2021-01) resources.

As of the 2021-01 API version, when a merchant accepts a charge, the charge immediately transitions from `pending` to `active`. This means that you no longer need to activate the charge to finalize it.

### Cursor-based pagination

The [`/admin/api/{version}/users.json`](/docs/api/admin-rest/latest/resources/user?api%5Bversion%5D=2021-01#index-2021-01) endpoint now supports [cursor-based pagination](/docs/api/usage/pagination-rest).

> Note:
> For operations that need to fetch large amounts of data, use the GraphQL Admin API to [perform bulk operations](/docs/api/usage/bulk-operations/queries) rather than paginating through resources.

## GraphQL Admin API changes

Below are all the changes currently introduced in the 2021-01 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>Subscription APIs<span id="subscription-apis"></span></h3>
  </div>
  <div class="accordion-content">
    <p>We&#39;ve added the new subscription APIs to enable you to build support for subscriptions into the cart and product pages on the storefront.</p>
<p>You can use subscription APIs to sell goods and services in multiple ways. For example, you can sell a product as a one-time purchase or as a recurring subscription.</p>
<p><strong>Subscription APIs</strong></p>
<ul>
<li><p><strong><a href="/docs/api/admin-graphql/latest/objects/sellingplan">Selling plan APIs</a></strong>: An alternative way to sell a product or variant, other than &quot;buy now&quot;.</p></li>
<li><p><strong><a href="/docs/api/admin-graphql/latest/queries/subscriptioncontract">Subscription contract APIs</a></strong>: The subscription agreements between a customer and merchant.</p></li>
<li><p><strong><a href="/docs/api/admin-graphql/latest/objects/customerpaymentmethod">Customer payment method APIs</a></strong>: Stored payment methods that can be used to pay for future orders without requiring the customer to manually go through checkout.</p></li>
</ul>
<p>For more information about subscription APIs, refer to <a href="/docs/apps/build/purchase-options/subscriptions">Shopify subscriptions overview</a>.</p>
<p><strong>New mutations</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">CustomerPaymentMethodCreditCardCreate</code> was added</li>
<li><code class="text-highlight text-highlight--grey">CustomerPaymentMethodSendUpdateEmail</code> was added</li>
<li><code class="text-highlight text-highlight--grey">CustomerPaymentMethodCreditCardUpdate</code> was added</li>
<li><code class="text-highlight text-highlight--grey">CustomerPaymentMethodRemoteCreditCardCreate</code> was added</li>
<li><code class="text-highlight text-highlight--grey">CustomerPaymentMethodRevoke</code> was added</li>
<li><code class="text-highlight text-highlight--grey">ProductJoinSellingPlanGroups</code> was added</li>
<li><code class="text-highlight text-highlight--grey">ProductLeaveSellingPlanGroups</code> was added</li>
<li><code class="text-highlight text-highlight--grey">ProductVariantJoinSellingPlanGroups</code> was added</li>
<li><code class="text-highlight text-highlight--grey">ProductVariantLeaveSellingPlanGroups</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanGroupAddProductVariants</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanGroupAddProducts</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanGroupCreate</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanGroupDelete</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanGroupRemoveProductVariants</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanGroupRemoveProducts</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanGroupUpdate</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionBillingAttemptCreate</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionContractCreate</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionContractSetNextBillingDate</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionContractUpdate</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDraftCommit</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDraftDiscountAdd</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDraftDiscountCodeApply</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDraftDiscountRemove</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDraftDiscountUpdate</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDraftFreeShippingDiscountAdd</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDraftFreeShippingDiscountUpdate</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDraftLineAdd</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDraftLineRemove</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDraftLineUpdate</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDraftUpdate</code> was added</li>
</ul>
<p><strong>New types</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">CustomerCreditCard</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">CustomerPaymentMethod</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">CustomerPaymentInstrument</code> union type was added</li>
<li><code class="text-highlight text-highlight--grey">DiscountTargetType</code> enum was added</li>
<li><code class="text-highlight text-highlight--grey">DiscountType</code> enum was added</li>
<li><code class="text-highlight text-highlight--grey">Failure</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">LastPaymentStatus</code> enum was added</li>
<li><code class="text-highlight text-highlight--grey">LineItemSellingPlan</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlan</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanAnchorInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanAnchor</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanBillingPolicyInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanBillingPolicy</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanDeliveryPolicyInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanDeliveryPolicy</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanFixedPricingPolicyInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanFixedPricingPolicy</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanGroupInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanGroupResourceInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanGroup</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanOption</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanPricingPolicyAdjustmentType</code> enum was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanPricingPolicyAdjustmentValue</code> union type was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanPricingPolicyBase</code> interface type was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanPricingPolicyInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanPricingPolicyPercentageValue</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanPricingPolicyValueInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanPricingPolicy</code> union type was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanRecurringBillingPolicyInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanRecurringBillingPolicy</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanRecurringDeliveryPolicyInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanRecurringDeliveryPolicy</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanRecurringPricingPolicyInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanRecurringPricingPolicy</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionAppliedCodeDiscount</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionBillingAttemptInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionBillingAttempt</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionBillingPolicyInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionBillingPolicy</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionContractCreateInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionContract</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionStatus</code> enum was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionCyclePriceAdjustment</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDeliveryMethodInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDeliveryMethodShippingInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDeliveryMethodShippingOptionInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDeliveryMethodShippingOption</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDeliveryMethodShipping</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDeliveryPolicyInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDeliveryPolicy</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDiscountAllocation</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDiscountEntitledLines</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDiscountFixedAmountValue</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDiscountPercentageValue</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDiscountRejectionReason</code> enum was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDiscountValue</code> union type was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDiscount</code> union type was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDraftInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDraft</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionFreeShippingDiscountInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionLineInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionLineUpdateInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionLine</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionMailingAddress</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionManualDiscountEntitledLinesInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionManualDiscountFixedAmountInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionManualDiscountInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionManualDiscountLinesInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionManualDiscountValueInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionManualDiscount</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionPricingPolicy</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionShippingOption</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionShippingOptionResult</code> union type was added</li>
</ul>
<p><strong>New fields</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">appliesOnOneTimePurchase</code> was added to object <code class="text-highlight text-highlight--grey">DiscountCodeFreeShipping</code></li>
<li><code class="text-highlight text-highlight--grey">appliesOnOneTimePurchase</code> was added to input object <code class="text-highlight text-highlight--grey">DiscountCodeFreeShippingInput</code></li>
<li><code class="text-highlight text-highlight--grey">appliesOnOneTimePurchase</code> was added to input object <code class="text-highlight text-highlight--grey">DiscountCustomerGetsInput</code></li>
<li><code class="text-highlight text-highlight--grey">appliesOnOneTimePurchase</code> was added to object <code class="text-highlight text-highlight--grey">DiscountCustomerGets</code></li>
<li><code class="text-highlight text-highlight--grey">appliesOnSubscription</code> was added to input object <code class="text-highlight text-highlight--grey">DiscountCodeFreeShippingInput</code></li>
<li><code class="text-highlight text-highlight--grey">appliesOnSubscription</code> was added to object <code class="text-highlight text-highlight--grey">DiscountCodeFreeShipping</code></li>
<li><code class="text-highlight text-highlight--grey">appliesOnSubscription</code> was added to input object <code class="text-highlight text-highlight--grey">DiscountCustomerGetsInput</code></li>
<li><code class="text-highlight text-highlight--grey">appliesOnSubscription</code> was added to object <code class="text-highlight text-highlight--grey">DiscountCustomerGets</code></li>
<li><code class="text-highlight text-highlight--grey">contract</code> was added to object <code class="text-highlight text-highlight--grey">LineItem</code></li>
<li><code class="text-highlight text-highlight--grey">customerPaymentMethod</code> was added to object <code class="text-highlight text-highlight--grey">QueryRoot</code></li>
<li><code class="text-highlight text-highlight--grey">customerPaymentMethod</code> was added to object <code class="text-highlight text-highlight--grey">OrderPaymentCollectionDetails</code></li>
<li><code class="text-highlight text-highlight--grey">eligibleForSubscriptionMigration</code> was added to object <code class="text-highlight text-highlight--grey">ShopFeatures</code></li>
<li><code class="text-highlight text-highlight--grey">eligibleForSubscriptions</code> was added to object <code class="text-highlight text-highlight--grey">ShopFeatures</code></li>
<li><code class="text-highlight text-highlight--grey">legacySubscriptionGatewayEnabled</code> was added to object <code class="text-highlight text-highlight--grey">ShopFeatures</code></li>
<li><code class="text-highlight text-highlight--grey">message</code> was added to union type <code class="text-highlight text-highlight--grey">SubscriptionShippingOptionResult</code></li>
<li><code class="text-highlight text-highlight--grey">paymentMethods</code> was added to object <code class="text-highlight text-highlight--grey">Customer</code></li>
<li><code class="text-highlight text-highlight--grey">productSubscriberStatus</code> was added to object <code class="text-highlight text-highlight--grey">Customer</code></li>
<li><code class="text-highlight text-highlight--grey">recurringCycleLimit</code> was added to input object <code class="text-highlight text-highlight--grey">DiscountCodeBasicInput</code></li>
<li><code class="text-highlight text-highlight--grey">recurringCycleLimit</code> was added to object <code class="text-highlight text-highlight--grey">DiscountCodeBasic</code></li>
<li><code class="text-highlight text-highlight--grey">recurringCycleLimit</code> was added to input object <code class="text-highlight text-highlight--grey">DiscountCodeFreeShippingInput</code></li>
<li><code class="text-highlight text-highlight--grey">recurringCycleLimit</code> was added to object <code class="text-highlight text-highlight--grey">DiscountCodeFreeShipping</code></li>
<li><code class="text-highlight text-highlight--grey">requiresSellingPlan</code> was added to input object <code class="text-highlight text-highlight--grey">ProductInput</code></li>
<li><code class="text-highlight text-highlight--grey">requiresSellingPlan</code> was added to object <code class="text-highlight text-highlight--grey">Product</code></li>
<li><code class="text-highlight text-highlight--grey">sellingPlan</code> was added to object <code class="text-highlight text-highlight--grey">LineItem</code></li>
<li><code class="text-highlight text-highlight--grey">sellingPlanGroupsToAssociate</code> was added to input object <code class="text-highlight text-highlight--grey">ProfileInput</code></li>
<li><code class="text-highlight text-highlight--grey">sellingPlanGroupsToDissociate</code> was added to input object <code class="text-highlight text-highlight--grey">ProfileInput</code></li>
<li><code class="text-highlight text-highlight--grey">sellingPlanGroupCount</code> was added to object <code class="text-highlight text-highlight--grey">ProductVariant</code></li>
<li><code class="text-highlight text-highlight--grey">sellingPlanGroup</code> was added to object <code class="text-highlight text-highlight--grey">QueryRoot</code></li>
<li><code class="text-highlight text-highlight--grey">shippingOptions</code> was added to object <code class="text-highlight text-highlight--grey">SubscriptionDraft</code></li>
<li><code class="text-highlight text-highlight--grey">subscriptionContract</code> was added to object <code class="text-highlight text-highlight--grey">QueryRoot</code></li>
<li><code class="text-highlight text-highlight--grey">subscriptionDraft</code> was added to object <code class="text-highlight text-highlight--grey">QueryRoot</code></li>
</ul>
<p><strong>New connection</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">sellingPlanGroups</code> was added to object <code class="text-highlight text-highlight--grey">Profile</code></li>
<li><code class="text-highlight text-highlight--grey">sellingPlanGroups</code> was added to object <code class="text-highlight text-highlight--grey">QueryRoot</code></li>
<li><code class="text-highlight text-highlight--grey">subscriptionContracts</code> was added to object <code class="text-highlight text-highlight--grey">CustomerPaymentMethod</code></li>
<li><code class="text-highlight text-highlight--grey">subscriptionContracts</code> was added to object <code class="text-highlight text-highlight--grey">Customer</code></li>
<li><code class="text-highlight text-highlight--grey">subscriptionContracts</code> was added to object <code class="text-highlight text-highlight--grey">QueryRoot</code></li>
</ul>
<p><strong>New error codes</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">BillingAttemptUserError</code> was added</li>
<li><code class="text-highlight text-highlight--grey">CustomerPaymentMethodUserError</code> was added</li>
<li><code class="text-highlight text-highlight--grey">APPLIES_ON_NOTHING</code> was added to <code class="text-highlight text-highlight--grey">PriceRuleErrorCode</code></li>
<li><code class="text-highlight text-highlight--grey">MULTIPLE_RECURRING_CYCLE_LIMIT_FOR_NON_SUBSCRIPTION_ITEMS</code> was added to <code class="text-highlight text-highlight--grey">PriceRuleErrorCode</code></li>
<li><code class="text-highlight text-highlight--grey">SellingPlanGroupUserError</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SellingPlanUserError</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionContractUserError</code> was added</li>
<li><code class="text-highlight text-highlight--grey">SubscriptionDraftUserError</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>Managing prepaid subscription orders<span id="prepaid-subscriptions-admin"></span></h3>
  </div>
  <div class="accordion-content">
    <p>As of API version 2021-01, we&#39;ve added support for managing prepaid subscription orders. You can now create an order with multiple billing or payment schedules along with multiple fulfillment orders.</p>
<ul>
<li>To learn how to manage orders for prepaid subscriptions, refer to <a href="/docs/apps/build/purchase-options/subscriptions/fulfillments/sync-orders-subscriptions">Manage orders for prepaid subscriptions</a>.</li>
<li>For information on managing fulfillments for prepaid subscriptions, refer to <a href="/docs/apps/build/purchase-options/subscriptions/fulfillments">Create and manage fulfillments for prepaid subscriptions</a>.</li>
<li>If you need to manage advanced fulfillment scenarios for subscriptions, then refer to <a href="/docs/apps/build/purchase-options/subscriptions/fulfillments#advanced-fulfillment-scenarios">Handling advanced scenarios for subscription-based fulfillment orders</a>.</li>
</ul>
<p><strong>New mutations</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">FulfillmentOrderOpen</code> was added</li>
<li><code class="text-highlight text-highlight--grey">FulfillmentOrderReschedule</code> was added</li>
</ul>
<p><strong>New and updated types</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">mark_as_open</code> value was added to enum <code class="text-highlight text-highlight--grey">FulfillmentOrderAction</code></li>
<li><code class="text-highlight text-highlight--grey">scheduled</code> value was added to enum <code class="text-highlight text-highlight--grey">FulfillmentStatus</code></li>
<li><code class="text-highlight text-highlight--grey">scheduled</code> value was added to enum <code class="text-highlight text-highlight--grey">FulfillmentOrderStatus</code></li>
<li><code class="text-highlight text-highlight--grey">scheduled</code> value was added to enum <code class="text-highlight text-highlight--grey">OrderDisplayFulfillmentStatus</code></li>
</ul>
<p><strong>New field</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">fulfillAt</code> was added to object <code class="text-highlight text-highlight--grey">FulfillmentOrder</code></li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Subscription-related webhooks<span id="subscription-related-webhooks"></span></h3>
  </div>
  <div class="accordion-content">
    <p>You can now subscribe to subscription contracts, billing attempts, and customer payment methods <a href="/docs/api/admin-graphql/latest/queries/webhooksubscription">event webhooks</a>.</p>
<p>For detailed information about required scopes and payloads, refer to <a href="/docs/apps/build/purchase-options/subscriptions/contracts#subscription-related-webhooks">Subscription-related webhooks</a>.</p>
<p><strong>New topics</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">SUBSCRIPTION_CONTRACTS/CREATE</code> value was added to enum <code class="text-highlight text-highlight--grey">WebhookSubscriptionTopic</code></li>
<li><code class="text-highlight text-highlight--grey">SUBSCRIPTION_CONTRACTS/UPDATE</code> value was added to enum <code class="text-highlight text-highlight--grey">WebhookSubscriptionTopic</code></li>
<li><code class="text-highlight text-highlight--grey">SUBSCRIPTION_BILLING_ATTEMPTS/SUCCESS</code> value was added to enum <code class="text-highlight text-highlight--grey">WebhookSubscriptionTopic</code></li>
<li><code class="text-highlight text-highlight--grey">SUBSCRIPTION_BILLING_ATTEMPTS/FAILURE</code> value was added to enum <code class="text-highlight text-highlight--grey">WebhookSubscriptionTopic</code></li>
<li><code class="text-highlight text-highlight--grey">CUSTOMER_PAYMENT_METHODS/CREATE</code> value was added to enum <code class="text-highlight text-highlight--grey">WebhookSubscriptionTopic</code></li>
<li><code class="text-highlight text-highlight--grey">CUSTOMER_PAYMENT_METHODS/UPDATE</code> value was added to enum <code class="text-highlight text-highlight--grey">WebhookSubscriptionTopic</code></li>
<li><code class="text-highlight text-highlight--grey">CUSTOMER_PAYMENT_METHODS/REVOKE</code> value was added to enum <code class="text-highlight text-highlight--grey">WebhookSubscriptionTopic</code></li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Extended authorizations <span id="extended-authorizations-graphql"></span></h3>
  </div>
  <div class="accordion-content">
    <p>As of API version 2021-01, you can query the <a href="/docs/api/admin-graphql/latest/objects/ordertransaction">GraphQL Admin API</a> to access information about extended authorization periods.</p>
<aside class="note plus">
  <h4>Shopify Plus</h4>
  <p>
Extended authorization periods are available only to stores on the <a rel="external noreferrer noopener" target="_blank" href="https://www.shopify.com/plus?shpxid=72e62d60-101E-4719-442C-5B4B3876EBD9">Shopify Plus</a> plan that use Shopify Payments. To learn more about extended authorization periods, refer to <a rel="external noreferrer noopener" target="_blank" href="https://help.shopify.com/en/manual/payments/payment-authorization">Payment authorization</a>.</p>
</aside>
<p><strong>New types</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">ShopifyPaymentsExtendedAuthorization</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">ShopifyPaymentsTransactionSet</code> object was added</li>
</ul>
<p><strong>New fields</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">authorizationExpiresAt</code> field was added to object <code class="text-highlight text-highlight--grey">OrderTransaction</code></li>
<li><code class="text-highlight text-highlight--grey">shopifyPaymentsSet</code> field was added to object <code class="text-highlight text-highlight--grey">OrderTransaction</code></li>
<li><code class="text-highlight text-highlight--grey">standardAuthorizationExpiresAt</code> field was added to object <code class="text-highlight text-highlight--grey">ShopifyPaymentsExtendedAuthorization</code></li>
<li><code class="text-highlight text-highlight--grey">extendedAuthorizationExpiresAt</code> field was added to object <code class="text-highlight text-highlight--grey">ShopifyPaymentsExtendedAuthorization</code></li>
<li><code class="text-highlight text-highlight--grey">extendedAuthorizationSet</code> field was added to object <code class="text-highlight text-highlight--grey">ShopifyPaymentsTransactionSet</code></li>
</ul>
<p><strong>New value</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">EXPIRED</code> value was added to enum <code class="text-highlight text-highlight--grey">OrderDisplayFinancialStatus</code></li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Transaction fees<span id="transaction-fees"></span></h3>
  </div>
  <div class="accordion-content">
    <p>As of API version 2021-01, you can query the <a href="/docs/api/admin-graphql/latest/objects/ordertransaction">GraphQL Admin API</a> to access the details of transaction fees charged on Shopify Payments transactions.</p>
<p>For example, you can now reconcile transaction fee amounts with external accounting systems. You can also better understand the following:</p>
<ul>
<li>How fees are calculated and subtracted from payouts</li>
<li>How a particular transaction fee rate is used</li>
<li>How transaction fees were charged in a historical context</li>
</ul>
<p><strong>New type</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">TransactionFee</code> object was added</li>
</ul>
<p><strong>New fields</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">fees</code> field was added to object <code class="text-highlight text-highlight--grey">OrderTransaction</code></li>
<li><code class="text-highlight text-highlight--grey">settlementCurrency</code> field was added to object <code class="text-highlight text-highlight--grey">OrderTransaction</code></li>
<li><code class="text-highlight text-highlight--grey">settlementCurrencyRate</code> field was added to object <code class="text-highlight text-highlight--grey">OrderTransaction</code></li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>APIs for payments provider apps <span id="apis-for-payments-provider-apps"></span></h3>
  </div>
  <div class="accordion-content">
    <p>As of the 2021-01 API version, you can query the <a href="/docs/api/payments-apps/latest/objects/PaymentSession">GraphQL Admin API</a> for details about a payment processing session and the configuration of a payments provider app.</p>
<p><strong>New types</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">PaymentSession</code> object was added</li>
<li><code class="text-highlight text-highlight--grey">PaymentsAppConfiguration</code> object was added</li>
</ul>
<p><strong>New mutations</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">paymentSessionReject</code> was added</li>
<li><code class="text-highlight text-highlight--grey">paymentSessionResolve</code> was added</li>
<li><code class="text-highlight text-highlight--grey">paymentsAppConfigure</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>Fulfillments picked up by customers <span id="fufillments-picked-up-by-customers"></span></h3>
  </div>
  <div class="accordion-content">
    <p>As of API version 2021-01, you can query the <a href="/docs/api/admin-graphql/latest/objects/fulfillmentdisplaystatus">GraphQL Admin API</a> to determine which fulfillments have been picked up by customers.</p>
<p><strong>New types</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">PICKED_UP</code> value was added to enum <code class="text-highlight text-highlight--grey">FulfillmentDisplayStatus</code></li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Tips on orders <span id="tips-on-orders"></span></h3>
  </div>
  <div class="accordion-content">
    <p>As of API version 2021-01, you can query the <a href="/docs/api/admin-graphql/latest/objects/order">GraphQL Admin API</a> to determine the total tip received for an order in shop and presentment currencies.</p>
<p><strong>New field</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">totalTipReceivedSet</code> field was added to object <code class="text-highlight text-highlight--grey">Order</code></li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Image dimensions <span id="image-dimensions-admin"></span></h3>
  </div>
  <div class="accordion-content">
    <p>As of API version 2021-01, you can query the <a href="/docs/api/admin-graphql/latest/objects/image">GraphQL Admin API</a> to determine the width and height (in pixels) of images hosted by Shopify.</p>
<p><strong>New fields</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">width</code> field was added to object <code class="text-highlight text-highlight--grey">Image</code></li>
<li><code class="text-highlight text-highlight--grey">height</code> field was added to object <code class="text-highlight text-highlight--grey">Image</code></li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Localization extensions<span id="localization-extensions"></span></h3>
  </div>
  <div class="accordion-content">
    <p>As of API version 2021-01, you can add localization extensions when you create a new order.</p>
<p><strong>New fields</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">localizationExtensions</code> field was added to object <code class="text-highlight text-highlight--grey">DraftOrderInput</code></li>
<li><code class="text-highlight text-highlight--grey">localizationExtensions</code> field was added to object <code class="text-highlight text-highlight--grey">OrderInput</code></li>
<li><code class="text-highlight text-highlight--grey">key</code> field was added to object <code class="text-highlight text-highlight--grey">LocalizationExtension</code></li>
</ul>
<p><strong>New connection</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">localizationExtensions</code> connection was added to object <code class="text-highlight text-highlight--grey">DraftOrder</code></li>
</ul>
<p><strong>New types</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">HasLocalizationExtensionsForDraftOrders</code> was added</li>
<li><code class="text-highlight text-highlight--grey">LocalizationExtensionInput</code> input object was added</li>
<li><code class="text-highlight text-highlight--grey">LocalizationExtensionKey</code> enum 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>Translated Country and Province names<span id="translated-region-country"></span></h3>
  </div>
  <div class="accordion-content">
    <p>As of API version 2021-01, you can query the translated names of <a href="/docs/api/admin-graphql/latest/objects/deliverycountry">DeliveryCountry</a> and <a href="/docs/api/admin-graphql/latest/objects/deliveryprovince">DeliveryProvince</a>. The translated name is  based on the user locale.</p>
<p><strong>New fields</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">translatedName</code> field was added to object <code class="text-highlight text-highlight--grey">DeliveryCountry</code></li>
<li><code class="text-highlight text-highlight--grey">translatedName</code> field was added to object <code class="text-highlight text-highlight--grey">DeliveryProvince</code></li>
</ul>
  </div>
</div>
  </div>
</div>


## GraphQL Storefront API changes

Below are all the changes currently introduced in the 2021-01 version of the GraphQL 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>Managing prepaid subscription orders <span id="prepaid-subscriptions-storefront"></span></h3>
  </div>
  <div class="accordion-content">
    <p>As of API version 2021-01, we&#39;ve added support for managing prepaid subscription orders. You can now create an order with multiple billing or payment schedules along with multiple fulfillment orders.</p>
<p><strong>Updated type</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">scheduled</code> value was added to enum <code class="text-highlight text-highlight--grey">OrderFulfillmentStatus</code></li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Image dimensions <span id="image-dimensions-storefront"></span></h3>
  </div>
  <div class="accordion-content">
    <p>As of API version 2021-01, you can query the <a href="/docs/api/storefront/latest/objects/image">Storefront API</a> to determine the width and height (in pixels) of images hosted by Shopify.</p>
<p><strong>New fields</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">width</code> field was added to object <code class="text-highlight text-highlight--grey">Image</code></li>
<li><code class="text-highlight text-highlight--grey">height</code> field was added to object <code class="text-highlight text-highlight--grey">Image</code></li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Sort order for product media <span id="sort-order-for-product-media"></span></h3>
  </div>
  <div class="accordion-content">
    <p>As of API version 2021-01, you can <a href="/docs/api/storefront/latest/objects/product">sort product media by a given key</a>. The default sort order is by <code class="text-highlight text-highlight--grey">POSITION</code>. In previous API versions, product media was sorted by the <code class="text-highlight text-highlight--grey">CREATED_AT</code> value by default.</p>
<p><strong>New argument</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">sortKey</code> was added to connection <code class="text-highlight text-highlight--grey">media</code> in object <code class="text-highlight text-highlight--grey">Product</code></li>
</ul>
  </div>
</div>
  </div>
</div>


## REST Admin API changes

Below are all the changes currently introduced in the 2021-01 version of the REST 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>Cursor-based pagination <span id="cursor-based-pagination" class="heading-flag breaking"></span></h3>
  </div>
  <div class="accordion-content">
    <p>As of API version 2021-01, the <a href="/docs/api/admin-rest/latest/resources/user?api%5Bversion%5D=2021-01#index-2021-01"><code class="text-highlight text-highlight--grey">/admin/api/{version}/users.json</code></a> endpoint supports <a href="/docs/api/usage/pagination-rest">cursor-based pagination</a>.</p>
<p>Use the <code class="text-highlight text-highlight--grey">/admin/api/{version}/users.json</code> endpoint to request paginated user data from the REST Admin API and access each page of results.</p>
<p><strong>Updated endpoint</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">admin/api/{version}/users.json</code> was updated to support cursor-based pagination</li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Managing prepaid subscription orders <span id="prepaid-subscriptions-rest" class="heading-flag breaking"></span></h3>
  </div>
  <div class="accordion-content">
    <p>As of API version 2021-01, we&#39;ve added support for managing prepaid subscription orders. You can now create an order with multiple billing or payment schedules along with multiple fulfillment orders.</p>
<p><strong>New endpoints</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">/admin/api/2021-01/fulfillment_orders/{fulfillment_order_id}/open.json</code>: Marks a fulfillment order as <strong>open</strong>.</li>
<li><code class="text-highlight text-highlight--grey">/admin/api/2021-01/fulfillment_orders/{fulfillment_order_id}/reschedule.json</code>: Reschedules the <strong>fulfill_at</strong> time of a scheduled fulfillment order.</li>
</ul>
<p><strong>New and updated fields</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">fulfill_at</code> field was added to resource <code class="text-highlight text-highlight--grey">FulfillmentOrder</code></li>
<li><strong>scheduled</strong> value was added to <code class="text-highlight text-highlight--grey">status</code> field in resource <code class="text-highlight text-highlight--grey">FulfillmentOrder</code>
<ul>
<li>Valid values for <code class="text-highlight text-highlight--grey">status</code>: <strong>open</strong>, <strong>in_progress</strong>, <strong>scheduled</strong>,  <strong>cancelled</strong>, <strong>incomplete</strong>, <strong>closed</strong></li>
</ul></li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Auto-activate billing charges <span id="auto-activate-billing-charges" class="heading-flag breaking"></span></h3>
  </div>
  <div class="accordion-content">
    <p>To simplify and streamline billing for your apps, we&#39;ve removed the <code class="text-highlight text-highlight--grey">accepted</code> value for the <code class="text-highlight text-highlight--grey">status</code> field and the <code class="text-highlight text-highlight--grey">activate</code> endpoint on the <a href="/docs/api/admin-rest/latest/resources/applicationcharge?api%5Bversion%5D=2021-01#activate-2021-01">ApplicationCharge</a> and <a href="/docs/api/admin-rest/latest/resources/recurringapplicationcharge?api%5Bversion%5D=2021-01#activate-2021-01">RecurringApplicationCharge</a> resources.</p>
<p>As of API version 2021-01, when a merchant accepts a charge, the charge immediately transitions from <code class="text-highlight text-highlight--grey">pending</code> to <code class="text-highlight text-highlight--grey">active</code>. This means that you no longer need to activate the charge to finalize it.</p>
<p>To learn more about creating and issuing charges, refer to <a href="/docs/apps/launch/billing">Charging for your app with the REST Admin API</a>.</p>
<p><strong>Removed values</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">accepted</code> value was removed from <code class="text-highlight text-highlight--grey">status</code> field in resource <code class="text-highlight text-highlight--grey">ApplicationCharge</code></li>
<li><code class="text-highlight text-highlight--grey">accepted</code> value was removed from <code class="text-highlight text-highlight--grey">status</code> field in resource <code class="text-highlight text-highlight--grey">RecurringApplicationCharge</code></li>
</ul>
<p><strong>Removed endpoints</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">POST /admin/api/2021-01/application_charges/{application_charge_id}/activate.json</code> endpoint was removed from resource <code class="text-highlight text-highlight--grey">ApplicationCharge</code></li>
<li><code class="text-highlight text-highlight--grey">POST /admin/api/2021-01/recurring_application_charges/{recurring_application_charge_id}/activate.json</code> endpoint was removed from resource <code class="text-highlight text-highlight--grey">RecurringApplicationCharge</code></li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Extended authorization <span id="extended-authorizations-rest"></span></h3>
  </div>
  <div class="accordion-content">
    <p>As of API version 2021-01, you can query the <a href="/docs/api/admin-rest/latest/resources/transaction?api%5Bversion%5D=2021-01">Transaction resource</a> to access information about extended authorization periods.</p>
<aside class="note plus">
  <h4>Shopify Plus</h4>
  <p>
Extended authorization periods are available only to stores on the <a rel="external noreferrer noopener" target="_blank" href="https://www.shopify.com/plus?shpxid=72e62d60-101E-4719-442C-5B4B3876EBD9">Shopify Plus</a> plan that use Shopify Payments. To learn more about extended authorization periods, refer to <a rel="external noreferrer noopener" target="_blank" href="https://help.shopify.com/en/manual/payments/payment-authorization">Payment authorization</a>.</p>
</aside>
<p><strong>New fields</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">authorization_expires_at</code> field was added to resource <code class="text-highlight text-highlight--grey">Transaction</code></li>
<li><code class="text-highlight text-highlight--grey">extended_authorization_attributes</code> field was added to resource <code class="text-highlight text-highlight--grey">Transaction</code></li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Script tag caching <span id="script-tag-caching"></span></h3>
  </div>
  <div class="accordion-content">
    <p>As of API version 2021-01, you can query the <a href="/docs/admin-api/rest/reference/online-store/scripttag?api%5Bversion%5D=2021-01">ScriptTag</a> resource to determine whether the Shopify CDN (content delivery network) can cache and serve a script tag.</p>
<p><strong>New field</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">cache</code> field was added to resource <code class="text-highlight text-highlight--grey">ScriptTag</code></li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>New endpoint for tracking deprecated API calls <span id="deprecated-api-calls"></span></h3>
  </div>
  <div class="accordion-content">
    <p>As of API version 2021-01, you can use the <a href="/docs/admin-api/rest/reference/deprecated_api_calls?api%5Bversion%5D=2021-01">Deprecated API calls</a> endpoint to get a list of all the deprecated calls your private apps have made in the past 30 days, information on migration steps, and the deadline to update these calls in your apps.</p>
<p><strong>New endpoint</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">/admin/api/2021-01/deprecated_api_calls.json</code>: Retrieves a list of deprecated API calls.</li>
</ul>
  </div>
</div>
<div class="accordion-item">
  <div class="accordion-link">
    <div class="chevron-up"></div>
    <div class="chevron-down"></div>
    <h3>Subscription-related webhooks<span id="subscription-related-webhooks-rest"></span></h3>
  </div>
  <div class="accordion-content">
    <p>You can now subscribe to subscription contracts, billing attempts, and customer payment methods <a href="/docs/api/admin-rest/latest/resources/webhook?api%5Bversion%5D=2021-01#list-of-supported-webhook-events-and-topics-2021-0">event webhooks</a>.</p>
<p>For detailed information about required scopes and payloads, refer to <a href="/docs/apps/build/purchase-options/subscriptions/contracts#subscription-related-webhooks">Subscription-related webhooks</a>.</p>
<p><strong>New topics</strong></p>
<ul>
<li><code class="text-highlight text-highlight--grey">subscription_contracts/create</code> topic was added to webhook resource</li>
<li><code class="text-highlight text-highlight--grey">subscription_contracts/update</code> topic was added to webhook resource</li>
<li><code class="text-highlight text-highlight--grey">subscription_billing_attempts/failure</code> topic was added to webhook resource</li>
<li><code class="text-highlight text-highlight--grey">subscription_billing_attempts/success</code> topic was added to webhook resource</li>
<li><code class="text-highlight text-highlight--grey">customer_payment_methods/create</code> topic was added to webhook resource</li>
<li><code class="text-highlight text-highlight--grey">customer_payment_methods/revoke</code> topic was added to webhook resource</li>
<li><code class="text-highlight text-highlight--grey">customer_payment_methods/update</code> topic was added to webhook resource</li>
</ul>
  </div>
</div>
  </div>
</div>