Products
List and search the products Subrise has synced from your Shopify store, and get every variant of a product, with the Subrise API.
Use these endpoints to find the products and variants to put on a subscription. They need a key with Read permission. See Developer API for the base URL and authentication.
List products
GET /products/allProductsReturns your store's active products from Subrise's copy of your catalog. Subrise keeps this copy in sync with Shopify.
| Query parameter | Type | Description |
|---|---|---|
showAll | boolean | Send true. It returns every active product and lets query search them. |
query | string | Optional. Text to find in the product title, handle or ID, or a variant's title, SKU or ID. Case doesn't matter. |
page | integer | Page number, starting at 1. Default 1. |
limit | integer | Products per page. Default 200. |
curl "https://backend-production.subrise.app/api/products/allProducts?showAll=true&query=pot&page=1&limit=25" \
-H "x-api-key: $SUBRISE_API_KEY"{
"products": [
{
"productId": "gid://shopify/Product/8107112661271",
"legacyResourceId": "8107112661271",
"title": "Clay Plant Pot",
"handle": "clay-plant-pot",
"status": "ACTIVE",
"vendor": "Subrise Demo",
"tags": ["planters"],
"minVariantPriceAmount": 9.99,
"maxVariantPriceAmount": 14.99,
"minVariantPriceCurrency": "USD",
"totalVariants": 2,
"sellingPlanGroupCount": 1,
"variants": [
{
"variantId": "gid://shopify/ProductVariant/44406306701591",
"title": "Regular",
"displayName": "Clay Plant Pot - Regular",
"sku": "POT-REG",
"price": 9.99,
"inventoryQuantity": 120,
"availableForSale": true,
"imageUrl": "https://cdn.shopify.com/s/files/1/0713/7977/9863/products/pot.jpg"
}
]
}
],
"totalProductsCount": 1,
"totalPages": 1,
"currentPage": 1,
"hasNextPage": false,
"hasPreviousPage": false
}price here is a number in your store's currency. When nothing matches, products is an empty array.
Note
Right after you install Subrise, before its first catalog sync finishes, this endpoint searches Shopify directly. The response then has products, totalProductsCount and a Shopify pageInfo object instead of the page fields above.
Get a product's variants
GET /products/{productId}/productVariantsReturns every variant of one product, read live from Shopify.
| Path parameter | Type | Description |
|---|---|---|
productId | string | The product's numeric ID, such as 8107112661271. |
curl https://backend-production.subrise.app/api/products/8107112661271/productVariants \
-H "x-api-key: $SUBRISE_API_KEY"The response is an array of Shopify variant objects:
[
{
"id": "gid://shopify/ProductVariant/44406306701591",
"title": "Regular",
"displayName": "Clay Plant Pot - Regular",
"position": 1,
"sku": "POT-REG",
"barcode": null,
"price": "9.99",
"inventoryQuantity": 120,
"sellableOnlineQuantity": 120,
"availableForSale": true,
"inventoryPolicy": "DENY",
"taxable": true,
"image": { "url": "https://cdn.shopify.com/s/files/1/0713/7977/9863/products/pot.jpg" },
"createdAt": "2026-01-12T10:04:31Z",
"product": { "title": "Clay Plant Pot" }
}
]Use a variant's id as productVariantId when you add a product to a subscription.