import type * as Whop from "../../../../index.js"; /** * @example * { * release_methods: ["buy_now"], * visibilities: ["visible"], * billing_types: ["renewal"], * product_ids: ["prod_xxxxxxxxxxxxxx"], * presentment_currency: "auto", * ip_address: "203.0.113.7", * presentment_country: "JP" * } */ export interface ListVariantsRequest { /** The unique identifier of the account to list variants for. Required unless `product_ids` is provided for a public product-variant read. */ account_id?: string; /** The sort direction for results. Defaults to descending. */ direction?: Whop.ListVariantsRequestDirection; /** The field to sort results by. Defaults to created_at. */ order?: Whop.ListVariantsRequestOrder; /** Filter to only variants matching these release methods. */ release_methods?: string | string[]; /** Filter to only variants matching these visibility states. */ visibilities?: string | string[]; /** Filter to only variants matching these billing types. */ billing_types?: string | string[]; /** 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. */ product_ids?: string | string[]; /** Only return variants created before this timestamp. */ created_before?: string; /** Only return variants created after this timestamp. */ created_after?: string; /** The currency to state each variant's prices in. Omit it, or send null, for each variant's own currency. `auto` states them in the currency of the country Whop places the buyer in: by `ip_address` when your server sends one, and by the request's own IP address otherwise. To choose that country instead, send `presentment_country` in place of this. A three-letter ISO 4217 code, such as `eur`, states them in that currency. A variant converts only where a payment quote for it would be priced in that currency, and stays in its own currency otherwise: a renewing variant, one with adaptive pricing off, a currency no payment method can collect, or `auto` for a buyer Whop cannot place in a country. Converted prices are an estimate at the current exchange rate. Nothing is held: the payment quote the buyer pays from fixes the rate. */ presentment_currency?: string | null; /** The buyer's IP address, when your server reads on their behalf. Needs an API key; any other caller is placed by its own request. Where `presentment_currency` `auto` finds the buyer's local currency, and where a payment method must be able to collect it. */ ip_address?: string | null; /** The country to state each variant's prices for, as an ISO 3166-1 alpha-2 code such as `JP`, when the buyer chose one: a store's country picker. States them in the currency `auto` would for a buyer in that country, so send it instead of `presentment_currency`, never with it. Whether a payment method can collect that currency is still judged where the buyer is: by `ip_address`, else by the request's own IP address. A country Whop has no currency for is ignored, and the prices are stated as `auto` would state them. */ presentment_country?: string | null; /** Number of results to return from the start of the range. */ first?: number; /** Return results after this cursor. Use `page_info.end_cursor` from the previous response to fetch the next page. */ after?: string; /** Number of results to return from the end of the range. */ last?: number; /** Return results before this cursor. Use `page_info.start_cursor` from the previous response to fetch the previous page. */ before?: string; }