List Variants
Returns a paginated list of variants. Omit account_id and pass product_ids to list a product's public buyable variants.
Query parameters
The unique identifier of the account to list variants for. Required unless product_ids is provided for a public product-variant read.
The sort direction for results. Defaults to descending.
The field to sort results by. Defaults to created_at.
Filter to only variants matching these release methods.
[ "buy_now" ]
Filter to only variants matching these visibility states.
[ "visible" ]
Filter to only variants matching these billing types.
[ "renewal" ]
Filter to only variants belonging to these product identifiers. When account_id is omitted, this is required and the response is publicly readable: only visible, non-invoice variants are returned.
[ "prod_xxxxxxxxxxxxxx" ]
Only return variants created before this timestamp.
Only return variants created after this timestamp.
Number of results to return from the start of the range.
Return results after this cursor. Use page_info.end_cursor from the previous response to fetch the next page.
Number of results to return from the end of the range.
Return results before this cursor. Use page_info.start_cursor from the previous response to fetch the previous page.
Response
visible variants listed by product without authentication
Example response
{
"data": [
{
"account": {
"id": "biz_xxxxxxxxxxxxxx",
"title": "Shine Time Auto Detailing"
},
"adaptive_pricing_enabled": true,
"attributes": {
"color": "Blue",
"size": "S"
},
"billing_period": 30,
"cancel_discount_intervals": 3,
"cancel_discount_percentage": 20,
"checkout_styling": {
"background_color": "#0f172a",
"border_style": "rounded",
"button_color": "#f59e0b",
"font_family": "roboto"
},
"created_at": "2026-01-01T12:00:00.000Z",
"currency": "usd",
"custom_fields": [
{
"field_type": "text",
"id": "field_xxxxxxxxxxxxxx",
"name": "Vehicle make and model",
"placeholder": "2021 Audi S5",
"required": true
}
],
"description": "Two hand washes a month, interior vacuum, and a quarterly sealant top-up.",
"expiration_days": 365,
"formatted_price": "$59.00 / month",
"id": "plan_xxxxxxxxxxxxxx",
"image": {
"blurhash": "LA6bDXT$E3b:R6i+RibEIWbp%ej1",
"url": "https://whop-assets-example.s3.amazonaws.com/uploads/image/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
"initial_price_due": {
"amount": "-1234.56",
"currency": "usd",
"decimals": 2,
"display_decimals": 2
},
"internal_notes": "Maintenance tier. Upsell the interior shampoo add-on at renewal.",
"invoice": {
"id": "inv_xxxxxxxxxxxxxx"
},
"metadata": {
"custom_cta": "subscribe",
"custom_cta_url": "https://shinetime.example/wash-club"
},
"offer_cancel_discount": true,
"payment_method_configuration": {
"disabled": [
"crypto"
],
"enabled": [
"card"
],
"include_platform_defaults": true
},
"plan_type": "renewal",
"product": {
"id": "prod_xxxxxxxxxxxxxx",
"title": "Ceramic Coating Package"
},
"purchase_url": "https://whop.com/checkout/plan_xxxxxxxxxxxxxx",
"release_method": "buy_now",
"renewal_price": 59,
"sku": "CERAMIC-COATING-S-BLUE",
"split_pay_required_payments": 4,
"strike_through_initial_price": 99,
"strike_through_renewal_price": 79,
"three_ds_level": "frictionless_if_required",
"title": "Unlimited Wash Club",
"trial_period_days": 7,
"updated_at": "2026-01-01T12:00:00.000Z",
"visibility": "visible"
}
],
"page_info": {
"start_cursor": "WyJjdXJzb3IiLDFd"
}
}Changes
Changed in 1 of the 77 revisions of this API.1
- ○
endpoint added
endpoint-added
- ○
Of the 77 revisions, 1 has no diff computed.