---
title: "Get product variants associated with a selling plan"
description: "Retrieve product variants associated with a selling plan, including their preorder details and sales metrics. Filtering behavior: - No parameters: Returns all product variants in the selling plan - shopify_product_id: Re"
url: https://docs.stoqapp.com/v1/preorders/get-product-variants-associated-with-a-selling-plan/
api: "API v1 (legacy)"
method: GET
path: "/external/preorders/{id}/product_variants"
---

# Get product variants associated with a selling plan

`GET https://app.stoqapp.com/api/v1/external/preorders/{id}/product_variants`

Retrieve product variants associated with a selling plan, including their preorder details and sales metrics.

Filtering behavior:

- No parameters: Returns all product variants in the selling plan
- shopify_product_id: Returns all variants for that specific product
- shopify_variant_id: Returns only that specific variant (single object response)

## Path parameters

- `id` (string, required): Selling plan ID

## Query parameters

- `shopify_product_id` (integer): Filter by specific Shopify product ID to get all variants for that product
- `shopify_variant_id` (integer): Filter by specific Shopify variant ID to get only that variant (returns single object)

## Headers

- `X-Auth-Token` (string, required): API key for authentication

## Returns

- `selling_plan_id` (string): e.g. `79b44c6c-ebc7-41d4-8a1b-573d7c693454`
- `selling_plan_name` (string): e.g. `Summer Preorder`
- `currency` (string): e.g. `USD`
- `product_variants` (array of objects)
  - `shopify_product_id` (integer): e.g. `7891234567890`
  - `shopify_variant_id` (integer): e.g. `43900910010503`
  - `product_title` (string): e.g. `Classic T-Shirt`
  - `variant_title` (string): e.g. `Medium / Red`
  - `preorder_units_sold` (integer): e.g. `18`
  - `preorder_max_count` (integer): e.g. `100`
  - `shipping_text` (string): e.g. `Ships July 2026`
- `meta` (object)
  - `total_variants` (integer): e.g. `12`
  - `total_units_sold` (integer): e.g. `140`

Rate limit: this call costs 1 point ([rate limits](https://docs.stoqapp.com/docs/rate-limits/)).

## Example request

```sh
curl "https://app.stoqapp.com/api/v1/external/preorders/79b44c6c-ebc7-41d4-8a1b-573d7c693454/product_variants" \
  -H "X-Auth-Token: $STOQ_API_KEY"
```

## 200

Product variants with their preorder details and sales metrics

```json
{
  "selling_plan_id": "79b44c6c-ebc7-41d4-8a1b-573d7c693454",
  "selling_plan_name": "Summer Preorder",
  "currency": "USD",
  "product_variants": [
    {
      "shopify_product_id": 7891234567890,
      "shopify_variant_id": 43900910010503,
      "product_title": "Classic T-Shirt",
      "variant_title": "Medium / Red",
      "preorder_units_sold": 18,
      "preorder_max_count": 100,
      "shipping_text": "Ships July 2026"
    }
  ],
  "meta": {
    "total_variants": 12,
    "total_units_sold": 140
  }
}
```

## 400

Bad request - cannot filter by both product and variant ID

## 401

Unauthorized

## 404

Selling plan not found or variant not found in this selling plan

