Fetching a subscription offer
CallGET /store/products/:id/subscription-offer to retrieve the effective offer for a product. Pass an optional variant_id query parameter to resolve the offer for a specific variant instead.
variant_id is provided and that variant has its own offer configured, the variant-level offer takes precedence over the product-level offer. If no offer is found at either level, or if the offer is disabled, the response returns is_subscription_available: false.
Response shape
Response fields
Frequency items
Each object inallowed_frequencies describes one selectable cadence:
Powering a PDP subscription selector
Use this endpoint to drive the subscription UI on your product detail page. A typical implementation fetches the offer on page load and uses the response to:- Show or hide the subscription option — render the subscription selector only when
is_subscription_availableistrue. - Populate the frequency selector — render one option per item in
allowed_frequencies, usinglabelas the display text. - Display the discount — show the savings for each frequency using
discount.typeanddiscount.value. - Set checkout metadata — when the customer confirms a frequency, use the selected
frequency_intervalandfrequency_valueto set the line item metadata before calling the subscribe endpoint.
The
allowed_frequencies array only contains cadences that are active in your Plans & Offers configuration. Use this list to validate which cadences a customer can select — do not allow customers to submit cadences that are not present in the response.