GET
/
v2
/
plans
/
{id}
Retrieve a Plan
curl --request GET \
  --url https://api.whop.com/api/v2/plans/{id}
{
  "id": "<string>",
  "company_id": "<string>",
  "product": "<string>",
  "plan_type": "<string>",
  "release_method": "<string>",
  "visibility": "visible",
  "billing_period": 123,
  "internal_notes": "<string>",
  "payment_link_description": "<string>",
  "metadata": {},
  "direct_link": "<string>",
  "renewal_price": 123,
  "initial_price": 123,
  "base_currency": "<string>",
  "requirements": {},
  "release_method_settings": {},
  "accepted_payment_methods": [
    [
      "<any>"
    ]
  ],
  "stock": 123,
  "unlimited_stock": true,
  "created_at": 123,
  "access_pass": "<string>",
  "card_payments": true,
  "custom_fields": [
    {
      "id": "<string>",
      "field_type": "<string>",
      "name": "<string>",
      "order": 123,
      "placeholder": "<string>",
      "required": true
    }
  ],
  "description": "<string>",
  "allow_multiple_quantity": true,
  "coinbase_commerce_accepted": true,
  "splitit_accepted": true,
  "platform_balance_accepted": true,
  "expiration_days": 123,
  "grace_period_days": 123,
  "one_per_user": true,
  "refillable": true,
  "short_link": "<string>",
  "trial_period_days": 123,
  "paypal_accepted": true,
  "split_pay_required_payments": 123,
  "ach_payments": true,
  "cancel_collab_passes": true,
  "cancel_discount_intervals": 123,
  "cancel_discount_percentage": 123,
  "offer_cancel_discount": true,
  "one_per_company": true,
  "override_tax_type": "<string>"
}

Headers

Authorization
string

Your API key, which can be found on the Whop Business Dashboard. You must prepend your key with the word 'Bearer', which will look like Bearer ***************************

Path Parameters

id
string
required

The ID of the Plan, which will look like plan_*************

Query Parameters

expand
enum<string>[]

Whether or not to expand the Product on the returned Plan(s). Pass an array with each object(s) you want to expand, e.g. [product]

Response

200 - application/json

Retrieve a Plan

Plan model

id
string

The ID of the Plan, which will look like plan_*************

company_id
string

The ID of the Company this Plan is for, which will look like biz_*************

product
string

The Product this Plan is tied to. By default this will just be the ID of the Product, but you can expand it to get more information about the Product by passing [product] in the expand parameter.

plan_type
string

Whether the Plan is a renewal or one-time purchase

release_method
string

The method the customer will use to gain access to this Plan's Product

visibility
enum<string>

The level of visibility of the Plan

Available options:
visible,
hidden,
archived,
quick_link
billing_period
integer

How often a user will get charged for their membership (if it is a renewal plan), in number of days

internal_notes
string

A nickname for the Plan set by the company and not visible to the customer

The description of the Plan as seen by the customer on the checkout page

metadata
object

A polymorphic object containing information that can be user defined

A URL that targets a customer on this specific Plan

renewal_price
number

The price to be charged for each successive billing period

initial_price
number

The price to be initially charged when a user first purchases the Plan

base_currency
string

The base currency

requirements
object

Represents the different restrictions (if any) in place for purchasing the Plan

release_method_settings
object

Configurable settings on how this Plan is released.

accepted_payment_methods
any[][]

An array of payment methods that are currently accepted for this Plan. These are the high-level payment processors that are eligible to be used. This list is dynamically generated based on the plan amount, plan currency, the status of the account's connected payout accounts, and any processor specific enable/disable toggles. The acceptable values are: stripe, coinbase, free, paypal, sezzle, splitit, platform_balance, multi_psp

stock
integer

The amount of stock left in the Plan

unlimited_stock
boolean

Whether or not the Plan offers unlimited stock

created_at
integer

The time at which the Plan was created. Measured in seconds since the Unix epoch.

access_pass
string

Access Pass has been deprecated for Product. Please use product instead and do not use access_pass.

card_payments
boolean

Whether or not card payments are allowed for this plan.

custom_fields
object[]

An array of Custom Field objects that collect additional information from customers during checkout, commonly used with checkout questions.

description
string

A short description of the Plan

allow_multiple_quantity
boolean

Marks whether customers can purchase multiple quantity of the Plan.

coinbase_commerce_accepted
boolean

Whether or not Coinbase Commerce payments are accepted. If disabled, it will never show. If enabled, it will be shown if the purchase meets the correct configuration requirements.

splitit_accepted
boolean

Whether or not Splitit payments are allowed. If disabled, it will never show. If enabled, it will be shown if the purchase meets the correct configuration requirements.

platform_balance_accepted
boolean

Whether or not Platform Balance payments are allowed. If disabled, it will never show. If enabled, it will be shown if the purchase meets the correct configuration requirements.

expiration_days
integer

The interval at which the Plan charges (expiration plans).

grace_period_days
integer

The time period (in days) after a Membership expires where the customer can still top-up.

one_per_user
boolean

Marks whether or not a Plan can be purchased multiple times by a user. Used most likely for free trial plans. Default is false

refillable
boolean

Marks whether an expiration Plan can/can't be topped-up.

The short link identifier for the Plan.

trial_period_days
integer

The number of free trial days added before a renewal Plan.

paypal_accepted
boolean

Marks whether paypal payments are/aren't accepted.

split_pay_required_payments
integer

The number of payments required before pausing the subscription.

ach_payments
boolean

Whether or not ACH payments are accepted

cancel_collab_passes
boolean

Whether or not to cancel dependant collab passes if a user loses access to this one. Default is true

cancel_discount_intervals
integer

Number of billing periods to offer the cancel discount for

cancel_discount_percentage
integer

Cancel discount percentage

offer_cancel_discount
boolean

Whether or not to offer a discount on cancellation

one_per_company
boolean

Marks whether or not a Plan can be purchased multiple times by a company. Used most likely for free trial plans. Default is false

override_tax_type
string

Overrides the default tax behavior