POST
/
v2
/
plans
/
{id}
curl --request POST \
  --url https://api.whop.com/api/v2/plans/{id} \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --data '{
  "stock": 123,
  "unlimited_stock": true,
  "visibility": "visible",
  "allow_multiple_quantity": true,
  "card_payments": true,
  "coinbase_commerce_accepted": true,
  "expiration_days": 123,
  "grace_period_days": 123,
  "initial_price": 123,
  "internal_notes": "<string>",
  "one_per_user": true,
  "pegged_currencies": [
    "<string>"
  ],
  "refillable": true,
  "short_link": "<string>",
  "trial_period_days": 123,
  "metadata": {},
  "paypal_accepted": true
}'
{
  "data": {
    "id": "<string>",
    "product": "<string>",
    "plan_type": "<string>",
    "release_method": "<string>",
    "visibility": "visible",
    "billing_period": 123,
    "internal_notes": "<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
  }
}

Headers

Authorization
string
required

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_*************

Body

application/json
stock
integer

The amount of stock left in the Plan

unlimited_stock
boolean

Whether or not the Plan offers unlimited stock

visibility
enum<string>

The level of visibility of the Plan

Available options:
visible,
hidden,
archived,
quick_link
allow_multiple_quantity
boolean

Marks whether customers can purchase multiple quantity of the Plan.

card_payments
boolean

Deprecated. Please use accepted_payment_methods instead.

coinbase_commerce_accepted
boolean

Whether or not Coinbase Commerce payments are accepted.

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.

initial_price
number

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

internal_notes
string

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

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

pegged_currencies
string[]

An array of currencies that will be pegged to the base currency

refillable
boolean

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

short_link
string

The short link identifier for the Plan.

trial_period_days
integer

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

metadata
object

A key value pair of metadata. Whatever you put on here will be assigned to any memberships that are created on this plan

paypal_accepted
boolean

Marks whether paypal payments are/aren't accepted.

Response

201 - application/json
data
object

Plan model