Skip to content

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

text
GET /selling-plan-groups

Returns up to 500 of your plans, with their delivery options.

Query parameterTypeDescription
namestringOptional. Only plans whose name contains this text. Case doesn't matter.
idstringOptional. One plan, by its Shopify global ID.
sortBystringOptional. 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 …".
sortOrderstringOptional. desc sorts descending. Anything else sorts ascending.
includeBundlesstringOptional. 1 also returns the plans Subrise creates for bundles. They are left out by default.
bash
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:

json
[
  {
    "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[].id is the ID to use when you change a subscription's plan or add a product.
  • billingIntervalType and deliveryIntervalType are DAY, WEEK, MONTH or YEAR. See Fields for every allowed value.
  • fixedAdjustment* is the discount from the first order. recurringAdjustment* and recurringAfterCycleNumber describe a discount that changes after a number of orders.
  • collections lists the Shopify collections attached to the plan. Their products are on the plan too.

Get a plan

text
GET /selling-plan-groups/{sellingPlanGroupId}

Returns one plan, read live from Shopify, with every delivery option sorted by position.

Path parameterTypeDescription
sellingPlanGroupIdstringThe plan's numeric ID, such as 2873655575, or its Shopify global ID.
bash
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:

json
[{ "message": "Selling plan group not found on Shopify" }]

List a plan's products

text
GET /selling-plan-groups/{sellingPlanGroupId}/products

Returns the products and variants on a plan, including products that are on it through a collection.

Path parameterTypeDescription
sellingPlanGroupIdstringThe plan's numeric ID or Shopify global ID.
bash
curl https://backend-production.subrise.app/api/selling-plan-groups/2873655575/products \
  -H "x-api-key: $SUBRISE_API_KEY"
json
{
  "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.