Get products
BetaAPI v2 is in public beta: endpoints, fields and behaviour can change before general availability. See the changelog
const url = 'https://app.stoqapp.com/api/v2/external/preorders/reports/products?range=string&group_by=variant&from=string&to=string&sort_by=string&direction=string&page=string&per_page=string';const options = {method: 'GET', headers: {'X-Auth-Token': '<X-Auth-Token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://app.stoqapp.com/api/v2/external/preorders/reports/products?range=string&group_by=variant&from=string&to=string&sort_by=string&direction=string&page=string&per_page=string' \ --header 'X-Auth-Token: <X-Auth-Token>'Preorder units, orders, line revenue and last order date per variant (or product), as the dashboard’s products table.
Note: Counts preorder line items only (ordinary items in a mixed cart are excluded). revenue is line revenue. group_by=product rolls variants up to their product. range=all_time is the dashboard’s All time. image_url is the variant’s stored image, else the product’s (null if none is stored).
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Example
stringExample
variantExample
stringExample
stringExample
stringExample
stringExample
stringExample
stringResponses
Section titled “Responses”Success — example response shown.
object
Example
{ "window": { "from": "2026-05-26T00:00:00Z", "to": "2026-06-25T23:59:59Z" }, "group_by": "variant", "sort_by": "revenue", "direction": "desc", "currency": "USD", "rows": [ { "shopify_product_id": "gid://shopify/Product/8784906035384", "product_title": "Classic Sneaker", "shopify_variant_id": "gid://shopify/ProductVariant/47284734423096", "variant_title": "Blue / Medium", "sku": "CS-BLU-M", "units": 64, "orders": 58, "revenue": "7040.00", "last_order_date": "2026-06-25T10:02:00Z" }, { "shopify_product_id": "gid://shopify/Product/8784906035384", "product_title": "Classic Sneaker", "shopify_variant_id": "gid://shopify/ProductVariant/47284734455864", "variant_title": "Red / Large", "sku": "CS-RED-L", "units": 31, "orders": 30, "revenue": "3410.00", "last_order_date": "2026-06-24T18:40:00Z" } ], "meta": { "total_count": 42, "page": 1, "per_page": 25, "total_pages": 2 }}Missing or invalid X-Auth-Token.
Error envelope returned by every failed request.
object
Example
{ "errors": [ "Unauthorized" ]}The request failed validation.
Error envelope returned by every failed request.
object
Example
{ "errors": [ "name is required" ]}Rate limited — cost-weighted per token (read 1, write 2; 360 points / 60s). Check Retry-After.
Error envelope returned by every failed request.
object
Example
{ "errors": [ "Rate limit exceeded" ]}Thanks for letting us know.
Still stuck? Ask Quinn or chat with support