POST
/
products
Create Product
curl --request POST \
  --url https://api.whop.com/api/v1/products \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "access_pass_type": "regular",
  "banner_image": {
    "direct_upload_id": "<string>",
    "id": "<string>"
  },
  "business_type": "education_program",
  "company_id": "biz_xxxxxxxxxxxxxx",
  "custom_cta": "get_access",
  "custom_cta_url": "<string>",
  "custom_statement_descriptor": "<string>",
  "description": "<string>",
  "experience_ids": [
    "<string>"
  ],
  "global_affiliate_percentage": 6.9,
  "global_affiliate_status": "enabled",
  "headline": "<string>",
  "industry_type": "trading",
  "member_affiliate_percentage": 6.9,
  "member_affiliate_status": "enabled",
  "plan_options": {
    "base_currency": "usd",
    "billing_period": 42,
    "custom_fields": [
      {
        "field_type": "<string>",
        "id": "<string>",
        "name": "<string>",
        "order": 42,
        "placeholder": "<string>",
        "required": true
      }
    ],
    "initial_price": 6.9,
    "plan_type": "renewal",
    "release_method": "buy_now",
    "renewal_price": 6.9,
    "visibility": "visible"
  },
  "product_highlights": [
    {
      "content": "<string>",
      "highlight_type": "qualification",
      "title": "<string>"
    }
  ],
  "product_tax_code_id": "ptc_xxxxxxxxxxxxxx",
  "redirect_purchase_url": "<string>",
  "route": "<string>",
  "title": "<string>",
  "visibility": "visible"
}'
{
  "id": "prod_xxxxxxxxxxxxx",
  "title": "<string>",
  "visibility": "visible",
  "headline": "<string>",
  "verified": true,
  "business_type": "education_program",
  "industry_type": "trading",
  "created_at": 1701406800,
  "updated_at": 1701406800,
  "member_count": 42,
  "route": "<string>",
  "published_reviews_count": 42,
  "description": "<string>",
  "custom_cta": "get_access",
  "custom_cta_url": "<string>",
  "custom_statement_descriptor": "<string>",
  "global_affiliate_percentage": 6.9,
  "global_affiliate_status": "enabled",
  "member_affiliate_percentage": 6.9,
  "member_affiliate_status": "enabled",
  "product_tax_code": {
    "id": "ptc_xxxxxxxxxxxxxx",
    "name": "<string>",
    "product_type": "physical"
  },
  "owner_user": {
    "id": "user_xxxxxxxxxxxxx",
    "username": "<string>",
    "name": "<string>"
  },
  "company": {
    "id": "biz_xxxxxxxxxxxxxx",
    "route": "<string>",
    "title": "<string>"
  }
}

Authorizations

Authorization
string
header
required

The app API key from an app from the /dashboard/developer page

Body

application/json

Parameters for CreateAccessPass

company_id
string
required

The ID of the company to create the access pass for.

Example:

"biz_xxxxxxxxxxxxxx"

title
string
required

The title of the access pass.

access_pass_type
enum<string> | null

The type of access pass being created. The type determines how its displayed and used across Whop. There are special types for handling apps, experience upsells, and other features. Defaults to 'regular'. The different types an access pass can be.

Available options:
regular,
app,
experience_upsell,
api_only
banner_image
object | null

A banner image for the access pass in png, jpeg format

business_type
enum<string> | null

The business type of the access pass. The different business types a company can be.

Available options:
education_program,
coaching,
software,
paid_group,
newsletter,
agency,
physical_products,
brick_and_mortar,
events,
coaching_and_courses,
other,
saas,
course,
community
custom_cta
enum<string> | null

The custom call to action for the access pass. The different types of custom CTAs that can be selected.

Available options:
get_access,
join,
order_now,
shop_now,
call_now,
donate_now,
contact_us,
sign_up,
subscribe,
purchase,
get_offer,
apply_now,
complete_order
custom_cta_url
string | null

The custom call to action URL for the access pass.

custom_statement_descriptor
string | null

The custom statement descriptor for the access pass i.e. WHOP*SPORTS, must be between 5 and 22 characters, contain at least one letter, and not contain any of the following characters: <, >, , ', "

description
string | null

A written description of the access pass.

experience_ids
string[] | null

An array of experience IDs that this pass has

Represents a unique identifier that is Base64 obfuscated. It is often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "VXNlci0xMA==") or integer (such as 4) input value will be accepted as an ID.

global_affiliate_percentage
number | null

The percentage of the revenue that goes to the global affiliate program.

Example:

6.9

global_affiliate_status
enum<string> | null

The status of the global affiliate program for this access pass. The different statuses of the global affiliate program for an access pass.

Available options:
enabled,
disabled
headline
string | null

The headline of the access pass.

industry_type
enum<string> | null

The industry type of the access pass. The different industry types a company can be in.

Available options:
trading,
sports_betting,
reselling,
fitness,
amazon_fba,
real_estate,
kindle_book_publishing,
dating,
agencies,
health_and_wellness,
social_media,
sales,
business,
ecommerce,
video_games,
home_services,
ai,
public_speaking,
personal_finance,
careers,
travel,
clipping,
spirituality,
vas,
personal_development,
software,
other,
marketing_agency,
sales_agency,
ai_agency,
design_agency,
coaching_agency,
development_agency,
recruiting_agency,
customer_support_agency,
clipping_agency,
clothing,
supplements,
beauty_and_personal_care,
fitness_gear,
accessories,
home_goods,
electronics_and_gadgets,
food_and_beverages,
gym,
restaurant,
retail_store,
coffee_shop,
salon_spa,
medical_dentist_office,
hotel_lodging,
auto_repair_shop,
masterminds,
webinars,
bootcamps,
convention,
concerts,
meetups,
parties
member_affiliate_percentage
number | null

The percentage of the revenue that goes to the member affiliate program.

Example:

6.9

member_affiliate_status
enum<string> | null

The status of the member affiliate program for this access pass. The different statuses of the global affiliate program for an access pass.

Available options:
enabled,
disabled
plan_options
object | null

The details to assign an autogenerated plan.

product_highlights
object[] | null

The product highlights for the access pass.

product_tax_code_id
string | null

The ID of the product tax code to apply to this access pass.

Example:

"ptc_xxxxxxxxxxxxxx"

redirect_purchase_url
string | null

The URL to redirect the customer to after a purchase.

route
string | null

The route of the access pass.

visibility
enum<string> | null

This access pass will/will not be displayed publicly. Visibility of a resource

Available options:
visible,
hidden,
archived,
quick_link

Response

A successful response

An object representing a (sanitized) access pass.

id
string
required

The internal ID of the public access pass.

Example:

"prod_xxxxxxxxxxxxx"

title
string
required

The title of the access pass. Use for Whop 4.0.

visibility
enum<string> | null
required

This access pass will/will not be displayed publicly. Visibility of a resource

Available options:
visible,
hidden,
archived,
quick_link
headline
string | null
required

The headline of the access pass.

verified
boolean
required

Whether this product is Whop verified.

business_type
enum<string> | null
required

The type of business the company is. The different business types a company can be.

Available options:
education_program,
coaching,
software,
paid_group,
newsletter,
agency,
physical_products,
brick_and_mortar,
events,
coaching_and_courses,
other,
saas,
course,
community
industry_type
enum<string> | null
required

The specific industry the company operates in. The different industry types a company can be in.

Available options:
trading,
sports_betting,
reselling,
fitness,
amazon_fba,
real_estate,
kindle_book_publishing,
dating,
agencies,
health_and_wellness,
social_media,
sales,
business,
ecommerce,
video_games,
home_services,
ai,
public_speaking,
personal_finance,
careers,
travel,
clipping,
spirituality,
vas,
personal_development,
software,
other,
marketing_agency,
sales_agency,
ai_agency,
design_agency,
coaching_agency,
development_agency,
recruiting_agency,
customer_support_agency,
clipping_agency,
clothing,
supplements,
beauty_and_personal_care,
fitness_gear,
accessories,
home_goods,
electronics_and_gadgets,
food_and_beverages,
gym,
restaurant,
retail_store,
coffee_shop,
salon_spa,
medical_dentist_office,
hotel_lodging,
auto_repair_shop,
masterminds,
webinars,
bootcamps,
convention,
concerts,
meetups,
parties
created_at
integer
required

When the access pass was created.

Example:

1701406800

updated_at
integer
required

When the access pass was updated.

Example:

1701406800

member_count
integer
required

The number of active users for this access pass.

Example:

42

route
string
required

The route of the access pass.

published_reviews_count
integer
required

The number of reviews that have been published for the access pass.

Example:

42

description
string | null
required

A short description of what the company offers or does.

custom_cta
enum<string> | null
required

The custom call to action for the access pass. The different types of custom CTAs that can be selected.

Available options:
get_access,
join,
order_now,
shop_now,
call_now,
donate_now,
contact_us,
sign_up,
subscribe,
purchase,
get_offer,
apply_now,
complete_order
custom_cta_url
string | null
required

The custom call to action URL for the access pass, if any.

custom_statement_descriptor
string | null
required

The custom statement descriptor for the access pass.

global_affiliate_percentage
number | null
required

The percentage of a transaction a user is eligible to earn from the whop marketplace global affiliate program.

Example:

6.9

global_affiliate_status
enum<string> | null
required

The status of the global affiliate program for this access pass. The different statuses of the global affiliate program for an access pass.

Available options:
enabled,
disabled
member_affiliate_percentage
number | null
required

The percentage of a transaction a user is eligible to earn from the whop marketplace member affiliate program.

Example:

6.9

member_affiliate_status
enum<string> | null
required

The status of the member affiliate program for this access pass. The different statuses of the global affiliate program for an access pass.

Available options:
enabled,
disabled
product_tax_code
object | null
required

The product tax code for the access pass, if any.

owner_user
object
required

The user that owns the access pass (company owner).

company
object
required

A short type of the company that this access pass belongs to.