@whop/cli 0.14.0 → 0.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +2 -2
  2. package/dist/index.js +25130 -10229
  3. package/dist/index.js.map +1 -1
  4. package/package.json +2 -2
  5. package/skills/whop-accounts/SKILL.md +195 -15
  6. package/skills/whop-ad-campaigns/SKILL.md +193 -15
  7. package/skills/whop-ad-groups/SKILL.md +258 -16
  8. package/skills/whop-ads/SKILL.md +190 -14
  9. package/skills/whop-api-keys/SKILL.md +112 -12
  10. package/skills/whop-app-builds/SKILL.md +68 -8
  11. package/skills/whop-apps/SKILL.md +135 -12
  12. package/skills/whop-audiences/SKILL.md +71 -8
  13. package/skills/whop-bounties/SKILL.md +104 -9
  14. package/skills/whop-bounty-submissions/SKILL.md +82 -9
  15. package/skills/whop-cards/SKILL.md +120 -8
  16. package/skills/whop-checkout-configurations/SKILL.md +64 -8
  17. package/skills/whop-deposits/SKILL.md +13 -5
  18. package/skills/whop-disputes/SKILL.md +86 -9
  19. package/skills/whop-events/SKILL.md +90 -8
  20. package/skills/whop-exports/SKILL.md +329 -7
  21. package/skills/whop-ledgers/SKILL.md +38 -6
  22. package/skills/whop-media/SKILL.md +28 -7
  23. package/skills/whop-members/SKILL.md +51 -6
  24. package/skills/whop-memberships/SKILL.md +137 -13
  25. package/skills/whop-notifications/SKILL.md +91 -12
  26. package/skills/whop-partners/SKILL.md +102 -12
  27. package/skills/whop-payouts/SKILL.md +130 -9
  28. package/skills/whop-people/SKILL.md +50 -6
  29. package/skills/whop-permissions/SKILL.md +8 -5
  30. package/skills/whop-plans/SKILL.md +152 -12
  31. package/skills/whop-products/SKILL.md +141 -13
  32. package/skills/whop-resolution-center-cases/SKILL.md +222 -17
  33. package/skills/whop-shipments/SKILL.md +66 -8
  34. package/skills/whop-social-accounts/SKILL.md +112 -11
  35. package/skills/whop-stats/SKILL.md +50 -6
  36. package/skills/whop-swaps/SKILL.md +63 -8
  37. package/skills/whop-team-members/SKILL.md +80 -9
  38. package/skills/whop-transfers/SKILL.md +67 -8
  39. package/skills/whop-users/SKILL.md +271 -18
  40. package/skills/whop-verifications/SKILL.md +51 -9
@@ -7,15 +7,136 @@ command: whop payouts
7
7
 
8
8
  Payouts represent money sent from an account or user balance to an external destination, such as a bank account, wallet, or other saved payout method.
9
9
 
10
- Use the Payouts API to create payouts from stablecoin accounts, list payout history for accounts or users, monitor payout statuses, and show expected arrival details for funds leaving Whop.
10
+ Use the Payouts API to create payouts from accounts, list payout history for accounts or users, monitor payout statuses, and show expected arrival details for funds leaving Whop.
11
11
 
12
- ## Commands
12
+ # whop payouts create
13
13
 
14
- | Command | Description |
15
- |---------|-------------|
16
- | `whop payouts list` | List Payouts |
17
- | `whop payouts create` | Create Payout |
18
- | `whop payouts methods` | List Payout Methods |
19
- | `whop payouts create-method` | Create Payout Method |
14
+ Create Payout
20
15
 
21
- Run `whop payouts <command> --help` for options, or `whop payouts <command> --schema` for full argument details.
16
+ ## Options
17
+
18
+ | Flag | Type | Required | Default | Description |
19
+ |------|------|----------|---------|-------------|
20
+ | `--account_id` | `string` | yes | | The account to pay out from (a biz_ identifier). |
21
+ | `--amount` | `number` | yes | | The amount to pay out in the specified currency. |
22
+ | `--currency` | `string` | no | | The payout currency. Defaults to usd. |
23
+ | `--payout_method_id` | `string` | yes | | The saved payout method to deliver to (a potk_ identifier). |
24
+ | `--idempotency-key` | `string` | no | | A unique key that makes this request safe to retry. See [Idempotent requests](https://docs.whop.com/developer/api/idempotency). |
25
+
26
+ > Confirm with the user before executing this destructive command.
27
+
28
+ ---
29
+
30
+ # whop payouts create-method
31
+
32
+ Create Saved Payout Method
33
+
34
+ ## Options
35
+
36
+ | Flag | Type | Required | Default | Description |
37
+ |------|------|----------|---------|-------------|
38
+ | `--account_id` | `string` | no | | The account to add the payout method for (a biz_ identifier). Provide this or user_id. |
39
+ | `--destination_currency` | `string` | no | `usd` | Currency the supported payout method delivers payouts in. |
40
+ | `--fields` | `object` | yes | | The supported payout method's required field values, keyed by field id — list them with `GET /payouts/supported_methods?supported_payout_method_id=...`. A Basis Theory token id may be passed in place of a raw value. A validation failure returns the method's full required_fields schema alongside the error. |
41
+ | `--is_default` | `boolean` | no | `false` | Whether to make this the account's default payout method. |
42
+ | `--nickname` | `string` | yes | | A label for the payout method, unique per destination. |
43
+ | `--supported_payout_method_id` | `string` | yes | | The supported payout method to save (a podst_ identifier from a previous listing). |
44
+ | `--user_id` | `string` | no | | The user to add the payout method for (a user_ identifier). Provide this or account_id. |
45
+ | `--idempotency-key` | `string` | no | | A unique key that makes this request safe to retry. See [Idempotent requests](https://docs.whop.com/developer/api/idempotency). |
46
+
47
+ > Confirm with the user before executing this destructive command.
48
+
49
+ ---
50
+
51
+ # whop payouts delete-method
52
+
53
+ Delete Saved Payout Method
54
+
55
+ ## Arguments
56
+
57
+ | Name | Type | Required | Description |
58
+ |------|------|----------|-------------|
59
+ | `payout_method_id` | `string` | yes | Payout method ID, prefixed `potk_`. |
60
+
61
+ > Confirm with the user before executing this destructive command.
62
+
63
+ ---
64
+
65
+ # whop payouts list
66
+
67
+ List Payouts
68
+
69
+ ## Options
70
+
71
+ | Flag | Type | Required | Default | Description |
72
+ |------|------|----------|---------|-------------|
73
+ | `--account_id` | `string` | no | | The owning account ID (a biz_ identifier). Provide this or user_id. |
74
+ | `--user_id` | `string` | no | | The owning user ID (a user_ identifier). Provide this or account_id. |
75
+ | `--currency` | `string` | no | | Optional currency code filter, for example `usd`. |
76
+ | `--first` | `number` | no | `20` | Number of payouts to return from the start of the window. |
77
+ | `--after` | `string` | no | | Cursor to fetch the page after (from page_info.end_cursor). |
78
+ | `--last` | `number` | no | | Number of payouts to return from the end of the window. |
79
+ | `--before` | `string` | no | | Cursor to fetch the page before (from page_info.start_cursor). |
80
+
81
+ ---
82
+
83
+ # whop payouts methods
84
+
85
+ List Saved Payout Methods
86
+
87
+ ## Options
88
+
89
+ | Flag | Type | Required | Default | Description |
90
+ |------|------|----------|---------|-------------|
91
+ | `--account_id` | `string` | no | | The owning account ID (a biz_ identifier). Provide this or user_id. |
92
+ | `--user_id` | `string` | no | | The owning user ID (a user_ identifier). Provide this or account_id. |
93
+ | `--status` | `string` | no | | Optional status filter. `created` means saved but unused, `active` means a payout through it succeeded, `broken` means the last payout failed and the method needs fixing. |
94
+ | `--amount` | `number` | no | | Optional withdrawal amount in whole currency units, for example `250.00`. When provided, each method includes a quote with the estimated fee, amount received, and delivery date for that amount. |
95
+ | `--currency` | `string` | no | `usd` | Currency code of the amount, for example `usd`. Only meaningful with amount or include_limits. |
96
+ | `--include_limits` | `boolean` | no | `false` | When true, the response also carries limits — the live per-speed payout caps the account's payout requests are validated against, in the requested currency. Requires the payout:withdrawal:read scope. |
97
+ | `--first` | `number` | no | `20` | Number of payout methods to return from the start of the window. |
98
+ | `--after` | `string` | no | | Cursor to fetch the page after (from page_info.end_cursor). |
99
+ | `--last` | `number` | no | | Number of payout methods to return from the end of the window. |
100
+ | `--before` | `string` | no | | Cursor to fetch the page before (from page_info.start_cursor). |
101
+
102
+ ---
103
+
104
+ # whop payouts supported-methods
105
+
106
+ List Supported Payout Methods
107
+
108
+ ## Options
109
+
110
+ | Flag | Type | Required | Default | Description |
111
+ |------|------|----------|---------|-------------|
112
+ | `--account_id` | `string` | no | | The owning account ID (a biz_ identifier). Provide this or user_id. |
113
+ | `--user_id` | `string` | no | | The owning user ID (a user_ identifier). Provide this or account_id. |
114
+ | `--country` | `string` | no | | ISO 3166-1 alpha-2 country code for the bank account or wallet, such as `US`. Defaults to the payout account's country. |
115
+ | `--amount` | `number` | no | | Optional withdrawal amount in whole currency units, for example `250.00`. When provided, each destination includes per-currency fee and delivery quotes. |
116
+ | `--currency` | `string` | no | `usd` | Currency code of the amount, for example `usd`. Only meaningful with amount. |
117
+ | `--supported_payout_method_id` | `string` | no | | Narrows the list to one supported payout method (a podst_ identifier) and includes the required_fields needed to save it as a payout method. |
118
+ | `--destination_currency` | `string` | no | `usd` | Currency the supported payout method would deliver payouts in. Only meaningful with supported_payout_method_id; required fields vary by destination currency. |
119
+ | `--first` | `number` | no | `20` | Number of supported payout methods to return from the start of the window. |
120
+ | `--after` | `string` | no | | Cursor to fetch the page after (from page_info.end_cursor). |
121
+ | `--last` | `number` | no | | Number of supported payout methods to return from the end of the window. |
122
+ | `--before` | `string` | no | | Cursor to fetch the page before (from page_info.start_cursor). |
123
+
124
+ ---
125
+
126
+ # whop payouts update-method
127
+
128
+ Rename Saved Payout Method
129
+
130
+ ## Arguments
131
+
132
+ | Name | Type | Required | Description |
133
+ |------|------|----------|-------------|
134
+ | `payout_method_id` | `string` | yes | Payout method ID, prefixed `potk_`. |
135
+
136
+ ## Options
137
+
138
+ | Flag | Type | Required | Default | Description |
139
+ |------|------|----------|---------|-------------|
140
+ | `--nickname` | `string` | yes | | New label for the payout method. |
141
+
142
+ > Confirm with the user before executing this destructive command.
@@ -9,11 +9,55 @@ A Person is an identity-linked profile of a visitor or customer of an account, a
9
9
 
10
10
  Use the People API to list and segment the people of an account — filter by activity, purchases, traffic source, location, or marketing touch, and sort by value — or retrieve one person by person ID, user ID, email address, or phone number.
11
11
 
12
- ## Commands
12
+ # whop people get
13
13
 
14
- | Command | Description |
15
- |---------|-------------|
16
- | `whop people list` | List People |
17
- | `whop people get` | Retrieve Person |
14
+ Retrieve Person
18
15
 
19
- Run `whop people <command> --help` for options, or `whop people <command> --schema` for full argument details.
16
+ ## Arguments
17
+
18
+ | Name | Type | Required | Description |
19
+ |------|------|----------|-------------|
20
+ | `person_id` | `string` | yes | The person ID, user ID, email address, or phone number to look up. |
21
+
22
+ ## Options
23
+
24
+ | Flag | Type | Required | Default | Description |
25
+ |------|------|----------|---------|-------------|
26
+ | `--account_id` | `string` | no | | Account ID, prefixed `biz_`. Optional for account API keys; required for credentials that can access multiple accounts. |
27
+
28
+ ---
29
+
30
+ # whop people list
31
+
32
+ List People
33
+
34
+ ## Options
35
+
36
+ | Flag | Type | Required | Default | Description |
37
+ |------|------|----------|---------|-------------|
38
+ | `--account_id` | `string` | no | | Account ID, prefixed `biz_`. Optional for account API keys; required for credentials that can access multiple accounts. |
39
+ | `--query` | `string` | no | | Search people by name, email, phone, or whop user ID (case-insensitive substring match). |
40
+ | `--source` | `array` | no | | Only include people acquired from any of these sources — canonical paths (whop:<campaign>:<group>:<ad>, ext:<platform>:..., referrer:<domain>, direct, other), exact or with a trailing :* prefix. The same vocabulary the events / people metrics use. |
41
+ | `--attribution_model` | `string` | no | | Attribution model the source filter matches against (defaults to last_touch). |
42
+ | `--event_name` | `array` | no | | Only include people who fired any of these events, e.g. payment.completed or page.checkout.view. |
43
+ | `--custom_event` | `string` | no | | Only include people who fired this custom pixel event. |
44
+ | `--event_from` | `string` | no | | With event_to plus an event or source filter, switches to exact-population mode: person ids are resolved and paginated on the events side within this window (the same query the people metric counts), then hydrated per page. |
45
+ | `--event_to` | `string` | no | | The inclusive end of the event window for exact-population mode. |
46
+ | `--audience_id` | `string` | no | | Only include people in this audience. An audience that keeps itself up to date resolves to the People filters that define it, so this always reflects who matches now; uploaded lists and point-in-time snapshots match their recorded members. |
47
+ | `--user_id` | `string` | no | | Only include the person linked to this whop user ID. |
48
+ | `--email` | `string` | no | | Only include the person linked to this email address. |
49
+ | `--phone` | `string` | no | | Only include the person linked to this phone number. |
50
+ | `--country` | `string` | no | | Only include people whose most recent visit came from this ISO 3166-1 alpha-2 country code. |
51
+ | `--has_purchased` | `boolean` | no | | true for customers only, false for people who have never purchased. |
52
+ | `--contactable` | `boolean` | no | | true for people who have an email address or phone number — the ones an ad platform can match. |
53
+ | `--first_seen_within_days` | `number` | no | | Only include people first seen within this many days, as a rolling window. |
54
+ | `--last_seen_within_days` | `number` | no | | Only include people last seen within this many days, as a rolling window. |
55
+ | `--first_seen_after` | `string` | no | | Only include people first seen at or after this ISO 8601 timestamp. |
56
+ | `--first_seen_before` | `string` | no | | Only include people first seen before this ISO 8601 timestamp. |
57
+ | `--last_seen_after` | `string` | no | | Only include people last seen at or after this ISO 8601 timestamp. |
58
+ | `--last_seen_before` | `string` | no | | Only include people last seen before this ISO 8601 timestamp. |
59
+ | `--first` | `number` | no | | The number of people to return (default 100, max 100). |
60
+ | `--after` | `string` | no | | A cursor for fetching people after a previous page. |
61
+ | `--before` | `string` | no | | A cursor for fetching people before a later page. |
62
+ | `--order` | `string` | no | | Column to sort by. Defaults to last_seen_at. |
63
+ | `--direction` | `string` | no | | Sort direction. Defaults to desc. |
@@ -9,10 +9,13 @@ A Permission is one action, such as `stats:read`, paired with whether your crede
9
9
 
10
10
  Use the Permissions API to check an account, product, experience, or app, narrowing to the actions you care about. It reports only your own access — to manage who else can reach an account, use the Team Members API.
11
11
 
12
- ## Commands
12
+ # whop permissions check
13
13
 
14
- | Command | Description |
15
- |---------|-------------|
16
- | `whop permissions check` | Check Permissions |
14
+ Check Permissions
17
15
 
18
- Run `whop permissions <command> --help` for options, or `whop permissions <command> --schema` for full argument details.
16
+ ## Options
17
+
18
+ | Flag | Type | Required | Default | Description |
19
+ |------|------|----------|---------|-------------|
20
+ | `--resource_id` | `string` | yes | | Tag of the resource to check against: an account (`biz_`), product (`prod_`), experience (`exp_`), or app (`app_`). A resource the credential cannot see is reported as granted nothing rather than as an error. |
21
+ | `--actions` | `string` | no | | Comma-separated permission actions to check, for example `stats:read,payment:basic:read`. Every action is returned when omitted. |
@@ -9,15 +9,155 @@ A Plan defines how customers buy a product. It controls pricing, billing cadence
9
9
 
10
10
  Use the Plans API to create plans for products, list existing plans, retrieve or update plan configuration, calculate tax for checkout, and delete plans that should no longer be offered.
11
11
 
12
- ## Commands
13
-
14
- | Command | Description |
15
- |---------|-------------|
16
- | `whop plans list` | List Plans |
17
- | `whop plans create` | Create Plan |
18
- | `whop plans delete` | Delete Plan |
19
- | `whop plans get` | Retrieve Plan |
20
- | `whop plans update` | Update Plan |
21
- | `whop plans calculate_tax` | Calculate Tax |
22
-
23
- Run `whop plans <command> --help` for options, or `whop plans <command> --schema` for full argument details.
12
+ # whop plans calculate_tax
13
+
14
+ Calculate Tax
15
+
16
+ ## Arguments
17
+
18
+ | Name | Type | Required | Description |
19
+ |------|------|----------|-------------|
20
+ | `id` | `string` | yes | Plan ID, prefixed `plan_`. |
21
+
22
+ ## Options
23
+
24
+ | Flag | Type | Required | Default | Description |
25
+ |------|------|----------|---------|-------------|
26
+ | `--address` | `unknown` | no | | Buyer billing address used for tax calculation. Provide either `address.country` or `ip_address`; include state and postal code when available for more accurate results. |
27
+ | `--ip_address` | `string` | no | | Buyer IP address used to infer location when no billing address is provided. |
28
+ | `--tax_ids` | `unknown` | no | | Optional buyer tax ID for B2B exemptions. At most one entry is supported. |
29
+ | `--idempotency-key` | `string` | no | | A unique key that makes this request safe to retry. See [Idempotent requests](https://docs.whop.com/developer/api/idempotency). |
30
+
31
+ > Confirm with the user before executing this destructive command.
32
+
33
+ ---
34
+
35
+ # whop plans create
36
+
37
+ Create Plan
38
+
39
+ ## Options
40
+
41
+ | Flag | Type | Required | Default | Description |
42
+ |------|------|----------|---------|-------------|
43
+ | `--account_id` | `string` | no | | The unique identifier of the account to create this plan for. Defaults to the caller's account. |
44
+ | `--adaptive_pricing_enabled` | `boolean` | no | | Whether this plan accepts local currency payments via adaptive pricing. |
45
+ | `--billing_period` | `number` | no | | Recurring billing interval in days, such as 30 for monthly or 365 for annual. |
46
+ | `--checkout_styling` | `unknown` | no | | Checkout styling overrides for this plan. |
47
+ | `--currency` | `string` | no | | The three-letter ISO currency code for the plan's pricing. Defaults to USD. |
48
+ | `--custom_fields` | `unknown` | no | | An array of custom field definitions to collect from customers at checkout. Omitting this field clears existing custom fields. |
49
+ | `--description` | `unknown` | no | | A text description of the plan displayed to customers on the product page. |
50
+ | `--expiration_days` | `number` | no | | Access duration in days before the membership expires. |
51
+ | `--image` | `unknown` | no | | An image displayed on the product page to represent this plan. |
52
+ | `--initial_price` | `number` | no | | Initial amount charged in the plan's currency, e.g. 10.43 for $10.43. |
53
+ | `--internal_notes` | `unknown` | no | | Private notes visible only to the account owner. Not shown to customers. |
54
+ | `--metadata` | `unknown` | no | | Custom key-value pairs to store on the plan. Included in webhook payloads for payment and membership events. Max 50 keys, 100 chars per key, 500 chars per string value. |
55
+ | `--override_tax_type` | `string` | no | | Override the default tax classification for this specific plan. |
56
+ | `--payment_method_configuration` | `unknown` | no | | Explicit payment method configuration for the plan. When not provided, the account's defaults apply. |
57
+ | `--plan_type` | `string` | no | | Plan billing type, such as `one_time` or `renewal`. |
58
+ | `--product_id` | `string` | no | | The unique identifier of the product to attach this plan to. |
59
+ | `--release_method` | `string` | no | | Sales method for this plan. |
60
+ | `--renewal_price` | `number` | no | | The amount charged each billing period for recurring plans, in the plan's currency. |
61
+ | `--split_pay_required_payments` | `number` | no | | Installment payments required before the subscription pauses. |
62
+ | `--stock` | `number` | no | | The maximum number of units available for purchase. Ignored when unlimited_stock is true. |
63
+ | `--three_ds_level` | `string` | no | | 3D Secure behavior for this plan. Send `null` to inherit the account default. |
64
+ | `--title` | `unknown` | no | | The display name of the plan shown to customers on the product page. |
65
+ | `--trial_period_days` | `number` | no | | Free trial duration before the first recurring charge. |
66
+ | `--unlimited_stock` | `boolean` | no | | Whether the plan has unlimited stock. When true, the stock field is ignored. |
67
+ | `--visibility` | `string` | no | | Whether the plan is visible to customers or hidden from public view. |
68
+ | `--idempotency-key` | `string` | no | | A unique key that makes this request safe to retry. See [Idempotent requests](https://docs.whop.com/developer/api/idempotency). |
69
+
70
+ > Confirm with the user before executing this destructive command.
71
+
72
+ ---
73
+
74
+ # whop plans delete
75
+
76
+ Delete Plan
77
+
78
+ ## Arguments
79
+
80
+ | Name | Type | Required | Description |
81
+ |------|------|----------|-------------|
82
+ | `id` | `string` | yes | Plan ID, prefixed `plan_`. |
83
+
84
+ > Confirm with the user before executing this destructive command.
85
+
86
+ ---
87
+
88
+ # whop plans get
89
+
90
+ Retrieve Plan
91
+
92
+ ## Arguments
93
+
94
+ | Name | Type | Required | Description |
95
+ |------|------|----------|-------------|
96
+ | `id` | `string` | yes | Plan ID, prefixed `plan_`. |
97
+
98
+ ---
99
+
100
+ # whop plans list
101
+
102
+ List Plans
103
+
104
+ ## Options
105
+
106
+ | Flag | Type | Required | Default | Description |
107
+ |------|------|----------|---------|-------------|
108
+ | `--account_id` | `string` | no | | The unique identifier of the account to list plans for. |
109
+ | `--direction` | `string` | no | | The sort direction for results. Defaults to descending. |
110
+ | `--order` | `string` | no | | The field to sort results by. Defaults to created_at. |
111
+ | `--release_methods` | `array` | no | | Filter to only plans matching these release methods. |
112
+ | `--visibilities` | `array` | no | | Filter to only plans matching these visibility states. |
113
+ | `--plan_types` | `array` | no | | Filter to only plans matching these billing types. |
114
+ | `--product_ids` | `array` | no | | Filter to only plans belonging to these product identifiers. |
115
+ | `--created_before` | `string` | no | | Only return plans created before this timestamp. |
116
+ | `--created_after` | `string` | no | | Only return plans created after this timestamp. |
117
+ | `--first` | `number` | no | | The number of plans to return (default and max 100). |
118
+ | `--after` | `string` | no | | A cursor; returns plans after this position. |
119
+ | `--last` | `number` | no | | The number of plans to return from the end of the range. |
120
+ | `--before` | `string` | no | | A cursor; returns plans before this position. |
121
+
122
+ ---
123
+
124
+ # whop plans update
125
+
126
+ Update Plan
127
+
128
+ ## Arguments
129
+
130
+ | Name | Type | Required | Description |
131
+ |------|------|----------|-------------|
132
+ | `id` | `string` | yes | Plan ID, prefixed `plan_`. |
133
+
134
+ ## Options
135
+
136
+ | Flag | Type | Required | Default | Description |
137
+ |------|------|----------|---------|-------------|
138
+ | `--adaptive_pricing_enabled` | `boolean` | no | | Whether this plan accepts local currency payments via adaptive pricing. |
139
+ | `--billing_period` | `number` | no | | Recurring billing interval in days, such as 30 for monthly or 365 for annual. |
140
+ | `--checkout_styling` | `unknown` | no | | Checkout styling overrides for this plan. |
141
+ | `--currency` | `string` | no | | The three-letter ISO currency code for the plan's pricing. Defaults to USD. |
142
+ | `--custom_fields` | `unknown` | no | | An array of custom field definitions to collect from customers at checkout. Omitting this field clears existing custom fields. |
143
+ | `--description` | `unknown` | no | | A text description of the plan displayed to customers on the product page. |
144
+ | `--expiration_days` | `number` | no | | Access duration in days before the membership expires. |
145
+ | `--image` | `unknown` | no | | An image displayed on the product page to represent this plan. |
146
+ | `--initial_price` | `number` | no | | Initial amount charged in the plan's currency, e.g. 10.43 for $10.43. |
147
+ | `--internal_notes` | `unknown` | no | | Private notes visible only to the account owner. Not shown to customers. |
148
+ | `--metadata` | `unknown` | no | | Custom key-value pairs to store on the plan. Included in webhook payloads for payment and membership events. Max 50 keys, 100 chars per key, 500 chars per string value. |
149
+ | `--offer_cancel_discount` | `boolean` | no | | Whether to offer a retention discount when a customer attempts to cancel. |
150
+ | `--override_tax_type` | `string` | no | | Override the default tax classification for this specific plan. |
151
+ | `--payment_method_configuration` | `unknown` | no | | Explicit payment method configuration for the plan. When not provided, the account's defaults apply. |
152
+ | `--release_method` | `string` | no | | Sales method for this plan. |
153
+ | `--renewal_price` | `number` | no | | The amount charged each billing period for recurring plans, in the plan's currency. |
154
+ | `--stock` | `number` | no | | The maximum number of units available for purchase. Ignored when unlimited_stock is true. |
155
+ | `--strike_through_initial_price` | `number` | no | | A comparison price displayed with a strikethrough for the initial price. |
156
+ | `--strike_through_renewal_price` | `number` | no | | A comparison price displayed with a strikethrough for the renewal price. |
157
+ | `--three_ds_level` | `string` | no | | 3D Secure behavior for this plan. Send `null` to inherit the account default. |
158
+ | `--title` | `unknown` | no | | The display name of the plan shown to customers on the product page. |
159
+ | `--trial_period_days` | `number` | no | | Free trial duration before the first recurring charge. |
160
+ | `--unlimited_stock` | `boolean` | no | | Whether the plan has unlimited stock. When true, the stock field is ignored. |
161
+ | `--visibility` | `string` | no | | Whether the plan is visible to customers or hidden from public view. |
162
+
163
+ > Confirm with the user before executing this destructive command.
@@ -9,16 +9,144 @@ A Product is a digital good or service sold on Whop. Products may contain plans
9
9
 
10
10
  Use the Products API to create products, list products visible to your credentials, retrieve product details, update product metadata or merchandising fields, and delete products that should no longer be sold.
11
11
 
12
- ## Commands
13
-
14
- | Command | Description |
15
- |---------|-------------|
16
- | `whop products list` | List Products |
17
- | `whop products create` | Create Product |
18
- | `whop products delete` | Delete Product |
19
- | `whop products get` | Retrieve Product |
20
- | `whop products update` | Update Product |
21
- | `whop products publish` | Publish Product |
22
- | `whop products unpublish` | Unpublish Product |
23
-
24
- Run `whop products <command> --help` for options, or `whop products <command> --schema` for full argument details.
12
+ # whop products create
13
+
14
+ Create Product
15
+
16
+ ## Options
17
+
18
+ | Flag | Type | Required | Default | Description |
19
+ |------|------|----------|---------|-------------|
20
+ | `--account_id` | `string` | no | | The unique identifier of the account to create this product for. |
21
+ | `--collect_shipping_address` | `boolean` | no | | Whether to collect a shipping address at checkout. |
22
+ | `--custom_cta` | `unknown` | no | | The call-to-action button label. |
23
+ | `--custom_cta_url` | `unknown` | no | | A URL the call-to-action button links to. |
24
+ | `--custom_statement_descriptor` | `unknown` | no | | Custom bank statement descriptor. Must start with WHOP*. |
25
+ | `--description` | `unknown` | no | | A written description displayed on the product page. |
26
+ | `--global_affiliate_percentage` | `number` | no | | The commission rate affiliates earn. |
27
+ | `--global_affiliate_status` | `string` | no | | The enrollment status in the global affiliate program. |
28
+ | `--headline` | `unknown` | no | | A short marketing headline for the product page. |
29
+ | `--member_affiliate_percentage` | `number` | no | | The commission rate members earn. |
30
+ | `--member_affiliate_status` | `string` | no | | The enrollment status in the member affiliate program. |
31
+ | `--metadata` | `unknown` | no | | Custom key-value pairs to store on the product. |
32
+ | `--product_tax_code_id` | `unknown` | no | | The unique identifier of the tax classification code. See the available [product categories](https://docs.numeral.com/essentials/product-categories). |
33
+ | `--redirect_purchase_url` | `unknown` | no | | A URL to redirect the customer to after purchase. |
34
+ | `--route` | `unknown` | no | | The URL slug for the product's public link. |
35
+ | `--send_welcome_message` | `boolean` | no | | Whether to send an automated welcome message via support chat when a user joins this product. Defaults to true. |
36
+ | `--title` | `string` | yes | | The display name of the product. Maximum 80 characters. |
37
+ | `--visibility` | `string` | no | | Whether the product is visible to customers. |
38
+ | `--idempotency-key` | `string` | no | | A unique key that makes this request safe to retry. See [Idempotent requests](https://docs.whop.com/developer/api/idempotency). |
39
+
40
+ > Confirm with the user before executing this destructive command.
41
+
42
+ ---
43
+
44
+ # whop products delete
45
+
46
+ Delete Product
47
+
48
+ ## Arguments
49
+
50
+ | Name | Type | Required | Description |
51
+ |------|------|----------|-------------|
52
+ | `id` | `string` | yes | The unique identifier of the product. |
53
+
54
+ > Confirm with the user before executing this destructive command.
55
+
56
+ ---
57
+
58
+ # whop products get
59
+
60
+ Retrieve Product
61
+
62
+ ## Arguments
63
+
64
+ | Name | Type | Required | Description |
65
+ |------|------|----------|-------------|
66
+ | `id` | `string` | yes | The unique identifier of the product. |
67
+
68
+ ---
69
+
70
+ # whop products list
71
+
72
+ List Products
73
+
74
+ ## Options
75
+
76
+ | Flag | Type | Required | Default | Description |
77
+ |------|------|----------|---------|-------------|
78
+ | `--account_id` | `string` | no | | The unique identifier of the account to list products for. |
79
+ | `--visibilities` | `array` | no | | Filter to only products matching these visibility states. |
80
+ | `--access_pass_types` | `array` | no | | Filter to only products matching these types. |
81
+ | `--direction` | `string` | no | | The sort direction for results. Defaults to descending. |
82
+ | `--order` | `string` | no | | The field to sort results by. Defaults to created_at. |
83
+ | `--first` | `number` | no | | The number of products to return (default and max 100). |
84
+ | `--after` | `string` | no | | A cursor; returns products after this position. |
85
+ | `--last` | `number` | no | | The number of products to return from the end of the range. |
86
+ | `--before` | `string` | no | | A cursor; returns products before this position. |
87
+
88
+ ---
89
+
90
+ # whop products publish
91
+
92
+ Publish Product
93
+
94
+ ## Arguments
95
+
96
+ | Name | Type | Required | Description |
97
+ |------|------|----------|-------------|
98
+ | `id` | `string` | yes | The unique identifier of the product, prefixed `prod_`. |
99
+
100
+ ## Options
101
+
102
+ | Flag | Type | Required | Default | Description |
103
+ |------|------|----------|---------|-------------|
104
+ | `--idempotency-key` | `string` | no | | A unique key that makes this request safe to retry. See [Idempotent requests](https://docs.whop.com/developer/api/idempotency). |
105
+
106
+ > Confirm with the user before executing this destructive command.
107
+
108
+ ---
109
+
110
+ # whop products unpublish
111
+
112
+ Unpublish Product
113
+
114
+ ## Arguments
115
+
116
+ | Name | Type | Required | Description |
117
+ |------|------|----------|-------------|
118
+ | `id` | `string` | yes | The unique identifier of the product, prefixed `prod_`. |
119
+
120
+ ## Options
121
+
122
+ | Flag | Type | Required | Default | Description |
123
+ |------|------|----------|---------|-------------|
124
+ | `--idempotency-key` | `string` | no | | A unique key that makes this request safe to retry. See [Idempotent requests](https://docs.whop.com/developer/api/idempotency). |
125
+
126
+ > Confirm with the user before executing this destructive command.
127
+
128
+ ---
129
+
130
+ # whop products update
131
+
132
+ Update Product
133
+
134
+ ## Arguments
135
+
136
+ | Name | Type | Required | Description |
137
+ |------|------|----------|-------------|
138
+ | `id` | `string` | yes | The unique identifier of the product. |
139
+
140
+ ## Options
141
+
142
+ | Flag | Type | Required | Default | Description |
143
+ |------|------|----------|---------|-------------|
144
+ | `--description` | `unknown` | no | | A written description displayed on the product page. |
145
+ | `--headline` | `unknown` | no | | A short marketing headline for the product page. |
146
+ | `--metadata` | `unknown` | no | | Custom key-value pairs to store on the product. |
147
+ | `--product_tax_code_id` | `unknown` | no | | The unique identifier of the tax classification code. See the available [product categories](https://docs.numeral.com/essentials/product-categories). |
148
+ | `--send_welcome_message` | `boolean` | no | | Whether to send an automated welcome message via support chat when a user joins this product. |
149
+ | `--title` | `string` | no | | The display name of the product. |
150
+ | `--visibility` | `string` | no | | Whether the product is visible to customers. |
151
+
152
+ > Confirm with the user before executing this destructive command.