Remove product from recurring subscription
Removes a line item (product) from a subscription contract. The product will no longer be included in future recurring orders.
Full behavior, validation rules, and side effects
Product Removal Process:
- Line Item Identification: Locates specific line item using GraphQL line ID
- Contract Update: Removes line item from subscription
- Discount Handling: Optionally removes associated line-item discounts
- Price Recalculation: Updates subscription total after removal
- Activity Logging: Records product removal event
Key Features:
- Selective Removal: Remove specific products by line ID
- Discount Control: Choose whether to remove product-specific discounts
- Immediate Effect: Changes apply to next billing cycle
- Price Updates: Automatically adjusts subscription pricing
Discount Removal Option:
- removeDiscount=true (default): Removes discounts tied to this line item
- removeDiscount=false: Keeps discounts (may apply to other items if applicable)
- Only affects line-item-specific discounts, not subscription-level discounts
Line ID Format:
- GraphQL ID format:
gid://shopify/SubscriptionLine/[ID] - Retrieve from subscription contract details endpoint
- Each line item has unique ID
Use Cases:
- Customer downgrades subscription to fewer products
- Remove seasonal products at end of season
- Customer portal product removal workflows
- Discontinued product cleanup
- Subscription simplification (too many items)
- Build-a-box customization changes
Important Notes:
- Cannot remove last line item (subscription needs at least one product)
- Subscription must not be frozen
- Removal is permanent (re-add if needed)
- May affect shipping costs if weight/volume changes
Returns: Updated subscription contract object with line item removed
Authentication: Requires API key authentication via X-API-Key header or api_key parameter
Documentation Index
Fetch the complete documentation index at: https://developers.appstle.com/llms.txt
Use this file to discover all available pages before exploring further.
Headers
Query Parameters
Subscription contract ID
API Key (Deprecated - Use Header X-API-Key instead)
Subscription line item GraphQL ID to remove
Whether to remove associated line-item discounts (default: true)
Response
Line item successfully removed from subscription
ACTIVE, PAUSED, CANCELLED, EXPIRED, FAILED, $UNKNOWN SUCCEEDED, FAILED, $UNKNOWN