@whop/cli 0.14.3 → 0.15.0

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whop/cli",
3
- "version": "0.14.3",
3
+ "version": "0.15.0",
4
4
  "description": "The Whop CLI — build and manage Whop apps from your terminal. Human and agent friendly.",
5
5
  "keywords": [
6
6
  "agent",
@@ -110,9 +110,9 @@ Retrieve Account Preferences
110
110
 
111
111
  ---
112
112
 
113
- # whop accounts recommend_actions
113
+ # whop accounts reserves
114
114
 
115
- List Recommended Actions
115
+ List Account Reserves
116
116
 
117
117
  ## Options
118
118
 
@@ -122,15 +122,20 @@ List Recommended Actions
122
122
 
123
123
  ---
124
124
 
125
- # whop accounts reserves
125
+ # whop accounts transfer_ownership
126
126
 
127
- List Account Reserves
127
+ Transfer Account Ownership
128
128
 
129
129
  ## Options
130
130
 
131
131
  | Flag | Type | Required | Default | Description |
132
132
  |------|------|----------|---------|-------------|
133
133
  | `--account_id` | `string` | no | | Account ID, prefixed `biz_`. |
134
+ | `--as_partner` | `boolean` | no | | If true, the current owner is credited as the account's Whop partner, earning partner commission on its sales. Requires the current owner to already be an enrolled Whop partner. Skipped if the account already has an active partner. |
135
+ | `--identifier` | `string` | yes | | The user to transfer ownership to: a user ID (`user_*`) or an email address. An email address with no Whop account yet is sent an invite to create one. |
136
+ | `--idempotency-key` | `string` | no | | A unique key that makes this request safe to retry. See [Idempotent requests](https://docs.whop.com/developer/api/idempotency). |
137
+
138
+ > Confirm with the user before executing this destructive command.
134
139
 
135
140
  ---
136
141
 
@@ -145,21 +150,21 @@ Update Account
145
150
  | `--account_id` | `string` | no | | Account ID, prefixed `biz_`. |
146
151
  | `--affiliate_application_required` | `boolean` | no | | Whether prospective affiliates must submit an application before promoting this account. |
147
152
  | `--affiliate_instructions` | `unknown` | no | | Guidelines shown to affiliates promoting this account. |
148
- | `--banner_image` | `unknown` | no | | Attachment input for the account banner image. |
153
+ | `--banner_image` | `unknown` | no | | Account banner image, used as the cover photo when creating a Whop-managed Facebook page. Image files up to 10 MB, except `image/gif`. Pass a JSON object containing an `id` from [Create File](/api-reference/files/create-file). |
149
154
  | `--business_address` | `object` | no | | Account business address used to calculate tax. A complete address in a supported country is required when `tax_remitted_by` is `self`. |
150
155
  | `--business_type` | `unknown` | no | | High-level business category for the account. See the [business types and industries glossary](/api-reference/beta/accounts/account#business-types-and-industries-glossary) for valid values. |
151
156
  | `--collect_vat_id` | `boolean` | no | | Whether checkout shows a VAT/tax ID field for buyers to optionally enter. Does not require a VAT ID to purchase. |
152
157
  | `--country` | `unknown` | no | | Country where the account is located. |
153
- | `--description` | `unknown` | no | | Account promotional description. |
158
+ | `--description` | `unknown` | no | | Account promotional description. When creating a Whop-managed Facebook page, it is truncated to 155 characters and used as the About text. |
154
159
  | `--featured_affiliate_product_id` | `unknown` | no | | The ID of the product to feature for affiliates. Pass `null` to clear. |
155
160
  | `--home_preferences` | `array` | no | | Public account home page preferences. |
156
161
  | `--industry_group` | `unknown` | no | | Account industry group. See the [business types and industries glossary](/api-reference/beta/accounts/account#business-types-and-industries-glossary) for valid values. |
157
162
  | `--industry_type` | `unknown` | no | | Specific industry vertical for the account. See the [business types and industries glossary](/api-reference/beta/accounts/account#business-types-and-industries-glossary) for valid values. |
158
163
  | `--invoice_prefix` | `unknown` | no | | Prefix used for account invoices. |
159
- | `--logo` | `unknown` | no | | Attachment input for the account logo. |
164
+ | `--logo` | `unknown` | no | | Account logo, used as the profile picture when creating a Whop-managed Facebook page. Image files up to 5 MB. Pass a JSON object containing an `id` from [Create File](/api-reference/files/create-file). |
160
165
  | `--metadata` | `object` | no | | Arbitrary key/value metadata to store on the account. |
161
166
  | `--onboarding_type` | `unknown` | no | | The type of onboarding the account has completed. |
162
- | `--opengraph_image` | `unknown` | no | | Attachment input for the account Open Graph image. |
167
+ | `--opengraph_image` | `unknown` | no | | Open Graph preview media used when the account is shared. Image and video files up to 5 MB. Pass a JSON object containing an `id` from [Create File](/api-reference/files/create-file). |
163
168
  | `--opengraph_image_variant` | `unknown` | no | | The account Open Graph image variant. |
164
169
  | `--other_business_description` | `unknown` | no | | The description of the business type when business_type is other. |
165
170
  | `--other_industry_description` | `unknown` | no | | The description of the industry type when industry_type is other. |
@@ -177,6 +182,7 @@ Update Account
177
182
  | `--tax_identifiers` | `array` | no | | Account tax/VAT registrations to add or update. When `tax_remitted_by` is `self`, tax is calculated and collected only in the countries where the account holds a registration. |
178
183
  | `--tax_remitted_by` | `string` | no | | Determines whether Whop or the account calculates and remits tax. The account must provide a supported-country business address when it self-remits. |
179
184
  | `--tax_type` | `string` | no | | Determines whether tax is included in the listed price or added at checkout. |
185
+ | `--three_ds_level` | `string` | no | | Account-level 3D Secure behavior. Set `mandate_challenge` to require cardholder verification on supported card payments, or `null` to use the standard checkout flow. |
180
186
  | `--title` | `unknown` | no | | The display name of the account. |
181
187
  | `--use_logo_as_opengraph_image_fallback` | `boolean` | no | | Whether the account uses its logo as the fallback Open Graph image. |
182
188
 
@@ -26,13 +26,13 @@ Create an Ad Group
26
26
  | `--conversion_location` | `string` | no | | Where the outcome being optimized for occurs, such as a website visit, social-profile visit, messaging conversation, ad interaction, or lead-form submission. The lead form itself is set on the ad. |
27
27
  | `--demographics` | `object` | no | | Age, gender, and automatic-audience targeting. |
28
28
  | `--desired_cost_per_result` | `number` | no | | Cost per result to aim for (`average_target`) or never exceed (`maximum_target`). |
29
- | `--detailed_targeting` | `object` | no | | Interest, behavior, and demographic targeting, using categories from the ad platform's targeting taxonomy. At most 100 entries per section. Can't be combined with demographics.automatic, and unavailable to campaigns with special_ad_categories. |
29
+ | `--detailed_targeting` | `object` | no | | Interest, behavior, and demographic targeting, using categories from the ad platform's targeting taxonomy. Entries across interests, behaviors, and demographics are OR'd together (anyone matching any entry is reached), matching Ads Manager's detailed-targeting box. At most 100 entries per section. Can't be combined with demographics.automatic, and unavailable to campaigns with special_ad_categories. |
30
30
  | `--devices` | `object` | no | | Device platforms and operating systems to target. |
31
31
  | `--dynamic_creative` | `boolean` | no | | Let the ad platform automatically mix and match this ad group's creatives and copy to find the best-performing combinations. Set at creation; can't be changed afterward. |
32
32
  | `--ends_at` | `string` | no | | When the ad group stops delivering, as an ISO 8601 timestamp. Omit to run until paused. |
33
- | `--frequency_cap` | `object` | no | | Cap on how often one person sees ads from this ad group. Only available with `reach` optimization. |
33
+ | `--frequency_cap` | `object` | no | | Cap on how often one person sees ads from this ad group. Only available on campaigns with the `awareness` objective. |
34
34
  | `--languages` | `array` | no | | Languages to target, as ISO 639 codes such as `en` or `es`. Empty or omitted targets all languages. |
35
- | `--message_apps` | `array` | no | | Apps the conversation opens in. Required when conversion_location is `messaging`. |
35
+ | `--message_apps` | `array` | no | | Apps the conversation opens in. Required when setting `conversion_location` to `messaging`, and rejected unless the ad group's conversion location is `messaging`. |
36
36
  | `--minimum_daily_spend` | `number` | no | | Minimum the ad group tries to spend each day. |
37
37
  | `--optimization_goal` | `string` | no | | The result the ad group's delivery is optimized to get the most of. |
38
38
  | `--placements` | `unknown` | no | | `automatic` to let the ad platform choose placements, or the list of platforms and positions to target. Omit a platform's positions to target all of them.
@@ -103,7 +103,7 @@ Estimate Ad Group Reach
103
103
  | `--account_id` | `string` | no | | Account to estimate on behalf of. Defaults to the authenticated account. |
104
104
  | `--audiences` | `object` | no | | Saved audiences to deliver to or exclude. Can't be combined with demographics.automatic. |
105
105
  | `--demographics` | `object` | no | | Age, gender, and automatic-audience targeting. |
106
- | `--detailed_targeting` | `object` | no | | Interest, behavior, and demographic targeting, using categories from the ad platform's targeting taxonomy. At most 100 entries per section. Can't be combined with demographics.automatic, and unavailable to campaigns with special_ad_categories. |
106
+ | `--detailed_targeting` | `object` | no | | Interest, behavior, and demographic targeting, using categories from the ad platform's targeting taxonomy. Entries across interests, behaviors, and demographics are OR'd together (anyone matching any entry is reached), matching Ads Manager's detailed-targeting box. At most 100 entries per section. Can't be combined with demographics.automatic, and unavailable to campaigns with special_ad_categories. |
107
107
  | `--devices` | `object` | no | | Device platforms and operating systems to target. |
108
108
  | `--languages` | `array` | no | | Languages to target, as ISO 639 codes such as `en` or `es`. Empty or omitted targets all languages. |
109
109
  | `--platform` | `string` | yes | | The ad network the estimate runs on. |
@@ -193,7 +193,7 @@ Search Targeting Options
193
193
  |------|------|----------|---------|-------------|
194
194
  | `--account_id` | `string` | no | | Account to search on behalf of. Defaults to the authenticated account. |
195
195
  | `--platform` | `string` | yes | | The ad network whose targeting taxonomy to search. |
196
- | `--query` | `string` | no | | The search term. Blank browses the fixed lists; interests and locations return nothing without one. |
196
+ | `--query` | `string` | no | | The search term. Blank browses the fixed lists; interests, work employers, job titles, schools, majors, and locations return nothing without one. |
197
197
  | `--types` | `array` | no | | Kinds of targeting options to search. Defaults to all of them. |
198
198
  | `--location_types` | `array` | no | | Narrow location results to these kinds of places. Only applies when `types` includes `locations`. |
199
199
  | `--country` | `string` | no | | Narrow location results to one country, as an ISO 3166-1 code such as `US`. Only applies when `types` includes `locations`. |
@@ -243,12 +243,12 @@ Update an Ad Group
243
243
  | `--conversion_location` | `string` | no | | Where the outcome being optimized for occurs, such as a website visit, social-profile visit, messaging conversation, ad interaction, or lead-form submission. The lead form itself is set on the ad. |
244
244
  | `--demographics` | `object` | no | | Age, gender, and automatic-audience targeting. |
245
245
  | `--desired_cost_per_result` | `number` | no | | Cost per result to aim for (`average_target`) or never exceed (`maximum_target`). |
246
- | `--detailed_targeting` | `object` | no | | Interest, behavior, and demographic targeting, using categories from the ad platform's targeting taxonomy. At most 100 entries per section. Can't be combined with demographics.automatic, and unavailable to campaigns with special_ad_categories. |
246
+ | `--detailed_targeting` | `object` | no | | Interest, behavior, and demographic targeting, using categories from the ad platform's targeting taxonomy. Entries across interests, behaviors, and demographics are OR'd together (anyone matching any entry is reached), matching Ads Manager's detailed-targeting box. At most 100 entries per section. Can't be combined with demographics.automatic, and unavailable to campaigns with special_ad_categories. |
247
247
  | `--devices` | `object` | no | | Device platforms and operating systems to target. |
248
248
  | `--ends_at` | `string` | no | | When the ad group stops delivering, as an ISO 8601 timestamp. Omit to run until paused. |
249
- | `--frequency_cap` | `object` | no | | Cap on how often one person sees ads from this ad group. Only available with `reach` optimization. |
249
+ | `--frequency_cap` | `object` | no | | Cap on how often one person sees ads from this ad group. Only available on campaigns with the `awareness` objective. |
250
250
  | `--languages` | `array` | no | | Languages to target, as ISO 639 codes such as `en` or `es`. Empty or omitted targets all languages. |
251
- | `--message_apps` | `array` | no | | Apps the conversation opens in. Required when conversion_location is `messaging`. |
251
+ | `--message_apps` | `array` | no | | Apps the conversation opens in. Required when setting `conversion_location` to `messaging`, and rejected unless the ad group's conversion location is `messaging`. |
252
252
  | `--minimum_daily_spend` | `number` | no | | Minimum the ad group tries to spend each day. |
253
253
  | `--optimization_goal` | `string` | no | | The result the ad group's delivery is optimized to get the most of. |
254
254
  | `--placements` | `unknown` | no | | `automatic` to let the ad platform choose placements, or the list of platforms and positions to target. Omit a platform's positions to target all of them.
@@ -17,6 +17,7 @@ Create API Key
17
17
 
18
18
  | Flag | Type | Required | Default | Description |
19
19
  |------|------|----------|---------|-------------|
20
+ | `--api_version_date` | `string` | no | | Dated API version used when requests authenticated with this key omit the `Api-Version-Date` header. New keys default to the latest version. |
20
21
  | `--expires_at` | `unknown` | no | | When the API key should stop working, as an ISO 8601 timestamp. Omit (or pass `null` on update) for a key that never expires. |
21
22
  | `--ip_allowlist` | `unknown` | no | | IPv4/IPv6 CIDR ranges allowed to use this key, for example `["203.0.113.0/24"]`. Empty or `null` allows any IP. |
22
23
  | `--name` | `string` | yes | | A human-readable name for the API key, such as 'Production API Key'. |
@@ -116,6 +117,7 @@ Update API Key
116
117
 
117
118
  | Flag | Type | Required | Default | Description |
118
119
  |------|------|----------|---------|-------------|
120
+ | `--api_version_date` | `string` | no | | Dated API version used when requests authenticated with this key omit the `Api-Version-Date` header. New keys default to the latest version. |
119
121
  | `--expires_at` | `unknown` | no | | When the API key should stop working, as an ISO 8601 timestamp. Omit (or pass `null` on update) for a key that never expires. |
120
122
  | `--ip_allowlist` | `unknown` | no | | IPv4/IPv6 CIDR ranges allowed to use this key, for example `["203.0.113.0/24"]`. Empty or `null` allows any IP. |
121
123
  | `--name` | `unknown` | no | | A new human-readable name for the API key. |
@@ -18,6 +18,7 @@ Create App
18
18
  | Flag | Type | Required | Default | Description |
19
19
  |------|------|----------|---------|-------------|
20
20
  | `--account_id` | `string` | no | | The account to create the app for (`biz_` tag). Defaults to the account behind the presented credential. |
21
+ | `--app_type` | `string` | no | | The type of app to create. Defaults to `b2c_app`. |
21
22
  | `--base_url` | `unknown` | no | | The base production URL where the app is hosted, such as `https://myapp.example.com`. |
22
23
  | `--icon` | `object` | no | | The icon image for the app in PNG, JPEG, or GIF format, referencing an uploaded file: `{ id }` for an existing attachment or `{ direct_upload_id }` for a new direct upload. |
23
24
  | `--name` | `string` | yes | | The display name for the app, shown to users on the app store and product pages. |
@@ -29,6 +30,20 @@ Create App
29
30
 
30
31
  ---
31
32
 
33
+ # whop apps delete
34
+
35
+ Delete App
36
+
37
+ ## Arguments
38
+
39
+ | Name | Type | Required | Description |
40
+ |------|------|----------|-------------|
41
+ | `id` | `string` | yes | App ID (prefixed `app_`), the app's claimed route, or its proxy domain id. |
42
+
43
+ > Confirm with the user before executing this destructive command.
44
+
45
+ ---
46
+
32
47
  # whop apps get
33
48
 
34
49
  Retrieve App
@@ -50,7 +65,7 @@ List Apps
50
65
  | Flag | Type | Required | Default | Description |
51
66
  |------|------|----------|---------|-------------|
52
67
  | `--account_id` | `string` | no | | Only return apps created by this account (`biz_` tag). With developer access to the account this includes its unlisted and hidden apps. |
53
- | `--app_type` | `string` | no | | Filter apps by the type of end-user they are built for. |
68
+ | `--app_type` | `string` | no | | Filter apps by the type of end-user they are built for. Apps of type `website` are left out unless you ask for them by name. |
54
69
  | `--view_type` | `string` | no | | Only return apps supporting this view type, such as `dashboard` or `hub`. |
55
70
  | `--verified_apps_only` | `boolean` | no | | Whether to only return apps verified by Whop. |
56
71
  | `--query` | `string` | no | | A search string matched against app names. |
@@ -123,8 +138,8 @@ Update App
123
138
  | Flag | Type | Required | Default | Description |
124
139
  |------|------|----------|---------|-------------|
125
140
  | `--app_store_description` | `string` | no | | The detailed description shown on the app store's in-depth app view page. |
126
- | `--app_type` | `string` | no | | The type of end-user the app is built for. |
127
- | `--base_url` | `string` | no | | The base production URL where the app is hosted. |
141
+ | `--app_type` | `string` | no | | The type of end-user the app is built for. Cannot be changed on an app whose type is already `website`. |
142
+ | `--base_url` | `unknown` | no | | The base production URL where the app is hosted. Set to `null` to take the app proxy offline. |
128
143
  | `--dashboard_path` | `unknown` | no | | The URL path for the account dashboard view. |
129
144
  | `--description` | `string` | no | | A short description of the app shown in listings and search results. |
130
145
  | `--discover_path` | `unknown` | no | | The URL path for the discover view. |
@@ -90,6 +90,32 @@ List Bounties
90
90
 
91
91
  ---
92
92
 
93
+ # whop bounties submissions
94
+
95
+ List Public Submissions
96
+
97
+ ## Arguments
98
+
99
+ | Name | Type | Required | Description |
100
+ |------|------|----------|-------------|
101
+ | `bounty_id` | `string` | yes | The bounty whose public submissions to list (`bnty_` tag). |
102
+
103
+ ## Options
104
+
105
+ | Flag | Type | Required | Default | Description |
106
+ |------|------|----------|---------|-------------|
107
+ | `--status` | `string` | no | | Filter by lifecycle state. |
108
+ | `--created_after` | `string` | no | | Only submissions created after this ISO 8601 timestamp. |
109
+ | `--created_before` | `string` | no | | Only submissions created before this ISO 8601 timestamp. |
110
+ | `--order` | `string` | no | | Sort field. |
111
+ | `--direction` | `string` | no | | Sort direction. |
112
+ | `--first` | `number` | no | `20` | Number of submissions to return from the start of the window. |
113
+ | `--after` | `string` | no | | Cursor to paginate forwards from. |
114
+ | `--last` | `number` | no | | Number of submissions to return from the end of the window. |
115
+ | `--before` | `string` | no | | Cursor to paginate backwards from. |
116
+
117
+ ---
118
+
93
119
  # whop bounties update
94
120
 
95
121
  Update Bounty
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: whop-dispute-alerts
3
+ description: Issuer warnings that arrive before a chargeback does. Run `whop dispute-alerts --help` for usage details.
4
+ requires_bin: whop
5
+ command: whop dispute-alerts
6
+ ---
7
+
8
+ A Dispute alert is an early warning from a card issuer that a settled payment is being questioned, ahead of any chargeback. `type` separates fraud reports (`early_fraud_warning`), pre-dispute notices (`dispute_alert`), and Visa RDR cases the network already closed by refunding (`rapid_dispute_resolution`).
9
+
10
+ Use the Dispute alerts API to list alerts for an account, filter them by type or payment, and read `actionable` to see whether refunding can still avoid the chargeback.
11
+
12
+ # whop dispute-alerts get
13
+
14
+ Retrieve Dispute Alert
15
+
16
+ ## Arguments
17
+
18
+ | Name | Type | Required | Description |
19
+ |------|------|----------|-------------|
20
+ | `id` | `string` | yes | The dispute alert ID, prefixed `dspa_`. |
21
+
22
+ ---
23
+
24
+ # whop dispute-alerts list
25
+
26
+ List Dispute Alerts
27
+
28
+ ## Options
29
+
30
+ | Flag | Type | Required | Default | Description |
31
+ |------|------|----------|---------|-------------|
32
+ | `--account_id` | `string` | no | | Only alerts on this account's payments (`biz_` tag). Omit it to cover every account you can read. |
33
+ | `--payment_id` | `string` | no | | Only alerts on this payment (`pay_` tag). A payment can carry several. |
34
+ | `--type` | `string` | no | | Only alerts of this kind. `early_fraud_warning` for issuer fraud reports, `dispute_alert` for pre-dispute notices, `rapid_dispute_resolution` for Visa RDR cases the network already closed. |
35
+ | `--first` | `number` | no | | The number of alerts to return (default 20, max 100). |
36
+ | `--after` | `string` | no | | A cursor; returns alerts after this position. |
37
+ | `--last` | `number` | no | | The number of alerts to return from the end of the range. |
38
+ | `--before` | `string` | no | | A cursor; returns alerts before this position. |
39
+ | `--order` | `string` | no | | The field to sort alerts by. |
40
+ | `--direction` | `string` | no | | Sort direction. |
41
+ | `--created_before` | `string` | no | | Only alerts Whop received before this ISO 8601 timestamp. |
42
+ | `--created_after` | `string` | no | | Only alerts Whop received after this ISO 8601 timestamp. |
@@ -5,9 +5,9 @@ requires_bin: whop
5
5
  command: whop disputes
6
6
  ---
7
7
 
8
- A Dispute is a chargeback a customer files against a payment through their bank, or a pre-dispute inquiry that may become one. It carries the disputed payment, a deadline to respond, the evidence packet you send to the payment processor, and the outcome once the processor rules.
8
+ A Dispute is a chargeback a customer files against a payment through their bank, or an inquiry that may become one. It carries the disputed payment, a deadline to respond, your evidence, and the outcome once the processor rules.
9
9
 
10
- Disputes are opened by the customer's bank, never through the API, so you can read them but not create or delete them. Use the Disputes API to list and filter disputes, summarize them by status and currency for a queue view, edit the evidence packet while the dispute is still contestable, and submit that evidence for review.
10
+ Use the Disputes API to list disputes, edit the evidence packet while a dispute is still contestable, and submit it for review.
11
11
 
12
12
  # whop disputes get
13
13
 
@@ -83,7 +83,7 @@ Retrieve the pulse feed
83
83
 
84
84
  | Flag | Type | Required | Default | Description |
85
85
  |------|------|----------|---------|-------------|
86
- | `--event` | `string` | no | | Filter to one or more types, comma separated — for example `withdrawal,card_spend`. These are the item's `type`, not its `event_name`: several types share the `ledger_line.created` event name. Omit for every type in the feed. Values outside the feed's own set are rejected. |
86
+ | `--event` | `string` | no | | Filter to one or more types, comma separated — for example `purchase,card_spend`. These are the item's `type`, not its `event_name`: several types share the `ledger_line.created` event name. Omit for every type in the feed. Values outside the feed's own set are rejected. |
87
87
  | `--first` | `number` | no | | The number of events to return. |
88
88
  | `--after` | `string` | no | | A cursor for fetching events after a previous page. |
89
89
  | `--before` | `string` | no | | A cursor for fetching events before a later page. |
@@ -22,7 +22,7 @@ Create Export
22
22
  | `--filters` | `object` | no | | Resource-specific filters. For native REST resources (`payouts`, `transfers`, `memberships`) these are the resource's own list query params; for dashboard tables they mirror the dashboard table filters.
23
23
 
24
24
  <details>
25
- <summary>Filters by resource (22)</summary>
25
+ <summary>Filters by resource (25)</summary>
26
26
 
27
27
  <details>
28
28
  <summary>ad_campaigns (4)</summary>
@@ -62,6 +62,17 @@ Mirrors the filtering query params of `GET /api/v1/ads`.
62
62
  - `query` `string` — Filter ads by a title or ID substring.
63
63
  - `status` `string` — Only return ads with this status. One of `active`, `paused`, `in_review`, `rejected`.
64
64
 
65
+ </details>
66
+ <details>
67
+ <summary>apps (4)</summary>
68
+
69
+ Mirrors the filtering query params of `GET /api/v1/apps`.
70
+
71
+ - `app_type` `string` — Filter apps by the type of end-user they are built for. Apps of type `website` are left out unless you ask for them by name. One of `b2b_app`, `b2c_app`, `company_app`, `component`, `website`.
72
+ - `query` `string` — A search string matched against app names.
73
+ - `verified_apps_only` `boolean` — Whether to only return apps verified by Whop.
74
+ - `view_type` `string` — Only return apps supporting this view type, such as `dashboard` or `hub`. One of `hub`, `discover`, `dash`, `dashboard`, `analytics`, `skills`, `openapi`.
75
+
65
76
  </details>
66
77
  <details>
67
78
  <summary>audiences (3)</summary>
@@ -95,6 +106,29 @@ Mirrors the filtering query params of `GET /api/v1/bounty_submissions`.
95
106
  - `created_before` `string` — Only submissions created before this ISO 8601 timestamp.
96
107
  - `status` `string` — Filter by lifecycle state. One of `in_progress`, `submitted`, `approved`, `denied`.
97
108
 
109
+ </details>
110
+ <details>
111
+ <summary>card_transactions (6)</summary>
112
+
113
+ Mirrors the filtering query params of `GET /api/v1/card_transactions`.
114
+
115
+ - `card_id` `string[]` — Return only transactions charged to these cards, each prefixed `icrd_`.
116
+ - `cardholder_id` `string[]` — Return only transactions on cards assigned to these users, each prefixed `user_`.
117
+ - `created_after` `string` — Return only transactions authorized at or after this ISO 8601 timestamp.
118
+ - `created_before` `string` — Return only transactions authorized at or before this ISO 8601 timestamp.
119
+ - `status` `string` — Return only transactions with this status. One of `pending`, `completed`, `reversed`, `declined`.
120
+ - `transaction_ids` `string[]` — Return only these card transactions, each prefixed `citx_`. Repeat the parameter, or pass one comma-separated value.
121
+
122
+ </details>
123
+ <details>
124
+ <summary>checkout_configurations (3)</summary>
125
+
126
+ Mirrors the filtering query params of `GET /api/v1/checkout_configurations`.
127
+
128
+ - `created_after` `string` — Only return checkout configurations created after this ISO 8601 timestamp.
129
+ - `created_before` `string` — Only return checkout configurations created before this ISO 8601 timestamp.
130
+ - `plan_id` `string` — Only return checkout configurations for this plan ID, prefixed `plan_`.
131
+
98
132
  </details>
99
133
  <details>
100
134
  <summary>disputes (4)</summary>
@@ -129,7 +163,7 @@ Mirrors the filtering query params of `GET /api/v1/events`.
129
163
 
130
164
  </details>
131
165
  <details>
132
- <summary>financial-activity (8)</summary>
166
+ <summary>financial-activity (9)</summary>
133
167
 
134
168
  Mirrors the filtering query params of `GET /api/v1/financial-activity`.
135
169
 
@@ -137,6 +171,7 @@ Mirrors the filtering query params of `GET /api/v1/financial-activity`.
137
171
  - `available_before` `string` — Only include rows whose funds became withdrawable on or before this `YYYY-MM-DD` settlement date (UTC). Set equal to available_after for a single day. Requires currency.
138
172
  - `currency` `string` — Optional currency code filter, for example `usd`.
139
173
  - `include_owned_accounts` `boolean` — When true, aggregates the authenticated user's personal ledger with the businesses they own (owner role with balance read) into one feed. Requires user_id to be the authenticated user; cannot be combined with account_id or the settlement-date filters. Each returned row includes the owning `account`.
174
+ - `include_resource` `boolean` — Whether to include the `resource` field in the response or not. Consider passing `false` if you need a fast response without as many rich details.
140
175
  - `line_types` `string[]` — Optional ledger line categories to include. Some categories (for example `onchain_deposit`, which covers inbound crypto deposits such as MoonPay onramps) are only returned when explicitly requested here.
141
176
  - `posted_after` `string` — Only include rows posted after this ISO 8601 timestamp.
142
177
  - `posted_before` `string` — Only include rows posted before this ISO 8601 timestamp.
@@ -20,6 +20,7 @@ List Financial Activity
20
20
  | `--account_id` | `string` | no | | The owning account ID (a biz_ identifier). Provide this or user_id. |
21
21
  | `--user_id` | `string` | no | | The owning user ID (a user_ identifier). Provide this or account_id. |
22
22
  | `--include_owned_accounts` | `boolean` | no | | When true, aggregates the authenticated user's personal ledger with the businesses they own (owner role with balance read) into one feed. Requires user_id to be the authenticated user; cannot be combined with account_id or the settlement-date filters. Each returned row includes the owning `account`. |
23
+ | `--include_resource` | `boolean` | no | `true` | Whether to include the `resource` field in the response or not. Consider passing `false` if you need a fast response without as many rich details. |
23
24
  | `--line_types` | `array` | no | | Optional ledger line categories to include. Some categories (for example `onchain_deposit`, which covers inbound crypto deposits such as MoonPay onramps) are only returned when explicitly requested here. |
24
25
  | `--currency` | `string` | no | | Optional currency code filter, for example `usd`. |
25
26
  | `--posted_after` | `string` | no | | Only include rows posted after this ISO 8601 timestamp. |
@@ -7,7 +7,7 @@ command: whop memberships
7
7
 
8
8
  A Membership is a customer's purchase of a plan: the subscription or one-time grant that gives them access to a product. It tracks billing state (`active`, `trialing`, `past_due`, and so on), the current period, pending cancellations, custom metadata, and the software license key when the product includes licensing.
9
9
 
10
- Use the Memberships API to list an account's memberships or the caller's own, retrieve one by ID or license key, and manage the lifecycle: cancel immediately or at period end, reverse a scheduled period-end cancellation, pause and resume payment collection, extend with free days, and update metadata.
10
+ Use the Memberships API to list an account's memberships or the caller's own, retrieve one by ID or license key, invite a recipient to join through a free plan, and manage the lifecycle: cancel immediately or at period end, reverse a scheduled period-end cancellation, pause and resume payment collection, extend with free days, and update metadata.
11
11
 
12
12
  # whop memberships cancel
13
13
 
@@ -63,6 +63,23 @@ Retrieve Membership
63
63
 
64
64
  ---
65
65
 
66
+ # whop memberships invite
67
+
68
+ Invite to a Membership
69
+
70
+ ## Options
71
+
72
+ | Flag | Type | Required | Default | Description |
73
+ |------|------|----------|---------|-------------|
74
+ | `--email` | `string` | no | | Recipient email address. Mutually exclusive with `user_id`. |
75
+ | `--plan_id` | `string` | yes | | Free plan whose membership the recipient is invited to, prefixed `plan_`. |
76
+ | `--user_id` | `string` | no | | Recipient user ID, prefixed `user_`. Mutually exclusive with `email`. |
77
+ | `--idempotency-key` | `string` | no | | A unique key that makes this request safe to retry. See [Idempotent requests](https://docs.whop.com/developer/api/idempotency). |
78
+
79
+ > Confirm with the user before executing this destructive command.
80
+
81
+ ---
82
+
66
83
  # whop memberships list
67
84
 
68
85
  List Memberships
@@ -0,0 +1,93 @@
1
+ ---
2
+ name: whop-payment-method-domains
3
+ description: Domains verified to show wallet payment methods like Apple Pay at checkout. Run `whop payment-method-domains --help` for usage details.
4
+ requires_bin: whop
5
+ command: whop payment-method-domains
6
+ ---
7
+
8
+ A Payment Method Domain registers a hostname with a wallet provider so its payment methods can appear at a checkout served from that domain. The domain proves ownership by hosting the provider's association file — for Apple Pay, at `/.well-known/apple-developer-merchantid-domain-association` — and `status` reports whether verification has completed.
9
+
10
+ Use the Payment Method Domains API to register domains for your account or its connected accounts, retry verification once the association file is hosted, and remove domains that should no longer serve wallet payments. A domain a platform shares with its connected accounts at checkout is listed on the platform's account, not on each connected account.
11
+
12
+ # whop payment-method-domains create
13
+
14
+ Create Payment Method Domain
15
+
16
+ ## Options
17
+
18
+ | Flag | Type | Required | Default | Description |
19
+ |------|------|----------|---------|-------------|
20
+ | `--account_id` | `string` | no | | Account to register the domain for (`biz_` tag). Defaults to the caller's account. |
21
+ | `--hostname` | `string` | yes | | Hostname to register (e.g. `checkout.example.com`). |
22
+ | `--idempotency-key` | `string` | no | | A unique key that makes this request safe to retry. See [Idempotent requests](https://docs.whop.com/developer/api/idempotency). |
23
+
24
+ > Confirm with the user before executing this destructive command.
25
+
26
+ ---
27
+
28
+ # whop payment-method-domains delete
29
+
30
+ Delete Payment Method Domain
31
+
32
+ ## Arguments
33
+
34
+ | Name | Type | Required | Description |
35
+ |------|------|----------|-------------|
36
+ | `id` | `string` | yes | The unique identifier of the payment method domain, prefixed `pmd_`. |
37
+
38
+ > Confirm with the user before executing this destructive command.
39
+
40
+ ---
41
+
42
+ # whop payment-method-domains get
43
+
44
+ Retrieve Payment Method Domain
45
+
46
+ ## Arguments
47
+
48
+ | Name | Type | Required | Description |
49
+ |------|------|----------|-------------|
50
+ | `id` | `string` | yes | The unique identifier of the payment method domain, prefixed `pmd_`. |
51
+
52
+ ---
53
+
54
+ # whop payment-method-domains list
55
+
56
+ List Payment Method Domains
57
+
58
+ ## Options
59
+
60
+ | Flag | Type | Required | Default | Description |
61
+ |------|------|----------|---------|-------------|
62
+ | `--account_id` | `string` | no | | Only domains registered for this account (`biz_` tag). Defaults to the caller's account plus its connected accounts. |
63
+ | `--hostname` | `string` | no | | Only the domain with this exact hostname. |
64
+ | `--status` | `string` | no | | Only domains with this verification status. |
65
+ | `--provider` | `string` | no | | Only domains registered with this wallet provider. |
66
+ | `--created_before` | `string` | no | | Only domains created before this ISO 8601 timestamp. |
67
+ | `--created_after` | `string` | no | | Only domains created after this ISO 8601 timestamp. |
68
+ | `--order` | `string` | no | | Sort field. |
69
+ | `--direction` | `string` | no | | Sort direction. |
70
+ | `--first` | `number` | no | `20` | Number of domains to return from the start of the window. |
71
+ | `--after` | `string` | no | | Cursor to paginate forwards from. |
72
+ | `--last` | `number` | no | | Number of domains to return from the end of the window. |
73
+ | `--before` | `string` | no | | Cursor to paginate backwards from. |
74
+
75
+ ---
76
+
77
+ # whop payment-method-domains verify
78
+
79
+ Verify Payment Method Domain
80
+
81
+ ## Arguments
82
+
83
+ | Name | Type | Required | Description |
84
+ |------|------|----------|-------------|
85
+ | `id` | `string` | yes | The unique identifier of the payment method domain, prefixed `pmd_`. |
86
+
87
+ ## Options
88
+
89
+ | Flag | Type | Required | Default | Description |
90
+ |------|------|----------|---------|-------------|
91
+ | `--idempotency-key` | `string` | no | | A unique key that makes this request safe to retry. See [Idempotent requests](https://docs.whop.com/developer/api/idempotency). |
92
+
93
+ > Confirm with the user before executing this destructive command.
@@ -7,7 +7,7 @@ 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 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 and track payouts, manage saved payout methods, and show expected arrival details for funds leaving Whop.
11
11
 
12
12
  # whop payouts create
13
13
 
@@ -17,10 +17,16 @@ Create Payout
17
17
 
18
18
  | Flag | Type | Required | Default | Description |
19
19
  |------|------|----------|---------|-------------|
20
- | `--account_id` | `string` | yes | | The account to pay out from (a biz_ identifier). |
20
+ | `--account_id` | `string` | no | | Account to pay out from, prefixed `biz_`. Provide exactly one of `account_id` or `user_id`. |
21
+ | `--acknowledge_bank_warning` | `boolean` | no | | Set to `true` to continue when the destination bank could not confirm the payout method account holder's name, or `false` to have the payout refused in that case so the account holder can correct the name or link their bank first. Omitting the field skips the warning gate — a client that cannot show the warning keeps its pre-gate behavior. |
21
22
  | `--amount` | `number` | yes | | The amount to pay out in the specified currency. |
22
- | `--currency` | `string` | no | | The payout currency. Defaults to usd. |
23
+ | `--currency` | `string` | no | | The currency to pay out. Balances are held per currency and the payout draws only from the balance in this currency, so match the currency the funds arrived in — for example `cad` for an account funded by CAD transfers. Defaults to `usd`. |
24
+ | `--idempotency_key` | `unknown` | no | | A unique key that makes retries safe. Retrying with the same key returns the original payout instead of paying out twice. Also accepted as the `Idempotency-Key` header. |
25
+ | `--notes` | `unknown` | no | | Free-form notes to attach to the payout, with a maximum of 255 characters. Omit or pass `null` for no notes. |
23
26
  | `--payout_method_id` | `string` | yes | | The saved payout method to deliver to (a potk_ identifier). |
27
+ | `--platform_covers_fees` | `boolean` | no | | Whether the parent platform covers the payout fee instead of the account being paid out. Omit to use the platform's configured fee coverage policy; pass `false` to opt out of it. `true` is only accepted for accounts that belong to a platform, and requires the platform's policy to cover this payout method's category or a caller authorized to manage the platform's child account fees. |
28
+ | `--speed` | `string` | no | | How fast the funds should arrive. `instant` is only accepted when the account and payout method are eligible; otherwise the payout is rejected. |
29
+ | `--user_id` | `string` | no | | User to pay out from, prefixed `user_`. Provide exactly one of `account_id` or `user_id`. |
24
30
  | `--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
31
 
26
32
  > Confirm with the user before executing this destructive command.
@@ -35,13 +41,13 @@ Create Saved Payout Method
35
41
 
36
42
  | Flag | Type | Required | Default | Description |
37
43
  |------|------|----------|---------|-------------|
38
- | `--account_id` | `string` | no | | The account to add the payout method for (a biz_ identifier). Provide this or user_id. |
44
+ | `--account_id` | `string` | no | | The account to add the payout method for, prefixed `biz_`. Provide this or `user_id`. |
39
45
  | `--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. |
46
+ | `--fields` | `object` | no | | 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. For a U.S. bank routing-number field, a raw nine-digit value must also pass the ABA checksum. A validation failure returns the method's full required_fields schema alongside the error. Required whenever the account details are supplied directly. |
41
47
  | `--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. |
48
+ | `--nickname` | `string` | no | | A label for the payout method, unique per destination. |
43
49
  | `--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. |
50
+ | `--user_id` | `string` | no | | The user to add the payout method for, prefixed `user_`. Provide this or `account_id`. |
45
51
  | `--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
52
 
47
53
  > Confirm with the user before executing this destructive command.
@@ -62,6 +68,25 @@ Delete Saved Payout Method
62
68
 
63
69
  ---
64
70
 
71
+ # whop payouts get
72
+
73
+ Retrieve Payout
74
+
75
+ ## Arguments
76
+
77
+ | Name | Type | Required | Description |
78
+ |------|------|----------|-------------|
79
+ | `payout_id` | `string` | yes | Payout ID, prefixed `wdrl_` for a payout returned by `GET /payouts` or `cofr_` for the payout request returned by `POST /payouts`. |
80
+
81
+ ## Options
82
+
83
+ | Flag | Type | Required | Default | Description |
84
+ |------|------|----------|---------|-------------|
85
+ | `--account_id` | `string` | no | | Owning account ID, prefixed `biz_`. Provide exactly one of `account_id` or `user_id`. |
86
+ | `--user_id` | `string` | no | | Owning user ID, prefixed `user_`. Provide exactly one of `account_id` or `user_id`. |
87
+
88
+ ---
89
+
65
90
  # whop payouts list
66
91
 
67
92
  List Payouts
@@ -137,6 +162,6 @@ Rename Saved Payout Method
137
162
 
138
163
  | Flag | Type | Required | Default | Description |
139
164
  |------|------|----------|---------|-------------|
140
- | `--nickname` | `string` | yes | | New label for the payout method. |
165
+ | `--nickname` | `string` | yes | | New label for the payout method, with at least one non-whitespace character and a maximum of 100 characters. |
141
166
 
142
167
  > Confirm with the user before executing this destructive command.