Subscription plans
List your subscription plans, get one plan with its delivery options and discounts, and list the products on a plan with the Subrise API.
A subscription plan in Subrise is a Shopify selling plan group. It holds one or more delivery options, called selling plans, such as "Every 2 weeks" and "Every month". The API uses Shopify's names, so the paths say selling-plan-groups.
These endpoints need a key with Read permission. See Developer API for the base URL and authentication. To learn what plans are, see Subscription plans.
List plans
GET /selling-plan-groupsReturns up to 500 of your plans, with their delivery options.
| Query parameter | Type | Description |
|---|---|---|
name | string | Optional. Only plans whose name contains this text. Case doesn't matter. |
id | string | Optional. One plan, by its Shopify global ID. |
sortBy | string | Optional. The field to sort by: name, merchantCode, description, createdAt, updatedAt, productCount, variantCount, subscriptionCount or id. Any other value returns 400 with "sortBy must be one of …". |
sortOrder | string | Optional. desc sorts descending. Anything else sorts ascending. |
includeBundles | string | Optional. 1 also returns the plans Subrise creates for bundles. They are left out by default. |
curl "https://backend-production.subrise.app/api/selling-plan-groups?sortBy=name" \
-H "x-api-key: $SUBRISE_API_KEY"The response is an array of plans:
[
{
"id": "gid://shopify/SellingPlanGroup/2873655575",
"name": "Subscribe & Save",
"description": "Save 10% on every order",
"merchantCode": "subscribe-and-save",
"options": ["Delivery every"],
"createdAt": "2026-01-12T10:20:44Z",
"productCount": 12,
"variantCount": 30,
"sellingPlans": [
{
"id": "gid://shopify/SellingPlan/689892688151",
"name": "Delivery every month",
"position": 1,
"options": ["1 month"],
"billingIntervalType": "MONTH",
"billingIntervalValue": 1,
"deliveryIntervalType": "MONTH",
"deliveryIntervalValue": 1,
"maxCycles": null,
"minCycles": null,
"fixedAdjustmentActive": true,
"fixedAdjustmentType": "PERCENTAGE",
"fixedAdjustmentValue": 10,
"recurringAdjustmentActive": null
}
],
"collections": [],
"collectionProductTotal": 0
}
]sellingPlans[].idis the ID to use when you change a subscription's plan or add a product.billingIntervalTypeanddeliveryIntervalTypeareDAY,WEEK,MONTHorYEAR. See Fields for every allowed value.fixedAdjustment*is the discount from the first order.recurringAdjustment*andrecurringAfterCycleNumberdescribe a discount that changes after a number of orders.collectionslists the Shopify collections attached to the plan. Their products are on the plan too.
Get a plan
GET /selling-plan-groups/{sellingPlanGroupId}Returns one plan, read live from Shopify, with every delivery option sorted by position.
| Path parameter | Type | Description |
|---|---|---|
sellingPlanGroupId | string | The plan's numeric ID, such as 2873655575, or its Shopify global ID. |
curl https://backend-production.subrise.app/api/selling-plan-groups/2873655575 \
-H "x-api-key: $SUBRISE_API_KEY"The response is a single plan object with the same fields as List plans, without collections and collectionProductTotal. A plan that no longer exists on Shopify returns 400:
[{ "message": "Selling plan group not found on Shopify" }]List a plan's products
GET /selling-plan-groups/{sellingPlanGroupId}/productsReturns the products and variants on a plan, including products that are on it through a collection.
| Path parameter | Type | Description |
|---|---|---|
sellingPlanGroupId | string | The plan's numeric ID or Shopify global ID. |
curl https://backend-production.subrise.app/api/selling-plan-groups/2873655575/products \
-H "x-api-key: $SUBRISE_API_KEY"{
"success": true,
"data": [
{
"id": "gid://shopify/Product/8107112661271",
"title": "Clay Plant Pot",
"handle": "clay-plant-pot",
"variantCount": 2,
"variants": [
{
"in_SPG": true,
"variantId": "gid://shopify/ProductVariant/44406306701591",
"title": "Regular",
"displayName": "Clay Plant Pot - Regular",
"price": 9.99,
"quantity": 120
}
]
}
]
}in_SPG is true for each variant that is on the plan. A product added to the plan variant by variant lists all its variants, with in_SPG set to false on the ones that are not. quantity is the stock Shopify can sell online.