curl --request GET \
--url https://api.snappy.com/v3/products/{productId}/variants \
--header 'X-Api-Key: <api-key>'{
"data": [
{
"id": "f6g7h8i9j0",
"title": "$10 Gift Card",
"selectedOptions": {
"denomination": "$10"
},
"taxable": true,
"media": [
{
"type": "image",
"src": "https://media.snappy.com/image/asset123?w=1000&h=1000&q=80&f=auto"
}
],
"productId": "a1b2c3d4e5",
"price": {
"amount": 10,
"currency": "usd"
},
"priceBreakdown": {
"ddp": 0,
"shippingFee": 2.5,
"itemPrice": 43.2
},
"details": {
"descriptionHtml": "<p>Digital gift card redeemable online.</p>",
"includes": "<p>Charger, cable, earphones</p>",
"features": "<string>",
"specifications": {
"material": "cotton",
"dimensions": "10x20"
},
"notices": {
"prop65Warning": "This product contains chemicals known to the State of California to cause cancer."
}
},
"brand": {
"id": "621f9d4b1e675adcbc196159",
"name": "Apple",
"description": "Cute pet brand"
},
"personalization": {
"isPersonalized": true,
"personalizationTemplateFields": [
"firstName",
"lastName",
"department"
]
}
}
],
"links": {
"first": "/v3/collections/abc/products?page[size]=100",
"next": "/v3/collections/abc/products?page[cursor]=cursor_abc123&page[size]=100",
"prev": "<string>"
}
}Returns the product’s variants as a paginated list, using page-number
pagination (page[number], page[size]).
Filtering is applied before pagination:
selectedOptions[<name>]=<value> — exact match on
variant.selectedOptions (ANDed across multiple selected options).filter[price][gte] / filter[price][lte] — price range.400.Variant-level field expansions are opt-in via fields:
pricing adds price and priceBreakdown.details adds the details wrapper.brand adds the variant brand object (same shape as the
product-level brand).full includes every optional variant field.When fields is omitted, price, priceBreakdown, and details
are not returned.
curl --request GET \
--url https://api.snappy.com/v3/products/{productId}/variants \
--header 'X-Api-Key: <api-key>'{
"data": [
{
"id": "f6g7h8i9j0",
"title": "$10 Gift Card",
"selectedOptions": {
"denomination": "$10"
},
"taxable": true,
"media": [
{
"type": "image",
"src": "https://media.snappy.com/image/asset123?w=1000&h=1000&q=80&f=auto"
}
],
"productId": "a1b2c3d4e5",
"price": {
"amount": 10,
"currency": "usd"
},
"priceBreakdown": {
"ddp": 0,
"shippingFee": 2.5,
"itemPrice": 43.2
},
"details": {
"descriptionHtml": "<p>Digital gift card redeemable online.</p>",
"includes": "<p>Charger, cable, earphones</p>",
"features": "<string>",
"specifications": {
"material": "cotton",
"dimensions": "10x20"
},
"notices": {
"prop65Warning": "This product contains chemicals known to the State of California to cause cancer."
}
},
"brand": {
"id": "621f9d4b1e675adcbc196159",
"name": "Apple",
"description": "Cute pet brand"
},
"personalization": {
"isPersonalized": true,
"personalizationTemplateFields": [
"firstName",
"lastName",
"department"
]
}
}
],
"links": {
"first": "/v3/collections/abc/products?page[size]=100",
"next": "/v3/collections/abc/products?page[cursor]=cursor_abc123&page[size]=100",
"prev": "<string>"
}
}Documentation Index
Fetch the complete documentation index at: https://docs.snappy.com/llms.txt
Use this file to discover all available pages before exploring further.
Partner API key. Finalized per partner integration agreement.
Optional account identifier for swag validation/filtering.
Stable VariationGroup identifier.
Exact-match variant option filters. Encoded as
selectedOptions[<name>]=<value> (e.g. selectedOptions[color]=red).
Multiple selected options are ANDed. Unknown option keys return 400.
Show child attributes
Minimum price filter. Inclusive.
Maximum price filter. Inclusive.
ISO 3166-1 alpha-2 country code (default US).
^[A-Z]{2}$Comma-separated list of variant-level field expansions.
pricing — includes price and priceBreakdown.details — includes the variant details wrapper.brand — includes the variant's brand object.full — every field above.When omitted, price, priceBreakdown, and details are not
returned.
pricing, details, brand, full 1-indexed page number for page-number paginated endpoints.
x >= 1Number of variants to return per page (max 300, default 100).
1 <= x <= 300Paginated list of variants.
Paginated variant list response (page-number pagination).
Show child attributes
Top-level JSON:API-style pagination links for paginated list
responses. first is always present. next is null on the final
page. prev is null on the first page (and on cursor-paginated
endpoints where backward navigation is not supported).
Show child attributes
Was this page helpful?