@whop/cli 0.31.0 → 0.33.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/README.md +3 -3
- package/dist/index.js +524 -1098
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/skills/whop/SKILL.md +2 -2
package/dist/index.js
CHANGED
|
@@ -14152,7 +14152,7 @@ var native_spec_default = {
|
|
|
14152
14152
|
termsOfService: "https://whop.com/tos-developer-api/",
|
|
14153
14153
|
title: "Whop API",
|
|
14154
14154
|
version: "1.0.0",
|
|
14155
|
-
"x-api-version-date": "2026-10-
|
|
14155
|
+
"x-api-version-date": "2026-10-30"
|
|
14156
14156
|
},
|
|
14157
14157
|
servers: [
|
|
14158
14158
|
{
|
|
@@ -14391,11 +14391,6 @@ var native_spec_default = {
|
|
|
14391
14391
|
name: "Ad Pixels",
|
|
14392
14392
|
"x-whop-summary": "Your own pixels that receive conversions from campaigns you claimed."
|
|
14393
14393
|
},
|
|
14394
|
-
{
|
|
14395
|
-
description: "A conversion value rule changes the conversion values Whop sends to ad networks while Whop keeps recording the accurate values. Each rule belongs to an account and applies one value adjustment to a set of targets (the account, an ad campaign, an ad group, or an ad) and events. Every selected event applies to every selected target, and the most specific rule applies.\n\nUse the Ad Conversion Value Rules API to create, edit, pause, resume, and delete rules, and to find the rules that cover a campaign, ad group, or ad. Each write succeeds or fails as one transaction, and each conversion send uses the rules saved at that moment.\n",
|
|
14396
|
-
name: "Ad Conversion Value Rules",
|
|
14397
|
-
"x-whop-summary": "Modify how conversion events are delivered to ad networks."
|
|
14398
|
-
},
|
|
14399
14394
|
{
|
|
14400
14395
|
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 the metrics you can chart and retrieve one as a time series over a date range, or list reports and retrieve aggregates that are not bucketed over time, such as platform-wide payment trends.\n",
|
|
14401
14396
|
name: "Stats",
|
|
@@ -14531,6 +14526,7 @@ var native_spec_default = {
|
|
|
14531
14526
|
"Payouts",
|
|
14532
14527
|
"Ledgers",
|
|
14533
14528
|
"Cards",
|
|
14529
|
+
"Capital",
|
|
14534
14530
|
"Cashback Rules",
|
|
14535
14531
|
"Swaps",
|
|
14536
14532
|
"Trades",
|
|
@@ -14568,14 +14564,7 @@ var native_spec_default = {
|
|
|
14568
14564
|
{
|
|
14569
14565
|
description: "Run and measure ad campaigns from your integration.",
|
|
14570
14566
|
name: "Ads",
|
|
14571
|
-
tags: [
|
|
14572
|
-
"Ad Campaigns",
|
|
14573
|
-
"Ad Groups",
|
|
14574
|
-
"Ads",
|
|
14575
|
-
"Audiences",
|
|
14576
|
-
"Ad Pixels",
|
|
14577
|
-
"Ad Conversion Value Rules"
|
|
14578
|
-
]
|
|
14567
|
+
tags: ["Ad Campaigns", "Ad Groups", "Ads", "Audiences", "Ad Pixels"]
|
|
14579
14568
|
},
|
|
14580
14569
|
{
|
|
14581
14570
|
description: "Who visits, what converts, and how an account is performing.",
|
|
@@ -19790,16 +19779,6 @@ var native_spec_default = {
|
|
|
19790
19779
|
example: "biz_xxxxxxxxxxxxxx",
|
|
19791
19780
|
type: "string"
|
|
19792
19781
|
},
|
|
19793
|
-
bid_type: {
|
|
19794
|
-
description: "How delivery bids in the ad auction: `minimum_cost` gets the most results for the budget, `average_target` holds an average cost per result, `maximum_target` never bids above a cap. Only for campaigns that own the budget.",
|
|
19795
|
-
enum: [
|
|
19796
|
-
"minimum_cost",
|
|
19797
|
-
"average_target",
|
|
19798
|
-
"maximum_target"
|
|
19799
|
-
],
|
|
19800
|
-
example: "average_target",
|
|
19801
|
-
type: "string"
|
|
19802
|
-
},
|
|
19803
19782
|
budget_amount: {
|
|
19804
19783
|
description: "The campaign's budget in USD, which is what it is stored and billed in. Required when budget_optimization is `ad_campaign` (or send budget_amount_local instead); omit when each ad group sets its own budget.",
|
|
19805
19784
|
example: 25,
|
|
@@ -20091,16 +20070,6 @@ var native_spec_default = {
|
|
|
20091
20070
|
"application/json": {
|
|
20092
20071
|
schema: {
|
|
20093
20072
|
properties: {
|
|
20094
|
-
bid_type: {
|
|
20095
|
-
description: "How delivery bids in the ad auction: `minimum_cost` gets the most results for the budget, `average_target` holds an average cost per result, `maximum_target` never bids above a cap. Switching to `minimum_cost` clears the cap amounts stored on the campaign's ad groups. Only for campaigns that own the budget.",
|
|
20096
|
-
enum: [
|
|
20097
|
-
"minimum_cost",
|
|
20098
|
-
"average_target",
|
|
20099
|
-
"maximum_target"
|
|
20100
|
-
],
|
|
20101
|
-
example: "average_target",
|
|
20102
|
-
type: "string"
|
|
20103
|
-
},
|
|
20104
20073
|
budget_amount: {
|
|
20105
20074
|
description: "The campaign budget in USD, which is what it is stored and billed in. Interpreted as daily or lifetime per the campaign's budget type, including a budget_type sent in the same request.",
|
|
20106
20075
|
example: 40,
|
|
@@ -20483,704 +20452,6 @@ var native_spec_default = {
|
|
|
20483
20452
|
]
|
|
20484
20453
|
}
|
|
20485
20454
|
},
|
|
20486
|
-
"/ad_conversion_value_rules": {
|
|
20487
|
-
get: {
|
|
20488
|
-
description: "Lists the conversion value rules you can read.",
|
|
20489
|
-
operationId: "list",
|
|
20490
|
-
parameters: [
|
|
20491
|
-
{
|
|
20492
|
-
$ref: "#/components/parameters/ApiVersionDate"
|
|
20493
|
-
},
|
|
20494
|
-
{
|
|
20495
|
-
description: "Only rules belonging to this account, prefixed `biz_`.",
|
|
20496
|
-
in: "query",
|
|
20497
|
-
name: "account_id",
|
|
20498
|
-
required: false,
|
|
20499
|
-
schema: {
|
|
20500
|
-
type: "string"
|
|
20501
|
-
}
|
|
20502
|
-
},
|
|
20503
|
-
{
|
|
20504
|
-
in: "query",
|
|
20505
|
-
name: "status",
|
|
20506
|
-
required: false,
|
|
20507
|
-
schema: {
|
|
20508
|
-
enum: ["active", "paused"],
|
|
20509
|
-
type: "string"
|
|
20510
|
-
}
|
|
20511
|
-
},
|
|
20512
|
-
{
|
|
20513
|
-
in: "query",
|
|
20514
|
-
name: "platform",
|
|
20515
|
-
required: false,
|
|
20516
|
-
schema: {
|
|
20517
|
-
enum: ["tiktok", "meta", "google"],
|
|
20518
|
-
type: "string"
|
|
20519
|
-
}
|
|
20520
|
-
},
|
|
20521
|
-
{
|
|
20522
|
-
description: "Campaign, ad group, or ad ID. Return rules covering this item, its ancestors, or its descendants.",
|
|
20523
|
-
in: "query",
|
|
20524
|
-
name: "resource_id",
|
|
20525
|
-
required: false,
|
|
20526
|
-
schema: {
|
|
20527
|
-
type: "string"
|
|
20528
|
-
}
|
|
20529
|
-
},
|
|
20530
|
-
{
|
|
20531
|
-
description: "Number of results to return from the start of the range.",
|
|
20532
|
-
in: "query",
|
|
20533
|
-
name: "first",
|
|
20534
|
-
required: false,
|
|
20535
|
-
schema: {
|
|
20536
|
-
default: 20,
|
|
20537
|
-
maximum: 100,
|
|
20538
|
-
type: "integer"
|
|
20539
|
-
}
|
|
20540
|
-
},
|
|
20541
|
-
{
|
|
20542
|
-
description: "Return results after this cursor. Use `page_info.end_cursor` from the previous response to fetch the next page.",
|
|
20543
|
-
in: "query",
|
|
20544
|
-
name: "after",
|
|
20545
|
-
required: false,
|
|
20546
|
-
schema: {
|
|
20547
|
-
type: "string"
|
|
20548
|
-
}
|
|
20549
|
-
},
|
|
20550
|
-
{
|
|
20551
|
-
description: "Number of results to return from the end of the range.",
|
|
20552
|
-
in: "query",
|
|
20553
|
-
name: "last",
|
|
20554
|
-
required: false,
|
|
20555
|
-
schema: {
|
|
20556
|
-
maximum: 100,
|
|
20557
|
-
type: "integer"
|
|
20558
|
-
}
|
|
20559
|
-
},
|
|
20560
|
-
{
|
|
20561
|
-
description: "Return results before this cursor. Use `page_info.start_cursor` from the previous response to fetch the previous page.",
|
|
20562
|
-
in: "query",
|
|
20563
|
-
name: "before",
|
|
20564
|
-
required: false,
|
|
20565
|
-
schema: {
|
|
20566
|
-
type: "string"
|
|
20567
|
-
}
|
|
20568
|
-
},
|
|
20569
|
-
{
|
|
20570
|
-
in: "query",
|
|
20571
|
-
name: "order",
|
|
20572
|
-
required: false,
|
|
20573
|
-
schema: {
|
|
20574
|
-
enum: ["created_at"],
|
|
20575
|
-
type: "string"
|
|
20576
|
-
}
|
|
20577
|
-
},
|
|
20578
|
-
{
|
|
20579
|
-
in: "query",
|
|
20580
|
-
name: "direction",
|
|
20581
|
-
required: false,
|
|
20582
|
-
schema: {
|
|
20583
|
-
enum: ["asc", "desc"],
|
|
20584
|
-
type: "string"
|
|
20585
|
-
}
|
|
20586
|
-
}
|
|
20587
|
-
],
|
|
20588
|
-
responses: {
|
|
20589
|
-
"200": {
|
|
20590
|
-
content: {
|
|
20591
|
-
"application/json": {
|
|
20592
|
-
schema: {
|
|
20593
|
-
properties: {
|
|
20594
|
-
data: {
|
|
20595
|
-
items: {
|
|
20596
|
-
$ref: "#/components/schemas/AdConversionValueRule"
|
|
20597
|
-
},
|
|
20598
|
-
type: "array"
|
|
20599
|
-
},
|
|
20600
|
-
page_info: {
|
|
20601
|
-
properties: {
|
|
20602
|
-
end_cursor: {
|
|
20603
|
-
example: null,
|
|
20604
|
-
nullable: true,
|
|
20605
|
-
type: "string"
|
|
20606
|
-
},
|
|
20607
|
-
has_next_page: {
|
|
20608
|
-
example: false,
|
|
20609
|
-
type: "boolean"
|
|
20610
|
-
},
|
|
20611
|
-
has_previous_page: {
|
|
20612
|
-
example: false,
|
|
20613
|
-
type: "boolean"
|
|
20614
|
-
},
|
|
20615
|
-
start_cursor: {
|
|
20616
|
-
example: null,
|
|
20617
|
-
nullable: true,
|
|
20618
|
-
type: "string"
|
|
20619
|
-
}
|
|
20620
|
-
},
|
|
20621
|
-
required: [
|
|
20622
|
-
"start_cursor",
|
|
20623
|
-
"end_cursor",
|
|
20624
|
-
"has_next_page",
|
|
20625
|
-
"has_previous_page"
|
|
20626
|
-
],
|
|
20627
|
-
type: "object"
|
|
20628
|
-
}
|
|
20629
|
-
},
|
|
20630
|
-
required: ["data", "page_info"],
|
|
20631
|
-
type: "object"
|
|
20632
|
-
}
|
|
20633
|
-
}
|
|
20634
|
-
},
|
|
20635
|
-
description: "Rules"
|
|
20636
|
-
}
|
|
20637
|
-
},
|
|
20638
|
-
security: [
|
|
20639
|
-
{
|
|
20640
|
-
bearerAuth: ["ad_campaign:basic:read"]
|
|
20641
|
-
}
|
|
20642
|
-
],
|
|
20643
|
-
summary: "List conversion value rules",
|
|
20644
|
-
tags: ["Ad Conversion Value Rules"],
|
|
20645
|
-
"x-mint": {
|
|
20646
|
-
metadata: {
|
|
20647
|
-
title: "List Conversion Value Rules",
|
|
20648
|
-
sidebarTitle: "List Conversion Value Rules"
|
|
20649
|
-
}
|
|
20650
|
-
}
|
|
20651
|
-
},
|
|
20652
|
-
post: {
|
|
20653
|
-
description: "Creates one rule covering every selected target and event combination. Active rules cannot overlap for the same target and event. Customer prices and Whop revenue stay unchanged.",
|
|
20654
|
-
operationId: "create",
|
|
20655
|
-
parameters: [
|
|
20656
|
-
{
|
|
20657
|
-
$ref: "#/components/parameters/ApiVersionDate"
|
|
20658
|
-
},
|
|
20659
|
-
{
|
|
20660
|
-
$ref: "#/components/parameters/IdempotencyKey"
|
|
20661
|
-
}
|
|
20662
|
-
],
|
|
20663
|
-
requestBody: {
|
|
20664
|
-
content: {
|
|
20665
|
-
"application/json": {
|
|
20666
|
-
schema: {
|
|
20667
|
-
properties: {
|
|
20668
|
-
account_id: {
|
|
20669
|
-
description: "Business that owns the rule.",
|
|
20670
|
-
example: "biz_xxxxxxxxxxxxxx",
|
|
20671
|
-
type: "string"
|
|
20672
|
-
},
|
|
20673
|
-
adjustment_type: {
|
|
20674
|
-
enum: ["fixed", "percentage"],
|
|
20675
|
-
example: "fixed",
|
|
20676
|
-
type: "string"
|
|
20677
|
-
},
|
|
20678
|
-
events: {
|
|
20679
|
-
description: "Events adjusted on every selected target. A network that doesn't support a named custom event leaves it out.",
|
|
20680
|
-
items: {
|
|
20681
|
-
properties: {
|
|
20682
|
-
custom_name: {
|
|
20683
|
-
description: "Exact custom event name. Required for custom events; `null` for standard events.",
|
|
20684
|
-
nullable: true,
|
|
20685
|
-
type: "string"
|
|
20686
|
-
},
|
|
20687
|
-
event_name: {
|
|
20688
|
-
enum: [
|
|
20689
|
-
"purchase",
|
|
20690
|
-
"subscribe",
|
|
20691
|
-
"start_trial",
|
|
20692
|
-
"lead",
|
|
20693
|
-
"complete_registration",
|
|
20694
|
-
"submit_application",
|
|
20695
|
-
"schedule",
|
|
20696
|
-
"contact",
|
|
20697
|
-
"view_content",
|
|
20698
|
-
"add_to_cart",
|
|
20699
|
-
"custom"
|
|
20700
|
-
],
|
|
20701
|
-
example: "lead",
|
|
20702
|
-
type: "string"
|
|
20703
|
-
}
|
|
20704
|
-
},
|
|
20705
|
-
required: ["event_name"],
|
|
20706
|
-
type: "object"
|
|
20707
|
-
},
|
|
20708
|
-
maxItems: 100,
|
|
20709
|
-
minItems: 1,
|
|
20710
|
-
type: "array"
|
|
20711
|
-
},
|
|
20712
|
-
fixed_value: {
|
|
20713
|
-
nullable: true,
|
|
20714
|
-
properties: {
|
|
20715
|
-
amount: {
|
|
20716
|
-
description: "Decimal amount with at most 2 decimal places. Fixed values must be greater than 0 and at most 99999999.99.",
|
|
20717
|
-
example: "60.00",
|
|
20718
|
-
pattern: "^-?(?:[0-9]+(?:\\.[0-9]{1,2})?|\\.[0-9]{1,2})$",
|
|
20719
|
-
type: "string"
|
|
20720
|
-
},
|
|
20721
|
-
currency: {
|
|
20722
|
-
example: "usd",
|
|
20723
|
-
type: "string"
|
|
20724
|
-
}
|
|
20725
|
-
},
|
|
20726
|
-
required: ["amount", "currency"],
|
|
20727
|
-
type: "object"
|
|
20728
|
-
},
|
|
20729
|
-
metadata: {
|
|
20730
|
-
additionalProperties: {
|
|
20731
|
-
type: "string"
|
|
20732
|
-
},
|
|
20733
|
-
type: "object"
|
|
20734
|
-
},
|
|
20735
|
-
percentage_change: {
|
|
20736
|
-
description: "Signed percent change from negative 100 to 10000. The sent value cannot go below zero.",
|
|
20737
|
-
maximum: 1e4,
|
|
20738
|
-
minimum: -100,
|
|
20739
|
-
multipleOf: 0.01,
|
|
20740
|
-
nullable: true,
|
|
20741
|
-
type: "number"
|
|
20742
|
-
},
|
|
20743
|
-
replace_rule_ids: {
|
|
20744
|
-
description: "Exact IDs of active rules whose overlapping selections will be replaced. Other selections keep their values; remaining selections may split into separate rules. Broader rules remain as fallbacks for other items. Rules left with no selections are paused. Stale or incomplete conflict selections fail.",
|
|
20745
|
-
items: {
|
|
20746
|
-
type: "string"
|
|
20747
|
-
},
|
|
20748
|
-
maxItems: 1e3,
|
|
20749
|
-
type: "array",
|
|
20750
|
-
uniqueItems: true
|
|
20751
|
-
},
|
|
20752
|
-
status: {
|
|
20753
|
-
description: "Initial rule status. Defaults to active.",
|
|
20754
|
-
enum: ["active", "paused"],
|
|
20755
|
-
example: "active",
|
|
20756
|
-
type: "string"
|
|
20757
|
-
},
|
|
20758
|
-
targets: {
|
|
20759
|
-
description: "Targets sharing one scope. Each target covers every network Whop runs it on, and every selected event applies to every target. At most 500 target, network, and event combinations.",
|
|
20760
|
-
items: {
|
|
20761
|
-
properties: {
|
|
20762
|
-
resource_id: {
|
|
20763
|
-
description: "Campaign, ad group, or ad ID. Null for a business target.",
|
|
20764
|
-
nullable: true,
|
|
20765
|
-
type: "string"
|
|
20766
|
-
},
|
|
20767
|
-
scope: {
|
|
20768
|
-
enum: ["business", "campaign", "ad_group", "ad"],
|
|
20769
|
-
example: "business",
|
|
20770
|
-
type: "string"
|
|
20771
|
-
}
|
|
20772
|
-
},
|
|
20773
|
-
required: ["scope"],
|
|
20774
|
-
type: "object"
|
|
20775
|
-
},
|
|
20776
|
-
maxItems: 100,
|
|
20777
|
-
minItems: 1,
|
|
20778
|
-
type: "array"
|
|
20779
|
-
}
|
|
20780
|
-
},
|
|
20781
|
-
required: [
|
|
20782
|
-
"account_id",
|
|
20783
|
-
"adjustment_type",
|
|
20784
|
-
"targets",
|
|
20785
|
-
"events"
|
|
20786
|
-
],
|
|
20787
|
-
type: "object"
|
|
20788
|
-
}
|
|
20789
|
-
}
|
|
20790
|
-
}
|
|
20791
|
-
},
|
|
20792
|
-
responses: {
|
|
20793
|
-
"201": {
|
|
20794
|
-
content: {
|
|
20795
|
-
"application/json": {
|
|
20796
|
-
schema: {
|
|
20797
|
-
$ref: "#/components/schemas/AdConversionValueRule"
|
|
20798
|
-
}
|
|
20799
|
-
}
|
|
20800
|
-
},
|
|
20801
|
-
description: "Created"
|
|
20802
|
-
},
|
|
20803
|
-
"401": {
|
|
20804
|
-
description: "Unauthorized"
|
|
20805
|
-
},
|
|
20806
|
-
"403": {
|
|
20807
|
-
description: "Forbidden"
|
|
20808
|
-
},
|
|
20809
|
-
"409": {
|
|
20810
|
-
$ref: "#/components/responses/Conflict"
|
|
20811
|
-
}
|
|
20812
|
-
},
|
|
20813
|
-
security: [
|
|
20814
|
-
{
|
|
20815
|
-
bearerAuth: ["ad_campaign:update"]
|
|
20816
|
-
}
|
|
20817
|
-
],
|
|
20818
|
-
summary: "Create a conversion value rule",
|
|
20819
|
-
tags: ["Ad Conversion Value Rules"],
|
|
20820
|
-
"x-mint": {
|
|
20821
|
-
metadata: {
|
|
20822
|
-
title: "Create a Conversion Value Rule",
|
|
20823
|
-
sidebarTitle: "Create a Conversion Value Rule"
|
|
20824
|
-
}
|
|
20825
|
-
}
|
|
20826
|
-
}
|
|
20827
|
-
},
|
|
20828
|
-
"/ad_conversion_value_rules/{id}": {
|
|
20829
|
-
delete: {
|
|
20830
|
-
description: "Deletes a rule and deactivates all its coverage. The rule's stored settings are preserved.",
|
|
20831
|
-
operationId: "delete",
|
|
20832
|
-
responses: {
|
|
20833
|
-
"200": {
|
|
20834
|
-
content: {
|
|
20835
|
-
"application/json": {
|
|
20836
|
-
schema: {
|
|
20837
|
-
properties: {
|
|
20838
|
-
deleted: {
|
|
20839
|
-
example: true,
|
|
20840
|
-
type: "boolean"
|
|
20841
|
-
},
|
|
20842
|
-
id: {
|
|
20843
|
-
example: "adcvr_xxxxxxxxxxxxxx",
|
|
20844
|
-
type: "string"
|
|
20845
|
-
}
|
|
20846
|
-
},
|
|
20847
|
-
required: ["id", "deleted"],
|
|
20848
|
-
type: "object"
|
|
20849
|
-
}
|
|
20850
|
-
}
|
|
20851
|
-
},
|
|
20852
|
-
description: "Deleted"
|
|
20853
|
-
}
|
|
20854
|
-
},
|
|
20855
|
-
security: [
|
|
20856
|
-
{
|
|
20857
|
-
bearerAuth: ["ad_campaign:update"]
|
|
20858
|
-
}
|
|
20859
|
-
],
|
|
20860
|
-
summary: "Delete a conversion value rule",
|
|
20861
|
-
tags: ["Ad Conversion Value Rules"],
|
|
20862
|
-
"x-mint": {
|
|
20863
|
-
metadata: {
|
|
20864
|
-
title: "Delete a Conversion Value Rule",
|
|
20865
|
-
sidebarTitle: "Delete a Conversion Value Rule"
|
|
20866
|
-
}
|
|
20867
|
-
},
|
|
20868
|
-
parameters: [
|
|
20869
|
-
{
|
|
20870
|
-
$ref: "#/components/parameters/ApiVersionDate"
|
|
20871
|
-
},
|
|
20872
|
-
{
|
|
20873
|
-
description: "Conversion value rule ID, prefixed `adcvr_`.",
|
|
20874
|
-
in: "path",
|
|
20875
|
-
name: "id",
|
|
20876
|
-
required: true,
|
|
20877
|
-
schema: {
|
|
20878
|
-
type: "string"
|
|
20879
|
-
}
|
|
20880
|
-
}
|
|
20881
|
-
]
|
|
20882
|
-
},
|
|
20883
|
-
get: {
|
|
20884
|
-
description: "Retrieves a conversion value rule with its targets, events, and value adjustment.",
|
|
20885
|
-
operationId: "get",
|
|
20886
|
-
responses: {
|
|
20887
|
-
"200": {
|
|
20888
|
-
content: {
|
|
20889
|
-
"application/json": {
|
|
20890
|
-
schema: {
|
|
20891
|
-
$ref: "#/components/schemas/AdConversionValueRule"
|
|
20892
|
-
}
|
|
20893
|
-
}
|
|
20894
|
-
},
|
|
20895
|
-
description: "Rule"
|
|
20896
|
-
}
|
|
20897
|
-
},
|
|
20898
|
-
security: [
|
|
20899
|
-
{
|
|
20900
|
-
bearerAuth: ["ad_campaign:basic:read"]
|
|
20901
|
-
}
|
|
20902
|
-
],
|
|
20903
|
-
summary: "Retrieve a conversion value rule",
|
|
20904
|
-
tags: ["Ad Conversion Value Rules"],
|
|
20905
|
-
"x-mint": {
|
|
20906
|
-
metadata: {
|
|
20907
|
-
title: "Retrieve a Conversion Value Rule",
|
|
20908
|
-
sidebarTitle: "Retrieve a Conversion Value Rule"
|
|
20909
|
-
}
|
|
20910
|
-
},
|
|
20911
|
-
parameters: [
|
|
20912
|
-
{
|
|
20913
|
-
$ref: "#/components/parameters/ApiVersionDate"
|
|
20914
|
-
},
|
|
20915
|
-
{
|
|
20916
|
-
description: "Conversion value rule ID, prefixed `adcvr_`.",
|
|
20917
|
-
in: "path",
|
|
20918
|
-
name: "id",
|
|
20919
|
-
required: true,
|
|
20920
|
-
schema: {
|
|
20921
|
-
type: "string"
|
|
20922
|
-
}
|
|
20923
|
-
}
|
|
20924
|
-
]
|
|
20925
|
-
},
|
|
20926
|
-
patch: {
|
|
20927
|
-
description: "Edits a rule without changing its status. Supplied `targets` or `events` replace that selection in full, and omitted fields stay unchanged. All changes succeed or fail together.",
|
|
20928
|
-
operationId: "update",
|
|
20929
|
-
parameters: [
|
|
20930
|
-
{
|
|
20931
|
-
$ref: "#/components/parameters/ApiVersionDate"
|
|
20932
|
-
},
|
|
20933
|
-
{
|
|
20934
|
-
description: "Conversion value rule ID, prefixed `adcvr_`.",
|
|
20935
|
-
in: "path",
|
|
20936
|
-
name: "id",
|
|
20937
|
-
required: true,
|
|
20938
|
-
schema: {
|
|
20939
|
-
type: "string"
|
|
20940
|
-
}
|
|
20941
|
-
}
|
|
20942
|
-
],
|
|
20943
|
-
requestBody: {
|
|
20944
|
-
content: {
|
|
20945
|
-
"application/json": {
|
|
20946
|
-
schema: {
|
|
20947
|
-
properties: {
|
|
20948
|
-
adjustment_type: {
|
|
20949
|
-
enum: ["fixed", "percentage"],
|
|
20950
|
-
example: "fixed",
|
|
20951
|
-
type: "string"
|
|
20952
|
-
},
|
|
20953
|
-
events: {
|
|
20954
|
-
description: "Events adjusted on every selected target. A network that doesn't support a named custom event leaves it out.",
|
|
20955
|
-
items: {
|
|
20956
|
-
properties: {
|
|
20957
|
-
custom_name: {
|
|
20958
|
-
description: "Exact custom event name. Required for custom events; `null` for standard events.",
|
|
20959
|
-
nullable: true,
|
|
20960
|
-
type: "string"
|
|
20961
|
-
},
|
|
20962
|
-
event_name: {
|
|
20963
|
-
enum: [
|
|
20964
|
-
"purchase",
|
|
20965
|
-
"subscribe",
|
|
20966
|
-
"start_trial",
|
|
20967
|
-
"lead",
|
|
20968
|
-
"complete_registration",
|
|
20969
|
-
"submit_application",
|
|
20970
|
-
"schedule",
|
|
20971
|
-
"contact",
|
|
20972
|
-
"view_content",
|
|
20973
|
-
"add_to_cart",
|
|
20974
|
-
"custom"
|
|
20975
|
-
],
|
|
20976
|
-
example: "lead",
|
|
20977
|
-
type: "string"
|
|
20978
|
-
}
|
|
20979
|
-
},
|
|
20980
|
-
required: ["event_name"],
|
|
20981
|
-
type: "object"
|
|
20982
|
-
},
|
|
20983
|
-
maxItems: 100,
|
|
20984
|
-
minItems: 1,
|
|
20985
|
-
type: "array"
|
|
20986
|
-
},
|
|
20987
|
-
fixed_value: {
|
|
20988
|
-
nullable: true,
|
|
20989
|
-
properties: {
|
|
20990
|
-
amount: {
|
|
20991
|
-
description: "Decimal amount with at most 2 decimal places. Fixed values must be greater than 0 and at most 99999999.99.",
|
|
20992
|
-
example: "60.00",
|
|
20993
|
-
pattern: "^-?(?:[0-9]+(?:\\.[0-9]{1,2})?|\\.[0-9]{1,2})$",
|
|
20994
|
-
type: "string"
|
|
20995
|
-
},
|
|
20996
|
-
currency: {
|
|
20997
|
-
example: "usd",
|
|
20998
|
-
type: "string"
|
|
20999
|
-
}
|
|
21000
|
-
},
|
|
21001
|
-
required: ["amount", "currency"],
|
|
21002
|
-
type: "object"
|
|
21003
|
-
},
|
|
21004
|
-
metadata: {
|
|
21005
|
-
additionalProperties: {
|
|
21006
|
-
type: "string"
|
|
21007
|
-
},
|
|
21008
|
-
type: "object"
|
|
21009
|
-
},
|
|
21010
|
-
percentage_change: {
|
|
21011
|
-
description: "Signed percent change from negative 100 to 10000. The sent value cannot go below zero.",
|
|
21012
|
-
maximum: 1e4,
|
|
21013
|
-
minimum: -100,
|
|
21014
|
-
multipleOf: 0.01,
|
|
21015
|
-
nullable: true,
|
|
21016
|
-
type: "number"
|
|
21017
|
-
},
|
|
21018
|
-
replace_rule_ids: {
|
|
21019
|
-
description: "Exact IDs of active rules whose overlapping selections will be replaced. Other selections keep their values; remaining selections may split into separate rules. Broader rules remain as fallbacks for other items. Rules left with no selections are paused. Stale or incomplete conflict selections fail.",
|
|
21020
|
-
items: {
|
|
21021
|
-
type: "string"
|
|
21022
|
-
},
|
|
21023
|
-
maxItems: 1e3,
|
|
21024
|
-
type: "array",
|
|
21025
|
-
uniqueItems: true
|
|
21026
|
-
},
|
|
21027
|
-
targets: {
|
|
21028
|
-
description: "Targets sharing one scope. Each target covers every network Whop runs it on, and every selected event applies to every target. At most 500 target, network, and event combinations.",
|
|
21029
|
-
items: {
|
|
21030
|
-
properties: {
|
|
21031
|
-
resource_id: {
|
|
21032
|
-
description: "Campaign, ad group, or ad ID. Null for a business target.",
|
|
21033
|
-
nullable: true,
|
|
21034
|
-
type: "string"
|
|
21035
|
-
},
|
|
21036
|
-
scope: {
|
|
21037
|
-
enum: ["business", "campaign", "ad_group", "ad"],
|
|
21038
|
-
example: "business",
|
|
21039
|
-
type: "string"
|
|
21040
|
-
}
|
|
21041
|
-
},
|
|
21042
|
-
required: ["scope"],
|
|
21043
|
-
type: "object"
|
|
21044
|
-
},
|
|
21045
|
-
maxItems: 100,
|
|
21046
|
-
minItems: 1,
|
|
21047
|
-
type: "array"
|
|
21048
|
-
}
|
|
21049
|
-
},
|
|
21050
|
-
type: "object"
|
|
21051
|
-
}
|
|
21052
|
-
}
|
|
21053
|
-
}
|
|
21054
|
-
},
|
|
21055
|
-
responses: {
|
|
21056
|
-
"200": {
|
|
21057
|
-
content: {
|
|
21058
|
-
"application/json": {
|
|
21059
|
-
schema: {
|
|
21060
|
-
$ref: "#/components/schemas/AdConversionValueRule"
|
|
21061
|
-
}
|
|
21062
|
-
}
|
|
21063
|
-
},
|
|
21064
|
-
description: "Updated"
|
|
21065
|
-
}
|
|
21066
|
-
},
|
|
21067
|
-
security: [
|
|
21068
|
-
{
|
|
21069
|
-
bearerAuth: ["ad_campaign:update"]
|
|
21070
|
-
}
|
|
21071
|
-
],
|
|
21072
|
-
summary: "Update a conversion value rule",
|
|
21073
|
-
tags: ["Ad Conversion Value Rules"],
|
|
21074
|
-
"x-mint": {
|
|
21075
|
-
metadata: {
|
|
21076
|
-
title: "Update a Conversion Value Rule",
|
|
21077
|
-
sidebarTitle: "Update a Conversion Value Rule"
|
|
21078
|
-
}
|
|
21079
|
-
}
|
|
21080
|
-
}
|
|
21081
|
-
},
|
|
21082
|
-
"/ad_conversion_value_rules/{id}/pause": {
|
|
21083
|
-
post: {
|
|
21084
|
-
description: "Pauses the rule across all selected targets and events.",
|
|
21085
|
-
operationId: "pause",
|
|
21086
|
-
parameters: [
|
|
21087
|
-
{
|
|
21088
|
-
$ref: "#/components/parameters/ApiVersionDate"
|
|
21089
|
-
},
|
|
21090
|
-
{
|
|
21091
|
-
description: "Conversion value rule ID, prefixed `adcvr_`.",
|
|
21092
|
-
in: "path",
|
|
21093
|
-
name: "id",
|
|
21094
|
-
required: true,
|
|
21095
|
-
schema: {
|
|
21096
|
-
type: "string"
|
|
21097
|
-
}
|
|
21098
|
-
},
|
|
21099
|
-
{
|
|
21100
|
-
$ref: "#/components/parameters/IdempotencyKey"
|
|
21101
|
-
}
|
|
21102
|
-
],
|
|
21103
|
-
responses: {
|
|
21104
|
-
"200": {
|
|
21105
|
-
content: {
|
|
21106
|
-
"application/json": {
|
|
21107
|
-
schema: {
|
|
21108
|
-
$ref: "#/components/schemas/AdConversionValueRule"
|
|
21109
|
-
}
|
|
21110
|
-
}
|
|
21111
|
-
},
|
|
21112
|
-
description: "Rule"
|
|
21113
|
-
},
|
|
21114
|
-
"409": {
|
|
21115
|
-
$ref: "#/components/responses/Conflict"
|
|
21116
|
-
}
|
|
21117
|
-
},
|
|
21118
|
-
security: [
|
|
21119
|
-
{
|
|
21120
|
-
bearerAuth: ["ad_campaign:update"]
|
|
21121
|
-
}
|
|
21122
|
-
],
|
|
21123
|
-
summary: "Pause a conversion value rule",
|
|
21124
|
-
tags: ["Ad Conversion Value Rules"],
|
|
21125
|
-
"x-mint": {
|
|
21126
|
-
metadata: {
|
|
21127
|
-
title: "Pause a Conversion Value Rule",
|
|
21128
|
-
sidebarTitle: "Pause a Conversion Value Rule"
|
|
21129
|
-
}
|
|
21130
|
-
}
|
|
21131
|
-
}
|
|
21132
|
-
},
|
|
21133
|
-
"/ad_conversion_value_rules/{id}/unpause": {
|
|
21134
|
-
post: {
|
|
21135
|
-
description: "Resumes the rule and automatically replaces overlapping selections in the same transaction. Other selections keep their values, and broader rules remain as defaults. Rules with no remaining selections are paused. Resuming an already-active rule makes no changes.",
|
|
21136
|
-
operationId: "unpause",
|
|
21137
|
-
parameters: [
|
|
21138
|
-
{
|
|
21139
|
-
$ref: "#/components/parameters/ApiVersionDate"
|
|
21140
|
-
},
|
|
21141
|
-
{
|
|
21142
|
-
description: "Conversion value rule ID, prefixed `adcvr_`.",
|
|
21143
|
-
in: "path",
|
|
21144
|
-
name: "id",
|
|
21145
|
-
required: true,
|
|
21146
|
-
schema: {
|
|
21147
|
-
type: "string"
|
|
21148
|
-
}
|
|
21149
|
-
},
|
|
21150
|
-
{
|
|
21151
|
-
$ref: "#/components/parameters/IdempotencyKey"
|
|
21152
|
-
}
|
|
21153
|
-
],
|
|
21154
|
-
responses: {
|
|
21155
|
-
"200": {
|
|
21156
|
-
content: {
|
|
21157
|
-
"application/json": {
|
|
21158
|
-
schema: {
|
|
21159
|
-
$ref: "#/components/schemas/AdConversionValueRule"
|
|
21160
|
-
}
|
|
21161
|
-
}
|
|
21162
|
-
},
|
|
21163
|
-
description: "Rule"
|
|
21164
|
-
},
|
|
21165
|
-
"409": {
|
|
21166
|
-
$ref: "#/components/responses/Conflict"
|
|
21167
|
-
}
|
|
21168
|
-
},
|
|
21169
|
-
security: [
|
|
21170
|
-
{
|
|
21171
|
-
bearerAuth: ["ad_campaign:update"]
|
|
21172
|
-
}
|
|
21173
|
-
],
|
|
21174
|
-
summary: "Unpause a conversion value rule",
|
|
21175
|
-
tags: ["Ad Conversion Value Rules"],
|
|
21176
|
-
"x-mint": {
|
|
21177
|
-
metadata: {
|
|
21178
|
-
title: "Unpause a Conversion Value Rule",
|
|
21179
|
-
sidebarTitle: "Unpause a Conversion Value Rule"
|
|
21180
|
-
}
|
|
21181
|
-
}
|
|
21182
|
-
}
|
|
21183
|
-
},
|
|
21184
20455
|
"/ad_groups": {
|
|
21185
20456
|
get: {
|
|
21186
20457
|
description: "Lists ad groups for the account, newest first.",
|
|
@@ -22922,7 +22193,7 @@ var native_spec_default = {
|
|
|
22922
22193
|
},
|
|
22923
22194
|
"/ad_stats": {
|
|
22924
22195
|
post: {
|
|
22925
|
-
description: "Records a runner's stats for one of their ads in one hour, and pays them for the spend. Send the ad's totals so far for an hour that started in the last 24 hours; they replace what the ad held for that hour, and its ad group's and campaign's hours are rebuilt from their ads. The spend can go up but never down. Reporting on a campaign starts with the hour of its first recorded report; earlier hours are refused.
|
|
22196
|
+
description: "Records a runner's stats for one of their ads in one hour, and pays them for the spend. Send the ad's totals so far for an hour that started in the last 24 hours; they replace what the ad held for that hour, and its ad group's and campaign's hours are rebuilt from their ads. The spend can go up but never down. Reporting on a campaign starts with the hour of its first recorded report; earlier hours are refused. The spend is recorded and paid exactly as sent, with no markup added, so send it with the runner's markup already applied. Takes the runner's Whop session, a user API key, or a user OAuth token with `ad_campaign:update`. A token without that scope gets a 403, and anyone not holding the ad's campaign gets a 404.",
|
|
22926
22197
|
operationId: "report-stats",
|
|
22927
22198
|
parameters: [
|
|
22928
22199
|
{
|
|
@@ -22959,7 +22230,7 @@ var native_spec_default = {
|
|
|
22959
22230
|
type: ["integer", "string"]
|
|
22960
22231
|
},
|
|
22961
22232
|
spend: {
|
|
22962
|
-
description: "USD
|
|
22233
|
+
description: "The USD to be paid for the ad's hour so far, to the cent: what the ad spent plus any markup, such as 105.00 for 100.00 spent with a 5% markup.",
|
|
22963
22234
|
example: 75.5,
|
|
22964
22235
|
type: ["number", "string"]
|
|
22965
22236
|
}
|
|
@@ -22990,7 +22261,7 @@ var native_spec_default = {
|
|
|
22990
22261
|
}
|
|
22991
22262
|
}
|
|
22992
22263
|
},
|
|
22993
|
-
description: "
|
|
22264
|
+
description: "more clicks than impressions"
|
|
22994
22265
|
},
|
|
22995
22266
|
"401": {
|
|
22996
22267
|
$ref: "#/components/responses/Unauthorized",
|
|
@@ -33190,7 +32461,7 @@ var native_spec_default = {
|
|
|
33190
32461
|
},
|
|
33191
32462
|
"404": {
|
|
33192
32463
|
$ref: "#/components/responses/NotFound",
|
|
33193
|
-
description: "
|
|
32464
|
+
description: "no such dispute alert"
|
|
33194
32465
|
}
|
|
33195
32466
|
},
|
|
33196
32467
|
security: [
|
|
@@ -39579,9 +38850,8 @@ var native_spec_default = {
|
|
|
39579
38850
|
type: "string"
|
|
39580
38851
|
},
|
|
39581
38852
|
platform: {
|
|
39582
|
-
description: "The platform to connect the external account on. Use `
|
|
38853
|
+
description: "The platform to connect the external account on. Use `tiktok` to connect the authenticated user\u2019s TikTok profile, `linkedin` for their LinkedIn profile, `youtube` for their YouTube channel, or `x` for their X profile. Use `snapchat` for Snapchat Public Profiles. Use `quickbooks` to connect the account\u2019s QuickBooks Online company: pass `account_id`, omit `scopes`, and the user picks the company in QuickBooks.",
|
|
39583
38854
|
enum: [
|
|
39584
|
-
"meta_business",
|
|
39585
38855
|
"tiktok",
|
|
39586
38856
|
"linkedin",
|
|
39587
38857
|
"youtube",
|
|
@@ -39589,7 +38859,7 @@ var native_spec_default = {
|
|
|
39589
38859
|
"snapchat",
|
|
39590
38860
|
"quickbooks"
|
|
39591
38861
|
],
|
|
39592
|
-
example: "
|
|
38862
|
+
example: "snapchat",
|
|
39593
38863
|
type: "string"
|
|
39594
38864
|
},
|
|
39595
38865
|
redirect_url: {
|
|
@@ -39598,7 +38868,7 @@ var native_spec_default = {
|
|
|
39598
38868
|
type: "string"
|
|
39599
38869
|
},
|
|
39600
38870
|
scopes: {
|
|
39601
|
-
description: "The connection purpose. For `
|
|
38871
|
+
description: "The connection purpose. For `snapchat`, `advertise` is required and connects company advertising assets. For `linkedin`, `tiktok`, `youtube`, and `x`, omit scopes to connect the authenticated user\u2019s profile. For `quickbooks`, omit scopes; the connection belongs to the account in `account_id`. Profile connections still request the platform permissions needed to read the profile.",
|
|
39602
38872
|
items: {
|
|
39603
38873
|
enum: ["advertise"],
|
|
39604
38874
|
example: "advertise",
|
|
@@ -39622,7 +38892,7 @@ var native_spec_default = {
|
|
|
39622
38892
|
properties: {
|
|
39623
38893
|
authorize_url: {
|
|
39624
38894
|
description: "The OAuth authorization URL to redirect the user to.",
|
|
39625
|
-
example: "https://
|
|
38895
|
+
example: "https://accounts.snapchat.com/login/oauth2/authorize",
|
|
39626
38896
|
type: "string"
|
|
39627
38897
|
}
|
|
39628
38898
|
},
|
|
@@ -42695,8 +41965,8 @@ var native_spec_default = {
|
|
|
42695
41965
|
type: ["object", "null"]
|
|
42696
41966
|
},
|
|
42697
41967
|
buyer_fee_percentage: {
|
|
42698
|
-
description: "The buyer's adjustable fee in percentage points, with at most two decimal places.",
|
|
42699
|
-
example:
|
|
41968
|
+
description: "The buyer's adjustable fee in percentage points, with at most two decimal places: `0` for none, or between 5 and 100. The account keeps it, and Whop waives its take rate on the invoice.",
|
|
41969
|
+
example: 5,
|
|
42700
41970
|
maximum: 100,
|
|
42701
41971
|
minimum: 0,
|
|
42702
41972
|
type: "number"
|
|
@@ -43205,8 +42475,8 @@ var native_spec_default = {
|
|
|
43205
42475
|
type: ["object", "null"]
|
|
43206
42476
|
},
|
|
43207
42477
|
buyer_fee_percentage: {
|
|
43208
|
-
description: "The buyer's adjustable fee in percentage points, with at most two decimal places.",
|
|
43209
|
-
example:
|
|
42478
|
+
description: "The buyer's adjustable fee in percentage points, with at most two decimal places: `0` for none, or between 5 and 100. The account keeps it, and Whop waives its take rate on the invoice.",
|
|
42479
|
+
example: 5,
|
|
43210
42480
|
maximum: 100,
|
|
43211
42481
|
minimum: 0,
|
|
43212
42482
|
type: "number"
|
|
@@ -43588,6 +42858,85 @@ var native_spec_default = {
|
|
|
43588
42858
|
}
|
|
43589
42859
|
}
|
|
43590
42860
|
},
|
|
42861
|
+
"/invoices/{id}/charge": {
|
|
42862
|
+
post: {
|
|
42863
|
+
description: "Charges an open invoice now to one of its customer's saved payment methods, canceling any charge scheduled for later. The charge completes asynchronously: the invoice becomes `paid`, or, if declined, stays `open` and its recipients are emailed the `checkout_link`. Refused for drafts and while another payment is in progress.",
|
|
42864
|
+
operationId: "charge",
|
|
42865
|
+
parameters: [
|
|
42866
|
+
{
|
|
42867
|
+
$ref: "#/components/parameters/ApiVersionDate"
|
|
42868
|
+
},
|
|
42869
|
+
{
|
|
42870
|
+
description: "The invoice's pay_ ID.",
|
|
42871
|
+
in: "path",
|
|
42872
|
+
name: "id",
|
|
42873
|
+
required: true,
|
|
42874
|
+
schema: {
|
|
42875
|
+
type: "string"
|
|
42876
|
+
}
|
|
42877
|
+
},
|
|
42878
|
+
{
|
|
42879
|
+
$ref: "#/components/parameters/IdempotencyKey"
|
|
42880
|
+
}
|
|
42881
|
+
],
|
|
42882
|
+
requestBody: {
|
|
42883
|
+
content: {
|
|
42884
|
+
"application/json": {
|
|
42885
|
+
schema: {
|
|
42886
|
+
additionalProperties: false,
|
|
42887
|
+
properties: {
|
|
42888
|
+
payment_method_id: {
|
|
42889
|
+
description: "The saved payment method to charge, prefixed `payt_`. It must belong to the invoice's customer and be chargeable without the customer present. Omit it to charge the invoice's own `payment_method_id`.",
|
|
42890
|
+
example: "payt_xxxxxxxxxxxxxx",
|
|
42891
|
+
type: ["string", "null"]
|
|
42892
|
+
}
|
|
42893
|
+
},
|
|
42894
|
+
type: "object"
|
|
42895
|
+
}
|
|
42896
|
+
}
|
|
42897
|
+
}
|
|
42898
|
+
},
|
|
42899
|
+
responses: {
|
|
42900
|
+
"200": {
|
|
42901
|
+
content: {
|
|
42902
|
+
"application/json": {
|
|
42903
|
+
schema: {
|
|
42904
|
+
$ref: "#/components/schemas/Invoice"
|
|
42905
|
+
}
|
|
42906
|
+
}
|
|
42907
|
+
},
|
|
42908
|
+
description: "charge started"
|
|
42909
|
+
},
|
|
42910
|
+
"400": {
|
|
42911
|
+
$ref: "#/components/responses/InvalidParameters",
|
|
42912
|
+
description: "invoice cannot be charged"
|
|
42913
|
+
},
|
|
42914
|
+
"401": {
|
|
42915
|
+
$ref: "#/components/responses/Unauthorized",
|
|
42916
|
+
description: "unauthenticated"
|
|
42917
|
+
},
|
|
42918
|
+
"403": {
|
|
42919
|
+
$ref: "#/components/responses/Forbidden",
|
|
42920
|
+
description: "missing permission"
|
|
42921
|
+
},
|
|
42922
|
+
"404": {
|
|
42923
|
+
$ref: "#/components/responses/NotFound",
|
|
42924
|
+
description: "invoice not found"
|
|
42925
|
+
},
|
|
42926
|
+
"409": {
|
|
42927
|
+
$ref: "#/components/responses/Conflict",
|
|
42928
|
+
description: "a payment is already in progress"
|
|
42929
|
+
}
|
|
42930
|
+
},
|
|
42931
|
+
security: [
|
|
42932
|
+
{
|
|
42933
|
+
bearerAuth: ["payment:charge"]
|
|
42934
|
+
}
|
|
42935
|
+
],
|
|
42936
|
+
summary: "Charge Invoice",
|
|
42937
|
+
tags: ["Invoices"]
|
|
42938
|
+
}
|
|
42939
|
+
},
|
|
43591
42940
|
"/invoices/{id}/generate_pdf": {
|
|
43592
42941
|
post: {
|
|
43593
42942
|
description: "Generates the invoice as a PDF and returns a short-lived link to download it. A draft shows its estimated totals. The buyer's name and email need `member:basic:read` and `member:email:read`, and the Pay now link on an open invoice needs `payment:charge`, or `invoice:create` or `invoice:update` when it has no `payment_method_id`. Each call generates a new file and link, so this endpoint does not replay `Idempotency-Key` responses.",
|
|
@@ -44870,6 +44219,83 @@ var native_spec_default = {
|
|
|
44870
44219
|
}
|
|
44871
44220
|
}
|
|
44872
44221
|
]
|
|
44222
|
+
},
|
|
44223
|
+
patch: {
|
|
44224
|
+
description: "Sets the name the account uses for a member. Every invoice for this member shows it as the customer name, paid invoices included, in place of the user's own name. It does not change the user's Whop profile.",
|
|
44225
|
+
operationId: "update",
|
|
44226
|
+
parameters: [
|
|
44227
|
+
{
|
|
44228
|
+
$ref: "#/components/parameters/ApiVersionDate"
|
|
44229
|
+
},
|
|
44230
|
+
{
|
|
44231
|
+
description: "Member ID (`mber_` tag).",
|
|
44232
|
+
in: "path",
|
|
44233
|
+
name: "id",
|
|
44234
|
+
required: true,
|
|
44235
|
+
schema: {
|
|
44236
|
+
type: "string"
|
|
44237
|
+
}
|
|
44238
|
+
}
|
|
44239
|
+
],
|
|
44240
|
+
requestBody: {
|
|
44241
|
+
content: {
|
|
44242
|
+
"application/json": {
|
|
44243
|
+
schema: {
|
|
44244
|
+
additionalProperties: false,
|
|
44245
|
+
properties: {
|
|
44246
|
+
name: {
|
|
44247
|
+
description: "The customer name to show on this member's invoices, at most 255 bytes. Leading and trailing spaces are trimmed. `null` or a blank string clears it, so invoices show the user's own name again.",
|
|
44248
|
+
example: "Northwind Legal LLP",
|
|
44249
|
+
maxLength: 255,
|
|
44250
|
+
type: ["string", "null"]
|
|
44251
|
+
}
|
|
44252
|
+
},
|
|
44253
|
+
type: "object"
|
|
44254
|
+
}
|
|
44255
|
+
}
|
|
44256
|
+
},
|
|
44257
|
+
required: true
|
|
44258
|
+
},
|
|
44259
|
+
responses: {
|
|
44260
|
+
"200": {
|
|
44261
|
+
content: {
|
|
44262
|
+
"application/json": {
|
|
44263
|
+
schema: {
|
|
44264
|
+
$ref: "#/components/schemas/Member"
|
|
44265
|
+
}
|
|
44266
|
+
}
|
|
44267
|
+
},
|
|
44268
|
+
description: "member updated"
|
|
44269
|
+
},
|
|
44270
|
+
"400": {
|
|
44271
|
+
$ref: "#/components/responses/InvalidParameters",
|
|
44272
|
+
description: "invalid name"
|
|
44273
|
+
},
|
|
44274
|
+
"401": {
|
|
44275
|
+
$ref: "#/components/responses/Unauthorized",
|
|
44276
|
+
description: "unauthenticated"
|
|
44277
|
+
},
|
|
44278
|
+
"403": {
|
|
44279
|
+
$ref: "#/components/responses/Forbidden",
|
|
44280
|
+
description: "credential lacks member:manage on the member's account"
|
|
44281
|
+
},
|
|
44282
|
+
"404": {
|
|
44283
|
+
$ref: "#/components/responses/NotFound",
|
|
44284
|
+
description: "unknown member"
|
|
44285
|
+
}
|
|
44286
|
+
},
|
|
44287
|
+
security: [
|
|
44288
|
+
{
|
|
44289
|
+
bearerAuth: ["member:manage"]
|
|
44290
|
+
}
|
|
44291
|
+
],
|
|
44292
|
+
summary: "Update Member",
|
|
44293
|
+
tags: ["Members"],
|
|
44294
|
+
"x-mint": {
|
|
44295
|
+
metadata: {
|
|
44296
|
+
sidebarTitle: "Update"
|
|
44297
|
+
}
|
|
44298
|
+
}
|
|
44873
44299
|
}
|
|
44874
44300
|
},
|
|
44875
44301
|
"/members/{id}/logs": {
|
|
@@ -48008,7 +47434,7 @@ var native_spec_default = {
|
|
|
48008
47434
|
}
|
|
48009
47435
|
},
|
|
48010
47436
|
{
|
|
48011
|
-
description: "Filter the authenticated partner's CPA offers by status. Use offered for every state after qualification.",
|
|
47437
|
+
description: "Filter the authenticated partner's CPA offers by status, or with referring_account_id, the CPA terms of the reps the caller manages. Use offered for every state after qualification.",
|
|
48012
47438
|
in: "query",
|
|
48013
47439
|
name: "advance_status",
|
|
48014
47440
|
required: false,
|
|
@@ -48265,7 +47691,7 @@ var native_spec_default = {
|
|
|
48265
47691
|
type: ["object", "null"]
|
|
48266
47692
|
},
|
|
48267
47693
|
commission_advance: {
|
|
48268
|
-
description: "CPA terms for the referring partner. Omitted for other callers. An offer token requires partner:commission_advance:accept permission.",
|
|
47694
|
+
description: "CPA terms for the referring partner. Read with referring_account_id, the business's owner sees every rep's terms and a manager sees those of the reps below them, read-only. Omitted for other callers. An offer token is only for the referring partner and requires partner:commission_advance:accept permission.",
|
|
48269
47695
|
oneOf: [
|
|
48270
47696
|
{
|
|
48271
47697
|
$ref: "#/components/schemas/PartnerAdvance"
|
|
@@ -48778,7 +48204,7 @@ var native_spec_default = {
|
|
|
48778
48204
|
type: ["object", "null"]
|
|
48779
48205
|
},
|
|
48780
48206
|
commission_advance: {
|
|
48781
|
-
description: "CPA terms for the referring partner. Omitted for other callers. An offer token requires partner:commission_advance:accept permission.",
|
|
48207
|
+
description: "CPA terms for the referring partner. Read with referring_account_id, the business's owner sees every rep's terms and a manager sees those of the reps below them, read-only. Omitted for other callers. An offer token is only for the referring partner and requires partner:commission_advance:accept permission.",
|
|
48782
48208
|
oneOf: [
|
|
48783
48209
|
{
|
|
48784
48210
|
$ref: "#/components/schemas/PartnerAdvance"
|
|
@@ -49525,9 +48951,14 @@ var native_spec_default = {
|
|
|
49525
48951
|
},
|
|
49526
48952
|
commission_amount_usd: {
|
|
49527
48953
|
description: "What the referrer earns, in USD. Null until the earning settles.",
|
|
49528
|
-
example: "
|
|
48954
|
+
example: "3.00",
|
|
49529
48955
|
type: ["string", "null"]
|
|
49530
48956
|
},
|
|
48957
|
+
covered_by_commission_advance: {
|
|
48958
|
+
description: "Whether an upfront commission advance replaces this commission, including covered earnings that are still awaiting settlement.",
|
|
48959
|
+
example: false,
|
|
48960
|
+
type: "boolean"
|
|
48961
|
+
},
|
|
49531
48962
|
created_at: {
|
|
49532
48963
|
example: "2026-01-01T12:00:00.000Z",
|
|
49533
48964
|
format: "date-time",
|
|
@@ -49636,7 +49067,7 @@ var native_spec_default = {
|
|
|
49636
49067
|
type: ["object", "null"]
|
|
49637
49068
|
},
|
|
49638
49069
|
projected_commission_amount_usd: {
|
|
49639
|
-
description: "Estimated commission while awaiting settlement. Null when no estimate is available or the earning has settled.",
|
|
49070
|
+
description: "Estimated commission while awaiting settlement. Zero when a funded commission advance covers the earning. Null when no estimate is available or the earning has settled.",
|
|
49640
49071
|
oneOf: [
|
|
49641
49072
|
{
|
|
49642
49073
|
$ref: "#/components/schemas/Money"
|
|
@@ -49896,7 +49327,7 @@ var native_spec_default = {
|
|
|
49896
49327
|
},
|
|
49897
49328
|
transaction_amount_usd: {
|
|
49898
49329
|
description: "The underlying transaction amount the commission's income comes from, in USD.",
|
|
49899
|
-
example: "
|
|
49330
|
+
example: "30.00",
|
|
49900
49331
|
type: "string"
|
|
49901
49332
|
}
|
|
49902
49333
|
},
|
|
@@ -49912,6 +49343,7 @@ var native_spec_default = {
|
|
|
49912
49343
|
"payout_percentage",
|
|
49913
49344
|
"commission_amount_usd",
|
|
49914
49345
|
"projected_commission_amount_usd",
|
|
49346
|
+
"covered_by_commission_advance",
|
|
49915
49347
|
"financial_activity",
|
|
49916
49348
|
"cancelation_reason",
|
|
49917
49349
|
"created_at",
|
|
@@ -50123,7 +49555,7 @@ var native_spec_default = {
|
|
|
50123
49555
|
type: ["object", "null"]
|
|
50124
49556
|
},
|
|
50125
49557
|
commission_advance: {
|
|
50126
|
-
description: "CPA terms for the referring partner. Omitted for other callers. An offer token requires partner:commission_advance:accept permission.",
|
|
49558
|
+
description: "CPA terms for the referring partner. Read with referring_account_id, the business's owner sees every rep's terms and a manager sees those of the reps below them, read-only. Omitted for other callers. An offer token is only for the referring partner and requires partner:commission_advance:accept permission.",
|
|
50127
49559
|
oneOf: [
|
|
50128
49560
|
{
|
|
50129
49561
|
$ref: "#/components/schemas/PartnerAdvance"
|
|
@@ -53856,7 +53288,7 @@ var native_spec_default = {
|
|
|
53856
53288
|
type: ["string", "null"]
|
|
53857
53289
|
},
|
|
53858
53290
|
email: {
|
|
53859
|
-
description: "The buyer's email, resolving or creating the user the payment belongs to. With `confirmation_token` it overrides the email the token carries, and is ignored when the token was created by a signed-in buyer; with a `card_present` `payment_method` it names a buyer the point of sale already knows, otherwise the sale belongs to a guest until a buyer is attached; with a `paypal` `payment_method` it names the buyer and
|
|
53291
|
+
description: "The buyer's email, resolving or creating the user the payment belongs to. With `confirmation_token` it overrides the email the token carries, and is ignored when the token was created by a signed-in buyer; with a `card_present` `payment_method` it names a buyer the point of sale already knows, otherwise the sale belongs to a guest until a buyer is attached; with a `paypal` `payment_method` it names the buyer, and when it and `member_id` are both omitted the buyer is the PayPal account that approves the payment. Ignored with `member_id`.",
|
|
53860
53292
|
example: "dana@shinetime.example",
|
|
53861
53293
|
type: ["string", "null"]
|
|
53862
53294
|
},
|
|
@@ -54151,7 +53583,7 @@ var native_spec_default = {
|
|
|
54151
53583
|
type: "array"
|
|
54152
53584
|
},
|
|
54153
53585
|
member_id: {
|
|
54154
|
-
description: "The member to charge, prefixed `mber_`. Required with `payment_method_id` unless `confirmation_token` is provided. With a `paypal` `payment_method` it names the buyer instead of `email`, and must belong to a user.",
|
|
53586
|
+
description: "The member to charge, prefixed `mber_`. Required with `payment_method_id` unless `confirmation_token` is provided. With a `paypal` `payment_method` it names the buyer instead of `email`, and must belong to a user; omit both to take the buyer from the PayPal account that approves.",
|
|
54155
53587
|
example: "mber_xxxxxxxxxxxxxx",
|
|
54156
53588
|
type: ["string", "null"]
|
|
54157
53589
|
},
|
|
@@ -54186,6 +53618,17 @@ var native_spec_default = {
|
|
|
54186
53618
|
required: ["platform"],
|
|
54187
53619
|
type: "object"
|
|
54188
53620
|
},
|
|
53621
|
+
paypal: {
|
|
53622
|
+
description: "Options for a `paypal` payment method.",
|
|
53623
|
+
properties: {
|
|
53624
|
+
request_shipping: {
|
|
53625
|
+
description: "Has PayPal ask the buyer for a shipping address. Tax is recalculated for each address the buyer picks before they approve, so the total they approve is the total charged, and the address they confirm is returned on the payment as `shipping_address`. Cannot be combined with `shipping_address`. Defaults to false.",
|
|
53626
|
+
example: true,
|
|
53627
|
+
type: "boolean"
|
|
53628
|
+
}
|
|
53629
|
+
},
|
|
53630
|
+
type: "object"
|
|
53631
|
+
},
|
|
54189
53632
|
type: {
|
|
54190
53633
|
description: "The kind of payment method; the member named after it carries its details.",
|
|
54191
53634
|
enum: ["card_present", "paypal"],
|
|
@@ -66656,9 +66099,8 @@ var native_spec_default = {
|
|
|
66656
66099
|
type: "string"
|
|
66657
66100
|
},
|
|
66658
66101
|
platform: {
|
|
66659
|
-
description: "The platform to connect the external account on. Use `
|
|
66102
|
+
description: "The platform to connect the external account on. Use `tiktok` to connect the authenticated user\u2019s TikTok profile, `linkedin` for their LinkedIn profile, `youtube` for their YouTube channel, or `x` for their X profile. Use `snapchat` for Snapchat Public Profiles. Use `quickbooks` to connect the account\u2019s QuickBooks Online company: pass `account_id`, omit `scopes`, and the user picks the company in QuickBooks.",
|
|
66660
66103
|
enum: [
|
|
66661
|
-
"meta_business",
|
|
66662
66104
|
"tiktok",
|
|
66663
66105
|
"linkedin",
|
|
66664
66106
|
"youtube",
|
|
@@ -66666,7 +66108,7 @@ var native_spec_default = {
|
|
|
66666
66108
|
"snapchat",
|
|
66667
66109
|
"quickbooks"
|
|
66668
66110
|
],
|
|
66669
|
-
example: "
|
|
66111
|
+
example: "snapchat",
|
|
66670
66112
|
type: "string"
|
|
66671
66113
|
},
|
|
66672
66114
|
redirect_url: {
|
|
@@ -66675,7 +66117,7 @@ var native_spec_default = {
|
|
|
66675
66117
|
type: "string"
|
|
66676
66118
|
},
|
|
66677
66119
|
scopes: {
|
|
66678
|
-
description: "The connection purpose. For `
|
|
66120
|
+
description: "The connection purpose. For `snapchat`, `advertise` is required and connects company advertising assets. For `linkedin`, `tiktok`, `youtube`, and `x`, omit scopes to connect the authenticated user\u2019s profile. For `quickbooks`, omit scopes; the connection belongs to the account in `account_id`. Profile connections still request the platform permissions needed to read the profile.",
|
|
66679
66121
|
items: {
|
|
66680
66122
|
enum: ["advertise"],
|
|
66681
66123
|
example: "advertise",
|
|
@@ -66698,7 +66140,7 @@ var native_spec_default = {
|
|
|
66698
66140
|
schema: {
|
|
66699
66141
|
properties: {
|
|
66700
66142
|
authorize_url: {
|
|
66701
|
-
example: "https://
|
|
66143
|
+
example: "https://accounts.snapchat.com/login/oauth2/authorize",
|
|
66702
66144
|
type: "string"
|
|
66703
66145
|
}
|
|
66704
66146
|
},
|
|
@@ -72267,7 +71709,7 @@ var native_spec_default = {
|
|
|
72267
71709
|
requested_scopes: {
|
|
72268
71710
|
description: "The permissions the app is asking for, for example `member:basic:read`. `GET /api_keys/permissions` names and describes each one. Granting adds to whatever the user already granted this app rather than replacing it.",
|
|
72269
71711
|
items: {
|
|
72270
|
-
example: "
|
|
71712
|
+
example: "openid",
|
|
72271
71713
|
type: "string"
|
|
72272
71714
|
},
|
|
72273
71715
|
type: "array"
|
|
@@ -73436,6 +72878,11 @@ var native_spec_default = {
|
|
|
73436
72878
|
example: "Interior specialist. Leather, upholstery, and odor removal.",
|
|
73437
72879
|
type: "string"
|
|
73438
72880
|
},
|
|
72881
|
+
date_of_birth: {
|
|
72882
|
+
description: "The user's date of birth as an ISO 8601 date, like `1998-04-23`. The user must be at least 13. Global profile only; refused with `account_id`.",
|
|
72883
|
+
format: "date",
|
|
72884
|
+
type: "string"
|
|
72885
|
+
},
|
|
73439
72886
|
name: {
|
|
73440
72887
|
example: "Tanya Cole",
|
|
73441
72888
|
type: "string"
|
|
@@ -78960,7 +78407,7 @@ var native_spec_default = {
|
|
|
78960
78407
|
properties: {
|
|
78961
78408
|
api_version_date: {
|
|
78962
78409
|
description: "The dated API version (Api-Version-Date) to pin this webhook's payloads to. Omit to leave the webhook unpinned, tracking the current payload shape.",
|
|
78963
|
-
example: "2026-
|
|
78410
|
+
example: "2026-01-01",
|
|
78964
78411
|
type: ["string", "null"]
|
|
78965
78412
|
},
|
|
78966
78413
|
child_resource_events: {
|
|
@@ -79336,7 +78783,7 @@ var native_spec_default = {
|
|
|
79336
78783
|
properties: {
|
|
79337
78784
|
api_version_date: {
|
|
79338
78785
|
description: "The dated API version (Api-Version-Date) to pin this webhook's payloads to. Only valid for `v1` webhooks. Omit to leave the current pin unchanged, or pass `null` to unpin and track the current payload shape.",
|
|
79339
|
-
example: "2026-
|
|
78786
|
+
example: "2026-01-01",
|
|
79340
78787
|
type: ["string", "null"]
|
|
79341
78788
|
},
|
|
79342
78789
|
child_resource_events: {
|
|
@@ -80225,7 +79672,7 @@ var native_spec_default = {
|
|
|
80225
79672
|
example: {
|
|
80226
79673
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
80227
79674
|
api_version: "v1",
|
|
80228
|
-
api_version_date: "2026-10-
|
|
79675
|
+
api_version_date: "2026-10-30",
|
|
80229
79676
|
data: {
|
|
80230
79677
|
ads_spend_usd: null,
|
|
80231
79678
|
balances: [],
|
|
@@ -80546,7 +79993,7 @@ var native_spec_default = {
|
|
|
80546
79993
|
example: {
|
|
80547
79994
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
80548
79995
|
api_version: "v1",
|
|
80549
|
-
api_version_date: "2026-10-
|
|
79996
|
+
api_version_date: "2026-10-30",
|
|
80550
79997
|
data: {
|
|
80551
79998
|
ads_spend_usd: null,
|
|
80552
79999
|
balances: [],
|
|
@@ -80867,7 +80314,7 @@ var native_spec_default = {
|
|
|
80867
80314
|
example: {
|
|
80868
80315
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
80869
80316
|
api_version: "v1",
|
|
80870
|
-
api_version_date: "2026-10-
|
|
80317
|
+
api_version_date: "2026-10-30",
|
|
80871
80318
|
data: {
|
|
80872
80319
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
80873
80320
|
disabled_at: "2026-01-01T12:00:00.000Z",
|
|
@@ -80997,7 +80444,7 @@ var native_spec_default = {
|
|
|
80997
80444
|
example: {
|
|
80998
80445
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
80999
80446
|
api_version: "v1",
|
|
81000
|
-
api_version_date: "2026-10-
|
|
80447
|
+
api_version_date: "2026-10-30",
|
|
81001
80448
|
data: {
|
|
81002
80449
|
ads_spend_usd: null,
|
|
81003
80450
|
balances: [],
|
|
@@ -81318,7 +80765,7 @@ var native_spec_default = {
|
|
|
81318
80765
|
example: {
|
|
81319
80766
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
81320
80767
|
api_version: "v1",
|
|
81321
|
-
api_version_date: "2026-10-
|
|
80768
|
+
api_version_date: "2026-10-30",
|
|
81322
80769
|
data: {
|
|
81323
80770
|
ad_campaign: {
|
|
81324
80771
|
id: "adcamp_xxxxxxxxxxxxxx"
|
|
@@ -81453,14 +80900,14 @@ var native_spec_default = {
|
|
|
81453
80900
|
descriptions: {
|
|
81454
80901
|
items: {
|
|
81455
80902
|
$ref: "#/components/schemas/AdText",
|
|
81456
|
-
description: "The description shown on the ad.
|
|
80903
|
+
description: "The description shown on the ad."
|
|
81457
80904
|
},
|
|
81458
80905
|
type: "array"
|
|
81459
80906
|
},
|
|
81460
80907
|
headlines: {
|
|
81461
80908
|
items: {
|
|
81462
80909
|
$ref: "#/components/schemas/AdText",
|
|
81463
|
-
description: "The headline shown on the ad.
|
|
80910
|
+
description: "The headline shown on the ad."
|
|
81464
80911
|
},
|
|
81465
80912
|
type: "array"
|
|
81466
80913
|
},
|
|
@@ -81479,7 +80926,7 @@ var native_spec_default = {
|
|
|
81479
80926
|
primary_texts: {
|
|
81480
80927
|
items: {
|
|
81481
80928
|
$ref: "#/components/schemas/AdText",
|
|
81482
|
-
description: "The primary text shown in the ad body.
|
|
80929
|
+
description: "The primary text shown in the ad body. Several entries make text variations."
|
|
81483
80930
|
},
|
|
81484
80931
|
type: "array"
|
|
81485
80932
|
},
|
|
@@ -81618,9 +81065,8 @@ var native_spec_default = {
|
|
|
81618
81065
|
example: {
|
|
81619
81066
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
81620
81067
|
api_version: "v1",
|
|
81621
|
-
api_version_date: "2026-10-
|
|
81068
|
+
api_version_date: "2026-10-30",
|
|
81622
81069
|
data: {
|
|
81623
|
-
bid_type: null,
|
|
81624
81070
|
budget_amount: 50,
|
|
81625
81071
|
budget_amount_local: 50,
|
|
81626
81072
|
budget_currency: "usd",
|
|
@@ -81663,25 +81109,14 @@ var native_spec_default = {
|
|
|
81663
81109
|
},
|
|
81664
81110
|
data: {
|
|
81665
81111
|
properties: {
|
|
81666
|
-
bid_type: {
|
|
81667
|
-
description: "How delivery bids in the ad auction: `minimum_cost` gets the most results for the budget, `average_target` holds an average cost per result, and `maximum_target` never bids above a cap.",
|
|
81668
|
-
enum: [
|
|
81669
|
-
"minimum_cost",
|
|
81670
|
-
"average_target",
|
|
81671
|
-
"maximum_target",
|
|
81672
|
-
null
|
|
81673
|
-
],
|
|
81674
|
-
example: "average_target",
|
|
81675
|
-
type: ["string", "null"]
|
|
81676
|
-
},
|
|
81677
81112
|
budget_amount: {
|
|
81678
81113
|
description: "The campaign's budget in USD, which is what it is stored and billed in. `null` when each ad group sets its own budget instead.",
|
|
81679
|
-
example:
|
|
81114
|
+
example: 50,
|
|
81680
81115
|
type: ["number", "null"]
|
|
81681
81116
|
},
|
|
81682
81117
|
budget_amount_local: {
|
|
81683
81118
|
description: "The same budget stated in `budget_currency` at today's exchange rate, for display in the account's ads reporting currency. `null` when `budget_amount` is.",
|
|
81684
|
-
example:
|
|
81119
|
+
example: 50,
|
|
81685
81120
|
type: ["number", "null"]
|
|
81686
81121
|
},
|
|
81687
81122
|
budget_currency: {
|
|
@@ -81692,7 +81127,7 @@ var native_spec_default = {
|
|
|
81692
81127
|
budget_optimization: {
|
|
81693
81128
|
description: "Which level owns the budget: the whole campaign (`ad_campaign`) or each ad group individually (`ad_group`).",
|
|
81694
81129
|
enum: ["ad_campaign", "ad_group", null],
|
|
81695
|
-
example: "
|
|
81130
|
+
example: "ad_group",
|
|
81696
81131
|
type: ["string", "null"]
|
|
81697
81132
|
},
|
|
81698
81133
|
budget_type: {
|
|
@@ -81716,6 +81151,7 @@ var native_spec_default = {
|
|
|
81716
81151
|
description: "Whether the campaign's ads are delivering right now, and if not, why. Content review is in_review; a campaign waiting to start is processing. Account billing failures set payment_failed without changing the configured status. Successful payment retry clears that block and recalculates delivery. When several states apply at once, the highest-precedence one is returned.",
|
|
81717
81152
|
enum: [
|
|
81718
81153
|
"payment_failed",
|
|
81154
|
+
"waiting_for_ein",
|
|
81719
81155
|
"in_appeal",
|
|
81720
81156
|
"all_ads_rejected",
|
|
81721
81157
|
"draft",
|
|
@@ -81731,7 +81167,7 @@ var native_spec_default = {
|
|
|
81731
81167
|
"ad_groups_off",
|
|
81732
81168
|
"active"
|
|
81733
81169
|
],
|
|
81734
|
-
example: "
|
|
81170
|
+
example: "issues",
|
|
81735
81171
|
type: "string"
|
|
81736
81172
|
},
|
|
81737
81173
|
desired_cost_per_result: {
|
|
@@ -81804,12 +81240,12 @@ var native_spec_default = {
|
|
|
81804
81240
|
"imported",
|
|
81805
81241
|
"duplicating"
|
|
81806
81242
|
],
|
|
81807
|
-
example: "
|
|
81243
|
+
example: "active",
|
|
81808
81244
|
type: "string"
|
|
81809
81245
|
},
|
|
81810
81246
|
title: {
|
|
81811
81247
|
description: "Display name of the ad campaign.",
|
|
81812
|
-
example: "
|
|
81248
|
+
example: "Ceramic coating \u2014 Austin leads",
|
|
81813
81249
|
type: "string"
|
|
81814
81250
|
},
|
|
81815
81251
|
updated_at: {
|
|
@@ -81930,9 +81366,8 @@ var native_spec_default = {
|
|
|
81930
81366
|
example: {
|
|
81931
81367
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
81932
81368
|
api_version: "v1",
|
|
81933
|
-
api_version_date: "2026-10-
|
|
81369
|
+
api_version_date: "2026-10-30",
|
|
81934
81370
|
data: {
|
|
81935
|
-
bid_type: null,
|
|
81936
81371
|
budget_amount: 50,
|
|
81937
81372
|
budget_amount_local: 50,
|
|
81938
81373
|
budget_currency: "usd",
|
|
@@ -81978,25 +81413,14 @@ var native_spec_default = {
|
|
|
81978
81413
|
},
|
|
81979
81414
|
data: {
|
|
81980
81415
|
properties: {
|
|
81981
|
-
bid_type: {
|
|
81982
|
-
description: "How delivery bids in the ad auction: `minimum_cost` gets the most results for the budget, `average_target` holds an average cost per result, and `maximum_target` never bids above a cap.",
|
|
81983
|
-
enum: [
|
|
81984
|
-
"minimum_cost",
|
|
81985
|
-
"average_target",
|
|
81986
|
-
"maximum_target",
|
|
81987
|
-
null
|
|
81988
|
-
],
|
|
81989
|
-
example: "average_target",
|
|
81990
|
-
type: ["string", "null"]
|
|
81991
|
-
},
|
|
81992
81416
|
budget_amount: {
|
|
81993
81417
|
description: "The campaign's budget in USD, which is what it is stored and billed in. `null` when each ad group sets its own budget instead.",
|
|
81994
|
-
example:
|
|
81418
|
+
example: 50,
|
|
81995
81419
|
type: ["number", "null"]
|
|
81996
81420
|
},
|
|
81997
81421
|
budget_amount_local: {
|
|
81998
81422
|
description: "The same budget stated in `budget_currency` at today's exchange rate, for display in the account's ads reporting currency. `null` when `budget_amount` is.",
|
|
81999
|
-
example:
|
|
81423
|
+
example: 50,
|
|
82000
81424
|
type: ["number", "null"]
|
|
82001
81425
|
},
|
|
82002
81426
|
budget_currency: {
|
|
@@ -82007,7 +81431,7 @@ var native_spec_default = {
|
|
|
82007
81431
|
budget_optimization: {
|
|
82008
81432
|
description: "Which level owns the budget: the whole campaign (`ad_campaign`) or each ad group individually (`ad_group`).",
|
|
82009
81433
|
enum: ["ad_campaign", "ad_group", null],
|
|
82010
|
-
example: "
|
|
81434
|
+
example: "ad_group",
|
|
82011
81435
|
type: ["string", "null"]
|
|
82012
81436
|
},
|
|
82013
81437
|
budget_type: {
|
|
@@ -82031,6 +81455,7 @@ var native_spec_default = {
|
|
|
82031
81455
|
description: "Whether the campaign's ads are delivering right now, and if not, why. Content review is in_review; a campaign waiting to start is processing. Account billing failures set payment_failed without changing the configured status. Successful payment retry clears that block and recalculates delivery. When several states apply at once, the highest-precedence one is returned.",
|
|
82032
81456
|
enum: [
|
|
82033
81457
|
"payment_failed",
|
|
81458
|
+
"waiting_for_ein",
|
|
82034
81459
|
"in_appeal",
|
|
82035
81460
|
"all_ads_rejected",
|
|
82036
81461
|
"draft",
|
|
@@ -82046,7 +81471,7 @@ var native_spec_default = {
|
|
|
82046
81471
|
"ad_groups_off",
|
|
82047
81472
|
"active"
|
|
82048
81473
|
],
|
|
82049
|
-
example: "
|
|
81474
|
+
example: "issues",
|
|
82050
81475
|
type: "string"
|
|
82051
81476
|
},
|
|
82052
81477
|
desired_cost_per_result: {
|
|
@@ -82119,12 +81544,12 @@ var native_spec_default = {
|
|
|
82119
81544
|
"imported",
|
|
82120
81545
|
"duplicating"
|
|
82121
81546
|
],
|
|
82122
|
-
example: "
|
|
81547
|
+
example: "active",
|
|
82123
81548
|
type: "string"
|
|
82124
81549
|
},
|
|
82125
81550
|
title: {
|
|
82126
81551
|
description: "Display name of the ad campaign.",
|
|
82127
|
-
example: "
|
|
81552
|
+
example: "Ceramic coating \u2014 Austin leads",
|
|
82128
81553
|
type: "string"
|
|
82129
81554
|
},
|
|
82130
81555
|
updated_at: {
|
|
@@ -82242,7 +81667,7 @@ var native_spec_default = {
|
|
|
82242
81667
|
example: {
|
|
82243
81668
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
82244
81669
|
api_version: "v1",
|
|
82245
|
-
api_version_date: "2026-10-
|
|
81670
|
+
api_version_date: "2026-10-30",
|
|
82246
81671
|
data: {
|
|
82247
81672
|
ad_campaign: {
|
|
82248
81673
|
id: "adcamp_xxxxxxxxxxxxxx"
|
|
@@ -82605,7 +82030,7 @@ var native_spec_default = {
|
|
|
82605
82030
|
example: {
|
|
82606
82031
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
82607
82032
|
api_version: "v1",
|
|
82608
|
-
api_version_date: "2026-10-
|
|
82033
|
+
api_version_date: "2026-10-30",
|
|
82609
82034
|
data: {
|
|
82610
82035
|
account: {
|
|
82611
82036
|
id: "biz_xxxxxxxxxxxxx2",
|
|
@@ -82742,7 +82167,7 @@ var native_spec_default = {
|
|
|
82742
82167
|
example: {
|
|
82743
82168
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
82744
82169
|
api_version: "v1",
|
|
82745
|
-
api_version_date: "2026-10-
|
|
82170
|
+
api_version_date: "2026-10-30",
|
|
82746
82171
|
data: {
|
|
82747
82172
|
account: {
|
|
82748
82173
|
id: "biz_xxxxxxxxxxxxx2",
|
|
@@ -82879,7 +82304,7 @@ var native_spec_default = {
|
|
|
82879
82304
|
example: {
|
|
82880
82305
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
82881
82306
|
api_version: "v1",
|
|
82882
|
-
api_version_date: "2026-10-
|
|
82307
|
+
api_version_date: "2026-10-30",
|
|
82883
82308
|
data: {
|
|
82884
82309
|
billing: null,
|
|
82885
82310
|
canceled_at: null,
|
|
@@ -83202,7 +82627,7 @@ var native_spec_default = {
|
|
|
83202
82627
|
example: {
|
|
83203
82628
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
83204
82629
|
api_version: "v1",
|
|
83205
|
-
api_version_date: "2026-10-
|
|
82630
|
+
api_version_date: "2026-10-30",
|
|
83206
82631
|
data: {
|
|
83207
82632
|
billing: null,
|
|
83208
82633
|
canceled_at: null,
|
|
@@ -83525,7 +82950,7 @@ var native_spec_default = {
|
|
|
83525
82950
|
example: {
|
|
83526
82951
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
83527
82952
|
api_version: "v1",
|
|
83528
|
-
api_version_date: "2026-10-
|
|
82953
|
+
api_version_date: "2026-10-30",
|
|
83529
82954
|
data: {
|
|
83530
82955
|
billing: null,
|
|
83531
82956
|
canceled_at: null,
|
|
@@ -83848,7 +83273,7 @@ var native_spec_default = {
|
|
|
83848
83273
|
example: {
|
|
83849
83274
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
83850
83275
|
api_version: "v1",
|
|
83851
|
-
api_version_date: "2026-10-
|
|
83276
|
+
api_version_date: "2026-10-30",
|
|
83852
83277
|
data: {
|
|
83853
83278
|
billing: null,
|
|
83854
83279
|
canceled_at: null,
|
|
@@ -84171,7 +83596,7 @@ var native_spec_default = {
|
|
|
84171
83596
|
example: {
|
|
84172
83597
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
84173
83598
|
api_version: "v1",
|
|
84174
|
-
api_version_date: "2026-10-
|
|
83599
|
+
api_version_date: "2026-10-30",
|
|
84175
83600
|
data: {
|
|
84176
83601
|
hosted_url: null,
|
|
84177
83602
|
id: "ciac_xxxxxxxxxxxxxx",
|
|
@@ -84321,7 +83746,7 @@ var native_spec_default = {
|
|
|
84321
83746
|
example: {
|
|
84322
83747
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
84323
83748
|
api_version: "v1",
|
|
84324
|
-
api_version_date: "2026-10-
|
|
83749
|
+
api_version_date: "2026-10-30",
|
|
84325
83750
|
data: {
|
|
84326
83751
|
hosted_url: null,
|
|
84327
83752
|
id: "ciac_xxxxxxxxxxxxxx",
|
|
@@ -84471,7 +83896,7 @@ var native_spec_default = {
|
|
|
84471
83896
|
example: {
|
|
84472
83897
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
84473
83898
|
api_version: "v1",
|
|
84474
|
-
api_version_date: "2026-10-
|
|
83899
|
+
api_version_date: "2026-10-30",
|
|
84475
83900
|
data: {
|
|
84476
83901
|
hosted_url: null,
|
|
84477
83902
|
id: "ciac_xxxxxxxxxxxxxx",
|
|
@@ -84621,7 +84046,7 @@ var native_spec_default = {
|
|
|
84621
84046
|
example: {
|
|
84622
84047
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
84623
84048
|
api_version: "v1",
|
|
84624
|
-
api_version_date: "2026-10-
|
|
84049
|
+
api_version_date: "2026-10-30",
|
|
84625
84050
|
data: {
|
|
84626
84051
|
hosted_url: null,
|
|
84627
84052
|
id: "ciac_xxxxxxxxxxxxxx",
|
|
@@ -84771,7 +84196,7 @@ var native_spec_default = {
|
|
|
84771
84196
|
example: {
|
|
84772
84197
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
84773
84198
|
api_version: "v1",
|
|
84774
|
-
api_version_date: "2026-10-
|
|
84199
|
+
api_version_date: "2026-10-30",
|
|
84775
84200
|
data: {
|
|
84776
84201
|
card_id: "icrd_xxxxxxxxxxxxxx",
|
|
84777
84202
|
cardholder_id: null,
|
|
@@ -84902,7 +84327,7 @@ var native_spec_default = {
|
|
|
84902
84327
|
example: {
|
|
84903
84328
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
84904
84329
|
api_version: "v1",
|
|
84905
|
-
api_version_date: "2026-10-
|
|
84330
|
+
api_version_date: "2026-10-30",
|
|
84906
84331
|
data: {
|
|
84907
84332
|
card_id: "icrd_xxxxxxxxxxxxxx",
|
|
84908
84333
|
cardholder_id: null,
|
|
@@ -85033,7 +84458,7 @@ var native_spec_default = {
|
|
|
85033
84458
|
example: {
|
|
85034
84459
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
85035
84460
|
api_version: "v1",
|
|
85036
|
-
api_version_date: "2026-10-
|
|
84461
|
+
api_version_date: "2026-10-30",
|
|
85037
84462
|
data: {
|
|
85038
84463
|
card_id: "icrd_xxxxxxxxxxxxxx",
|
|
85039
84464
|
cardholder_id: null,
|
|
@@ -85164,7 +84589,7 @@ var native_spec_default = {
|
|
|
85164
84589
|
example: {
|
|
85165
84590
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
85166
84591
|
api_version: "v1",
|
|
85167
|
-
api_version_date: "2026-10-
|
|
84592
|
+
api_version_date: "2026-10-30",
|
|
85168
84593
|
data: {
|
|
85169
84594
|
card_id: "icrd_xxxxxxxxxxxxxx",
|
|
85170
84595
|
cardholder_id: null,
|
|
@@ -85295,7 +84720,7 @@ var native_spec_default = {
|
|
|
85295
84720
|
example: {
|
|
85296
84721
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
85297
84722
|
api_version: "v1",
|
|
85298
|
-
api_version_date: "2026-10-
|
|
84723
|
+
api_version_date: "2026-10-30",
|
|
85299
84724
|
data: {
|
|
85300
84725
|
card_id: "icrd_xxxxxxxxxxxxxx",
|
|
85301
84726
|
cardholder_id: null,
|
|
@@ -85426,7 +84851,7 @@ var native_spec_default = {
|
|
|
85426
84851
|
example: {
|
|
85427
84852
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
85428
84853
|
api_version: "v1",
|
|
85429
|
-
api_version_date: "2026-10-
|
|
84854
|
+
api_version_date: "2026-10-30",
|
|
85430
84855
|
data: {
|
|
85431
84856
|
amount: "75000000000",
|
|
85432
84857
|
available_at: null,
|
|
@@ -85558,7 +84983,7 @@ var native_spec_default = {
|
|
|
85558
84983
|
example: {
|
|
85559
84984
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
85560
84985
|
api_version: "v1",
|
|
85561
|
-
api_version_date: "2026-10-
|
|
84986
|
+
api_version_date: "2026-10-30",
|
|
85562
84987
|
data: {
|
|
85563
84988
|
acceptable: true,
|
|
85564
84989
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
@@ -85594,6 +85019,7 @@ var native_spec_default = {
|
|
|
85594
85019
|
evidence_locked_reason: null,
|
|
85595
85020
|
evidence_submitted_at: null,
|
|
85596
85021
|
fee: null,
|
|
85022
|
+
fee_charged: false,
|
|
85597
85023
|
id: "dspt_xxxxxxxxxxxxxx",
|
|
85598
85024
|
inquiry: false,
|
|
85599
85025
|
issuer_comments: [],
|
|
@@ -85739,7 +85165,7 @@ var native_spec_default = {
|
|
|
85739
85165
|
example: {
|
|
85740
85166
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
85741
85167
|
api_version: "v1",
|
|
85742
|
-
api_version_date: "2026-10-
|
|
85168
|
+
api_version_date: "2026-10-30",
|
|
85743
85169
|
data: {
|
|
85744
85170
|
acceptable: false,
|
|
85745
85171
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
@@ -85775,6 +85201,7 @@ var native_spec_default = {
|
|
|
85775
85201
|
evidence_locked_reason: "submitted",
|
|
85776
85202
|
evidence_submitted_at: "2026-01-01T12:00:00.000Z",
|
|
85777
85203
|
fee: null,
|
|
85204
|
+
fee_charged: false,
|
|
85778
85205
|
id: "dspt_xxxxxxxxxxxxxx",
|
|
85779
85206
|
inquiry: false,
|
|
85780
85207
|
issuer_comments: [],
|
|
@@ -85920,7 +85347,7 @@ var native_spec_default = {
|
|
|
85920
85347
|
example: {
|
|
85921
85348
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
85922
85349
|
api_version: "v1",
|
|
85923
|
-
api_version_date: "2026-10-
|
|
85350
|
+
api_version_date: "2026-10-30",
|
|
85924
85351
|
data: {
|
|
85925
85352
|
account_id: null,
|
|
85926
85353
|
amount: 25,
|
|
@@ -86052,7 +85479,7 @@ var native_spec_default = {
|
|
|
86052
85479
|
example: {
|
|
86053
85480
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
86054
85481
|
api_version: "v1",
|
|
86055
|
-
api_version_date: "2026-10-
|
|
85482
|
+
api_version_date: "2026-10-30",
|
|
86056
85483
|
data: {
|
|
86057
85484
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
86058
85485
|
apple_pay: null,
|
|
@@ -86187,7 +85614,7 @@ var native_spec_default = {
|
|
|
86187
85614
|
example: {
|
|
86188
85615
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
86189
85616
|
api_version: "v1",
|
|
86190
|
-
api_version_date: "2026-10-
|
|
85617
|
+
api_version_date: "2026-10-30",
|
|
86191
85618
|
data: {
|
|
86192
85619
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
86193
85620
|
apple_pay: null,
|
|
@@ -86322,7 +85749,7 @@ var native_spec_default = {
|
|
|
86322
85749
|
example: {
|
|
86323
85750
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
86324
85751
|
api_version: "v1",
|
|
86325
|
-
api_version_date: "2026-10-
|
|
85752
|
+
api_version_date: "2026-10-30",
|
|
86326
85753
|
data: {
|
|
86327
85754
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
86328
85755
|
apple_pay: null,
|
|
@@ -86457,7 +85884,7 @@ var native_spec_default = {
|
|
|
86457
85884
|
example: {
|
|
86458
85885
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
86459
85886
|
api_version: "v1",
|
|
86460
|
-
api_version_date: "2026-10-
|
|
85887
|
+
api_version_date: "2026-10-30",
|
|
86461
85888
|
data: {
|
|
86462
85889
|
created_at: "2026-01-01T12:00:00.000Z",
|
|
86463
85890
|
download_url: "https://s3.amazonaws.com/uploads/exports/members-export.csv",
|
|
@@ -86578,7 +86005,7 @@ var native_spec_default = {
|
|
|
86578
86005
|
example: {
|
|
86579
86006
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
86580
86007
|
api_version: "v1",
|
|
86581
|
-
api_version_date: "2026-10-
|
|
86008
|
+
api_version_date: "2026-10-30",
|
|
86582
86009
|
data: {
|
|
86583
86010
|
created_at: "2026-01-01T12:00:00.000Z",
|
|
86584
86011
|
download_url: null,
|
|
@@ -86699,7 +86126,7 @@ var native_spec_default = {
|
|
|
86699
86126
|
example: {
|
|
86700
86127
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
86701
86128
|
api_version: "v1",
|
|
86702
|
-
api_version_date: "2026-10-
|
|
86129
|
+
api_version_date: "2026-10-30",
|
|
86703
86130
|
data: {
|
|
86704
86131
|
amount: "512345000000",
|
|
86705
86132
|
available_at: "2026-01-01T12:00:00.000Z",
|
|
@@ -86836,7 +86263,7 @@ var native_spec_default = {
|
|
|
86836
86263
|
example: {
|
|
86837
86264
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
86838
86265
|
api_version: "v1",
|
|
86839
|
-
api_version_date: "2026-10-
|
|
86266
|
+
api_version_date: "2026-10-30",
|
|
86840
86267
|
data: {
|
|
86841
86268
|
id: "idpf_xxxxxxxxxxxxxx"
|
|
86842
86269
|
},
|
|
@@ -86958,7 +86385,7 @@ var native_spec_default = {
|
|
|
86958
86385
|
example: {
|
|
86959
86386
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
86960
86387
|
api_version: "v1",
|
|
86961
|
-
api_version_date: "2026-10-
|
|
86388
|
+
api_version_date: "2026-10-30",
|
|
86962
86389
|
data: {
|
|
86963
86390
|
access_level: "customer",
|
|
86964
86391
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
@@ -86976,6 +86403,7 @@ var native_spec_default = {
|
|
|
86976
86403
|
last_accessed_at: "2026-01-01T12:00:00.000Z",
|
|
86977
86404
|
most_recent_action: "joined",
|
|
86978
86405
|
most_recent_action_at: "2026-01-01T12:00:00.000Z",
|
|
86406
|
+
name: null,
|
|
86979
86407
|
phone_number: null,
|
|
86980
86408
|
status: "joined",
|
|
86981
86409
|
token_balance: 0,
|
|
@@ -87105,7 +86533,7 @@ var native_spec_default = {
|
|
|
87105
86533
|
example: {
|
|
87106
86534
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
87107
86535
|
api_version: "v1",
|
|
87108
|
-
api_version_date: "2026-10-
|
|
86536
|
+
api_version_date: "2026-10-30",
|
|
87109
86537
|
data: {
|
|
87110
86538
|
access_level: "customer",
|
|
87111
86539
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
@@ -87123,6 +86551,7 @@ var native_spec_default = {
|
|
|
87123
86551
|
last_accessed_at: "2026-01-01T12:00:00.000Z",
|
|
87124
86552
|
most_recent_action: null,
|
|
87125
86553
|
most_recent_action_at: null,
|
|
86554
|
+
name: null,
|
|
87126
86555
|
phone_number: null,
|
|
87127
86556
|
status: "joined",
|
|
87128
86557
|
token_balance: 0,
|
|
@@ -87252,7 +86681,7 @@ var native_spec_default = {
|
|
|
87252
86681
|
example: {
|
|
87253
86682
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
87254
86683
|
api_version: "v1",
|
|
87255
|
-
api_version_date: "2026-10-
|
|
86684
|
+
api_version_date: "2026-10-30",
|
|
87256
86685
|
data: {
|
|
87257
86686
|
account: {
|
|
87258
86687
|
id: "biz_xxxxxxxxxxxxxx",
|
|
@@ -87418,7 +86847,7 @@ var native_spec_default = {
|
|
|
87418
86847
|
example: {
|
|
87419
86848
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
87420
86849
|
api_version: "v1",
|
|
87421
|
-
api_version_date: "2026-10-
|
|
86850
|
+
api_version_date: "2026-10-30",
|
|
87422
86851
|
data: {
|
|
87423
86852
|
account: {
|
|
87424
86853
|
id: "biz_xxxxxxxxxxxxxx",
|
|
@@ -87590,7 +87019,7 @@ var native_spec_default = {
|
|
|
87590
87019
|
example: {
|
|
87591
87020
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
87592
87021
|
api_version: "v1",
|
|
87593
|
-
api_version_date: "2026-10-
|
|
87022
|
+
api_version_date: "2026-10-30",
|
|
87594
87023
|
data: {
|
|
87595
87024
|
account: {
|
|
87596
87025
|
id: "biz_xxxxxxxxxxxxxx",
|
|
@@ -87756,7 +87185,7 @@ var native_spec_default = {
|
|
|
87756
87185
|
example: {
|
|
87757
87186
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
87758
87187
|
api_version: "v1",
|
|
87759
|
-
api_version_date: "2026-10-
|
|
87188
|
+
api_version_date: "2026-10-30",
|
|
87760
87189
|
data: {
|
|
87761
87190
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
87762
87191
|
amount_after_fees: {
|
|
@@ -88042,7 +87471,7 @@ var native_spec_default = {
|
|
|
88042
87471
|
example: {
|
|
88043
87472
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
88044
87473
|
api_version: "v1",
|
|
88045
|
-
api_version_date: "2026-10-
|
|
87474
|
+
api_version_date: "2026-10-30",
|
|
88046
87475
|
data: {
|
|
88047
87476
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
88048
87477
|
amount_after_fees: {
|
|
@@ -88328,7 +87757,7 @@ var native_spec_default = {
|
|
|
88328
87757
|
example: {
|
|
88329
87758
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
88330
87759
|
api_version: "v1",
|
|
88331
|
-
api_version_date: "2026-10-
|
|
87760
|
+
api_version_date: "2026-10-30",
|
|
88332
87761
|
data: {
|
|
88333
87762
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
88334
87763
|
amount_after_fees: {
|
|
@@ -88614,7 +88043,7 @@ var native_spec_default = {
|
|
|
88614
88043
|
example: {
|
|
88615
88044
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
88616
88045
|
api_version: "v1",
|
|
88617
|
-
api_version_date: "2026-10-
|
|
88046
|
+
api_version_date: "2026-10-30",
|
|
88618
88047
|
data: {
|
|
88619
88048
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
88620
88049
|
amount_after_fees: {
|
|
@@ -88900,7 +88329,7 @@ var native_spec_default = {
|
|
|
88900
88329
|
example: {
|
|
88901
88330
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
88902
88331
|
api_version: "v1",
|
|
88903
|
-
api_version_date: "2026-10-
|
|
88332
|
+
api_version_date: "2026-10-30",
|
|
88904
88333
|
data: {
|
|
88905
88334
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
88906
88335
|
amount_after_fees: {
|
|
@@ -89180,7 +88609,7 @@ var native_spec_default = {
|
|
|
89180
88609
|
example: {
|
|
89181
88610
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
89182
88611
|
api_version: "v1",
|
|
89183
|
-
api_version_date: "2026-10-
|
|
88612
|
+
api_version_date: "2026-10-30",
|
|
89184
88613
|
data: {
|
|
89185
88614
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
89186
88615
|
amount_after_fees: {
|
|
@@ -89472,7 +88901,7 @@ var native_spec_default = {
|
|
|
89472
88901
|
example: {
|
|
89473
88902
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
89474
88903
|
api_version: "v1",
|
|
89475
|
-
api_version_date: "2026-10-
|
|
88904
|
+
api_version_date: "2026-10-30",
|
|
89476
88905
|
data: {
|
|
89477
88906
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
89478
88907
|
amount_after_fees: {
|
|
@@ -89758,7 +89187,7 @@ var native_spec_default = {
|
|
|
89758
89187
|
example: {
|
|
89759
89188
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
89760
89189
|
api_version: "v1",
|
|
89761
|
-
api_version_date: "2026-10-
|
|
89190
|
+
api_version_date: "2026-10-30",
|
|
89762
89191
|
data: {
|
|
89763
89192
|
amount: "10.0",
|
|
89764
89193
|
cancelable: false,
|
|
@@ -90153,7 +89582,7 @@ var native_spec_default = {
|
|
|
90153
89582
|
example: {
|
|
90154
89583
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
90155
89584
|
api_version: "v1",
|
|
90156
|
-
api_version_date: "2026-10-
|
|
89585
|
+
api_version_date: "2026-10-30",
|
|
90157
89586
|
data: {
|
|
90158
89587
|
amount: "10.0",
|
|
90159
89588
|
cancelable: false,
|
|
@@ -90545,7 +89974,7 @@ var native_spec_default = {
|
|
|
90545
89974
|
example: {
|
|
90546
89975
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
90547
89976
|
api_version: "v1",
|
|
90548
|
-
api_version_date: "2026-10-
|
|
89977
|
+
api_version_date: "2026-10-30",
|
|
90549
89978
|
data: {
|
|
90550
89979
|
amount: "10.0",
|
|
90551
89980
|
cancelable: false,
|
|
@@ -90933,7 +90362,7 @@ var native_spec_default = {
|
|
|
90933
90362
|
example: {
|
|
90934
90363
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
90935
90364
|
api_version: "v1",
|
|
90936
|
-
api_version_date: "2026-10-
|
|
90365
|
+
api_version_date: "2026-10-30",
|
|
90937
90366
|
data: {
|
|
90938
90367
|
account_reference: "4483",
|
|
90939
90368
|
bank_verification_state: null,
|
|
@@ -91416,7 +90845,7 @@ var native_spec_default = {
|
|
|
91416
90845
|
example: {
|
|
91417
90846
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
91418
90847
|
api_version: "v1",
|
|
91419
|
-
api_version_date: "2026-10-
|
|
90848
|
+
api_version_date: "2026-10-30",
|
|
91420
90849
|
data: {
|
|
91421
90850
|
account: {
|
|
91422
90851
|
id: "biz_xxxxxxxxxxxxxx",
|
|
@@ -91720,7 +91149,7 @@ var native_spec_default = {
|
|
|
91720
91149
|
example: {
|
|
91721
91150
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
91722
91151
|
api_version: "v1",
|
|
91723
|
-
api_version_date: "2026-10-
|
|
91152
|
+
api_version_date: "2026-10-30",
|
|
91724
91153
|
data: {
|
|
91725
91154
|
account: {
|
|
91726
91155
|
id: "biz_xxxxxxxxxxxxxx",
|
|
@@ -92024,7 +91453,7 @@ var native_spec_default = {
|
|
|
92024
91453
|
example: {
|
|
92025
91454
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
92026
91455
|
api_version: "v1",
|
|
92027
|
-
api_version_date: "2026-10-
|
|
91456
|
+
api_version_date: "2026-10-30",
|
|
92028
91457
|
data: {
|
|
92029
91458
|
account: {
|
|
92030
91459
|
id: "biz_xxxxxxxxxxxxxx",
|
|
@@ -92328,7 +91757,7 @@ var native_spec_default = {
|
|
|
92328
91757
|
example: {
|
|
92329
91758
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
92330
91759
|
api_version: "v1",
|
|
92331
|
-
api_version_date: "2026-10-
|
|
91760
|
+
api_version_date: "2026-10-30",
|
|
92332
91761
|
data: {
|
|
92333
91762
|
account: {
|
|
92334
91763
|
id: "biz_xxxxxxxxxxxxxx",
|
|
@@ -92480,7 +91909,7 @@ var native_spec_default = {
|
|
|
92480
91909
|
example: {
|
|
92481
91910
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
92482
91911
|
api_version: "v1",
|
|
92483
|
-
api_version_date: "2026-10-
|
|
91912
|
+
api_version_date: "2026-10-30",
|
|
92484
91913
|
data: {
|
|
92485
91914
|
account: {
|
|
92486
91915
|
id: "biz_xxxxxxxxxxxxxx",
|
|
@@ -92632,7 +92061,7 @@ var native_spec_default = {
|
|
|
92632
92061
|
example: {
|
|
92633
92062
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
92634
92063
|
api_version: "v1",
|
|
92635
|
-
api_version_date: "2026-10-
|
|
92064
|
+
api_version_date: "2026-10-30",
|
|
92636
92065
|
data: {
|
|
92637
92066
|
account: {
|
|
92638
92067
|
id: "biz_xxxxxxxxxxxxxx",
|
|
@@ -92784,7 +92213,7 @@ var native_spec_default = {
|
|
|
92784
92213
|
example: {
|
|
92785
92214
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
92786
92215
|
api_version: "v1",
|
|
92787
|
-
api_version_date: "2026-10-
|
|
92216
|
+
api_version_date: "2026-10-30",
|
|
92788
92217
|
data: {
|
|
92789
92218
|
account: {
|
|
92790
92219
|
id: "biz_xxxxxxxxxxxxxx",
|
|
@@ -92936,7 +92365,7 @@ var native_spec_default = {
|
|
|
92936
92365
|
example: {
|
|
92937
92366
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
92938
92367
|
api_version: "v1",
|
|
92939
|
-
api_version_date: "2026-10-
|
|
92368
|
+
api_version_date: "2026-10-30",
|
|
92940
92369
|
data: {
|
|
92941
92370
|
account: {
|
|
92942
92371
|
id: "biz_xxxxxxxxxxxxxx",
|
|
@@ -93088,7 +92517,7 @@ var native_spec_default = {
|
|
|
93088
92517
|
example: {
|
|
93089
92518
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
93090
92519
|
api_version: "v1",
|
|
93091
|
-
api_version_date: "2026-10-
|
|
92520
|
+
api_version_date: "2026-10-30",
|
|
93092
92521
|
data: {
|
|
93093
92522
|
account: {
|
|
93094
92523
|
id: "biz_xxxxxxxxxxxxxx",
|
|
@@ -93248,7 +92677,7 @@ var native_spec_default = {
|
|
|
93248
92677
|
example: {
|
|
93249
92678
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
93250
92679
|
api_version: "v1",
|
|
93251
|
-
api_version_date: "2026-10-
|
|
92680
|
+
api_version_date: "2026-10-30",
|
|
93252
92681
|
data: {
|
|
93253
92682
|
account: {
|
|
93254
92683
|
id: "biz_xxxxxxxxxxxxxx",
|
|
@@ -93408,7 +92837,7 @@ var native_spec_default = {
|
|
|
93408
92837
|
example: {
|
|
93409
92838
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
93410
92839
|
api_version: "v1",
|
|
93411
|
-
api_version_date: "2026-10-
|
|
92840
|
+
api_version_date: "2026-10-30",
|
|
93412
92841
|
data: {
|
|
93413
92842
|
account: {
|
|
93414
92843
|
id: "biz_xxxxxxxxxxxxxx",
|
|
@@ -93568,7 +92997,7 @@ var native_spec_default = {
|
|
|
93568
92997
|
example: {
|
|
93569
92998
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
93570
92999
|
api_version: "v1",
|
|
93571
|
-
api_version_date: "2026-10-
|
|
93000
|
+
api_version_date: "2026-10-30",
|
|
93572
93001
|
data: {
|
|
93573
93002
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
93574
93003
|
checkout_configuration_id: null,
|
|
@@ -93709,7 +93138,7 @@ var native_spec_default = {
|
|
|
93709
93138
|
example: {
|
|
93710
93139
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
93711
93140
|
api_version: "v1",
|
|
93712
|
-
api_version_date: "2026-10-
|
|
93141
|
+
api_version_date: "2026-10-30",
|
|
93713
93142
|
data: {
|
|
93714
93143
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
93715
93144
|
checkout_configuration_id: null,
|
|
@@ -93853,7 +93282,7 @@ var native_spec_default = {
|
|
|
93853
93282
|
example: {
|
|
93854
93283
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
93855
93284
|
api_version: "v1",
|
|
93856
|
-
api_version_date: "2026-10-
|
|
93285
|
+
api_version_date: "2026-10-30",
|
|
93857
93286
|
data: {
|
|
93858
93287
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
93859
93288
|
checkout_configuration_id: null,
|
|
@@ -94032,7 +93461,7 @@ var native_spec_default = {
|
|
|
94032
93461
|
example: {
|
|
94033
93462
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
94034
93463
|
api_version: "v1",
|
|
94035
|
-
api_version_date: "2026-10-
|
|
93464
|
+
api_version_date: "2026-10-30",
|
|
94036
93465
|
data: {
|
|
94037
93466
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
94038
93467
|
carrier: "ups",
|
|
@@ -94156,7 +93585,7 @@ var native_spec_default = {
|
|
|
94156
93585
|
example: {
|
|
94157
93586
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
94158
93587
|
api_version: "v1",
|
|
94159
|
-
api_version_date: "2026-10-
|
|
93588
|
+
api_version_date: "2026-10-30",
|
|
94160
93589
|
data: {
|
|
94161
93590
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
94162
93591
|
carrier: "ups",
|
|
@@ -94280,7 +93709,7 @@ var native_spec_default = {
|
|
|
94280
93709
|
example: {
|
|
94281
93710
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
94282
93711
|
api_version: "v1",
|
|
94283
|
-
api_version_date: "2026-10-
|
|
93712
|
+
api_version_date: "2026-10-30",
|
|
94284
93713
|
data: {
|
|
94285
93714
|
account: {
|
|
94286
93715
|
id: "biz_xxxxxxxxxxxxxx",
|
|
@@ -94512,7 +93941,7 @@ var native_spec_default = {
|
|
|
94512
93941
|
example: {
|
|
94513
93942
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
94514
93943
|
api_version: "v1",
|
|
94515
|
-
api_version_date: "2026-10-
|
|
93944
|
+
api_version_date: "2026-10-30",
|
|
94516
93945
|
data: {
|
|
94517
93946
|
amount: {
|
|
94518
93947
|
amount: "250.00",
|
|
@@ -94835,7 +94264,7 @@ var native_spec_default = {
|
|
|
94835
94264
|
example: {
|
|
94836
94265
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
94837
94266
|
api_version: "v1",
|
|
94838
|
-
api_version_date: "2026-10-
|
|
94267
|
+
api_version_date: "2026-10-30",
|
|
94839
94268
|
data: {
|
|
94840
94269
|
amount: {
|
|
94841
94270
|
amount: "250.00",
|
|
@@ -95158,7 +94587,7 @@ var native_spec_default = {
|
|
|
95158
94587
|
example: {
|
|
95159
94588
|
account_id: "biz_xxxxxxxxxxxxxx",
|
|
95160
94589
|
api_version: "v1",
|
|
95161
|
-
api_version_date: "2026-10-
|
|
94590
|
+
api_version_date: "2026-10-30",
|
|
95162
94591
|
data: {
|
|
95163
94592
|
amount: null,
|
|
95164
94593
|
created_at: "2026-01-01T12:00:00.000Z",
|
|
@@ -95437,7 +94866,7 @@ var native_spec_default = {
|
|
|
95437
94866
|
name: "Api-Version-Date",
|
|
95438
94867
|
required: false,
|
|
95439
94868
|
schema: {
|
|
95440
|
-
example: "2026-10-
|
|
94869
|
+
example: "2026-10-30",
|
|
95441
94870
|
type: "string"
|
|
95442
94871
|
}
|
|
95443
94872
|
},
|
|
@@ -100381,6 +99810,29 @@ var native_spec_default = {
|
|
|
100381
99810
|
example: 1,
|
|
100382
99811
|
type: "integer"
|
|
100383
99812
|
},
|
|
99813
|
+
levels: {
|
|
99814
|
+
items: {
|
|
99815
|
+
$ref: "#/components/schemas/AccountProcessingOfferLevel",
|
|
99816
|
+
description: "Every level from `0` through `10`, with the monthly qualifying spend it takes and its card processing percentage in each card region."
|
|
99817
|
+
},
|
|
99818
|
+
type: "array"
|
|
99819
|
+
},
|
|
99820
|
+
monthly_ads_spend: {
|
|
99821
|
+
$ref: "#/components/schemas/Money",
|
|
99822
|
+
description: "Charged Whop Ads spend this calendar month across every account the owner owns, in USD."
|
|
99823
|
+
},
|
|
99824
|
+
monthly_card_spend: {
|
|
99825
|
+
$ref: "#/components/schemas/Money",
|
|
99826
|
+
description: "Effective Whop Card spend this calendar month across every account the owner owns, in USD."
|
|
99827
|
+
},
|
|
99828
|
+
monthly_qualifying_spend: {
|
|
99829
|
+
$ref: "#/components/schemas/Money",
|
|
99830
|
+
description: "Qualifying spend this calendar month across every account the owner owns, in USD: Whop Ads spend, Whop Card spend, and a tenth of perpetual trading volume."
|
|
99831
|
+
},
|
|
99832
|
+
monthly_trading_volume: {
|
|
99833
|
+
$ref: "#/components/schemas/Money",
|
|
99834
|
+
description: "Perpetual trading notional volume this calendar month across every account the owner owns, in USD."
|
|
99835
|
+
},
|
|
100384
99836
|
points: {
|
|
100385
99837
|
description: "Points earned this month across every account the owner owns.",
|
|
100386
99838
|
example: 41e3,
|
|
@@ -100395,6 +99847,11 @@ var native_spec_default = {
|
|
|
100395
99847
|
example: 59e3,
|
|
100396
99848
|
type: ["integer", "null"]
|
|
100397
99849
|
},
|
|
99850
|
+
processing_rate_percentage: {
|
|
99851
|
+
description: "The standard US and Canada card processing percentage at `current`, before any account's custom rate.",
|
|
99852
|
+
example: 2.6,
|
|
99853
|
+
type: "number"
|
|
99854
|
+
},
|
|
100398
99855
|
resets_at: {
|
|
100399
99856
|
description: "When this month's points reset to zero, as an ISO 8601 timestamp.",
|
|
100400
99857
|
example: "2026-01-01T12:00:00.000Z",
|
|
@@ -100407,6 +99864,12 @@ var native_spec_default = {
|
|
|
100407
99864
|
"points_by_source",
|
|
100408
99865
|
"points_to_next",
|
|
100409
99866
|
"resets_at",
|
|
99867
|
+
"processing_rate_percentage",
|
|
99868
|
+
"monthly_qualifying_spend",
|
|
99869
|
+
"monthly_ads_spend",
|
|
99870
|
+
"monthly_card_spend",
|
|
99871
|
+
"monthly_trading_volume",
|
|
99872
|
+
"levels",
|
|
100410
99873
|
"boosted"
|
|
100411
99874
|
],
|
|
100412
99875
|
type: "object"
|
|
@@ -100682,6 +100145,61 @@ var native_spec_default = {
|
|
|
100682
100145
|
],
|
|
100683
100146
|
type: "object"
|
|
100684
100147
|
},
|
|
100148
|
+
AccountProcessingOfferLevel: {
|
|
100149
|
+
properties: {
|
|
100150
|
+
level: {
|
|
100151
|
+
description: "The processing level.",
|
|
100152
|
+
example: 0,
|
|
100153
|
+
type: "integer"
|
|
100154
|
+
},
|
|
100155
|
+
minimum_spend: {
|
|
100156
|
+
$ref: "#/components/schemas/Money",
|
|
100157
|
+
description: "The monthly qualifying spend required to reach this level."
|
|
100158
|
+
},
|
|
100159
|
+
processing_rate_percentage: {
|
|
100160
|
+
description: "The standard US and Canada card processing percentage at this level, regardless of the account's custom rate.",
|
|
100161
|
+
example: 2.7,
|
|
100162
|
+
type: "number"
|
|
100163
|
+
},
|
|
100164
|
+
regional_rates: {
|
|
100165
|
+
items: {
|
|
100166
|
+
$ref: "#/components/schemas/AccountProcessingOfferRegionalRate",
|
|
100167
|
+
description: "The card processing percentage at this level for each card region, starting with US and Canada."
|
|
100168
|
+
},
|
|
100169
|
+
type: "array"
|
|
100170
|
+
}
|
|
100171
|
+
},
|
|
100172
|
+
required: [
|
|
100173
|
+
"level",
|
|
100174
|
+
"minimum_spend",
|
|
100175
|
+
"processing_rate_percentage",
|
|
100176
|
+
"regional_rates"
|
|
100177
|
+
],
|
|
100178
|
+
type: "object"
|
|
100179
|
+
},
|
|
100180
|
+
AccountProcessingOfferRegionalRate: {
|
|
100181
|
+
properties: {
|
|
100182
|
+
processing_rate_percentage: {
|
|
100183
|
+
description: "The standard card processing percentage at this level for cards from this region, regardless of the account's custom rate.",
|
|
100184
|
+
example: 1.7,
|
|
100185
|
+
type: "number"
|
|
100186
|
+
},
|
|
100187
|
+
region: {
|
|
100188
|
+
description: "The card region this fee applies to.",
|
|
100189
|
+
enum: [
|
|
100190
|
+
"us_and_canada",
|
|
100191
|
+
"europe_uk_and_australia",
|
|
100192
|
+
"latin_america",
|
|
100193
|
+
"peru",
|
|
100194
|
+
"brazil"
|
|
100195
|
+
],
|
|
100196
|
+
example: "europe_uk_and_australia",
|
|
100197
|
+
type: "string"
|
|
100198
|
+
}
|
|
100199
|
+
},
|
|
100200
|
+
required: ["region", "processing_rate_percentage"],
|
|
100201
|
+
type: "object"
|
|
100202
|
+
},
|
|
100685
100203
|
AccountRecommendedAction: {
|
|
100686
100204
|
properties: {
|
|
100687
100205
|
action: {
|
|
@@ -101512,7 +101030,7 @@ var native_spec_default = {
|
|
|
101512
101030
|
descriptions: {
|
|
101513
101031
|
items: {
|
|
101514
101032
|
$ref: "#/components/schemas/AdText",
|
|
101515
|
-
description: "The description shown on the ad.
|
|
101033
|
+
description: "The description shown on the ad."
|
|
101516
101034
|
},
|
|
101517
101035
|
type: "array"
|
|
101518
101036
|
},
|
|
@@ -101524,7 +101042,7 @@ var native_spec_default = {
|
|
|
101524
101042
|
headlines: {
|
|
101525
101043
|
items: {
|
|
101526
101044
|
$ref: "#/components/schemas/AdText",
|
|
101527
|
-
description: "The headline shown on the ad.
|
|
101045
|
+
description: "The headline shown on the ad."
|
|
101528
101046
|
},
|
|
101529
101047
|
type: "array"
|
|
101530
101048
|
},
|
|
@@ -101563,7 +101081,7 @@ var native_spec_default = {
|
|
|
101563
101081
|
primary_texts: {
|
|
101564
101082
|
items: {
|
|
101565
101083
|
$ref: "#/components/schemas/AdText",
|
|
101566
|
-
description: "The primary text shown in the ad body.
|
|
101084
|
+
description: "The primary text shown in the ad body. Several entries make text variations."
|
|
101567
101085
|
},
|
|
101568
101086
|
type: "array"
|
|
101569
101087
|
},
|
|
@@ -101769,20 +101287,14 @@ var native_spec_default = {
|
|
|
101769
101287
|
example: 165,
|
|
101770
101288
|
type: "number"
|
|
101771
101289
|
},
|
|
101772
|
-
bid_type: {
|
|
101773
|
-
description: "How delivery bids in the ad auction: `minimum_cost` gets the most results for the budget, `average_target` holds an average cost per result, and `maximum_target` never bids above a cap.",
|
|
101774
|
-
enum: ["minimum_cost", "average_target", "maximum_target", null],
|
|
101775
|
-
example: "average_target",
|
|
101776
|
-
type: ["string", "null"]
|
|
101777
|
-
},
|
|
101778
101290
|
budget_amount: {
|
|
101779
101291
|
description: "The campaign's budget in USD, which is what it is stored and billed in. `null` when each ad group sets its own budget instead.",
|
|
101780
|
-
example:
|
|
101292
|
+
example: 50,
|
|
101781
101293
|
type: ["number", "null"]
|
|
101782
101294
|
},
|
|
101783
101295
|
budget_amount_local: {
|
|
101784
101296
|
description: "The same budget stated in `budget_currency` at today's exchange rate, for display in the account's ads reporting currency. `null` when `budget_amount` is.",
|
|
101785
|
-
example:
|
|
101297
|
+
example: 50,
|
|
101786
101298
|
type: ["number", "null"]
|
|
101787
101299
|
},
|
|
101788
101300
|
budget_currency: {
|
|
@@ -101793,7 +101305,7 @@ var native_spec_default = {
|
|
|
101793
101305
|
budget_optimization: {
|
|
101794
101306
|
description: "Which level owns the budget: the whole campaign (`ad_campaign`) or each ad group individually (`ad_group`).",
|
|
101795
101307
|
enum: ["ad_campaign", "ad_group", null],
|
|
101796
|
-
example: "
|
|
101308
|
+
example: "ad_group",
|
|
101797
101309
|
type: ["string", "null"]
|
|
101798
101310
|
},
|
|
101799
101311
|
budget_type: {
|
|
@@ -101928,6 +101440,7 @@ var native_spec_default = {
|
|
|
101928
101440
|
description: "Whether the campaign's ads are delivering right now, and if not, why. Content review is in_review; a campaign waiting to start is processing. Account billing failures set payment_failed without changing the configured status. Successful payment retry clears that block and recalculates delivery. When several states apply at once, the highest-precedence one is returned.",
|
|
101929
101441
|
enum: [
|
|
101930
101442
|
"payment_failed",
|
|
101443
|
+
"waiting_for_ein",
|
|
101931
101444
|
"in_appeal",
|
|
101932
101445
|
"all_ads_rejected",
|
|
101933
101446
|
"draft",
|
|
@@ -101943,7 +101456,7 @@ var native_spec_default = {
|
|
|
101943
101456
|
"ad_groups_off",
|
|
101944
101457
|
"active"
|
|
101945
101458
|
],
|
|
101946
|
-
example: "
|
|
101459
|
+
example: "issues",
|
|
101947
101460
|
type: "string"
|
|
101948
101461
|
},
|
|
101949
101462
|
desired_cost_per_result: {
|
|
@@ -102109,7 +101622,7 @@ var native_spec_default = {
|
|
|
102109
101622
|
"imported",
|
|
102110
101623
|
"duplicating"
|
|
102111
101624
|
],
|
|
102112
|
-
example: "
|
|
101625
|
+
example: "active",
|
|
102113
101626
|
type: "string"
|
|
102114
101627
|
},
|
|
102115
101628
|
submitted_application_value: {
|
|
@@ -102124,7 +101637,7 @@ var native_spec_default = {
|
|
|
102124
101637
|
},
|
|
102125
101638
|
title: {
|
|
102126
101639
|
description: "Display name of the ad campaign.",
|
|
102127
|
-
example: "
|
|
101640
|
+
example: "Ceramic coating \u2014 Austin leads",
|
|
102128
101641
|
type: "string"
|
|
102129
101642
|
},
|
|
102130
101643
|
unique_click_through_rate: {
|
|
@@ -102219,142 +101732,6 @@ var native_spec_default = {
|
|
|
102219
101732
|
],
|
|
102220
101733
|
type: "object"
|
|
102221
101734
|
},
|
|
102222
|
-
AdConversionValueRule: {
|
|
102223
|
-
properties: {
|
|
102224
|
-
account_id: {
|
|
102225
|
-
description: "Business that owns this shared, editable rule.",
|
|
102226
|
-
example: "biz_xxxxxxxxxxxxxx",
|
|
102227
|
-
type: "string"
|
|
102228
|
-
},
|
|
102229
|
-
adjustment_type: {
|
|
102230
|
-
description: "Set a fixed amount or change the original value by a signed percentage.",
|
|
102231
|
-
enum: ["fixed", "percentage"],
|
|
102232
|
-
example: "fixed",
|
|
102233
|
-
type: "string"
|
|
102234
|
-
},
|
|
102235
|
-
created_at: {
|
|
102236
|
-
description: "When the rule was created, as an ISO 8601 timestamp.",
|
|
102237
|
-
example: "2026-01-01T12:00:00.000Z",
|
|
102238
|
-
type: "string"
|
|
102239
|
-
},
|
|
102240
|
-
events: {
|
|
102241
|
-
items: {
|
|
102242
|
-
$ref: "#/components/schemas/AdConversionValueRuleEvent",
|
|
102243
|
-
description: "Events adjusted on every selected target."
|
|
102244
|
-
},
|
|
102245
|
-
type: "array"
|
|
102246
|
-
},
|
|
102247
|
-
fixed_value: {
|
|
102248
|
-
description: "Amount sent for a fixed rule. Null for a percentage rule.",
|
|
102249
|
-
oneOf: [
|
|
102250
|
-
{
|
|
102251
|
-
$ref: "#/components/schemas/Money"
|
|
102252
|
-
},
|
|
102253
|
-
{
|
|
102254
|
-
type: "null"
|
|
102255
|
-
}
|
|
102256
|
-
]
|
|
102257
|
-
},
|
|
102258
|
-
id: {
|
|
102259
|
-
description: "Conversion value rule ID, prefixed adcvr_.",
|
|
102260
|
-
example: "adcvr_xxxxxxxxxxxxxx",
|
|
102261
|
-
type: "string"
|
|
102262
|
-
},
|
|
102263
|
-
metadata: {
|
|
102264
|
-
description: "Free-form string keys and values for the caller.",
|
|
102265
|
-
example: {},
|
|
102266
|
-
type: "object"
|
|
102267
|
-
},
|
|
102268
|
-
percentage_change: {
|
|
102269
|
-
description: "Signed percent change: 20 increases by 20%, negative 20 decreases by 20%. The sent value cannot go below zero. Null for a fixed rule.",
|
|
102270
|
-
example: null,
|
|
102271
|
-
type: ["number", "null"]
|
|
102272
|
-
},
|
|
102273
|
-
status: {
|
|
102274
|
-
description: "Whether this rule is active or paused.",
|
|
102275
|
-
enum: ["active", "paused"],
|
|
102276
|
-
example: "active",
|
|
102277
|
-
type: "string"
|
|
102278
|
-
},
|
|
102279
|
-
targets: {
|
|
102280
|
-
items: {
|
|
102281
|
-
$ref: "#/components/schemas/AdConversionValueRuleTarget",
|
|
102282
|
-
description: "Targets covered by this rule. Every selected event applies to every target."
|
|
102283
|
-
},
|
|
102284
|
-
type: "array"
|
|
102285
|
-
},
|
|
102286
|
-
updated_at: {
|
|
102287
|
-
description: "When the rule was edited, as an ISO 8601 timestamp.",
|
|
102288
|
-
example: "2026-01-01T12:00:00.000Z",
|
|
102289
|
-
type: "string"
|
|
102290
|
-
}
|
|
102291
|
-
},
|
|
102292
|
-
required: [
|
|
102293
|
-
"id",
|
|
102294
|
-
"account_id",
|
|
102295
|
-
"status",
|
|
102296
|
-
"targets",
|
|
102297
|
-
"events",
|
|
102298
|
-
"adjustment_type",
|
|
102299
|
-
"fixed_value",
|
|
102300
|
-
"percentage_change",
|
|
102301
|
-
"metadata",
|
|
102302
|
-
"created_at",
|
|
102303
|
-
"updated_at"
|
|
102304
|
-
],
|
|
102305
|
-
type: "object"
|
|
102306
|
-
},
|
|
102307
|
-
AdConversionValueRuleEvent: {
|
|
102308
|
-
properties: {
|
|
102309
|
-
custom_name: {
|
|
102310
|
-
description: "Exact custom event name. Null for standard events.",
|
|
102311
|
-
example: null,
|
|
102312
|
-
type: ["string", "null"]
|
|
102313
|
-
},
|
|
102314
|
-
event_name: {
|
|
102315
|
-
description: "Event to adjust. Purchase includes Whop purchases and external purchase events.",
|
|
102316
|
-
enum: [
|
|
102317
|
-
"purchase",
|
|
102318
|
-
"subscribe",
|
|
102319
|
-
"start_trial",
|
|
102320
|
-
"lead",
|
|
102321
|
-
"complete_registration",
|
|
102322
|
-
"submit_application",
|
|
102323
|
-
"schedule",
|
|
102324
|
-
"contact",
|
|
102325
|
-
"view_content",
|
|
102326
|
-
"add_to_cart",
|
|
102327
|
-
"custom"
|
|
102328
|
-
],
|
|
102329
|
-
example: "lead",
|
|
102330
|
-
type: "string"
|
|
102331
|
-
}
|
|
102332
|
-
},
|
|
102333
|
-
required: ["event_name", "custom_name"],
|
|
102334
|
-
type: "object"
|
|
102335
|
-
},
|
|
102336
|
-
AdConversionValueRuleTarget: {
|
|
102337
|
-
properties: {
|
|
102338
|
-
resource_id: {
|
|
102339
|
-
description: "Selected campaign, ad group, or ad ID. Null for a business target.",
|
|
102340
|
-
example: null,
|
|
102341
|
-
type: ["string", "null"]
|
|
102342
|
-
},
|
|
102343
|
-
resource_title: {
|
|
102344
|
-
description: "Name of the selected item. Null when it is no longer available.",
|
|
102345
|
-
example: "Shine Time Auto Detailing",
|
|
102346
|
-
type: ["string", "null"]
|
|
102347
|
-
},
|
|
102348
|
-
scope: {
|
|
102349
|
-
description: "Business, campaign, ad group, or ad covered by this target.",
|
|
102350
|
-
enum: ["business", "campaign", "ad_group", "ad"],
|
|
102351
|
-
example: "business",
|
|
102352
|
-
type: "string"
|
|
102353
|
-
}
|
|
102354
|
-
},
|
|
102355
|
-
required: ["scope", "resource_id", "resource_title"],
|
|
102356
|
-
type: "object"
|
|
102357
|
-
},
|
|
102358
101735
|
AdCreative: {
|
|
102359
101736
|
properties: {
|
|
102360
101737
|
crop: {
|
|
@@ -102380,7 +101757,7 @@ var native_spec_default = {
|
|
|
102380
101757
|
type: "string"
|
|
102381
101758
|
},
|
|
102382
101759
|
language: {
|
|
102383
|
-
description: "
|
|
101760
|
+
description: "Always `null`. Translations are no longer available.",
|
|
102384
101761
|
example: null,
|
|
102385
101762
|
type: ["string", "null"]
|
|
102386
101763
|
},
|
|
@@ -103083,7 +102460,7 @@ var native_spec_default = {
|
|
|
103083
102460
|
AdGroupDemographics: {
|
|
103084
102461
|
properties: {
|
|
103085
102462
|
automatic: {
|
|
103086
|
-
description: "Whether automatic audience targeting is on. When `true`, delivery can reach beyond the ages
|
|
102463
|
+
description: "Whether automatic audience targeting is on. When `true`, delivery can reach beyond the ages and genders you set, treating them as suggestions.",
|
|
103087
102464
|
example: false,
|
|
103088
102465
|
type: "boolean"
|
|
103089
102466
|
},
|
|
@@ -103111,7 +102488,7 @@ var native_spec_default = {
|
|
|
103111
102488
|
description: "Age, gender, and automatic-audience targeting.",
|
|
103112
102489
|
properties: {
|
|
103113
102490
|
automatic: {
|
|
103114
|
-
description: "Turn on automatic audience targeting: delivery can reach beyond the ages
|
|
102491
|
+
description: "Turn on automatic audience targeting: delivery can reach beyond the ages and genders you set, treating them as suggestions.",
|
|
103115
102492
|
example: false,
|
|
103116
102493
|
type: "boolean"
|
|
103117
102494
|
},
|
|
@@ -103608,8 +102985,8 @@ var native_spec_default = {
|
|
|
103608
102985
|
AdText: {
|
|
103609
102986
|
properties: {
|
|
103610
102987
|
language: {
|
|
103611
|
-
description: "
|
|
103612
|
-
example:
|
|
102988
|
+
description: "Always `null`. Translations are no longer available.",
|
|
102989
|
+
example: null,
|
|
103613
102990
|
type: ["string", "null"]
|
|
103614
102991
|
},
|
|
103615
102992
|
text: {
|
|
@@ -103707,9 +103084,12 @@ var native_spec_default = {
|
|
|
103707
103084
|
"2026-10-29-1",
|
|
103708
103085
|
"2026-10-29-2",
|
|
103709
103086
|
"2026-10-29-3",
|
|
103710
|
-
"2026-10-29-4"
|
|
103087
|
+
"2026-10-29-4",
|
|
103088
|
+
"2026-10-29-5",
|
|
103089
|
+
"2026-10-29-8",
|
|
103090
|
+
"2026-10-30"
|
|
103711
103091
|
],
|
|
103712
|
-
example: "2026-10-
|
|
103092
|
+
example: "2026-10-30",
|
|
103713
103093
|
type: "string"
|
|
103714
103094
|
},
|
|
103715
103095
|
created_at: {
|
|
@@ -104803,7 +104183,7 @@ var native_spec_default = {
|
|
|
104803
104183
|
},
|
|
104804
104184
|
name: {
|
|
104805
104185
|
description: "Human-readable name of the action.",
|
|
104806
|
-
example: "
|
|
104186
|
+
example: "Read business information",
|
|
104807
104187
|
type: "string"
|
|
104808
104188
|
}
|
|
104809
104189
|
},
|
|
@@ -104853,7 +104233,7 @@ var native_spec_default = {
|
|
|
104853
104233
|
type: "string"
|
|
104854
104234
|
},
|
|
104855
104235
|
error_message: {
|
|
104856
|
-
description: "
|
|
104236
|
+
description: "Why a `pending` audience hasn't started, or why a `partial` or `failed` one isn't fully built. `null` when there is nothing to report.",
|
|
104857
104237
|
example: "412 of 1,000 rows had no email or phone number, so the list could not be matched.",
|
|
104858
104238
|
type: ["string", "null"]
|
|
104859
104239
|
},
|
|
@@ -104932,7 +104312,7 @@ var native_spec_default = {
|
|
|
104932
104312
|
type: "string"
|
|
104933
104313
|
},
|
|
104934
104314
|
status: {
|
|
104935
|
-
description: "Current state of audience creation. `syncing` means Whop is sending matched rows to connected ad accounts. When status is `partial` or `failed`, `error_message` explains what went wrong.",
|
|
104315
|
+
description: "Current state of audience creation. `syncing` means Whop is sending matched rows to connected ad accounts. When a `pending` audience is waiting on something, such as an ad account to upload to, `error_message` says what. When status is `partial` or `failed`, `error_message` explains what went wrong.",
|
|
104936
104316
|
enum: [
|
|
104937
104317
|
"pending",
|
|
104938
104318
|
"processing",
|
|
@@ -106733,7 +106113,7 @@ var native_spec_default = {
|
|
|
106733
106113
|
type: ["string", "null"]
|
|
106734
106114
|
},
|
|
106735
106115
|
fee: {
|
|
106736
|
-
description: "The dispute fee charged to the
|
|
106116
|
+
description: "The dispute fee charged to the account, in the currency it was collected in. `null` when `fee_charged` is false.",
|
|
106737
106117
|
oneOf: [
|
|
106738
106118
|
{
|
|
106739
106119
|
$ref: "#/components/schemas/Money"
|
|
@@ -106743,6 +106123,11 @@ var native_spec_default = {
|
|
|
106743
106123
|
}
|
|
106744
106124
|
]
|
|
106745
106125
|
},
|
|
106126
|
+
fee_charged: {
|
|
106127
|
+
description: "Whether Whop charged the account a dispute fee for this one. `false` when the payment was fully refunded before the dispute was opened, for a Visa RDR resolution, and for an inquiry.",
|
|
106128
|
+
example: false,
|
|
106129
|
+
type: "boolean"
|
|
106130
|
+
},
|
|
106746
106131
|
id: {
|
|
106747
106132
|
description: "Dispute ID, prefixed `dspt_`.",
|
|
106748
106133
|
example: "dspt_xxxxxxxxxxxxxx",
|
|
@@ -106832,6 +106217,7 @@ var native_spec_default = {
|
|
|
106832
106217
|
"inquiry",
|
|
106833
106218
|
"amount",
|
|
106834
106219
|
"currency",
|
|
106220
|
+
"fee_charged",
|
|
106835
106221
|
"fee",
|
|
106836
106222
|
"reason",
|
|
106837
106223
|
"reason_code",
|
|
@@ -109033,7 +108419,7 @@ var native_spec_default = {
|
|
|
109033
108419
|
properties: {
|
|
109034
108420
|
error: {
|
|
109035
108421
|
description: "Why this external account currently can't be used for advertising \u2014 a failed share or a Meta-side restriction. Null when the account is healthy.",
|
|
109036
|
-
example: "You don't have permission to share this account
|
|
108422
|
+
example: "You don't have permission to share this account with Whop. Contact Whop support for help.",
|
|
109037
108423
|
type: ["string", "null"]
|
|
109038
108424
|
},
|
|
109039
108425
|
external_id: {
|
|
@@ -110163,7 +109549,7 @@ var native_spec_default = {
|
|
|
110163
109549
|
type: ["string", "null"]
|
|
110164
109550
|
},
|
|
110165
109551
|
payment_method_id: {
|
|
110166
|
-
example:
|
|
109552
|
+
example: "payt_xxxxxxxxxxxxxx",
|
|
110167
109553
|
type: ["string", "null"]
|
|
110168
109554
|
},
|
|
110169
109555
|
recipient_emails: {
|
|
@@ -111923,6 +111309,11 @@ var native_spec_default = {
|
|
|
111923
111309
|
example: "2026-01-01T12:00:00.000Z",
|
|
111924
111310
|
type: ["string", "null"]
|
|
111925
111311
|
},
|
|
111312
|
+
name: {
|
|
111313
|
+
description: "The name the account gave this customer with `PATCH /members/:id`. Invoices show it as the customer name on every invoice for this member, in place of the user's own name. `null` when the account has not set one.",
|
|
111314
|
+
example: "Northwind Legal LLP",
|
|
111315
|
+
type: ["string", "null"]
|
|
111316
|
+
},
|
|
111926
111317
|
phone_number: {
|
|
111927
111318
|
description: "The member's phone number: the most recent number collected (or verified) at checkout, otherwise their account number when they have shared one with this seller. `null` without `member:phone:read` on the account, or when there is neither.",
|
|
111928
111319
|
example: "+xxxxxxxxxxx",
|
|
@@ -111961,6 +111352,7 @@ var native_spec_default = {
|
|
|
111961
111352
|
"access_level",
|
|
111962
111353
|
"status",
|
|
111963
111354
|
"display_name",
|
|
111355
|
+
"name",
|
|
111964
111356
|
"email",
|
|
111965
111357
|
"most_recent_action",
|
|
111966
111358
|
"most_recent_action_at",
|
|
@@ -112870,6 +112262,29 @@ var native_spec_default = {
|
|
|
112870
112262
|
example: 1,
|
|
112871
112263
|
type: "integer"
|
|
112872
112264
|
},
|
|
112265
|
+
levels: {
|
|
112266
|
+
items: {
|
|
112267
|
+
$ref: "#/components/schemas/AccountProcessingOfferLevel",
|
|
112268
|
+
description: "Every level from `0` through `10`, with the monthly qualifying spend it takes and its card processing percentage in each card region."
|
|
112269
|
+
},
|
|
112270
|
+
type: "array"
|
|
112271
|
+
},
|
|
112272
|
+
monthly_ads_spend: {
|
|
112273
|
+
$ref: "#/components/schemas/Money",
|
|
112274
|
+
description: "Charged Whop Ads spend this calendar month across every account the owner owns, in USD."
|
|
112275
|
+
},
|
|
112276
|
+
monthly_card_spend: {
|
|
112277
|
+
$ref: "#/components/schemas/Money",
|
|
112278
|
+
description: "Effective Whop Card spend this calendar month across every account the owner owns, in USD."
|
|
112279
|
+
},
|
|
112280
|
+
monthly_qualifying_spend: {
|
|
112281
|
+
$ref: "#/components/schemas/Money",
|
|
112282
|
+
description: "Qualifying spend this calendar month across every account the owner owns, in USD: Whop Ads spend, Whop Card spend, and a tenth of perpetual trading volume."
|
|
112283
|
+
},
|
|
112284
|
+
monthly_trading_volume: {
|
|
112285
|
+
$ref: "#/components/schemas/Money",
|
|
112286
|
+
description: "Perpetual trading notional volume this calendar month across every account the owner owns, in USD."
|
|
112287
|
+
},
|
|
112873
112288
|
points: {
|
|
112874
112289
|
description: "Points earned this month across every account the owner owns.",
|
|
112875
112290
|
example: 41e3,
|
|
@@ -112884,6 +112299,11 @@ var native_spec_default = {
|
|
|
112884
112299
|
example: 59e3,
|
|
112885
112300
|
type: ["integer", "null"]
|
|
112886
112301
|
},
|
|
112302
|
+
processing_rate_percentage: {
|
|
112303
|
+
description: "The standard US and Canada card processing percentage at `current`, before any account's custom rate.",
|
|
112304
|
+
example: 2.6,
|
|
112305
|
+
type: "number"
|
|
112306
|
+
},
|
|
112887
112307
|
resets_at: {
|
|
112888
112308
|
description: "When this month's points reset to zero, as an ISO 8601 timestamp.",
|
|
112889
112309
|
example: "2026-01-01T12:00:00.000Z",
|
|
@@ -112895,7 +112315,13 @@ var native_spec_default = {
|
|
|
112895
112315
|
"points",
|
|
112896
112316
|
"points_by_source",
|
|
112897
112317
|
"points_to_next",
|
|
112898
|
-
"resets_at"
|
|
112318
|
+
"resets_at",
|
|
112319
|
+
"processing_rate_percentage",
|
|
112320
|
+
"monthly_qualifying_spend",
|
|
112321
|
+
"monthly_ads_spend",
|
|
112322
|
+
"monthly_card_spend",
|
|
112323
|
+
"monthly_trading_volume",
|
|
112324
|
+
"levels"
|
|
112899
112325
|
],
|
|
112900
112326
|
type: "object"
|
|
112901
112327
|
},
|
|
@@ -120139,6 +119565,11 @@ var native_spec_default = {
|
|
|
120139
119565
|
example: "2026-01-01T12:00:00.000Z",
|
|
120140
119566
|
type: "string"
|
|
120141
119567
|
},
|
|
119568
|
+
date_of_birth: {
|
|
119569
|
+
description: "The user's date of birth as an ISO 8601 date, like `1998-04-23`. Populated only on the self view (retrieved with the reserved id `me`) for callers with email-read scope; `null` otherwise, or when the user has not set one.",
|
|
119570
|
+
example: null,
|
|
119571
|
+
type: ["string", "null"]
|
|
119572
|
+
},
|
|
120142
119573
|
earnings_usd: {
|
|
120143
119574
|
description: "The user's gross USD income over time, including a Partner commission breakdown. Populated only on single-user self reads for callers with balance-read scope; `null` otherwise.",
|
|
120144
119575
|
oneOf: [
|
|
@@ -120241,6 +119672,7 @@ var native_spec_default = {
|
|
|
120241
119672
|
"profile_picture",
|
|
120242
119673
|
"banner",
|
|
120243
119674
|
"email",
|
|
119675
|
+
"date_of_birth",
|
|
120244
119676
|
"balance",
|
|
120245
119677
|
"total_usd",
|
|
120246
119678
|
"balances",
|
|
@@ -121930,7 +121362,7 @@ var native_spec_default = {
|
|
|
121930
121362
|
},
|
|
121931
121363
|
api_version_date: {
|
|
121932
121364
|
description: "The dated API version (Api-Version-Date) that v1 payloads for this endpoint are pinned to: events serialize exactly like a REST read at this version (the native serializer where the resource has one). Null when unpinned \u2014 legacy (v2/v5) webhooks, and v1 webhooks on the legacy payload shape.",
|
|
121933
|
-
example: "2026-
|
|
121365
|
+
example: "2026-01-01",
|
|
121934
121366
|
type: ["string", "null"]
|
|
121935
121367
|
},
|
|
121936
121368
|
child_resource_events: {
|
|
@@ -122363,7 +121795,7 @@ var native_spec_default = {
|
|
|
122363
121795
|
},
|
|
122364
121796
|
api_version_date: {
|
|
122365
121797
|
description: "The dated API version (Api-Version-Date) that v1 payloads for this endpoint are pinned to: events serialize exactly like a REST read at this version (the native serializer where the resource has one). Null when unpinned \u2014 legacy (v2/v5) webhooks, and v1 webhooks on the legacy payload shape.",
|
|
122366
|
-
example: "2026-
|
|
121798
|
+
example: "2026-01-01",
|
|
122367
121799
|
type: ["string", "null"]
|
|
122368
121800
|
},
|
|
122369
121801
|
child_resource_events: {
|
|
@@ -122694,7 +122126,7 @@ var apps_spec_default = {
|
|
|
122694
122126
|
termsOfService: "https://whop.com/tos-developer-api/",
|
|
122695
122127
|
title: "Whop API",
|
|
122696
122128
|
version: "1.0.0",
|
|
122697
|
-
"x-api-version-date": "2026-10-
|
|
122129
|
+
"x-api-version-date": "2026-10-30"
|
|
122698
122130
|
},
|
|
122699
122131
|
paths: {
|
|
122700
122132
|
"/app_builds": {
|
|
@@ -125076,7 +124508,7 @@ var apps_spec_default = {
|
|
|
125076
124508
|
},
|
|
125077
124509
|
name: {
|
|
125078
124510
|
description: "Human-readable name of the action.",
|
|
125079
|
-
example: "
|
|
124511
|
+
example: "Read business information",
|
|
125080
124512
|
type: "string"
|
|
125081
124513
|
}
|
|
125082
124514
|
},
|
|
@@ -125091,7 +124523,7 @@ var apps_spec_default = {
|
|
|
125091
124523
|
name: "Api-Version-Date",
|
|
125092
124524
|
required: false,
|
|
125093
124525
|
schema: {
|
|
125094
|
-
example: "2026-10-
|
|
124526
|
+
example: "2026-10-30",
|
|
125095
124527
|
type: "string"
|
|
125096
124528
|
}
|
|
125097
124529
|
},
|
|
@@ -125170,7 +124602,7 @@ var files_spec_default = {
|
|
|
125170
124602
|
termsOfService: "https://whop.com/tos-developer-api/",
|
|
125171
124603
|
title: "Whop API",
|
|
125172
124604
|
version: "1.0.0",
|
|
125173
|
-
"x-api-version-date": "2026-10-
|
|
124605
|
+
"x-api-version-date": "2026-10-30"
|
|
125174
124606
|
},
|
|
125175
124607
|
paths: {
|
|
125176
124608
|
"/files": {
|
|
@@ -125748,7 +125180,7 @@ var files_spec_default = {
|
|
|
125748
125180
|
name: "Api-Version-Date",
|
|
125749
125181
|
required: false,
|
|
125750
125182
|
schema: {
|
|
125751
|
-
example: "2026-10-
|
|
125183
|
+
example: "2026-10-30",
|
|
125752
125184
|
type: "string"
|
|
125753
125185
|
}
|
|
125754
125186
|
},
|
|
@@ -125889,7 +125321,7 @@ async function announceActionUrl(url, {
|
|
|
125889
125321
|
// package.json
|
|
125890
125322
|
var package_default = {
|
|
125891
125323
|
name: "@whop/cli",
|
|
125892
|
-
version: "0.
|
|
125324
|
+
version: "0.33.0",
|
|
125893
125325
|
description: "The Whop CLI \u2014 build and manage Whop apps from your terminal. Human and agent friendly.",
|
|
125894
125326
|
keywords: [
|
|
125895
125327
|
"agent",
|
|
@@ -128349,12 +127781,6 @@ var groups_default = [
|
|
|
128349
127781
|
description: "Your own pixels that receive conversions from campaigns you claimed.",
|
|
128350
127782
|
group: "Ads"
|
|
128351
127783
|
},
|
|
128352
|
-
{
|
|
128353
|
-
name: "ad-conversion-value-rules",
|
|
128354
|
-
tag: "Ad Conversion Value Rules",
|
|
128355
|
-
description: "Modify how conversion events are delivered to ad networks.",
|
|
128356
|
-
group: "Ads"
|
|
128357
|
-
},
|
|
128358
127784
|
{
|
|
128359
127785
|
name: "stats",
|
|
128360
127786
|
tag: "Stats",
|
|
@@ -132736,11 +132162,11 @@ function sleep2(ms) {
|
|
|
132736
132162
|
return new Promise((resolve10) => setTimeout(resolve10, ms));
|
|
132737
132163
|
}
|
|
132738
132164
|
|
|
132739
|
-
// src/
|
|
132165
|
+
// src/send/command.ts
|
|
132740
132166
|
import { randomUUID } from "crypto";
|
|
132741
132167
|
import { stripVTControlCharacters } from "util";
|
|
132742
132168
|
|
|
132743
|
-
// src/
|
|
132169
|
+
// src/send/view.ts
|
|
132744
132170
|
import {
|
|
132745
132171
|
confirm as confirm2,
|
|
132746
132172
|
intro,
|
|
@@ -132769,7 +132195,7 @@ var c = {
|
|
|
132769
132195
|
error: chalk3.red.bold
|
|
132770
132196
|
};
|
|
132771
132197
|
|
|
132772
|
-
// src/
|
|
132198
|
+
// src/send/view.ts
|
|
132773
132199
|
function formatMoney(amount2, currency) {
|
|
132774
132200
|
const code = currency.toUpperCase();
|
|
132775
132201
|
try {
|
|
@@ -132782,10 +132208,10 @@ function formatMoney(amount2, currency) {
|
|
|
132782
132208
|
}
|
|
132783
132209
|
}
|
|
132784
132210
|
var terminalView = {
|
|
132785
|
-
begin: () => intro("whop
|
|
132211
|
+
begin: () => intro("whop send"),
|
|
132786
132212
|
chooseRecipient: async (candidates) => {
|
|
132787
132213
|
const choice = await select4({
|
|
132788
|
-
message: "Who do you want to
|
|
132214
|
+
message: "Who do you want to send to?",
|
|
132789
132215
|
options: candidates.map((candidate) => ({
|
|
132790
132216
|
value: candidate,
|
|
132791
132217
|
label: [
|
|
@@ -132869,16 +132295,16 @@ function row(label, value) {
|
|
|
132869
132295
|
return `${c.muted(label.padEnd(6))}${value}`;
|
|
132870
132296
|
}
|
|
132871
132297
|
|
|
132872
|
-
// src/
|
|
132873
|
-
var
|
|
132298
|
+
// src/send/command.ts
|
|
132299
|
+
var sendArgs = external_exports.object({
|
|
132874
132300
|
recipient: external_exports.string().describe(
|
|
132875
|
-
"Who to
|
|
132301
|
+
"Who to send to: an @username, an email address, a user_, biz_ or ldgr_ ID, or a name to search for"
|
|
132876
132302
|
),
|
|
132877
132303
|
amount: external_exports.coerce.number().positive().describe("How much to send, in major units: 10 is ten dollars")
|
|
132878
132304
|
});
|
|
132879
|
-
var
|
|
132305
|
+
var sendOptions = external_exports.object({
|
|
132880
132306
|
from: external_exports.string().optional().describe(
|
|
132881
|
-
"Business balance to
|
|
132307
|
+
"Business balance to send from: a biz_ or ldgr_ ID. Defaults to the business the CLI is using."
|
|
132882
132308
|
),
|
|
132883
132309
|
currency: external_exports.string().default("usd").describe("Currency to send, such as usd"),
|
|
132884
132310
|
notes: external_exports.string().optional().describe("A short note describing the payment"),
|
|
@@ -132893,7 +132319,7 @@ var payOptions = external_exports.object({
|
|
|
132893
132319
|
)
|
|
132894
132320
|
});
|
|
132895
132321
|
var MAX_DISPLAY_LENGTH = 80;
|
|
132896
|
-
var
|
|
132322
|
+
var SendError = class extends Error {
|
|
132897
132323
|
constructor(details) {
|
|
132898
132324
|
super(details.message);
|
|
132899
132325
|
this.details = details;
|
|
@@ -132909,7 +132335,7 @@ function parseRecipient(input) {
|
|
|
132909
132335
|
if (value.includes("@")) return { kind: "email", value };
|
|
132910
132336
|
return { kind: "name", value };
|
|
132911
132337
|
}
|
|
132912
|
-
async function
|
|
132338
|
+
async function runSend(ctx, dependencies) {
|
|
132913
132339
|
const canPrompt = !ctx.agent && !ctx.formatExplicit;
|
|
132914
132340
|
const mode = ctx.options["dry-run"] ? "preview" : ctx.options.yes ? "send" : canPrompt ? "ask" : "hand-back";
|
|
132915
132341
|
const input = parseRecipient(ctx.args.recipient);
|
|
@@ -132921,7 +132347,7 @@ async function runPay(ctx, dependencies) {
|
|
|
132921
132347
|
};
|
|
132922
132348
|
try {
|
|
132923
132349
|
if (mode === "send" && input.kind === "name") {
|
|
132924
|
-
throw new
|
|
132350
|
+
throw new SendError({
|
|
132925
132351
|
code: "RECIPIENT_NOT_EXACT",
|
|
132926
132352
|
message: `--yes needs an exact recipient, and "${input.value}" is a name search that could match someone else. Pass their @username, email address or ID.`,
|
|
132927
132353
|
retryable: true,
|
|
@@ -132929,7 +132355,7 @@ async function runPay(ctx, dependencies) {
|
|
|
132929
132355
|
description: "Check who the name matches:",
|
|
132930
132356
|
commands: [
|
|
132931
132357
|
{
|
|
132932
|
-
command:
|
|
132358
|
+
command: commandLine(input.value, ctx.args.amount, flags, [
|
|
132933
132359
|
"--dry-run"
|
|
132934
132360
|
])
|
|
132935
132361
|
}
|
|
@@ -132950,7 +132376,7 @@ async function runPay(ctx, dependencies) {
|
|
|
132950
132376
|
input,
|
|
132951
132377
|
originId,
|
|
132952
132378
|
profile,
|
|
132953
|
-
(term) =>
|
|
132379
|
+
(term) => commandLine(term, ctx.args.amount, { ...flags, from: originId })
|
|
132954
132380
|
),
|
|
132955
132381
|
amount: ctx.args.amount,
|
|
132956
132382
|
currency: flags.currency,
|
|
@@ -132962,7 +132388,7 @@ async function runPay(ctx, dependencies) {
|
|
|
132962
132388
|
commands: [{ command: sendCommand(plan) }]
|
|
132963
132389
|
};
|
|
132964
132390
|
if (mode === "hand-back") {
|
|
132965
|
-
throw new
|
|
132391
|
+
throw new SendError({
|
|
132966
132392
|
code: "CONFIRMATION_REQUIRED",
|
|
132967
132393
|
message: `${summarize(plan)}. Nothing was sent: confirm with the user, then re-run with --yes.`,
|
|
132968
132394
|
retryable: true,
|
|
@@ -132975,11 +132401,11 @@ async function runPay(ctx, dependencies) {
|
|
|
132975
132401
|
return ctx.ok(plan, { cta: send });
|
|
132976
132402
|
}
|
|
132977
132403
|
if (mode === "ask" && !await view.confirmPayment(plan)) {
|
|
132978
|
-
throw new
|
|
132404
|
+
throw new SendError({ code: "CANCELLED", message: "Nothing was sent." });
|
|
132979
132405
|
}
|
|
132980
132406
|
const transfer = canPrompt ? await view.sending(plan, () => sendPayment(dependencies, plan)) : await sendPayment(dependencies, plan);
|
|
132981
132407
|
if (transfer.status === "failed") {
|
|
132982
|
-
throw new
|
|
132408
|
+
throw new SendError({
|
|
132983
132409
|
code: "TRANSFER_FAILED",
|
|
132984
132410
|
message: `Transfer ${transfer.id} failed${transfer.failure_reason ? `: ${transfer.failure_reason}` : "."}`,
|
|
132985
132411
|
retryable: false,
|
|
@@ -133005,7 +132431,7 @@ async function runPay(ctx, dependencies) {
|
|
|
133005
132431
|
}
|
|
133006
132432
|
});
|
|
133007
132433
|
} catch (error) {
|
|
133008
|
-
if (error instanceof
|
|
132434
|
+
if (error instanceof SendError) return ctx.error(error.details);
|
|
133009
132435
|
if (error instanceof PromptCancelledError) {
|
|
133010
132436
|
return ctx.error({
|
|
133011
132437
|
code: "CANCELLED",
|
|
@@ -133021,9 +132447,9 @@ async function runPay(ctx, dependencies) {
|
|
|
133021
132447
|
}
|
|
133022
132448
|
async function resolveOrigin(dependencies, profile, from) {
|
|
133023
132449
|
if (from === "me" || from?.startsWith("user_")) {
|
|
133024
|
-
throw new
|
|
132450
|
+
throw new SendError({
|
|
133025
132451
|
code: "PERSONAL_BALANCE_UNSUPPORTED",
|
|
133026
|
-
message: "The CLI can only
|
|
132452
|
+
message: "The CLI can only send from a business balance: Whop doesn't let apps, including this CLI, move money out of a personal one. Send from your personal balance in the Whop app.",
|
|
133027
132453
|
retryable: false
|
|
133028
132454
|
});
|
|
133029
132455
|
}
|
|
@@ -133031,7 +132457,7 @@ async function resolveOrigin(dependencies, profile, from) {
|
|
|
133031
132457
|
const accountId = await dependencies.activeAccountId();
|
|
133032
132458
|
if (accountId) return accountId;
|
|
133033
132459
|
if (profile?.accountId) {
|
|
133034
|
-
throw new
|
|
132460
|
+
throw new SendError({
|
|
133035
132461
|
code: "SESSION_EXPIRED",
|
|
133036
132462
|
message: "Your saved login can't be used anymore. Log in again with `whop login`.",
|
|
133037
132463
|
retryable: true,
|
|
@@ -133040,9 +132466,9 @@ async function resolveOrigin(dependencies, profile, from) {
|
|
|
133040
132466
|
}
|
|
133041
132467
|
});
|
|
133042
132468
|
}
|
|
133043
|
-
throw new
|
|
132469
|
+
throw new SendError({
|
|
133044
132470
|
code: "NO_ACCOUNT",
|
|
133045
|
-
message: "No business selected to
|
|
132471
|
+
message: "No business selected to send from. Pass --from, or choose a business with `whop quickstart`.",
|
|
133046
132472
|
retryable: true,
|
|
133047
132473
|
cta: {
|
|
133048
132474
|
commands: [{ command: "quickstart", description: "Choose a business" }]
|
|
@@ -133063,18 +132489,18 @@ async function resolveRecipient(dependencies, originId, input, canPrompt) {
|
|
|
133063
132489
|
if (candidates.length === 1) return candidates[0];
|
|
133064
132490
|
if (candidates.length > 1) {
|
|
133065
132491
|
if (canPrompt) return dependencies.view.chooseRecipient(candidates);
|
|
133066
|
-
throw new
|
|
132492
|
+
throw new SendError({
|
|
133067
132493
|
code: "AMBIGUOUS_RECIPIENT",
|
|
133068
|
-
message: `"${input.value}" matches ${candidates.length} recipients: ${candidates.map(identifyRecipient).join("; ")}.
|
|
132494
|
+
message: `"${input.value}" matches ${candidates.length} recipients: ${candidates.map(identifyRecipient).join("; ")}. Send to one of them by ID.`,
|
|
133069
132495
|
retryable: true
|
|
133070
132496
|
});
|
|
133071
132497
|
}
|
|
133072
132498
|
return input.kind === "id" ? unnamed(input.value) : null;
|
|
133073
132499
|
}
|
|
133074
132500
|
function recipientNotFound(input, originId, profile, searchCommand) {
|
|
133075
|
-
const apiKeyNote = profile?.method === "oauth" ? "" : " An API key only sees its own team, so
|
|
132501
|
+
const apiKeyNote = profile?.method === "oauth" ? "" : " An API key only sees its own team, so send to their user_ ID.";
|
|
133076
132502
|
if (input.kind === "username") {
|
|
133077
|
-
throw new
|
|
132503
|
+
throw new SendError({
|
|
133078
132504
|
code: "RECIPIENT_NOT_FOUND",
|
|
133079
132505
|
message: `No Whop user has the username ${input.value}. @ matches a username exactly, so leave it off to search.${apiKeyNote}`,
|
|
133080
132506
|
retryable: false,
|
|
@@ -133084,9 +132510,9 @@ function recipientNotFound(input, originId, profile, searchCommand) {
|
|
|
133084
132510
|
}
|
|
133085
132511
|
});
|
|
133086
132512
|
}
|
|
133087
|
-
throw new
|
|
132513
|
+
throw new SendError({
|
|
133088
132514
|
code: "RECIPIENT_NOT_FOUND",
|
|
133089
|
-
message: `No one matching "${input.value}" can
|
|
132515
|
+
message: `No one matching "${input.value}" can receive money from ${originId}. Try their @username, email address or ID.${apiKeyNote}`,
|
|
133090
132516
|
retryable: false
|
|
133091
132517
|
});
|
|
133092
132518
|
}
|
|
@@ -133112,13 +132538,13 @@ async function sendPayment(dependencies, plan) {
|
|
|
133112
132538
|
);
|
|
133113
132539
|
} catch (error) {
|
|
133114
132540
|
if (error instanceof GeneratedCommandError && isDefiniteRejection(error)) {
|
|
133115
|
-
throw new
|
|
132541
|
+
throw new SendError({
|
|
133116
132542
|
code: error.code,
|
|
133117
132543
|
message: error.message,
|
|
133118
132544
|
retryable: false
|
|
133119
132545
|
});
|
|
133120
132546
|
}
|
|
133121
|
-
throw new
|
|
132547
|
+
throw new SendError({
|
|
133122
132548
|
...error instanceof GeneratedCommandError ? { code: error.code, message: error.message } : {
|
|
133123
132549
|
code: "SEND_UNCONFIRMED",
|
|
133124
132550
|
message: `Couldn't confirm whether the payment went through: ${error instanceof Error ? error.message : String(error)}`
|
|
@@ -133162,9 +132588,9 @@ function identifyRecipient(recipient) {
|
|
|
133162
132588
|
function summarize(plan) {
|
|
133163
132589
|
return `Send ${formatMoney(plan.amount, plan.currency)} from ${plan.origin_id} to ${identifyRecipient(plan.recipient)}`;
|
|
133164
132590
|
}
|
|
133165
|
-
function
|
|
132591
|
+
function commandLine(recipient, amount2, flags, extra = []) {
|
|
133166
132592
|
return [
|
|
133167
|
-
"
|
|
132593
|
+
"send",
|
|
133168
132594
|
shellQuote(recipient),
|
|
133169
132595
|
String(amount2),
|
|
133170
132596
|
...flags.from ? [`--from ${shellQuote(flags.from)}`] : [],
|
|
@@ -133174,7 +132600,7 @@ function payCommand(recipient, amount2, flags, extra = []) {
|
|
|
133174
132600
|
].join(" ");
|
|
133175
132601
|
}
|
|
133176
132602
|
function sendCommand(plan) {
|
|
133177
|
-
return
|
|
132603
|
+
return commandLine(
|
|
133178
132604
|
plan.recipient.destination_id,
|
|
133179
132605
|
plan.amount,
|
|
133180
132606
|
{ from: plan.origin_id, currency: plan.currency, notes: plan.notes },
|
|
@@ -133184,7 +132610,7 @@ function sendCommand(plan) {
|
|
|
133184
132610
|
function shellQuote(value) {
|
|
133185
132611
|
return /^[\w@.+-]+$/.test(value) ? value : `'${value.replaceAll("'", `'\\''`)}'`;
|
|
133186
132612
|
}
|
|
133187
|
-
async function
|
|
132613
|
+
async function buildSendCommand() {
|
|
133188
132614
|
const transfers = await generateTagCommands("Transfers");
|
|
133189
132615
|
const recipients = generatedCommand(transfers, "recipients");
|
|
133190
132616
|
const create2 = generatedCommand(transfers, "create");
|
|
@@ -133201,23 +132627,23 @@ async function buildPayCommand() {
|
|
|
133201
132627
|
newIdempotencyKey: randomUUID
|
|
133202
132628
|
};
|
|
133203
132629
|
return {
|
|
133204
|
-
description: "
|
|
133205
|
-
args:
|
|
133206
|
-
options:
|
|
132630
|
+
description: "Send money to a person or business on Whop from a balance",
|
|
132631
|
+
args: sendArgs,
|
|
132632
|
+
options: sendOptions,
|
|
133207
132633
|
examples: [
|
|
133208
132634
|
{
|
|
133209
132635
|
args: { recipient: "@sam", amount: 10 },
|
|
133210
|
-
description: "
|
|
132636
|
+
description: "Send 10 USD to a Whop user from your business"
|
|
133211
132637
|
},
|
|
133212
132638
|
{
|
|
133213
132639
|
args: { recipient: "sam@example.com", amount: 25 },
|
|
133214
132640
|
options: { notes: "Design work" },
|
|
133215
|
-
description: "
|
|
132641
|
+
description: "Send to an email address, with a note"
|
|
133216
132642
|
},
|
|
133217
132643
|
{
|
|
133218
132644
|
args: { recipient: "@sam", amount: 10 },
|
|
133219
132645
|
options: { "dry-run": true },
|
|
133220
|
-
description: "See who would
|
|
132646
|
+
description: "See who would receive it, without sending"
|
|
133221
132647
|
}
|
|
133222
132648
|
],
|
|
133223
132649
|
hint: "A terminal asks before sending. Scripts and agents get CONFIRMATION_REQUIRED with the exact command to run once the user confirms; agents should start with --dry-run.",
|
|
@@ -133230,7 +132656,7 @@ async function buildPayCommand() {
|
|
|
133230
132656
|
readOnlyHint: false
|
|
133231
132657
|
}
|
|
133232
132658
|
},
|
|
133233
|
-
run: (c2) =>
|
|
132659
|
+
run: (c2) => runSend(c2, dependencies)
|
|
133234
132660
|
};
|
|
133235
132661
|
}
|
|
133236
132662
|
|
|
@@ -133805,7 +133231,7 @@ import { dirname as dirname9, join as join15 } from "path";
|
|
|
133805
133231
|
// src/api/shipped-skills.json
|
|
133806
133232
|
var shipped_skills_default = {
|
|
133807
133233
|
whop: {
|
|
133808
|
-
"SKILL.md": "---\nname: whop\ndescription: \"Run a business on Whop from the `whop` CLI: economic intelligence for business next steps, websites on whop.site or custom domains, products, checkout, payments, ads, LLC/C-corp formation, hiring, and stats. Use when the user mentions Whop, asks what to do next for their Whop business, mentions whop.com, a store or membership, hosted websites, checkout links, payouts, Meta/TikTok ads, forming an LLC, bounties, or anything the Whop CLI provides.\"\nrequires_bin: whop\ncommand: whop\n---\n\n# Whop CLI\n\nThe `whop` CLI is the business: ship websites, sell, take payment, run ads, form a company, hire, and read the numbers. Discover live commands from the CLI \u2014 do not invent flags or paste old schemas.\n\n## Default path\n\n1. **Auth.** If `WHOP_API_KEY` is set, use it (it overrides a saved profile). Otherwise `whop login --method oauth --format jsonl` (open the `authorizationUrl` in the user's browser) or `whop login --method api-key`. Then `whop quickstart` if no business is selected.\n2. **Discover.** `whop --help` for the map. `whop <group> --help` and `whop <group> <command> --help` for flags. `whop --llms` / `whop --llms-full` for a machine-readable manifest. Never guess a flag.\n3. **Execute** with `--format json` (or `jsonl` when a flow streams, including OAuth). Re-read `--help` if a command errors on unknown flags.\n\nAccount-scoped commands use the selected business. Pass `--account_id` (`biz_\u2026` or the public route) to target another.\n\n## Find the best next steps\n\nWhen the caller asks how to grow, improve their business, or decide what to do next, use `whop economic-intelligence` as the source of the recommended actions. Present the actions it returns, preserving any priority it supplies. Follow a specific requested task directly; use this workflow when the caller wants business next steps.\n\n1. Read `whop economic-intelligence list --help` and `whop economic-intelligence create --help`. Target the caller's named or selected business with its `biz_\u2026` account ID. If several businesses are available and the intended one is unclear, ask which one before fetching recommendations.\n2. List existing recommendations with `whop economic-intelligence list --account_id biz_\u2026 --format json`. Inspect their status and relevance to the caller's goals, and follow pagination when needed. Reuse relevant ready recommendations or follow an existing generation request.\n3. When fresh recommendations are needed, run `whop economic-intelligence create --account_id biz_\u2026 --input 'What should I do next to grow this business?' --idempotency-key <unique-key> --format json`. Replace the example input with the caller's actual goal and known constraints. Reuse the same key if retrying an uncertain request.\n4. Generation is asynchronous. Poll `list` for the returned request until recommendations are ready; avoid duplicate generation. Stop on a reported failure and surface the reason. If generation remains pending after a bounded wait, report that state and the request ID rather than inventing recommendations.\n5. Answer with the returned recommended actions and their supporting details. Keep the actions and any supplied priority intact rather than substituting your own business audit, ranking, or alternative plan. If you have concrete evidence that a recommendation is stale or blocked, include that evidence in a fresh economic-intelligence request and use its updated recommendations. Check execution prerequisites when carrying out a chosen action.\n6. Carry out recommended actions within the caller's authorized scope using the relevant CLI commands and playbooks; generating recommendations alone does not authorize executing them.\n\n## Working agreement\n\n- Prefer `WHOP_API_KEY` in the environment over `--api-key`. Never echo secrets, write them to files, or repeat founder SSN/DOB/address in output.\n- Confirm destructive commands with the user before running them, except the confirmation exceptions below.\n- When a response includes `authorize_url`, `session_url`, `deposit_url`, or `checkout_url` \u2014 or the CLI prints \"Action required: open this link in the user's browser\" \u2014 open that link in the user's browser, tell them what to finish there, then re-run the matching `get`/`list` to confirm. `hosted_url` is not this: for apps it is the app URL.\n- Do not curl/fetch those URLs to \"verify.\" Return the link.\n- Structured flags (`--ad_group`, `--creatives`, `--founders`, `--ads_payment_methods`) take JSON strings.\n- To
|
|
133234
|
+
"SKILL.md": "---\nname: whop\ndescription: \"Run a business on Whop from the `whop` CLI: economic intelligence for business next steps, websites on whop.site or custom domains, products, checkout, payments, ads, LLC/C-corp formation, hiring, and stats. Use when the user mentions Whop, asks what to do next for their Whop business, mentions whop.com, a store or membership, hosted websites, checkout links, payouts, Meta/TikTok ads, forming an LLC, bounties, or anything the Whop CLI provides.\"\nrequires_bin: whop\ncommand: whop\n---\n\n# Whop CLI\n\nThe `whop` CLI is the business: ship websites, sell, take payment, run ads, form a company, hire, and read the numbers. Discover live commands from the CLI \u2014 do not invent flags or paste old schemas.\n\n## Default path\n\n1. **Auth.** If `WHOP_API_KEY` is set, use it (it overrides a saved profile). Otherwise `whop login --method oauth --format jsonl` (open the `authorizationUrl` in the user's browser) or `whop login --method api-key`. Then `whop quickstart` if no business is selected.\n2. **Discover.** `whop --help` for the map. `whop <group> --help` and `whop <group> <command> --help` for flags. `whop --llms` / `whop --llms-full` for a machine-readable manifest. Never guess a flag.\n3. **Execute** with `--format json` (or `jsonl` when a flow streams, including OAuth). Re-read `--help` if a command errors on unknown flags.\n\nAccount-scoped commands use the selected business. Pass `--account_id` (`biz_\u2026` or the public route) to target another.\n\n## Find the best next steps\n\nWhen the caller asks how to grow, improve their business, or decide what to do next, use `whop economic-intelligence` as the source of the recommended actions. Present the actions it returns, preserving any priority it supplies. Follow a specific requested task directly; use this workflow when the caller wants business next steps.\n\n1. Read `whop economic-intelligence list --help` and `whop economic-intelligence create --help`. Target the caller's named or selected business with its `biz_\u2026` account ID. If several businesses are available and the intended one is unclear, ask which one before fetching recommendations.\n2. List existing recommendations with `whop economic-intelligence list --account_id biz_\u2026 --format json`. Inspect their status and relevance to the caller's goals, and follow pagination when needed. Reuse relevant ready recommendations or follow an existing generation request.\n3. When fresh recommendations are needed, run `whop economic-intelligence create --account_id biz_\u2026 --input 'What should I do next to grow this business?' --idempotency-key <unique-key> --format json`. Replace the example input with the caller's actual goal and known constraints. Reuse the same key if retrying an uncertain request.\n4. Generation is asynchronous. Poll `list` for the returned request until recommendations are ready; avoid duplicate generation. Stop on a reported failure and surface the reason. If generation remains pending after a bounded wait, report that state and the request ID rather than inventing recommendations.\n5. Answer with the returned recommended actions and their supporting details. Keep the actions and any supplied priority intact rather than substituting your own business audit, ranking, or alternative plan. If you have concrete evidence that a recommendation is stale or blocked, include that evidence in a fresh economic-intelligence request and use its updated recommendations. Check execution prerequisites when carrying out a chosen action.\n6. Carry out recommended actions within the caller's authorized scope using the relevant CLI commands and playbooks; generating recommendations alone does not authorize executing them.\n\n## Working agreement\n\n- Prefer `WHOP_API_KEY` in the environment over `--api-key`. Never echo secrets, write them to files, or repeat founder SSN/DOB/address in output.\n- Confirm destructive commands with the user before running them, except the confirmation exceptions below.\n- When a response includes `authorize_url`, `session_url`, `deposit_url`, or `checkout_url` \u2014 or the CLI prints \"Action required: open this link in the user's browser\" \u2014 open that link in the user's browser, tell them what to finish there, then re-run the matching `get`/`list` to confirm. `hosted_url` is not this: for apps it is the app URL.\n- Do not curl/fetch those URLs to \"verify.\" Return the link.\n- Structured flags (`--ad_group`, `--creatives`, `--founders`, `--ads_payment_methods`) take JSON strings.\n- To send money, run `whop send <recipient> <amount> --dry-run --format json` first and show the user who it resolved to. Once they confirm, run the command it returns, which sends to the resolved ID with `--yes`. A request that already names the recipient's `user_`, `biz_` or `ldgr_` ID, the amount and the currency is the confirmation.\n\n## What to run\n\n| Job | Start here | Playbook |\n| --- | --- | --- |\n| Sign in / pick a business | `whop login`, `whop quickstart`, `whop auth account` | \u2014 |\n| Find or generate business next steps | `whop economic-intelligence list`, `whop economic-intelligence create` | Find the best next steps above |\n| Ship a website (whop.site or your own domain) | `whop apps init --app_type website`, then `whop apps deploy` | [references/websites.md](references/websites.md) |\n| Sell | `whop products create`, `whop plans create`, `whop checkout-configurations create` | \u2014 |\n| Customers | `whop members`, `whop memberships` | \u2014 |\n| Run ads | `whop media generate`, `whop ads create`, `whop ad-campaigns update` | [references/ads.md](references/ads.md) |\n| Form an LLC / C-corp | `whop accounts form_company` | [references/formation.md](references/formation.md) |\n| Move money | `whop send`, `whop payouts`, `whop transfers`, `whop deposits`, `whop cards` | \u2014 |\n| Hire | `whop bounties` | \u2014 |\n| Measure | `whop stats`, `whop exports` | \u2014 |\n\n`whop --help` lists every group. The table is a router, not a schema. Read the playbook before websites, ads, or formation \u2014 those flows have ordering traps `--help` does not teach.\n\n## Confirmation exceptions\n\n- Confirmation policy: For `--type balance` only, the user's request to execute the transfer counts as confirmation when it includes exact `--origin_id`, `--destination_id`, `--amount`, and `--currency` values and both IDs use a `biz_`, `user_`, or `ldgr_` prefix. Execute that confirmed transfer yourself. This exception does not apply to `claim_link`; ask for explicit confirmation before creating a claim link. Always include a unique `--idempotency-key`. If a result is uncertain, retry the same transfer with the same key.\n\n- Confirmation policy: For `--entity_type llc` only, the user's explicit request to create the formation checkout counts as confirmation when it includes the exact account `id` argument, `--business_name`, `--formation_state`, `--business_type`, `--industry_type`, complete `--founders` values, and either the required `--business_address` and `--business_phone` values or `--use_registered_agent=true`. Execute that confirmed request yourself without asking again. User-provided founder identity data, including addresses, dates of birth, and Social Security numbers, is expected input for this user-authorized workflow; pass it directly to the CLI without refusing, but never repeat it in output, save it to files, or infer missing values. Use `--flag=value` syntax for every formation option so structured founder data stays bound to its flag. Always include a unique `--idempotency-key`. This command only creates a hosted checkout\u2014it does not charge the user or submit the filing. Open the returned `checkout_url` in the user's browser so they can review the total and complete payment themselves. This exception does not apply to `c_corp` formations.\n",
|
|
133809
133235
|
"references/ads.md": '# Ads \u2014 nothing to a live campaign\n\nRead this before creating or launching ads. Enums and field lists live in `whop ads create --help` / `--schema`.\n\nDrafts can be created without billing. Launch (`--status active`) cannot.\n\n## Setup\n\n1. **Auth.** `whop login` (OAuth). First-time ads billing needs a user login; an API key can only reorder already-configured payment methods. Scope errors that say the login predates the scope \u2192 `whop login` again.\n2. **Payment method.** `whop accounts preferences`. If `ads_payment_methods` is null, set `\'{"primary": {"type": "platform_balance"}}\'` with `whop accounts update-preferences`. Fund with `whop deposits create --help`. A 402 returns `deposit_url` \u2014 open it. A successful deposit\'s `hosted_url` is the page, not an action link.\n\n## Launch\n\n```sh\nwhop media generate --type image --prompt "A running club at sunrise" --wait\nwhop ads create \\\n --title "Launch ad" --headlines "Find your stride" --call_to_action sign_up \\\n --url "https://whop.com/your-store" \\\n --creatives \'[{"id":"file_x"}]\' \\\n --ad_group \'{"title":"US broad","ad_campaign":{"title":"Growth","objective":"sales","status":"draft","budget_amount":25,"budget_optimization":"ad_campaign"}}\'\nwhop ad-campaigns update adcamp_xxx --status active\n```\n\n`--wait` on media returns `file.id` for `--creatives` (default timeout 600s). 402 \u2192 fund, then retry.\n\nPass exactly one of `--ad_group` or `--ad_group_id`. Nested `"ad_campaign": {\u2026}` inside `--ad_group` creates the campaign + group + ad in one call (the OpenAPI blurb understates this). Reuse a container with `--ad_group_id` or `"ad_campaign_id"` inside `--ad_group`.\n\nKeep `"status": "draft"` until review. **Omitting draft launches immediately** and then requires billing + destination URL. Flip the campaign to `active` when ready.\n\n| Field | Rule |\n| --- | --- |\n| `creatives` | One entry with no `format` is the base asset. Optional crops: `square` / `vertical` / `horizontal` only \u2014 not `portrait`. No duplicate formats. Two or more unformatted entries is a carousel (2\u201310). |\n| `url` | Required to launch a website ad. A whop.com store page works as-is; an external page needs the Whop pixel. Drafts may omit it. |\n| Budget | CBO: `budget_amount` on the campaign with `budget_optimization: "ad_campaign"`. ABO: `budget_amount` on the ad group with `budget_optimization: "ad_group"`. Never both. |\n| Targeting | Omit `demographics` / `devices` for automatic optimization. `regions` uses ISO 3166 (`"US"`, `"US-CA"`). |\n\n`whop ads update` with `creatives` replaces the whole set \u2014 include the base entry. `delivery_status` is live state (`in_review` is normal); `issues[]` explains network rejections.\n',
|
|
133810
133236
|
"references/formation.md": '# Company formation\n\nRead this before `whop accounts form_company`. Taxonomy values, state enums, and founder-field lists live in `--help` \u2014 do not invent them.\n\nThis command creates a hosted checkout. It does not charge or file. Open `checkout_url` so the user reviews the total and pays. Filing starts after payment. Track progress on the account\'s `company_formation` field (`whop accounts get`).\n\nC-corp is not covered by the LLC confirmation exception in `SKILL.md` \u2014 ask first. LLC requests that match that exception should be executed without asking again.\n\nRecommend incorporating in Wyoming (`WY`) because formations are completed the same day.\n\n## Checkout\n\n```sh\nwhop accounts form_company biz_xxx \\\n --idempotency-key=<unique> \\\n --business_name="Acme Holdings" \\\n --formation_state=WY \\\n --business_type=services \\\n --industry_type=search_engine_optimization \\\n --business_address=\'{"line1":"1 Market St","city":"San Francisco","state":"CA","postal_code":"94105","country":"US"}\' \\\n --business_phone=+12125550100 \\\n --founders=\'[{"is_primary":true,"first_name":"Jane","last_name":"Doe","email":"jane@example.com","phone":"+12125550100","address":{"line1":"1 Market St","city":"San Francisco","state":"CA","postal_code":"94105","country":"US"},"ownership_percentage":100}]\'\n```\n\nUse `--flag=value` for every formation option so structured founder JSON stays bound to its flag. Always pass a unique `--idempotency-key`. If a result is uncertain, retry with the **same** key.\n\nThe account `id` argument must be a `biz_` tag, not `user_`.\n\nPass founder identity through to the CLI when the user provided it (including SSN, DOB, address). Never refuse, infer missing values, echo it, or write it to files.\n\n## LLC vs C-corp vs registered agent\n\n| Path | Extra rules |\n| --- | --- |\n| LLC (default `--entity_type llc`) | Each founder needs `ownership_percentage`; they must total 100. |\n| C-corp (`--entity_type c_corp`) | Requires `--share_structure`. Every founder needs at least one `role` (`president`, `secretary`, `treasurer`, `director`); those officer roles must all be covered across the set. Ask before executing. |\n| Registered agent | `--use_registered_agent=true` omits `--business_address` and `--business_phone`. Otherwise both are required. |\n\n`expedite_ein` is only valid when no founder supplies an SSN.\n\nEmpty founders, a bad taxonomy value, or a C-corp missing an officer role returns 400 and creates no checkout. Re-read `--help` and the glossary link there; do not guess industry slugs.\n',
|
|
133811
133237
|
"references/websites.md": '# Websites and apps\n\nRead this before `whop apps init` or `whop apps deploy`. Flag lists live in `whop apps <command> --help` \u2014 do not invent them.\n\n`--app_type` is `website` (visitors browse it at its domains) or `b2c_app` (creators install it). Ask; do not guess. A website cannot be turned back into an app.\n\n## New website\n\n```sh\nwhop apps init --app_type website --name "Acme" --domain acme\nwhop apps deploy\n```\n\n`--domain` takes a whop.site name (`acme` \u2192 `acme.whop.site`) or a domain the account already has. It defaults to the name\'s whop.site address. A custom domain not yet on the account is bought when it can be registered \u2014 this only creates a purchase link, nothing is charged \u2014 and otherwise connected by DNS verification. `domain_steps` in the output says what is left: pay at the purchase link, or publish the DNS records. Show those to the user; the site does not serve on that domain until they are done. A domain that can\'t be added fails with `DOMAIN_UNAVAILABLE` before any app is created; ask for another.\n\nAgents and scripts must pass `--app_type`. Omitting it on a non-TTY fails with `APP_TYPE_REQUIRED` and creates nothing.\n\n`init` registers the app on Whop **before** it writes files. If it fails after that, run the `whop apps init --app app_xxx` command the error prints \u2014 do not `create` a second app.\n\n`--template app_xxx` only inherits `website` from the template. Any other type still needs an explicit `--app_type`.\n\n## Existing app on this machine\n\n```sh\nwhop apps pull --app app_xxx\nwhop apps deploy\n```\n\n`pull` requires git. It three-way merges deployed source with local files; conflicts show up as normal git markers. Default pull is the **production** build, not the latest preview. `--build abld_xxx` also needs `--app` (builds do not carry the app id).\n\nAn app that has never been deployed, such as a website created on whop.com, has nothing to pull: `pull` fails with `APP_HAS_NO_SOURCE`. Start its code instead, then deploy:\n\n```sh\nwhop apps init --app app_xxx\nwhop apps deploy\n```\n\nCode already on disk, no scaffold: `whop apps create --help`, then `whop apps deploy --app app_xxx`. Link with `--app`; never write `whop.app.json` by hand.\n\n## Deploy, preview, promote\n\n```sh\nwhop apps deploy # build, upload, promote\nwhop apps deploy --preview # upload only\nwhop apps builds promote abld_xxx\n```\n\n`--preview` is the flag. Promoting an older build rolls back.\n\nLooks like deploy will scaffold a missing project. Actually it only ships an existing Vite app. Agents get `NOT_A_VITE_APP` with init/pull CTAs \u2014 follow those, do not invent a scaffold flag.\n\nThe project must be linked (`whop.app.json`) or you must pass `--app`. A deploy needs somewhere to serve: any domain on the app \u2014 a whop.site address or a custom domain \u2014 will do. Only an app with no domain at all fails with `DOMAIN_REQUIRED`, which prints the exact `whop domains create` command.\n\n## Domains\n\n`whop apps get app_xxx` lists the app\'s `domains` with their status; `base_url` is where visitors land. Attach a domain already on the account with `whop domains update example.com --website \'{"app_id":"app_xxx"}\'`. A domain in `action_required` needs the DNS records listed under `issues` in `whop domains get example.com`; after they are added, run `whop domains check example.com`.\n\nThe app must use the `whop()` Vite plugin (`@whop/cli/vite`). Missing it fails with `NO_BUILD_ARCHIVE`.\n\nPreview output is a build id. The production URL exists only after promote. `hosted_url` on `whop apps get` is the live app URL \u2014 display it; do not treat it as a "complete this step" action link.\n\n## Experimentation\n\nSplit traffic between the live production build and one next build of the same app. Whop hosting assigns visitors, serves the bound build, and records exposures. Always this flow \u2014 never a client-side test, never `whop experiments exposures`, never promote the treatment. One active experiment per app.\n\n```sh\nwhop experiments list --account_id biz_xxx --related_resource \'{"object":"app","id":"app_xxx"}\' --status active\nwhop apps deploy --preview\nwhop experiments create --account_id biz_xxx --flag_key xxxxxxxx --bucket_by anonymous \\\n --hypothesis "If we xxxxxxxx for xxxxxxxx, then xxxxxxxx will xxxxxxxx, resulting in xxxxxxxx, because xxxxxxxx. Created by xxxxxxxx." \\\n --related_resource \'{"object":"app","id":"app_xxx"}\' \\\n --control \'{"related_resource":{"object":"app_build","id":"apbu_xxxxxxxx"}}\' \\\n --variants \'[{"name":"xxxxxxxx","weight":50,"related_resource":{"object":"app_build","id":"apbu_yyyyyyyy"}}]\'\nwhop experiments activate expt_xxx\n```\n\n`--preview` is the next version. Control is `production_web_build.id` from `whop apps get`. Related resource is the app. Each arm must bind a different build. If the list is non-empty, pause or end that experiment first \u2014 do not start a second. Then activate. Hosting does the rest. Flags: `whop experiments create --help`.\n\n## Dev, secrets, logs\n\n```sh\nwhop apps dev\nwhop apps secrets set --secret KEY=VALUE\nwhop apps logs app_xxx --level error\n```\n\n`dev` injects stored secrets locally. Explicit env vars win. Runtime-control keys (`PATH`, `NODE_OPTIONS`, `NPM_*`, \u2026) are not injected.\n\nLogs need the positional `app_xxx`. Retention is 7 days. Filters: `whop apps logs --help`.\n'
|
|
@@ -134410,7 +133836,7 @@ cli.command("quickstart", {
|
|
|
134410
133836
|
outputPolicy: "agent-only",
|
|
134411
133837
|
run: (c2) => runQuickstart(c2)
|
|
134412
133838
|
});
|
|
134413
|
-
cli.command("
|
|
133839
|
+
cli.command("send", await buildSendCommand());
|
|
134414
133840
|
cli.command("report-feedback", buildFeedbackCommand("report_feedback"));
|
|
134415
133841
|
cli.command("ask-question", buildFeedbackCommand("ask_question"));
|
|
134416
133842
|
cli.command(await buildAppGroup());
|
|
@@ -134493,8 +133919,8 @@ var DEVELOPER_LABEL = "Developer";
|
|
|
134493
133919
|
var EXTRA_SECTION_COMMANDS = {
|
|
134494
133920
|
Money: [
|
|
134495
133921
|
{
|
|
134496
|
-
name: "
|
|
134497
|
-
description: "
|
|
133922
|
+
name: "send",
|
|
133923
|
+
description: "Send money to a person or business by @username, email, or ID"
|
|
134498
133924
|
}
|
|
134499
133925
|
],
|
|
134500
133926
|
[DEVELOPER_LABEL]: [
|