@whop/cli 0.9.0 → 0.9.1

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/dist/index.js CHANGED
@@ -6716,7 +6716,7 @@ var native_spec_default = {
6716
6716
  {
6717
6717
  description: "Stats represent aggregated activity for an account over time. They help you understand revenue, transactions, disputes, members, referrals, and advertising performance across reporting periods like days, weeks, or months.\n\nUse the Stats API to list available metrics and their filterable properties, then retrieve time-series values for a date range.\n",
6718
6718
  name: "Stats",
6719
- "x-whop-summary": "Aggregated account time series for reporting."
6719
+ "x-whop-summary": "Aggregated financial, audience, and traffic reporting."
6720
6720
  },
6721
6721
  {
6722
6722
  description: "A Ledger Activity row is a single financial event on an account's ledger \u2014 a payment, withdrawal, refund, transfer, on-chain deposit, swap, or card transaction. Each row is derived from the underlying ledger lines and carries a typed `resource` and `source` so you can present and link the event without extra lookups.\n\nUse Ledger Activity to build a statement or transaction feed for an account or user. Reconcile against your own records with `amount` (signed, in the currency's smallest precision units) and `posted_at`, and use `available_at` to know when inflows became withdrawable.\n",
@@ -6739,7 +6739,7 @@ var native_spec_default = {
6739
6739
  "x-whop-summary": "Move funds between Whop accounts and users."
6740
6740
  },
6741
6741
  {
6742
- description: "Deposits describe ways to add funds to an account balance, including hosted deposit pages, bank deposit instructions, and supported crypto wallet addresses.\n\nUse the Deposits API to create deposit instructions for an account and retrieve existing bank deposit activity.\n",
6742
+ description: "Deposits describe ways to add funds to an account balance, including hosted deposit pages, bank deposit instructions, and supported crypto wallet addresses.\n\nUse the Deposits API to create deposit instructions for an account.\n",
6743
6743
  name: "Deposits",
6744
6744
  "x-whop-summary": "Add funds to a balance."
6745
6745
  },
@@ -6789,7 +6789,7 @@ var native_spec_default = {
6789
6789
  "x-whop-summary": "Visitors and customers of an account, aggregated from pixel events."
6790
6790
  },
6791
6791
  {
6792
- description: "An Event records conversion or engagement activity for an account, such as page views, purchases, or leads. Each event ties the action to the [person](/api-reference/beta/people/person) who took it, so activity can be attributed to the ads and links that drove it.\n\nUse the Events API to send new tracking events and list the events recorded for a person.\n",
6792
+ description: "An Event records conversion or engagement activity for an account, such as page views, purchases, or leads. Each event ties the action to the [person](/api-reference/beta/people/person) who took it, so activity can be attributed to the ads and links that drove it.\n\nUse the Events API to send new tracking events, list recent identity-linked events for an account, and inspect the events recorded for a person.\n",
6793
6793
  name: "Events",
6794
6794
  "x-whop-summary": "Conversion and engagement events tracked for attribution."
6795
6795
  },
@@ -6883,7 +6883,8 @@ var native_spec_default = {
6883
6883
  name: "Tracking",
6884
6884
  tags: [
6885
6885
  "People",
6886
- "Events"
6886
+ "Events",
6887
+ "Reports"
6887
6888
  ]
6888
6889
  },
6889
6890
  {
@@ -7070,6 +7071,10 @@ var native_spec_default = {
7070
7071
  "application/json": {
7071
7072
  schema: {
7072
7073
  properties: {
7074
+ country: {
7075
+ description: "The ISO 3166-1 alpha-2 country code where the account's business is located (e.g. `US`). Defaults to the parent account's country for connected accounts.",
7076
+ type: "string"
7077
+ },
7073
7078
  email: {
7074
7079
  description: "The email address of the account owner. Required for business account API key requests.",
7075
7080
  type: "string"
@@ -7834,7 +7839,7 @@ var native_spec_default = {
7834
7839
  ]
7835
7840
  },
7836
7841
  patch: {
7837
- description: "Updates the account's preferences. Each top-level key present in the body is replaced as a whole; omitted keys are left untouched. `ads_payment_methods` always requires a `primary` entry. `backup` is optional when the primary is `platform_balance` \u2014 omitting it removes any configured card \u2014 while a `card` primary requires a `platform_balance` backup. A `platform_balance` entry may omit `id` to use the account's default Whop balance. Configuring a `card` requires a user token; account API keys can set up platform-balance billing, remove a configured card, and swap `primary` and `backup`.",
7842
+ description: "Updates the account's preferences. Each top-level key present in the body is replaced as a whole; omitted keys are left untouched. `ads_payment_methods` always requires a `primary` entry. `backup` is optional and any pairing is allowed \u2014 two cards, `card`+`platform_balance`, or a single method \u2014 so a card-only advertiser can fund ads without a platform balance. The `primary` and `backup` must be different sources. A `platform_balance` entry may omit `id` to use the account's default Whop balance. Configuring a `card` requires a user token; account API keys can set up platform-balance billing only.",
7838
7843
  operationId: "update-preferences",
7839
7844
  parameters: [
7840
7845
  {
@@ -7856,7 +7861,7 @@ var native_spec_default = {
7856
7861
  description: "How the account pays for Whop Ads spend. `primary` is charged first; `backup` covers the charge when the primary fails.",
7857
7862
  properties: {
7858
7863
  backup: {
7859
- description: "Optional when the primary is `platform_balance`; omitting it removes any configured card. Required (as `platform_balance`) when the primary is `card`.",
7864
+ description: "Optional second method charged if the primary fails. Any pairing is allowed (two cards, card+balance, balance+card); omit it to run on a single method. Must differ from the primary.",
7860
7865
  properties: {
7861
7866
  id: {
7862
7867
  description: "The funding source ID: a Whop balance (`ldgr_`) for `platform_balance`, or a payment method (`payt_`) for `card`. Optional for `platform_balance` \u2014 defaults to the account's default Whop balance. Required for `card`.",
@@ -11269,7 +11274,7 @@ var native_spec_default = {
11269
11274
  },
11270
11275
  "/bounties": {
11271
11276
  get: {
11272
- description: "Lists bounties visible to the credential. Account API keys return the account's bounties, scheduled drafts included; user tokens return the bounties the user can see and work. Pass account_id to view one account's bounties as a team member (or a connected account of the caller's), or user_id (your own) to list the bounties you participated in.",
11277
+ description: "Lists bounties visible to the credential \u2014 for an account API key, the account's bounties including scheduled drafts; for a user token, the bounties the user can see and work.",
11273
11278
  operationId: "list",
11274
11279
  parameters: [
11275
11280
  {
@@ -11482,7 +11487,7 @@ var native_spec_default = {
11482
11487
  ]
11483
11488
  },
11484
11489
  post: {
11485
- description: "Creates a bounty and escrows its pool (gross_reward_amount times accepted_submissions_limit) from the poster's balance, or an account balance the caller may move funds for (account_id). A user credential posts as itself; a company API key posts as the account's owner. Publishes immediately, or a recurring scheduled draft with publish_at. Every bounty is anchored in a forum: a company-funded bounty defaults to the account's public forum; a personal one must pass experience_id.",
11490
+ description: "Creates a bounty and escrows its reward pool. Publishes immediately, or as a scheduled draft when you set `publish_at`.",
11486
11491
  operationId: "create",
11487
11492
  parameters: [
11488
11493
  {
@@ -11518,19 +11523,6 @@ var native_spec_default = {
11518
11523
  "null"
11519
11524
  ]
11520
11525
  },
11521
- business_goal_type: {
11522
- description: "What the poster wants the work to achieve.",
11523
- enum: [
11524
- "clipping",
11525
- "post_engagement",
11526
- "owned_account_growth",
11527
- "ugc_content",
11528
- "local_activation",
11529
- "other"
11530
- ],
11531
- example: "clipping",
11532
- type: "string"
11533
- },
11534
11526
  description: {
11535
11527
  description: "Full task instructions shown to workers.",
11536
11528
  type: "string"
@@ -11543,7 +11535,7 @@ var native_spec_default = {
11543
11535
  ]
11544
11536
  },
11545
11537
  frequency: {
11546
- description: "How often a scheduled bounty republishes. Defaults to once. Only applies with publish_at.",
11538
+ description: "How often the schedule creates a new bounty. Each occurrence is a separate bounty. Defaults to `once`; only applies with `publish_at`.",
11547
11539
  enum: [
11548
11540
  "once",
11549
11541
  "hourly",
@@ -11622,7 +11614,7 @@ var native_spec_default = {
11622
11614
  },
11623
11615
  "/bounties/{id}": {
11624
11616
  get: {
11625
- description: "Retrieves one bounty by ID. The bounty must be visible to the credential; bounties outside the caller's scope return 404.",
11617
+ description: "Retrieves a bounty by ID. Bounties outside the caller's scope return `404`.",
11626
11618
  operationId: "get",
11627
11619
  responses: {
11628
11620
  "200": {
@@ -11669,7 +11661,7 @@ var native_spec_default = {
11669
11661
  },
11670
11662
  "/bounty_submissions": {
11671
11663
  get: {
11672
- description: "Lists bounty submissions visible to the credential. User tokens return the submissions they authored plus every submission on bounties they posted; account API keys return the submissions on the account's bounties. Pass account_id to view another account's submissions as a team member, or bounty_id to narrow the list to one bounty.",
11664
+ description: "Lists bounty submissions visible to the credential \u2014 for a user token, the submissions they authored plus those on bounties they posted; for an account API key, the submissions on the account's bounties.",
11673
11665
  operationId: "list",
11674
11666
  parameters: [
11675
11667
  {
@@ -14280,126 +14272,6 @@ var native_spec_default = {
14280
14272
  }
14281
14273
  },
14282
14274
  "/deposits": {
14283
- get: {
14284
- description: "Returns deposit transactions for a business account. Bank deposit transactions are nested under the bank field.",
14285
- operationId: "list",
14286
- parameters: [
14287
- {
14288
- description: "Business account ID (biz_*).",
14289
- in: "query",
14290
- name: "account_id",
14291
- required: true,
14292
- schema: {
14293
- type: "string"
14294
- }
14295
- }
14296
- ],
14297
- responses: {
14298
- "200": {
14299
- content: {
14300
- "application/json": {
14301
- schema: {
14302
- properties: {
14303
- account_id: {
14304
- description: "Account ID that owns these deposit transactions.",
14305
- type: "string"
14306
- },
14307
- bank: {
14308
- description: "Bank deposit transactions for this account.",
14309
- items: {
14310
- properties: {
14311
- created_at: {
14312
- description: "When the bank deposit transaction was created.",
14313
- format: "date-time",
14314
- type: "string"
14315
- },
14316
- destination_amount: {
14317
- description: "Amount credited to the account balance.",
14318
- type: [
14319
- "string",
14320
- "null"
14321
- ]
14322
- },
14323
- destination_currency: {
14324
- description: "Currency credited to the account balance.",
14325
- type: [
14326
- "string",
14327
- "null"
14328
- ]
14329
- },
14330
- id: {
14331
- description: "Bank deposit transaction ID.",
14332
- type: "string"
14333
- },
14334
- source_amount: {
14335
- description: "Amount sent by the depositor.",
14336
- type: "string"
14337
- },
14338
- source_currency: {
14339
- description: "Currency sent by the depositor.",
14340
- type: "string"
14341
- },
14342
- status: {
14343
- description: "Current bank deposit status.",
14344
- type: "string"
14345
- }
14346
- },
14347
- required: [
14348
- "id",
14349
- "source_amount",
14350
- "source_currency",
14351
- "destination_amount",
14352
- "destination_currency",
14353
- "status",
14354
- "created_at"
14355
- ],
14356
- type: "object"
14357
- },
14358
- type: "array"
14359
- },
14360
- object: {
14361
- enum: [
14362
- "deposits"
14363
- ],
14364
- type: "string"
14365
- }
14366
- },
14367
- required: [
14368
- "object",
14369
- "account_id",
14370
- "bank"
14371
- ],
14372
- type: "object"
14373
- }
14374
- }
14375
- },
14376
- description: "deposits retrieved"
14377
- },
14378
- "400": {
14379
- $ref: "#/components/responses/InvalidParameters",
14380
- description: "account ID is invalid"
14381
- },
14382
- "401": {
14383
- $ref: "#/components/responses/Unauthorized",
14384
- description: "missing or invalid authentication"
14385
- },
14386
- "403": {
14387
- $ref: "#/components/responses/Forbidden",
14388
- description: "credential lacks the payout account read scope"
14389
- }
14390
- },
14391
- security: [
14392
- {
14393
- bearerAuth: [
14394
- "payout:account:read"
14395
- ]
14396
- }
14397
- ],
14398
- summary: "Retrieve Deposits",
14399
- tags: [
14400
- "Deposits"
14401
- ]
14402
- },
14403
14275
  post: {
14404
14276
  description: "Resolves a deposit destination and returns the on-chain addresses that can fund it. No authentication is required; any business can be resolved by its account ID. A caller authenticated as a user can additionally resolve their own user account.",
14405
14277
  operationId: "create",
@@ -14665,14 +14537,14 @@ var native_spec_default = {
14665
14537
  },
14666
14538
  "/events": {
14667
14539
  get: {
14668
- description: "Lists pixel events for a person, most recent first. Events are shaped like the POST /events intake: attribution in context, identity in user.",
14540
+ description: "Lists pixel events, most recent first. Pass person_id for one person's journey, or omit it to list identity-linked events for an account within an explicit time range. Events are shaped like the POST /events intake: attribution in context, identity in user.",
14669
14541
  operationId: "list",
14670
14542
  parameters: [
14671
14543
  {
14672
- description: "The ID of the person.",
14544
+ description: "The ID of the person. Omit to list recent identity-linked events for the account.",
14673
14545
  in: "query",
14674
14546
  name: "person_id",
14675
- required: true,
14547
+ required: false,
14676
14548
  schema: {
14677
14549
  type: "string"
14678
14550
  }
@@ -14687,21 +14559,23 @@ var native_spec_default = {
14687
14559
  }
14688
14560
  },
14689
14561
  {
14690
- description: "Start of the time range as a Unix timestamp.",
14562
+ description: "Start of the time range as an ISO 8601 timestamp. Required when person_id is omitted.",
14691
14563
  in: "query",
14692
14564
  name: "from",
14693
14565
  required: false,
14694
14566
  schema: {
14695
- type: "integer"
14567
+ format: "date-time",
14568
+ type: "string"
14696
14569
  }
14697
14570
  },
14698
14571
  {
14699
- description: "End of the time range as a Unix timestamp. Defaults to now.",
14572
+ description: "End of the time range as an ISO 8601 timestamp. Required when person_id is omitted; otherwise defaults to now.",
14700
14573
  in: "query",
14701
14574
  name: "to",
14702
14575
  required: false,
14703
14576
  schema: {
14704
- type: "integer"
14577
+ format: "date-time",
14578
+ type: "string"
14705
14579
  }
14706
14580
  },
14707
14581
  {
@@ -14816,7 +14690,8 @@ var native_spec_default = {
14816
14690
  type: "string"
14817
14691
  },
14818
14692
  event_time: {
14819
- type: "integer"
14693
+ format: "date-time",
14694
+ type: "string"
14820
14695
  },
14821
14696
  id: {
14822
14697
  type: "string"
@@ -14827,6 +14702,9 @@ var native_spec_default = {
14827
14702
  "null"
14828
14703
  ]
14829
14704
  },
14705
+ person_id: {
14706
+ type: "string"
14707
+ },
14830
14708
  questions: {
14831
14709
  items: {
14832
14710
  properties: {
@@ -14962,6 +14840,7 @@ var native_spec_default = {
14962
14840
  "id",
14963
14841
  "event_id",
14964
14842
  "event_name",
14843
+ "person_id",
14965
14844
  "event_time"
14966
14845
  ],
14967
14846
  type: "object"
@@ -15004,7 +14883,7 @@ var native_spec_default = {
15004
14883
  }
15005
14884
  }
15006
14885
  },
15007
- description: "events listed"
14886
+ description: "account events listed"
15008
14887
  },
15009
14888
  "401": {
15010
14889
  $ref: "#/components/responses/Unauthorized",
@@ -18656,6 +18535,25 @@ var native_spec_default = {
18656
18535
  type: "boolean"
18657
18536
  }
18658
18537
  },
18538
+ {
18539
+ description: "Narrows available_destinations to this one destination (a pd_ identifier from a previous listing) and includes its required_fields \u2014 the values to collect to add it as a payout method. Implies include_available.",
18540
+ in: "query",
18541
+ name: "destination_id",
18542
+ required: false,
18543
+ schema: {
18544
+ type: "string"
18545
+ }
18546
+ },
18547
+ {
18548
+ description: "Currency the destination would deliver payouts in. Only meaningful with destination_id; required fields vary by destination currency.",
18549
+ in: "query",
18550
+ name: "destination_currency",
18551
+ required: false,
18552
+ schema: {
18553
+ default: "usd",
18554
+ type: "string"
18555
+ }
18556
+ },
18659
18557
  {
18660
18558
  description: "Number of payout methods to return from the start of the window. Capped at 25 when an amount is provided.",
18661
18559
  in: "query",
@@ -18839,6 +18737,84 @@ var native_spec_default = {
18839
18737
  "null"
18840
18738
  ]
18841
18739
  },
18740
+ required_fields: {
18741
+ description: "The fields to collect to add this destination as a payout method. Present only when the request narrows to one destination with destination_id; null otherwise.",
18742
+ items: {
18743
+ properties: {
18744
+ id: {
18745
+ description: "Field ID, echoed back as the field key when creating the payout method.",
18746
+ type: "string"
18747
+ },
18748
+ input_type: {
18749
+ description: "How to collect the value: `text`, `options`, or `date`.",
18750
+ type: "string"
18751
+ },
18752
+ label: {
18753
+ description: "Human-readable field name.",
18754
+ type: "string"
18755
+ },
18756
+ object: {
18757
+ enum: [
18758
+ "required_field"
18759
+ ],
18760
+ type: "string"
18761
+ },
18762
+ options: {
18763
+ description: "Allowed values, for options fields.",
18764
+ items: {
18765
+ type: "string"
18766
+ },
18767
+ type: [
18768
+ "array",
18769
+ "null"
18770
+ ]
18771
+ },
18772
+ placeholder: {
18773
+ description: "Example value.",
18774
+ type: [
18775
+ "string",
18776
+ "null"
18777
+ ]
18778
+ },
18779
+ required: {
18780
+ description: "Whether the field must be provided.",
18781
+ type: "boolean"
18782
+ },
18783
+ sensitive: {
18784
+ description: "Whether the value is vaulted in transit and never stored raw, such as a bank account number.",
18785
+ type: "boolean"
18786
+ },
18787
+ type: {
18788
+ description: "Semantic field type, for example `bank_account_number` or `swift`.",
18789
+ type: "string"
18790
+ },
18791
+ validation: {
18792
+ description: "Regex the value must match. Null for options fields.",
18793
+ type: [
18794
+ "string",
18795
+ "null"
18796
+ ]
18797
+ }
18798
+ },
18799
+ required: [
18800
+ "object",
18801
+ "id",
18802
+ "label",
18803
+ "type",
18804
+ "input_type",
18805
+ "required",
18806
+ "validation",
18807
+ "options",
18808
+ "placeholder",
18809
+ "sensitive"
18810
+ ],
18811
+ type: "object"
18812
+ },
18813
+ type: [
18814
+ "array",
18815
+ "null"
18816
+ ]
18817
+ },
18842
18818
  supports_instant_delivery: {
18843
18819
  type: "boolean"
18844
18820
  },
@@ -18854,7 +18830,8 @@ var native_spec_default = {
18854
18830
  "delivery_type",
18855
18831
  "supports_standard_delivery",
18856
18832
  "supports_instant_delivery",
18857
- "quotes"
18833
+ "quotes",
18834
+ "required_fields"
18858
18835
  ],
18859
18836
  type: "object"
18860
18837
  },
@@ -19153,6 +19130,216 @@ var native_spec_default = {
19153
19130
  tags: [
19154
19131
  "Payouts"
19155
19132
  ]
19133
+ },
19134
+ post: {
19135
+ description: "Saves a new payout method for an account or user by submitting the destination's required fields, keyed by field id (list them with GET /payouts/methods?destination_id=...). Sensitive values are vaulted in transit and never stored raw; a Basis Theory token id may be passed in place of a raw value. The created method is immediately usable as payout_method_id on POST /payouts. A field validation failure returns the destination's full required_fields schema alongside the error.",
19136
+ operationId: "create-method",
19137
+ parameters: [
19138
+ {
19139
+ $ref: "#/components/parameters/ApiVersionDate"
19140
+ }
19141
+ ],
19142
+ requestBody: {
19143
+ content: {
19144
+ "application/json": {
19145
+ schema: {
19146
+ properties: {
19147
+ account_id: {
19148
+ description: "The account to add the payout method for (a biz_ identifier). Provide this or user_id.",
19149
+ type: "string"
19150
+ },
19151
+ destination_currency: {
19152
+ default: "usd",
19153
+ description: "Currency the destination delivers payouts in.",
19154
+ type: "string"
19155
+ },
19156
+ destination_id: {
19157
+ description: "The payout destination to add (a pd_ identifier from a previous listing).",
19158
+ type: "string"
19159
+ },
19160
+ fields: {
19161
+ additionalProperties: {
19162
+ type: "string"
19163
+ },
19164
+ description: "The destination's required field values, keyed by field id.",
19165
+ type: "object"
19166
+ },
19167
+ is_default: {
19168
+ default: false,
19169
+ description: "Whether to make this the account's default payout method.",
19170
+ type: "boolean"
19171
+ },
19172
+ nickname: {
19173
+ description: "A label for the payout method, unique per destination.",
19174
+ type: "string"
19175
+ },
19176
+ user_id: {
19177
+ description: "The user to add the payout method for (a user_ identifier). Provide this or account_id.",
19178
+ type: "string"
19179
+ }
19180
+ },
19181
+ required: [
19182
+ "destination_id",
19183
+ "nickname",
19184
+ "fields"
19185
+ ],
19186
+ type: "object"
19187
+ }
19188
+ }
19189
+ },
19190
+ required: true
19191
+ },
19192
+ responses: {
19193
+ "201": {
19194
+ content: {
19195
+ "application/json": {
19196
+ schema: {
19197
+ properties: {
19198
+ account_reference: {
19199
+ description: "Masked identifier for the destination.",
19200
+ type: [
19201
+ "string",
19202
+ "null"
19203
+ ]
19204
+ },
19205
+ created_at: {
19206
+ format: "date-time",
19207
+ type: "string"
19208
+ },
19209
+ destination_currency: {
19210
+ type: "string"
19211
+ },
19212
+ id: {
19213
+ description: "Payout method ID, usable as payout_method_id on POST /payouts.",
19214
+ type: "string"
19215
+ },
19216
+ institution_name: {
19217
+ type: [
19218
+ "string",
19219
+ "null"
19220
+ ]
19221
+ },
19222
+ is_default: {
19223
+ type: "boolean"
19224
+ },
19225
+ nickname: {
19226
+ type: [
19227
+ "string",
19228
+ "null"
19229
+ ]
19230
+ },
19231
+ object: {
19232
+ enum: [
19233
+ "payout_method"
19234
+ ],
19235
+ type: "string"
19236
+ },
19237
+ payer_name: {
19238
+ type: [
19239
+ "string",
19240
+ "null"
19241
+ ]
19242
+ },
19243
+ payout_destination: {
19244
+ properties: {
19245
+ delivery_type: {
19246
+ type: "string"
19247
+ },
19248
+ icon_url: {
19249
+ type: [
19250
+ "string",
19251
+ "null"
19252
+ ]
19253
+ },
19254
+ name: {
19255
+ type: [
19256
+ "string",
19257
+ "null"
19258
+ ]
19259
+ },
19260
+ supports_instant_delivery: {
19261
+ type: "boolean"
19262
+ },
19263
+ supports_standard_delivery: {
19264
+ type: "boolean"
19265
+ }
19266
+ },
19267
+ required: [
19268
+ "name",
19269
+ "icon_url",
19270
+ "delivery_type",
19271
+ "supports_standard_delivery",
19272
+ "supports_instant_delivery"
19273
+ ],
19274
+ type: [
19275
+ "object",
19276
+ "null"
19277
+ ]
19278
+ },
19279
+ quote: {
19280
+ description: "Always null on create.",
19281
+ type: [
19282
+ "object",
19283
+ "null"
19284
+ ]
19285
+ },
19286
+ status: {
19287
+ enum: [
19288
+ "created",
19289
+ "active",
19290
+ "broken"
19291
+ ],
19292
+ type: "string"
19293
+ }
19294
+ },
19295
+ required: [
19296
+ "object",
19297
+ "id",
19298
+ "status",
19299
+ "is_default",
19300
+ "nickname",
19301
+ "account_reference",
19302
+ "institution_name",
19303
+ "payer_name",
19304
+ "destination_currency",
19305
+ "created_at",
19306
+ "payout_destination",
19307
+ "quote"
19308
+ ],
19309
+ type: "object"
19310
+ }
19311
+ }
19312
+ },
19313
+ description: "a pre-tokenized Basis Theory value passes through unvaulted"
19314
+ },
19315
+ "400": {
19316
+ $ref: "#/components/responses/InvalidParameters",
19317
+ description: "over-long nickname is rejected before any value is vaulted"
19318
+ },
19319
+ "401": {
19320
+ $ref: "#/components/responses/Unauthorized",
19321
+ description: "missing or invalid authentication"
19322
+ },
19323
+ "403": {
19324
+ $ref: "#/components/responses/Forbidden",
19325
+ description: "credential lacks the create-destination scope"
19326
+ },
19327
+ "404": {
19328
+ $ref: "#/components/responses/NotFound",
19329
+ description: "payout destination not found"
19330
+ }
19331
+ },
19332
+ security: [
19333
+ {
19334
+ bearerAuth: [
19335
+ "payout:create_destination"
19336
+ ]
19337
+ }
19338
+ ],
19339
+ summary: "Create Payout Method",
19340
+ tags: [
19341
+ "Payouts"
19342
+ ]
19156
19343
  }
19157
19344
  },
19158
19345
  "/people": {
@@ -19170,21 +19357,23 @@ var native_spec_default = {
19170
19357
  }
19171
19358
  },
19172
19359
  {
19173
- description: "Start of the time range as a Unix timestamp. Defaults to 366 days before `to`.",
19360
+ description: "Start of the time range as an ISO 8601 timestamp. Defaults to 366 days before `to`.",
19174
19361
  in: "query",
19175
19362
  name: "from",
19176
19363
  required: false,
19177
19364
  schema: {
19178
- type: "integer"
19365
+ format: "date-time",
19366
+ type: "string"
19179
19367
  }
19180
19368
  },
19181
19369
  {
19182
- description: "End of the time range as a Unix timestamp. Defaults to now.",
19370
+ description: "End of the time range as an ISO 8601 timestamp. Defaults to now.",
19183
19371
  in: "query",
19184
19372
  name: "to",
19185
19373
  required: false,
19186
19374
  schema: {
19187
- type: "integer"
19375
+ format: "date-time",
19376
+ type: "string"
19188
19377
  }
19189
19378
  },
19190
19379
  {
@@ -19346,7 +19535,8 @@ var native_spec_default = {
19346
19535
  ]
19347
19536
  },
19348
19537
  first_seen_at: {
19349
- type: "integer"
19538
+ format: "date-time",
19539
+ type: "string"
19350
19540
  },
19351
19541
  has_failed_payment: {
19352
19542
  type: "boolean"
@@ -19355,7 +19545,8 @@ var native_spec_default = {
19355
19545
  type: "string"
19356
19546
  },
19357
19547
  last_seen_at: {
19358
- type: "integer"
19548
+ format: "date-time",
19549
+ type: "string"
19359
19550
  },
19360
19551
  ltv: {
19361
19552
  type: "number"
@@ -19476,21 +19667,23 @@ var native_spec_default = {
19476
19667
  }
19477
19668
  },
19478
19669
  {
19479
- description: "Start of the time range as a Unix timestamp.",
19670
+ description: "Start of the time range as an ISO 8601 timestamp.",
19480
19671
  in: "query",
19481
19672
  name: "from",
19482
19673
  required: false,
19483
19674
  schema: {
19484
- type: "integer"
19675
+ format: "date-time",
19676
+ type: "string"
19485
19677
  }
19486
19678
  },
19487
19679
  {
19488
- description: "End of the time range as a Unix timestamp. Defaults to now.",
19680
+ description: "End of the time range as an ISO 8601 timestamp. Defaults to now.",
19489
19681
  in: "query",
19490
19682
  name: "to",
19491
19683
  required: false,
19492
19684
  schema: {
19493
- type: "integer"
19685
+ format: "date-time",
19686
+ type: "string"
19494
19687
  }
19495
19688
  }
19496
19689
  ],
@@ -19593,7 +19786,8 @@ var native_spec_default = {
19593
19786
  ]
19594
19787
  },
19595
19788
  first_seen_at: {
19596
- type: "integer"
19789
+ format: "date-time",
19790
+ type: "string"
19597
19791
  },
19598
19792
  has_failed_payment: {
19599
19793
  type: "boolean"
@@ -19602,7 +19796,8 @@ var native_spec_default = {
19602
19796
  type: "string"
19603
19797
  },
19604
19798
  last_seen_at: {
19605
- type: "integer"
19799
+ format: "date-time",
19800
+ type: "string"
19606
19801
  },
19607
19802
  ltv: {
19608
19803
  type: "number"
@@ -21667,9 +21862,10 @@ var native_spec_default = {
21667
21862
  type: "string"
21668
21863
  },
21669
21864
  platform: {
21670
- description: "The platform to connect the social account on. Today, the supported option is `meta_business`.",
21865
+ description: "The platform to connect the social account on. Supported options are `meta_business` and `tiktok`.",
21671
21866
  enum: [
21672
- "meta_business"
21867
+ "meta_business",
21868
+ "tiktok"
21673
21869
  ],
21674
21870
  type: "string"
21675
21871
  },
@@ -21678,7 +21874,7 @@ var native_spec_default = {
21678
21874
  type: "string"
21679
21875
  },
21680
21876
  scopes: {
21681
- description: "Capabilities to grant for the connected social account. Use `advertise` when connecting a Meta Business account for ads.",
21877
+ description: "Capabilities to grant for the connected social account. Use `advertise` when connecting a Meta Business or TikTok account for ads.",
21682
21878
  items: {
21683
21879
  enum: [
21684
21880
  "advertise"
@@ -22032,7 +22228,7 @@ var native_spec_default = {
22032
22228
  },
22033
22229
  "/stats/{metric}": {
22034
22230
  get: {
22035
- description: "Retrieves a metric as a time series of points for an account over a date range.",
22231
+ description: "Retrieves a metric as a time series of points for an account over a time range.",
22036
22232
  operationId: "get",
22037
22233
  parameters: [
22038
22234
  {
@@ -22146,6 +22342,15 @@ var native_spec_default = {
22146
22342
  type: "string"
22147
22343
  }
22148
22344
  },
22345
+ {
22346
+ description: "Filter disputes to a normalized reason, for example product_not_received. Pair with breakdown_by=dispute_reason to split dispute counts by reason.",
22347
+ in: "query",
22348
+ name: "dispute_reason",
22349
+ required: false,
22350
+ schema: {
22351
+ type: "string"
22352
+ }
22353
+ },
22149
22354
  {
22150
22355
  description: "Filter to a single GMV source, for example payments. Pair with breakdown_by=source to split by source. Available on metrics that list source.",
22151
22356
  in: "query",
@@ -22264,12 +22469,14 @@ var native_spec_default = {
22264
22469
  }
22265
22470
  },
22266
22471
  {
22267
- description: "Trailing window for snapshot metrics. Only accepted by snapshot metrics (each lists its allowed windows in the catalog); defaults to the metric's first supported window. Only 30d today.",
22472
+ description: "Window used by a snapshot metric. Ordinary snapshots accept 30d as their trailing activity window. Cohorted dispute metrics accept 7d or 28d as the sales-transaction pool; their attribution window is fixed in the metric name. Each metric lists its accepted values in the catalog.",
22268
22473
  in: "query",
22269
22474
  name: "snapshot_window",
22270
22475
  required: false,
22271
22476
  schema: {
22272
22477
  enum: [
22478
+ "7d",
22479
+ "28d",
22273
22480
  "30d"
22274
22481
  ],
22275
22482
  type: "string"
@@ -24737,7 +24944,7 @@ var native_spec_default = {
24737
24944
  },
24738
24945
  oneOf: [
24739
24946
  {
24740
- description: "Request body for an individual (KYC) verification. Omit `kind` or set it to `individual`. KYC is required to pay out funds and is a prerequisite for Whop Card access. Accepting payments does not require verification until a business reaches $5000 in payments.\n\nAdd `business_name`, `business_structure`, and `country` of incorporation if the individual operates under a business entity. This enables payouts to be received by a business bank account.",
24947
+ description: "Request body for an individual (KYC) verification. Omit `kind` or set it to `individual`. KYC is required to pay out funds and is a prerequisite for Whop Card access. Accepting payments does not require verification until a business reaches $5000 in payments.\n\nAdd `business_name` and `business_structure` if the individual operates under a business entity \u2014 this enables payouts to be received by a business bank account. `country` is always the individual's own country, and the supported `business_structure` values vary by it \u2014 see [Business structures](/developer/verification/business-structures).",
24741
24948
  properties: {
24742
24949
  address: {
24743
24950
  properties: {
@@ -24792,20 +24999,51 @@ var native_spec_default = {
24792
24999
  type: "string"
24793
25000
  },
24794
25001
  document_type: {
24795
- description: "Identity document being sent. Providing it (with `documents`) verifies from uploaded documents instead of a hosted session, and determines the expected `documents` keys: cards and licenses need front and back, passports only the photo page.",
25002
+ description: "Identity document being sent, when verifying with `documents`. Decides exactly which file slots to send: `ID_CARD` \u2192 `id_card_front` + `id_card_back` + `selfie`; `DRIVERS` \u2192 `drivers_front` + `drivers_back` + `selfie`; `RESIDENCE_PERMIT` \u2192 `residence_permit_front` + `residence_permit_back` + `selfie`; `PASSPORT` \u2192 `passport_front` + `selfie`. See [Identity documents](/developer/verification/identity-documents).",
24796
25003
  enum: [
24797
25004
  "ID_CARD",
24798
- "PASSPORT",
24799
25005
  "DRIVERS",
24800
- "RESIDENCE_PERMIT"
25006
+ "RESIDENCE_PERMIT",
25007
+ "PASSPORT"
24801
25008
  ],
24802
25009
  type: "string"
24803
25010
  },
24804
25011
  documents: {
24805
- additionalProperties: {
24806
- type: "string"
25012
+ description: "Identity document files, each value the file's raw bytes base64-encoded (JPEG, PNG, or PDF, up to 5MB per file before encoding). Sending this object verifies the person from the files in this request instead of a hosted session \u2014 individual verifications only, and the request must also carry `document_type`, `first_name`, `last_name`, `date_of_birth`, `country`, `phone`, `tax_identification_number`, and an `address` with `line1`, `city`, `state`, and `postal_code`. Send every slot for your `document_type` \u2014 a missing or rejected file fails the whole request and nothing is submitted; review starts automatically once every document is accepted. See [Identity documents](/developer/verification/identity-documents) for a full walkthrough.",
25013
+ properties: {
25014
+ drivers_back: {
25015
+ description: "Back of the driver's license, base64-encoded. Required when `document_type` is `DRIVERS`.",
25016
+ type: "string"
25017
+ },
25018
+ drivers_front: {
25019
+ description: "Front of the driver's license, base64-encoded. Required when `document_type` is `DRIVERS`.",
25020
+ type: "string"
25021
+ },
25022
+ id_card_back: {
25023
+ description: "Back of the ID card, base64-encoded. Required when `document_type` is `ID_CARD`.",
25024
+ type: "string"
25025
+ },
25026
+ id_card_front: {
25027
+ description: "Front of the ID card, base64-encoded. Required when `document_type` is `ID_CARD`.",
25028
+ type: "string"
25029
+ },
25030
+ passport_front: {
25031
+ description: "Photo page of the passport, base64-encoded. Required when `document_type` is `PASSPORT`.",
25032
+ type: "string"
25033
+ },
25034
+ residence_permit_back: {
25035
+ description: "Back of the residence permit, base64-encoded. Required when `document_type` is `RESIDENCE_PERMIT`.",
25036
+ type: "string"
25037
+ },
25038
+ residence_permit_front: {
25039
+ description: "Front of the residence permit, base64-encoded. Required when `document_type` is `RESIDENCE_PERMIT`.",
25040
+ type: "string"
25041
+ },
25042
+ selfie: {
25043
+ description: "Photo of the person's face, base64-encoded. Always required, with every document type. Must be JPEG or PNG.",
25044
+ type: "string"
25045
+ }
24807
25046
  },
24808
- description: "Identity document files, keyed by slot (`id_card_front`, `id_card_back`, `selfie`, \u2026) with each value the file's raw bytes base64-encoded. Providing them verifies the person from these documents instead of a hosted session \u2014 individual verifications only, and the request must also carry `document_type`, `first_name`, `last_name`, `date_of_birth`, `country`, `phone`, `tax_identification_number`, and an `address` with `line1`, `city`, `state`, and `postal_code`. JPEG, PNG, and PDF are accepted (selfies must be images), up to 5MB per file before encoding. Send the complete set \u2014 a missing or rejected file fails the whole request and nothing is submitted; review starts automatically once every document is accepted.",
24809
25047
  type: "object"
24810
25048
  },
24811
25049
  first_name: {
@@ -26495,6 +26733,10 @@ var native_spec_default = {
26495
26733
  "null"
26496
26734
  ]
26497
26735
  },
26736
+ llc_formation: {
26737
+ description: "LLC formation state for the account: a draft state with `payment_pending`, or the live filing state with registration progress, documents, and pending signatures.",
26738
+ type: "object"
26739
+ },
26498
26740
  logo_url: {
26499
26741
  description: "Account logo image URL.",
26500
26742
  type: [
@@ -26725,6 +26967,7 @@ var native_spec_default = {
26725
26967
  "total_usd",
26726
26968
  "balances",
26727
26969
  "verification",
26970
+ "llc_formation",
26728
26971
  "wallet",
26729
26972
  "social_links"
26730
26973
  ],
@@ -26924,6 +27167,12 @@ var native_spec_default = {
26924
27167
  "migrate_from_stripe",
26925
27168
  "accept_first_payment",
26926
27169
  "launch_first_ad",
27170
+ "launch_draft_campaign",
27171
+ "increase_ad_budget",
27172
+ "refresh_ad_creatives",
27173
+ "fix_ad_billing",
27174
+ "exclude_customers_from_ads",
27175
+ "retarget_abandoned_checkouts",
26927
27176
  "invite_team_member",
26928
27177
  "enable_tax_collection",
26929
27178
  "create_card",
@@ -27165,6 +27414,10 @@ var native_spec_default = {
27165
27414
  $ref: "#/components/schemas/AdEntityReference",
27166
27415
  description: "The ad group this ad belongs to, an object with an id."
27167
27416
  },
27417
+ added_to_cart_value: {
27418
+ description: "USD value attributed to add-to-cart events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.",
27419
+ type: "number"
27420
+ },
27168
27421
  added_to_carts: {
27169
27422
  description: "Whop pixel-attributed add-to-cart events, last-click.",
27170
27423
  type: "number"
@@ -27219,10 +27472,18 @@ var native_spec_default = {
27219
27472
  description: "The number of clicks.",
27220
27473
  type: "number"
27221
27474
  },
27475
+ completed_registration_value: {
27476
+ description: "USD value attributed to complete-registration events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.",
27477
+ type: "number"
27478
+ },
27222
27479
  completed_registrations: {
27223
27480
  description: "Whop pixel-attributed complete-registration events, last-click.",
27224
27481
  type: "number"
27225
27482
  },
27483
+ contact_value: {
27484
+ description: "USD value attributed to contact events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.",
27485
+ type: "number"
27486
+ },
27226
27487
  contacts: {
27227
27488
  description: "Whop pixel-attributed contact events, last-click.",
27228
27489
  type: "number"
@@ -27317,6 +27578,10 @@ var native_spec_default = {
27317
27578
  description: "Whop pixel-attributed custom conversions broken out by merchant-defined event name, last-click, as a { event_name => count } map over the stats window. Empty when no named custom events are attributed. Custom events fired without a name are counted in custom_conversions but omitted here, so these values sum to at most custom_conversions.",
27318
27579
  type: "object"
27319
27580
  },
27581
+ custom_event_values: {
27582
+ description: "The conversion value attributed to each merchant-defined custom event name, as a { event_name => value } map paralleling custom_event_counts. Sums the value passed to whop.track, normalized to USD; events fired without a value contribute 0.",
27583
+ type: "object"
27584
+ },
27320
27585
  delivery_status: {
27321
27586
  description: "The current delivery state, mirroring the Delivery column in the ads dashboard. When several states apply at once, the highest-precedence one is returned.",
27322
27587
  enum: [
@@ -27385,6 +27650,10 @@ var native_spec_default = {
27385
27650
  "null"
27386
27651
  ]
27387
27652
  },
27653
+ lead_value: {
27654
+ description: "USD value attributed to lead events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.",
27655
+ type: "number"
27656
+ },
27388
27657
  leads: {
27389
27658
  description: "Whop pixel-attributed leads, last-click.",
27390
27659
  type: "number"
@@ -27484,6 +27753,10 @@ var native_spec_default = {
27484
27753
  description: "Purchase value divided by spend, both in USD (a currency-neutral ratio); 0 when there is no spend.",
27485
27754
  type: "number"
27486
27755
  },
27756
+ schedule_value: {
27757
+ description: "USD value attributed to schedule events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.",
27758
+ type: "number"
27759
+ },
27487
27760
  schedules: {
27488
27761
  description: "Whop pixel-attributed schedule events, last-click.",
27489
27762
  type: "number"
@@ -27517,6 +27790,10 @@ var native_spec_default = {
27517
27790
  example: "active",
27518
27791
  type: "string"
27519
27792
  },
27793
+ submitted_application_value: {
27794
+ description: "USD value attributed to submit-application events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.",
27795
+ type: "number"
27796
+ },
27520
27797
  submitted_applications: {
27521
27798
  description: "Whop pixel-attributed submit-application events, last-click.",
27522
27799
  type: "number"
@@ -27554,6 +27831,10 @@ var native_spec_default = {
27554
27831
  description: "Query parameters appended to the URL, as a string-to-string map.",
27555
27832
  type: "object"
27556
27833
  },
27834
+ viewed_content_value: {
27835
+ description: "USD value attributed to view-content events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.",
27836
+ type: "number"
27837
+ },
27557
27838
  viewed_contents: {
27558
27839
  description: "Whop pixel-attributed view-content events, last-click.",
27559
27840
  type: "number"
@@ -27595,6 +27876,14 @@ var native_spec_default = {
27595
27876
  "added_to_carts",
27596
27877
  "custom_conversions",
27597
27878
  "custom_event_counts",
27879
+ "custom_event_values",
27880
+ "lead_value",
27881
+ "schedule_value",
27882
+ "submitted_application_value",
27883
+ "contact_value",
27884
+ "completed_registration_value",
27885
+ "viewed_content_value",
27886
+ "added_to_cart_value",
27598
27887
  "id",
27599
27888
  "title",
27600
27889
  "status",
@@ -27624,6 +27913,10 @@ var native_spec_default = {
27624
27913
  },
27625
27914
  AdCampaign: {
27626
27915
  properties: {
27916
+ added_to_cart_value: {
27917
+ description: "USD value attributed to add-to-cart events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.",
27918
+ type: "number"
27919
+ },
27627
27920
  added_to_carts: {
27628
27921
  description: "Whop pixel-attributed add-to-cart events, last-click.",
27629
27922
  type: "number"
@@ -27683,10 +27976,18 @@ var native_spec_default = {
27683
27976
  description: "The number of clicks.",
27684
27977
  type: "number"
27685
27978
  },
27979
+ completed_registration_value: {
27980
+ description: "USD value attributed to complete-registration events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.",
27981
+ type: "number"
27982
+ },
27686
27983
  completed_registrations: {
27687
27984
  description: "Whop pixel-attributed complete-registration events, last-click.",
27688
27985
  type: "number"
27689
27986
  },
27987
+ contact_value: {
27988
+ description: "USD value attributed to contact events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.",
27989
+ type: "number"
27990
+ },
27690
27991
  contacts: {
27691
27992
  description: "Whop pixel-attributed contact events, last-click.",
27692
27993
  type: "number"
@@ -27774,6 +28075,10 @@ var native_spec_default = {
27774
28075
  description: "Whop pixel-attributed custom conversions broken out by merchant-defined event name, last-click, as a { event_name => count } map over the stats window. Empty when no named custom events are attributed. Custom events fired without a name are counted in custom_conversions but omitted here, so these values sum to at most custom_conversions.",
27775
28076
  type: "object"
27776
28077
  },
28078
+ custom_event_values: {
28079
+ description: "The conversion value attributed to each merchant-defined custom event name, as a { event_name => value } map paralleling custom_event_counts. Sums the value passed to whop.track, normalized to USD; events fired without a value contribute 0.",
28080
+ type: "object"
28081
+ },
27777
28082
  delivery_status: {
27778
28083
  description: "The current delivery state, mirroring the Delivery column in the ads dashboard. When several states apply at once, the highest-precedence one is returned.",
27779
28084
  enum: [
@@ -27815,6 +28120,10 @@ var native_spec_default = {
27815
28120
  },
27816
28121
  type: "array"
27817
28122
  },
28123
+ lead_value: {
28124
+ description: "USD value attributed to lead events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.",
28125
+ type: "number"
28126
+ },
27818
28127
  leads: {
27819
28128
  description: "Whop pixel-attributed leads, last-click.",
27820
28129
  type: "number"
@@ -27900,6 +28209,10 @@ var native_spec_default = {
27900
28209
  description: "Purchase value divided by spend, both in USD (a currency-neutral ratio); 0 when there is no spend.",
27901
28210
  type: "number"
27902
28211
  },
28212
+ schedule_value: {
28213
+ description: "USD value attributed to schedule events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.",
28214
+ type: "number"
28215
+ },
27903
28216
  schedules: {
27904
28217
  description: "Whop pixel-attributed schedule events, last-click.",
27905
28218
  type: "number"
@@ -27947,6 +28260,10 @@ var native_spec_default = {
27947
28260
  example: "active",
27948
28261
  type: "string"
27949
28262
  },
28263
+ submitted_application_value: {
28264
+ description: "USD value attributed to submit-application events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.",
28265
+ type: "number"
28266
+ },
27950
28267
  submitted_applications: {
27951
28268
  description: "Whop pixel-attributed submit-application events, last-click.",
27952
28269
  type: "number"
@@ -27970,6 +28287,10 @@ var native_spec_default = {
27970
28287
  description: "When the campaign was last updated, as an ISO 8601 timestamp.",
27971
28288
  type: "string"
27972
28289
  },
28290
+ viewed_content_value: {
28291
+ description: "USD value attributed to view-content events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.",
28292
+ type: "number"
28293
+ },
27973
28294
  viewed_contents: {
27974
28295
  description: "Whop pixel-attributed view-content events, last-click.",
27975
28296
  type: "number"
@@ -28011,6 +28332,14 @@ var native_spec_default = {
28011
28332
  "added_to_carts",
28012
28333
  "custom_conversions",
28013
28334
  "custom_event_counts",
28335
+ "custom_event_values",
28336
+ "lead_value",
28337
+ "schedule_value",
28338
+ "submitted_application_value",
28339
+ "contact_value",
28340
+ "completed_registration_value",
28341
+ "viewed_content_value",
28342
+ "added_to_cart_value",
28014
28343
  "id",
28015
28344
  "title",
28016
28345
  "status",
@@ -28129,6 +28458,10 @@ var native_spec_default = {
28129
28458
  $ref: "#/components/schemas/AdEntityReference",
28130
28459
  description: "The ad campaign this ad group belongs to, an object with an id."
28131
28460
  },
28461
+ added_to_cart_value: {
28462
+ description: "USD value attributed to add-to-cart events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.",
28463
+ type: "number"
28464
+ },
28132
28465
  added_to_carts: {
28133
28466
  description: "Whop pixel-attributed add-to-cart events, last-click.",
28134
28467
  type: "number"
@@ -28179,10 +28512,18 @@ var native_spec_default = {
28179
28512
  description: "The number of clicks.",
28180
28513
  type: "number"
28181
28514
  },
28515
+ completed_registration_value: {
28516
+ description: "USD value attributed to complete-registration events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.",
28517
+ type: "number"
28518
+ },
28182
28519
  completed_registrations: {
28183
28520
  description: "Whop pixel-attributed complete-registration events, last-click.",
28184
28521
  type: "number"
28185
28522
  },
28523
+ contact_value: {
28524
+ description: "USD value attributed to contact events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.",
28525
+ type: "number"
28526
+ },
28186
28527
  contacts: {
28187
28528
  description: "Whop pixel-attributed contact events, last-click.",
28188
28529
  type: "number"
@@ -28291,6 +28632,10 @@ var native_spec_default = {
28291
28632
  description: "Whop pixel-attributed custom conversions broken out by merchant-defined event name, last-click, as a { event_name => count } map over the stats window. Empty when no named custom events are attributed. Custom events fired without a name are counted in custom_conversions but omitted here, so these values sum to at most custom_conversions.",
28292
28633
  type: "object"
28293
28634
  },
28635
+ custom_event_values: {
28636
+ description: "The conversion value attributed to each merchant-defined custom event name, as a { event_name => value } map paralleling custom_event_counts. Sums the value passed to whop.track, normalized to USD; events fired without a value contribute 0.",
28637
+ type: "object"
28638
+ },
28294
28639
  delivery_status: {
28295
28640
  description: "The current delivery state, mirroring the Delivery column in the ads dashboard. When several states apply at once, the highest-precedence one is returned.",
28296
28641
  enum: [
@@ -28378,6 +28723,10 @@ var native_spec_default = {
28378
28723
  },
28379
28724
  type: "array"
28380
28725
  },
28726
+ lead_value: {
28727
+ description: "USD value attributed to lead events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.",
28728
+ type: "number"
28729
+ },
28381
28730
  leads: {
28382
28731
  description: "Whop pixel-attributed leads, last-click.",
28383
28732
  type: "number"
@@ -28464,6 +28813,10 @@ var native_spec_default = {
28464
28813
  description: "Purchase value divided by spend, both in USD (a currency-neutral ratio); 0 when there is no spend.",
28465
28814
  type: "number"
28466
28815
  },
28816
+ schedule_value: {
28817
+ description: "USD value attributed to schedule events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.",
28818
+ type: "number"
28819
+ },
28467
28820
  schedules: {
28468
28821
  description: "Whop pixel-attributed schedule events, last-click.",
28469
28822
  type: "number"
@@ -28496,6 +28849,10 @@ var native_spec_default = {
28496
28849
  example: "active",
28497
28850
  type: "string"
28498
28851
  },
28852
+ submitted_application_value: {
28853
+ description: "USD value attributed to submit-application events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.",
28854
+ type: "number"
28855
+ },
28499
28856
  submitted_applications: {
28500
28857
  description: "Whop pixel-attributed submit-application events, last-click.",
28501
28858
  type: "number"
@@ -28522,6 +28879,10 @@ var native_spec_default = {
28522
28879
  description: "When the ad group was last updated, ISO 8601.",
28523
28880
  type: "string"
28524
28881
  },
28882
+ viewed_content_value: {
28883
+ description: "USD value attributed to view-content events. Sums the value sent with each event, normalized to USD; events without a value contribute 0.",
28884
+ type: "number"
28885
+ },
28525
28886
  viewed_contents: {
28526
28887
  description: "Whop pixel-attributed view-content events, last-click.",
28527
28888
  type: "number"
@@ -28563,6 +28924,14 @@ var native_spec_default = {
28563
28924
  "added_to_carts",
28564
28925
  "custom_conversions",
28565
28926
  "custom_event_counts",
28927
+ "custom_event_values",
28928
+ "lead_value",
28929
+ "schedule_value",
28930
+ "submitted_application_value",
28931
+ "contact_value",
28932
+ "completed_registration_value",
28933
+ "viewed_content_value",
28934
+ "added_to_cart_value",
28566
28935
  "id",
28567
28936
  "title",
28568
28937
  "status",
@@ -28816,23 +29185,6 @@ var native_spec_default = {
28816
29185
  description: "Total gross budget committed to the bounty: `gross_reward_amount` times `accepted_submissions_limit`.",
28817
29186
  type: "number"
28818
29187
  },
28819
- business_goal_type: {
28820
- description: "What the poster wants the work to achieve.",
28821
- enum: [
28822
- "clipping",
28823
- "post_engagement",
28824
- "owned_account_growth",
28825
- "ugc_content",
28826
- "local_activation",
28827
- "other",
28828
- null
28829
- ],
28830
- example: "clipping",
28831
- type: [
28832
- "string",
28833
- "null"
28834
- ]
28835
- },
28836
29188
  created_at: {
28837
29189
  description: "When the bounty was created, as an ISO 8601 timestamp.",
28838
29190
  type: "string"
@@ -28933,14 +29285,14 @@ var native_spec_default = {
28933
29285
  type: "string"
28934
29286
  },
28935
29287
  experience_id: {
28936
- description: "Experience the bounty is hosted in, prefixed `exp_`. Null for platform-wide bounties; may belong to a different account than the funder.",
29288
+ description: "Experience the bounty is hosted in, prefixed `exp_`. `null` for platform-wide bounties; may belong to a different account than the funder.",
28937
29289
  type: [
28938
29290
  "string",
28939
29291
  "null"
28940
29292
  ]
28941
29293
  },
28942
29294
  funding_account: {
28943
- description: "The account whose balance funds the bounty pool, or `null` when a user funds it personally. May differ from the account hosting `experience_id`.",
29295
+ description: "Account whose balance funds the bounty pool, or `null` when a user funds it personally. May differ from the account hosting `experience_id`.",
28944
29296
  oneOf: [
28945
29297
  {
28946
29298
  $ref: "#/components/schemas/AccountSummary"
@@ -28964,7 +29316,7 @@ var native_spec_default = {
28964
29316
  },
28965
29317
  poster: {
28966
29318
  $ref: "#/components/schemas/UserSummary",
28967
- description: "The user who posted the bounty."
29319
+ description: "User who posted the bounty \u2014 the account owner when created with an account API key."
28968
29320
  },
28969
29321
  scheduled_frequency: {
28970
29322
  description: "How often the schedule creates a new bounty. Each occurrence is a separate bounty; the original is not republished.",
@@ -28983,7 +29335,7 @@ var native_spec_default = {
28983
29335
  ]
28984
29336
  },
28985
29337
  scheduled_publish_at: {
28986
- description: "When a scheduled bounty will publish, as an ISO 8601 timestamp. Null once published, for bounties that were never scheduled, and for terminally failed drafts parked for manual rescheduling.",
29338
+ description: "When a scheduled bounty will publish, as an ISO 8601 timestamp. `null` once published, for bounties that were never scheduled, and for terminally failed drafts parked for manual rescheduling.",
28987
29339
  type: [
28988
29340
  "string",
28989
29341
  "null"
@@ -29006,7 +29358,7 @@ var native_spec_default = {
29006
29358
  type: "string"
29007
29359
  },
29008
29360
  submissions_closed_at: {
29009
- description: "When new submissions were explicitly stopped, as an ISO 8601 timestamp. Null when submissions were never explicitly stopped \u2014 including closed or completed bounties that simply filled every winner slot.",
29361
+ description: "When new submissions were explicitly stopped, as an ISO 8601 timestamp. `null` when submissions were never explicitly stopped \u2014 including closed or completed bounties that simply filled every winner slot.",
29010
29362
  type: [
29011
29363
  "string",
29012
29364
  "null"
@@ -29037,7 +29389,6 @@ var native_spec_default = {
29037
29389
  "accepted_submissions_count",
29038
29390
  "unresolved_submissions_count",
29039
29391
  "spots_remaining",
29040
- "business_goal_type",
29041
29392
  "allowed_country_codes",
29042
29393
  "submissions_closed_at",
29043
29394
  "scheduled_publish_at",
@@ -29072,23 +29423,6 @@ var native_spec_default = {
29072
29423
  description: "Total gross budget committed to the bounty: `gross_reward_amount` times `accepted_submissions_limit`.",
29073
29424
  type: "number"
29074
29425
  },
29075
- business_goal_type: {
29076
- description: "What the poster wants the work to achieve.",
29077
- enum: [
29078
- "clipping",
29079
- "post_engagement",
29080
- "owned_account_growth",
29081
- "ugc_content",
29082
- "local_activation",
29083
- "other",
29084
- null
29085
- ],
29086
- example: "clipping",
29087
- type: [
29088
- "string",
29089
- "null"
29090
- ]
29091
- },
29092
29426
  created_at: {
29093
29427
  description: "When the bounty was created, as an ISO 8601 timestamp.",
29094
29428
  type: "string"
@@ -29098,14 +29432,14 @@ var native_spec_default = {
29098
29432
  type: "string"
29099
29433
  },
29100
29434
  experience_id: {
29101
- description: "Experience the bounty is hosted in, prefixed `exp_`. Null for platform-wide bounties; may belong to a different account than the funder.",
29435
+ description: "Experience the bounty is hosted in, prefixed `exp_`. `null` for platform-wide bounties; may belong to a different account than the funder.",
29102
29436
  type: [
29103
29437
  "string",
29104
29438
  "null"
29105
29439
  ]
29106
29440
  },
29107
29441
  funding_account: {
29108
- description: "The account whose balance funds the bounty pool, or `null` when a user funds it personally. May differ from the account hosting `experience_id`.",
29442
+ description: "Account whose balance funds the bounty pool, or `null` when a user funds it personally. May differ from the account hosting `experience_id`.",
29109
29443
  oneOf: [
29110
29444
  {
29111
29445
  $ref: "#/components/schemas/AccountSummary"
@@ -29129,7 +29463,7 @@ var native_spec_default = {
29129
29463
  },
29130
29464
  poster: {
29131
29465
  $ref: "#/components/schemas/UserSummary",
29132
- description: "The user who posted the bounty."
29466
+ description: "User who posted the bounty \u2014 the account owner when created with an account API key."
29133
29467
  },
29134
29468
  scheduled_frequency: {
29135
29469
  description: "How often the schedule creates a new bounty. Each occurrence is a separate bounty; the original is not republished.",
@@ -29148,7 +29482,7 @@ var native_spec_default = {
29148
29482
  ]
29149
29483
  },
29150
29484
  scheduled_publish_at: {
29151
- description: "When a scheduled bounty will publish, as an ISO 8601 timestamp. Null once published, for bounties that were never scheduled, and for terminally failed drafts parked for manual rescheduling.",
29485
+ description: "When a scheduled bounty will publish, as an ISO 8601 timestamp. `null` once published, for bounties that were never scheduled, and for terminally failed drafts parked for manual rescheduling.",
29152
29486
  type: [
29153
29487
  "string",
29154
29488
  "null"
@@ -29171,7 +29505,7 @@ var native_spec_default = {
29171
29505
  type: "string"
29172
29506
  },
29173
29507
  submissions_closed_at: {
29174
- description: "When new submissions were explicitly stopped, as an ISO 8601 timestamp. Null when submissions were never explicitly stopped \u2014 including closed or completed bounties that simply filled every winner slot.",
29508
+ description: "When new submissions were explicitly stopped, as an ISO 8601 timestamp. `null` when submissions were never explicitly stopped \u2014 including closed or completed bounties that simply filled every winner slot.",
29175
29509
  type: [
29176
29510
  "string",
29177
29511
  "null"
@@ -29202,7 +29536,6 @@ var native_spec_default = {
29202
29536
  "accepted_submissions_count",
29203
29537
  "unresolved_submissions_count",
29204
29538
  "spots_remaining",
29205
- "business_goal_type",
29206
29539
  "allowed_country_codes",
29207
29540
  "submissions_closed_at",
29208
29541
  "scheduled_publish_at",
@@ -29233,7 +29566,7 @@ var native_spec_default = {
29233
29566
  type: "string"
29234
29567
  },
29235
29568
  denial_reason: {
29236
- description: "Why the submission was denied, when a presentable reason exists. Always null unless `status` is `denied`.",
29569
+ description: "Why the submission was denied, when a presentable reason exists. Always `null` unless `status` is `denied`.",
29237
29570
  type: [
29238
29571
  "string",
29239
29572
  "null"
@@ -29244,7 +29577,7 @@ var native_spec_default = {
29244
29577
  type: "string"
29245
29578
  },
29246
29579
  resolved_at: {
29247
- description: "When the submission was approved or denied, as an ISO 8601 timestamp.",
29580
+ description: "When the submission was approved or denied, as an ISO 8601 timestamp. `null` until then.",
29248
29581
  type: [
29249
29582
  "string",
29250
29583
  "null"
@@ -29262,7 +29595,7 @@ var native_spec_default = {
29262
29595
  type: "string"
29263
29596
  },
29264
29597
  submitted_at: {
29265
- description: "When proof was submitted for review, as an ISO 8601 timestamp. Null while the attempt is in progress.",
29598
+ description: "When proof was submitted for review, as an ISO 8601 timestamp. `null` while the attempt is in progress.",
29266
29599
  type: [
29267
29600
  "string",
29268
29601
  "null"
@@ -29274,7 +29607,7 @@ var native_spec_default = {
29274
29607
  },
29275
29608
  worker: {
29276
29609
  $ref: "#/components/schemas/UserSummary",
29277
- description: "The user who submitted the work."
29610
+ description: "User who submitted the work."
29278
29611
  }
29279
29612
  },
29280
29613
  required: [
@@ -31902,6 +32235,7 @@ var native_spec_default = {
31902
32235
  enum: [
31903
32236
  "create_business",
31904
32237
  "become_affiliate",
32238
+ "become_whop_partner",
31905
32239
  "theme_business",
31906
32240
  "create_product",
31907
32241
  "create_plan",
@@ -31912,6 +32246,12 @@ var native_spec_default = {
31912
32246
  "migrate_from_stripe",
31913
32247
  "accept_first_payment",
31914
32248
  "launch_first_ad",
32249
+ "launch_draft_campaign",
32250
+ "increase_ad_budget",
32251
+ "refresh_ad_creatives",
32252
+ "fix_ad_billing",
32253
+ "exclude_customers_from_ads",
32254
+ "retarget_abandoned_checkouts",
31915
32255
  "invite_team_member",
31916
32256
  "enable_tax_collection",
31917
32257
  "create_card",
@@ -36799,7 +37139,7 @@ import { createRequire as createRequire2 } from "module";
36799
37139
  // src/lib/build-info.ts
36800
37140
  var buildChannel = true ? "npm" : "dev";
36801
37141
  var buildTarget = typeof WHOP_CLI_TARGET === "string" ? WHOP_CLI_TARGET : null;
36802
- var buildVersion = true ? "0.9.0" : null;
37142
+ var buildVersion = true ? "0.9.1" : null;
36803
37143
  function isHomebrewPath(execPath, env = process.env) {
36804
37144
  if (/[/\\](Cellar|homebrew|linuxbrew)[/\\]/.test(execPath)) return true;
36805
37145
  const prefix = env.HOMEBREW_PREFIX?.trim();
@@ -38051,7 +38391,7 @@ var groups_default = [
38051
38391
  {
38052
38392
  name: "stats",
38053
38393
  tag: "Stats",
38054
- description: "Aggregated account time series for reporting.",
38394
+ description: "Aggregated financial, audience, and traffic reporting.",
38055
38395
  group: "Core Resources"
38056
38396
  },
38057
38397
  {
@@ -40339,7 +40679,7 @@ function sleep2(ms) {
40339
40679
  // package.json
40340
40680
  var package_default = {
40341
40681
  name: "@whop/cli",
40342
- version: "0.9.0",
40682
+ version: "0.9.1",
40343
40683
  description: "The Whop CLI \u2014 build and manage Whop apps from your terminal. Human and agent friendly.",
40344
40684
  keywords: [
40345
40685
  "agent",