post
https://api.loopsubscriptions.com/admin/2026-04/subscription//upgrade
This endpoint allows you to apply an upgrade profile to a subscription contract.
Token scope - Read & write Subscriptions
Rate limit - Global pool (i.e. 50 requests per second per domain)
Path param explained :
subscriptionIdId of the subscription. This can be passed in the following format :{id}- where id is the Loop internal id of the subscription contract. This is the default path param format.loop-{id}- where id is the Loop internal id of the subscription contract.shopify-${id}- Where id is the shopifySubscriptionId of the subscription contract.
Key points to consider:
Single-Line Subscription
- If the upgrade profile has multiple products mapped as upgrade options, you can upgrade to any of the available products by passing the specific product's Shopify variant ID in the
variantShopifyIdfield. - If
variantShopifyIdis not provided, the line will be upgraded to the first mapped product configured in the personalized upgrade profile. - For a Product quantity + frequency change upgrade, use
isMultiProductQuantityUpgradeandupdatedProductInfoto specify the products and quantities to apply. SetisMultiProductQuantityUpgradeto true when upgrading to two or more products.
Multi-Line Subscription
- Only line items with an available SKU upgrade option can be upgraded.
- To upgrade a specific line item, pass its line ID in the
sourceLineIdfield. - If the upgrade profile has multiple products mapped as upgrade options, you can select the target product by passing its Shopify variant ID in the
variantShopifyIdfield. - If
variantShopifyIdis not provided, the line will be upgraded to the first mapped product configured in the personalized upgrade profile.
