Endpoints
Attributes
string
required
Plan ID, prefixed
plan_.object | null
required
Account that sells this plan;
null for standalone invoice plans.boolean
required
Whether adaptive pricing is enabled for this plan. Raw setting — does not
check processor compatibility or feature flags.
number | null
required
Number of days between recurring charges, such as 30 for monthly or 365 for
annual.
null for one-time plans.number | null
required
Billing intervals the cancellation discount applies to (
0 forever, 1 first
payment, or a month count). null when none is offered or the actor lacks the
plan:basic:read scope.number | null
required
Cancellation discount as a whole-number percentage.
null when none is
offered or the actor lacks the plan:basic:read scope.object | null
required
Plan-level checkout styling (
background_color, button_color,
font_family, border_style); null inherits the account default.boolean
required
Whether tax is collected on purchases of this plan, based on the account’s tax
configuration.
string
required
When the plan was created, as an ISO 8601 timestamp.
string
required
Three-letter ISO currency code for this plan’s prices.Available options:
usd, sgd, inr, aud, brl, cad, dkk, eur, nok, gbp, sek, chf, hkd, huf, jpy, mxn, myr, pln, czk, nzd, aed, eth, ape, cop, ron, thb, bgn, idr, dop, php, try, krw, twd, vnd, pkr, clp, uyu, ars, zar, dzd, tnd, mad, kes, kwd, jod, all, xcd, amd, bsd, bhd, bob, bam, khr, crc, xof, egp, etb, gmd, ghs, gtq, gyd, ils, jmd, mop, mga, mur, mdl, mnt, nad, ngn, mkd, omr, pyg, pen, qar, rwf, sar, rsd, lkr, tzs, ttd, uzs, rub, btc, cny, usdt, kzt, awg, whop_usd, xauobject[]
required
Custom input fields collected on the checkout form.
Properties
Properties
string
required
Custom field ID, prefixed
field_.string
required
Custom field input type.Available options:
textstring
required
Field label shown to customer at checkout.
number
required
Field position on checkout form.
string | null
required
Placeholder text shown in the empty field.
null if none is set.boolean
required
Whether the customer must complete this field to check out.
boolean | null
required
Whether the plan can be deleted (it has no memberships or waitlist entries).
null unless the actor has the plan:basic:read scope on the plan’s account.string | null
required
Customer-visible plan description. Maximum 1000 characters.
null if no
description is set.number | null
required
Access duration in days for expiration-based plans, such as 365 for a one-year
pass.
null for plans without an expiration.string
required
Human-readable price for display (currency + interval), e.g. “$10 / month”.
object | null
required
Pricing-tier image (
url, blurhash) shown on the product page; null when
no image is set.number
required
Initial purchase price in plan currency.
string | null
required
Private notes not shown to customers.
null unless the actor has the
plan:basic:read scope on the plan’s account.object | null
required
Invoice this plan was generated for;
null unless created for an invoice.number | null
required
Active memberships through this plan.
null unless the actor has the
plan:basic:read scope on the plan’s account.object | null
required
Custom key-value pairs stored on the plan. Included in webhook payloads for
payment and membership events. Maximum 50 keys, 100 characters per key, 500
characters per value.
boolean | null
required
Whether a cancellation discount is offered.
null unless the actor has the
plan:basic:read scope on the plan’s account.object | null
required
Payment method configuration (
enabled, disabled,
include_platform_defaults); null when plan uses default settings.string
required
Billing model for this plan.Available options:
renewal, one_timeobject | null
required
Product this plan belongs to;
null for standalone plans.string
required
URL where customers can purchase this plan directly.
string
required
Sales method for this plan.Available options:
buy_now, waitlistnumber
required
Recurring price charged every billing period.
number | null
required
Installment payments required before the subscription pauses. Must be greater
than 1.
null if split pay is not configured.number | null
required
Units available for purchase.
null unless the actor has the
plan:basic:read scope on the plan’s account.number | null
required
Original initial price shown with a strikethrough, in the plan’s currency.
null when no strikethrough is set.number | null
required
Original renewal price shown with a strikethrough, in the plan’s currency.
null when no strikethrough is set.string
required
How tax is handled for this plan, including whether tax is included in the price, added at checkout, or not configured.Available options:
inclusive, exclusive, unspecifiedstring | null
required
3D Secure behavior for this plan;
null inherits the account default.Available options: mandate_challenge, frictionlessstring | null
required
Plan display name shown to customers. Maximum 30 characters.
null if no
title has been set.number | null
required
Free trial days before the first renewal charge.
null if no trial is
configured or the user has already used a trial for this plan.boolean
required
Whether the plan has unlimited stock. When
true, the stock field is
ignored; waitlist plans always report true.string
required
When the plan was last updated, as an ISO 8601 timestamp.
string
required
Controls where this plan can be seen. When
hidden, the plan is reachable only by its direct link.Available options: visible, hidden, archived, quick_linkPlan

