Skip to main content

A membership represents an active relationship between a user and a product. It tracks the user's access, billing status, and renewal schedule.

id
string
required

The unique identifier for the membership.

Example:

"mem_xxxxxxxxxxxxxx"

status
enum<string>
required

The current lifecycle status of the membership (e.g., active, trialing, past_due, canceled, expired, completed).

Available options:
trialing,
active,
past_due,
completed,
canceled,
expired,
unresolved,
drafted,
canceling
created_at
string<date-time>
required

The datetime the membership was created.

Example:

"2023-12-01T05:00:00.401Z"

joined_at
string<date-time> | null
required

The time the user first joined the company associated with this membership. As a Unix timestamp. Null if the member record does not exist.

Example:

"2023-12-01T05:00:00.401Z"

updated_at
string<date-time>
required

The datetime the membership was last updated.

Example:

"2023-12-01T05:00:00.401Z"

manage_url
string | null
required

The URL where the customer can view and manage this membership, including cancellation and plan changes. Null if no member record exists.

Example:

"https://whop.com/billing/manage/mem_abc123"

member
object
required

The member record linking the user to the company for this membership. Null if the member record has not been created yet.

user
object
required

The user who owns this membership. Null if the user account has been deleted.

renewal_period_start
string<date-time> | null
required

The start of the current billing period for this recurring membership. As a Unix timestamp. Null if the membership is not recurring.

Example:

"2023-12-01T05:00:00.401Z"

renewal_period_end
string<date-time> | null
required

The end of the current billing period for this recurring membership. As a Unix timestamp. Null if the membership is not recurring.

Example:

"2023-12-01T05:00:00.401Z"

cancel_at_period_end
boolean
required

Whether this membership is set to cancel at the end of the current billing cycle. Only applies to memberships with a recurring plan.

cancel_option
enum<string> | null
required

The category selected for why the member canceled (e.g. too_expensive, switching, missing_features).

Available options:
too_expensive,
switching,
missing_features,
technical_issues,
bad_experience,
other,
testing
cancellation_reason
string | null
required

Free-text explanation provided by the customer when canceling. Null if the customer did not provide a reason.

Example:

"I found a better alternative."

canceled_at
string<date-time> | null
required

The time the customer initiated cancellation of this membership. As a Unix timestamp. Null if the membership has not been canceled.

Example:

"2023-12-01T05:00:00.401Z"

currency
enum<string> | null
required

The three-letter ISO currency code for this membership's billing. Null if the membership is free.

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
company
object
required

The company this membership belongs to.

plan
object
required

The plan the customer purchased to create this membership.

promo_code
object
required

The promotional code currently applied to this membership's billing. Null if no promo code is active.

product
object
required

The product this membership grants access to.

license_key
string | null
required

The software license key associated with this membership. Only present if the product includes a Whop Software Licensing experience. Null otherwise.

Example:

"A1B2C3-D4E5F6-G7H8I9"

metadata
object
required

Custom key-value pairs for the membership (commonly used for software licensing, e.g., HWID). Max 50 keys, 500 chars per key, 5000 chars per value.

payment_collection_paused
boolean
required

Whether recurring payment collection for this membership is temporarily paused by the company.

custom_field_responses
object[]
required

The customer's responses to custom checkout questions configured on the product at the time of purchase.