List and filter selling plans
API v1 is the older API. It still works, but new integrations should use API v2. Migrating from v1 to v2
/external/preordersCosts 1 rate-limit point · Rate limits
List the shop's preorder selling plans, newest first, with page-based pagination. Optionally filter by name (matches the display or internal name). Returns a lightweight representation of each plan plus pagination metadata; use Get a Specific Selling Plan for the full object.
Query parameters
namestringFilter by selling plan name or internal name
pageintegerPage number for pagination
per_pageintegerNumber of items per page
Headers
X-Auth-TokenstringRequiredAPI key for authentication
Returns
selling_plansarray of objectsShow 8 child attributesHide child attributes
idstringUnique identifier for the selling plan
namestringDisplay name of the selling plan
internal_namestringInternal name for the selling plan
enabledbooleanWhether the selling plan is enabled
selling_plan_product_variants_countintegerNumber of product variants associated with this selling plan
created_atstringTimestamp when the selling plan was created
updated_atstringTimestamp when the selling plan was last updated
shopify_variant_idsarray of integersList of Shopify variant IDs associated with this selling plan
metaobjectShow 4 child attributesHide child attributes
total_countintegerExample:3pageintegerExample:1per_pageintegerExample:25total_pagesintegerExample:1
Errors
Bad request
Unauthorized
curl "https://app.stoqapp.com/api/v1/external/preorders" \
-H "X-Auth-Token: $STOQ_API_KEY"const res = await fetch("https://app.stoqapp.com/api/v1/external/preorders", {
headers: {
"X-Auth-Token": process.env.STOQ_API_KEY,
},
});
const data = await res.json();import os
import requests
res = requests.get(
"https://app.stoqapp.com/api/v1/external/preorders",
headers={"X-Auth-Token": os.environ["STOQ_API_KEY"]},
)
data = res.json()require "net/http"
require "json"
uri = URI("https://app.stoqapp.com/api/v1/external/preorders")
req = Net::HTTP::Get.new(uri, "X-Auth-Token" => ENV["STOQ_API_KEY"])
res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body){
"selling_plans": [
{
"id": "79b44c6c-ebc7-41d4-8a1b-573d7c693454",
"name": "Summer Preorder",
"internal_name": "summer-2026",
"enabled": true,
"selling_plan_product_variants_count": 12,
"created_at": "2026-06-20T10:00:00Z",
"updated_at": "2026-06-24T08:30:00Z",
"shopify_variant_ids": [
43900910010503,
43900910010999
]
}
],
"meta": {
"total_count": 3,
"page": 1,
"per_page": 25,
"total_pages": 1
}
}