whop_sdk 2.5.0 → 2.6.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.
Files changed (156) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +3 -3
  3. data/.fern/replay.lock +253 -1
  4. data/lib/whop_sdk/accounts/client.rb +66 -1
  5. data/lib/whop_sdk/accounts/types/list_accounts_request.rb +2 -0
  6. data/lib/whop_sdk/accounts/types/search_accounts_request.rb +23 -0
  7. data/lib/whop_sdk/accounts/types/search_accounts_request_direction.rb +14 -0
  8. data/lib/whop_sdk/accounts/types/search_accounts_request_order.rb +13 -0
  9. data/lib/whop_sdk/accounts/types/search_accounts_response.rb +13 -0
  10. data/lib/whop_sdk/accounts/types/search_accounts_response_page_info.rb +17 -0
  11. data/lib/whop_sdk/accounts/types/update_accounts_request.rb +2 -0
  12. data/lib/whop_sdk/api_keys/types/create_api_keys_request_api_version_date.rb +4 -0
  13. data/lib/whop_sdk/api_keys/types/update_api_keys_request_api_version_date.rb +4 -0
  14. data/lib/whop_sdk/client.rb +1 -6
  15. data/lib/whop_sdk/deposits/client.rb +3 -1
  16. data/lib/whop_sdk/deposits/types/create_deposits_request.rb +2 -0
  17. data/lib/whop_sdk/deposits/types/create_deposits_response_methods.rb +2 -0
  18. data/lib/whop_sdk/deposits/types/create_deposits_response_methods_card.rb +14 -0
  19. data/lib/whop_sdk/disputes/client.rb +39 -0
  20. data/lib/whop_sdk/disputes/types/accept_disputes_request.rb +11 -0
  21. data/lib/whop_sdk/external_accounts/types/connect_external_accounts_request_platform.rb +1 -0
  22. data/lib/whop_sdk/financial_activity/types/list_financial_activity_request_line_types_item.rb +2 -0
  23. data/lib/whop_sdk/financial_reports/types/retrieve_financial_reports_request_line_types_item.rb +2 -0
  24. data/lib/whop_sdk/financial_reports/types/retrieve_financial_reports_response_rows_item_line_category.rb +2 -0
  25. data/lib/whop_sdk/identity_profiles/client.rb +3 -0
  26. data/lib/whop_sdk/internal/http/raw_client.rb +1 -1
  27. data/lib/whop_sdk/partners/businesses/client.rb +57 -10
  28. data/lib/whop_sdk/partners/businesses/earnings/client.rb +2 -1
  29. data/lib/whop_sdk/partners/businesses/types/list_businesses_request_advance_status.rb +1 -0
  30. data/lib/whop_sdk/partners/businesses/types/resend_invite_businesses_request.rb +15 -0
  31. data/lib/whop_sdk/partners/businesses/types/resend_invite_businesses_response.rb +45 -0
  32. data/lib/whop_sdk/partners/businesses/types/resend_invite_businesses_response_account.rb +26 -0
  33. data/lib/whop_sdk/partners/businesses/types/resend_invite_businesses_response_blueprint_partner.rb +20 -0
  34. data/lib/whop_sdk/partners/businesses/types/resend_invite_businesses_response_blueprint_partner_profile_picture.rb +14 -0
  35. data/lib/whop_sdk/partners/businesses/types/resend_invite_businesses_response_earnings_usd.rb +17 -0
  36. data/lib/whop_sdk/partners/businesses/types/resend_invite_businesses_response_first_tier_partner.rb +21 -0
  37. data/lib/whop_sdk/partners/businesses/types/resend_invite_businesses_response_first_tier_partner_profile_picture.rb +14 -0
  38. data/lib/whop_sdk/partners/businesses/types/resend_invite_businesses_response_my_partner_tier.rb +17 -0
  39. data/lib/whop_sdk/partners/businesses/types/resend_invite_businesses_response_object.rb +15 -0
  40. data/lib/whop_sdk/partners/businesses/types/resend_invite_businesses_response_owner.rb +22 -0
  41. data/lib/whop_sdk/partners/businesses/types/resend_invite_businesses_response_owner_profile_picture.rb +14 -0
  42. data/lib/whop_sdk/partners/businesses/types/resend_invite_businesses_response_payout_percentages.rb +22 -0
  43. data/lib/whop_sdk/partners/businesses/types/resend_invite_businesses_response_pending_owner_invites_item.rb +15 -0
  44. data/lib/whop_sdk/partners/businesses/types/resend_invite_businesses_response_second_tier_partner.rb +21 -0
  45. data/lib/whop_sdk/partners/businesses/types/resend_invite_businesses_response_second_tier_partner_profile_picture.rb +14 -0
  46. data/lib/whop_sdk/partners/businesses/types/resend_invite_businesses_response_status.rb +16 -0
  47. data/lib/whop_sdk/partners/businesses/types/resend_invite_businesses_response_volume_usd.rb +19 -0
  48. data/lib/whop_sdk/partners/businesses/types/retrieve_businesses_response.rb +2 -0
  49. data/lib/whop_sdk/partners/businesses/types/retrieve_businesses_response_pending_owner_invites_item.rb +15 -0
  50. data/lib/whop_sdk/partners/businesses/types/update_businesses_request.rb +2 -2
  51. data/lib/whop_sdk/partners/client.rb +38 -0
  52. data/lib/whop_sdk/partners/types/fee_options_partners_response.rb +13 -0
  53. data/lib/whop_sdk/partners/types/fee_options_partners_response_object.rb +13 -0
  54. data/lib/whop_sdk/partners/types/fee_options_partners_response_streams_item.rb +19 -0
  55. data/lib/whop_sdk/partners/types/fee_options_partners_response_streams_item_fee.rb +18 -0
  56. data/lib/whop_sdk/partners/types/fee_options_partners_response_streams_item_fee_regions_item.rb +15 -0
  57. data/lib/whop_sdk/partners/types/fee_options_partners_response_streams_item_income_stream.rb +20 -0
  58. data/lib/whop_sdk/partners/types/fee_options_partners_response_streams_item_unadjustable_reason.rb +16 -0
  59. data/lib/whop_sdk/payment_method_domains/client.rb +11 -5
  60. data/lib/whop_sdk/payments/types/refund_payments_request.rb +2 -0
  61. data/lib/whop_sdk/payouts/client.rb +7 -5
  62. data/lib/whop_sdk/payouts/types/cancel_payouts_response.rb +2 -0
  63. data/lib/whop_sdk/payouts/types/create_payouts_response.rb +2 -0
  64. data/lib/whop_sdk/payouts/types/list_payouts_response_data_item.rb +2 -0
  65. data/lib/whop_sdk/payouts/types/post_payout_created_payload_data.rb +2 -0
  66. data/lib/whop_sdk/payouts/types/post_payout_reversed_payload_data.rb +2 -0
  67. data/lib/whop_sdk/payouts/types/post_payout_updated_payload_data.rb +2 -0
  68. data/lib/whop_sdk/payouts/types/retrieve_payouts_response.rb +2 -0
  69. data/lib/whop_sdk/setup_intents/types/create_setup_intents_request.rb +2 -0
  70. data/lib/whop_sdk/social_accounts/types/connect_social_accounts_request_platform.rb +1 -0
  71. data/lib/whop_sdk/stats/client.rb +2 -0
  72. data/lib/whop_sdk/stats/reports/client.rb +4 -2
  73. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_request.rb +2 -0
  74. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_request_breakdown_by.rb +1 -0
  75. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_response_data_reports_item_rows_item.rb +2 -0
  76. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_response_data_reports_item_rows_item_product_category.rb +15 -0
  77. data/lib/whop_sdk/stats/time_series/client.rb +2 -0
  78. data/lib/whop_sdk/stats/time_series/types/retrieve_time_series_request.rb +2 -0
  79. data/lib/whop_sdk/stats/types/retrieve_stats_request.rb +2 -0
  80. data/lib/whop_sdk/support_channels/client.rb +2 -0
  81. data/lib/whop_sdk/support_channels/types/list_support_channels_request.rb +2 -0
  82. data/lib/whop_sdk/team_members/client.rb +10 -1
  83. data/lib/whop_sdk/team_members/types/list_team_members_request.rb +8 -0
  84. data/lib/whop_sdk/transfers/client.rb +2 -2
  85. data/lib/whop_sdk/transfers/types/create_transfers_request_body_balance.rb +2 -2
  86. data/lib/whop_sdk/types/account.rb +6 -2
  87. data/lib/whop_sdk/types/account_required_action_action.rb +1 -0
  88. data/lib/whop_sdk/types/account_search_result.rb +15 -0
  89. data/lib/whop_sdk/types/api_key_api_version_date.rb +4 -0
  90. data/lib/whop_sdk/types/dispute.rb +2 -0
  91. data/lib/whop_sdk/types/ledger_activity_line_type.rb +2 -0
  92. data/lib/whop_sdk/types/partner_advance.rb +4 -4
  93. data/lib/whop_sdk/types/partner_advance_status.rb +1 -0
  94. data/lib/whop_sdk/types/payment_method_list_item_us_bank_account_payment_method_us_bank_account.rb +3 -3
  95. data/lib/whop_sdk/types/payment_method_us_bank_account_payment_method_us_bank_account.rb +3 -3
  96. data/lib/whop_sdk/types/permission_action.rb +2 -0
  97. data/lib/whop_sdk/types/refund.rb +2 -0
  98. data/lib/whop_sdk/types/refund_legacy.rb +2 -0
  99. data/lib/whop_sdk/types/refund_list_item.rb +2 -0
  100. data/lib/whop_sdk/types/team_member.rb +4 -0
  101. data/lib/whop_sdk/types/user_fees.rb +17 -0
  102. data/lib/whop_sdk/types/webhook_event.rb +3 -0
  103. data/lib/whop_sdk/types/webhook_events_item.rb +3 -0
  104. data/lib/whop_sdk/types/webhook_list_item_events_item.rb +3 -0
  105. data/lib/whop_sdk/types/webhook_testable_events_item.rb +3 -0
  106. data/lib/whop_sdk/users/client.rb +5 -0
  107. data/lib/whop_sdk/users/fees/client.rb +59 -0
  108. data/lib/whop_sdk/users/fees/types/retrieve_fees_request.rb +13 -0
  109. data/lib/whop_sdk/verifications/client.rb +12 -5
  110. data/lib/whop_sdk/verifications/types/create_verifications_request_body_business.rb +2 -0
  111. data/lib/whop_sdk/verifications/types/create_verifications_request_body_business_owners_item.rb +38 -0
  112. data/lib/whop_sdk/verifications/types/create_verifications_request_body_business_owners_item_address.rb +22 -0
  113. data/lib/whop_sdk/verifications/types/create_verifications_request_body_business_owners_item_document_type.rb +16 -0
  114. data/lib/whop_sdk/verifications/types/create_verifications_request_body_business_owners_item_documents.rb +30 -0
  115. data/lib/whop_sdk/verifications/types/create_verifications_request_body_business_owners_item_roles_item.rb +16 -0
  116. data/lib/whop_sdk/verifications/types/create_verifications_request_body_individual_document_type.rb +4 -4
  117. data/lib/whop_sdk/verifications/types/create_verifications_response.rb +2 -0
  118. data/lib/whop_sdk/verifications/types/create_verifications_response_owners_item.rb +23 -0
  119. data/lib/whop_sdk/verifications/types/create_verifications_response_owners_item_required_documents_item.rb +15 -0
  120. data/lib/whop_sdk/verifications/types/create_verifications_response_owners_item_required_documents_item_status.rb +14 -0
  121. data/lib/whop_sdk/verifications/types/create_verifications_response_owners_item_roles_item.rb +16 -0
  122. data/lib/whop_sdk/verifications/types/create_verifications_response_owners_item_status.rb +19 -0
  123. data/lib/whop_sdk/verifications/types/list_verifications_response_data_item.rb +2 -0
  124. data/lib/whop_sdk/verifications/types/list_verifications_response_data_item_owners_item.rb +23 -0
  125. data/lib/whop_sdk/verifications/types/list_verifications_response_data_item_owners_item_required_documents_item.rb +15 -0
  126. data/lib/whop_sdk/verifications/types/list_verifications_response_data_item_owners_item_required_documents_item_status.rb +14 -0
  127. data/lib/whop_sdk/verifications/types/list_verifications_response_data_item_owners_item_roles_item.rb +16 -0
  128. data/lib/whop_sdk/verifications/types/list_verifications_response_data_item_owners_item_status.rb +19 -0
  129. data/lib/whop_sdk/verifications/types/retrieve_verifications_response.rb +2 -0
  130. data/lib/whop_sdk/verifications/types/retrieve_verifications_response_owners_item.rb +23 -0
  131. data/lib/whop_sdk/verifications/types/retrieve_verifications_response_owners_item_required_documents_item.rb +15 -0
  132. data/lib/whop_sdk/verifications/types/retrieve_verifications_response_owners_item_required_documents_item_status.rb +14 -0
  133. data/lib/whop_sdk/verifications/types/retrieve_verifications_response_owners_item_roles_item.rb +16 -0
  134. data/lib/whop_sdk/verifications/types/retrieve_verifications_response_owners_item_status.rb +19 -0
  135. data/lib/whop_sdk/verifications/types/update_verifications_request_body_business_address.rb +10 -0
  136. data/lib/whop_sdk/verifications/types/update_verifications_request_body_business_address_documents.rb +18 -0
  137. data/lib/whop_sdk/verifications/types/update_verifications_request_body_business_address_owners_item.rb +43 -0
  138. data/lib/whop_sdk/verifications/types/update_verifications_request_body_business_address_owners_item_address.rb +22 -0
  139. data/lib/whop_sdk/verifications/types/update_verifications_request_body_business_address_owners_item_document_type.rb +16 -0
  140. data/lib/whop_sdk/verifications/types/update_verifications_request_body_business_address_owners_item_documents.rb +30 -0
  141. data/lib/whop_sdk/verifications/types/update_verifications_request_body_business_address_owners_item_roles_item.rb +16 -0
  142. data/lib/whop_sdk/verifications/types/update_verifications_response.rb +2 -0
  143. data/lib/whop_sdk/verifications/types/update_verifications_response_owners_item.rb +23 -0
  144. data/lib/whop_sdk/verifications/types/update_verifications_response_owners_item_required_documents_item.rb +15 -0
  145. data/lib/whop_sdk/verifications/types/update_verifications_response_owners_item_required_documents_item_status.rb +14 -0
  146. data/lib/whop_sdk/verifications/types/update_verifications_response_owners_item_roles_item.rb +16 -0
  147. data/lib/whop_sdk/verifications/types/update_verifications_response_owners_item_status.rb +19 -0
  148. data/lib/whop_sdk/version.rb +1 -1
  149. data/lib/whop_sdk/webhooks/types/create_webhooks_request_events_item.rb +3 -0
  150. data/lib/whop_sdk/webhooks/types/update_webhooks_request_events_item.rb +3 -0
  151. data/lib/whop_sdk.rb +69 -3
  152. data/reference.md +500 -130
  153. metadata +71 -5
  154. data/lib/whop_sdk/topups/client.rb +0 -64
  155. data/lib/whop_sdk/topups/types/create_topups_request.rb +0 -17
  156. data/lib/whop_sdk/types/topup.rb +0 -23
@@ -129,6 +129,8 @@ module Whop_sdk
129
129
  ONBOARDING_REWARD = "onboarding_reward"
130
130
  ONCHAIN_DEPOSIT = "onchain_deposit"
131
131
  ONCHAIN_DEPOSIT_OFFSET = "onchain_deposit_offset"
132
+ ONCHAIN_INTERNAL_TRANSFER_INCOMING = "onchain_internal_transfer_incoming"
133
+ ONCHAIN_INTERNAL_TRANSFER_OUTGOING = "onchain_internal_transfer_outgoing"
132
134
  ONCHAIN_SWAP_OFFSET = "onchain_swap_offset"
133
135
  ONCHAIN_SWAP_SOURCE = "onchain_swap_source"
134
136
  ONCHAIN_SWAP_TARGET = "onchain_swap_target"
@@ -126,6 +126,9 @@ module Whop_sdk
126
126
  # Unlinks an identity profile from the account or user that owns `ledger_account_id`. Requires `identity:write` on
127
127
  # that account or user.
128
128
  #
129
+ # Required permissions:
130
+ # - `identity:write`
131
+ #
129
132
  # @param request_options [Hash]
130
133
  # @param params [Hash]
131
134
  # @option request_options [String] :base_url
@@ -35,7 +35,7 @@ module Whop_sdk
35
35
  @default_headers = {
36
36
  "X-Fern-Language": "Ruby",
37
37
  "X-Fern-SDK-Name": "whop_sdk",
38
- "X-Fern-SDK-Version": "2.5.0"
38
+ "X-Fern-SDK-Version": "2.6.0"
39
39
  }.merge(headers)
40
40
  @overridable_headers = overridable_headers.to_set { |name| name.to_s.downcase }
41
41
  end
@@ -94,7 +94,8 @@ module Whop_sdk
94
94
  end
95
95
  end
96
96
 
97
- # Retrieves a single referred business and its referral terms.
97
+ # Retrieves a single referred business and its referral terms. The original referrer or a caller with
98
+ # company:basic:read on the business credited for the referral can read it.
98
99
  #
99
100
  # @param request_options [Hash]
100
101
  # @param params [Hash]
@@ -131,9 +132,12 @@ module Whop_sdk
131
132
  end
132
133
  end
133
134
 
134
- # Save annual projections for a business referred by the authenticated partner. Projections cannot be changed
135
- # after saving; repeating the same values is allowed. Public API access requires a partner OAuth token; business
136
- # API keys are not supported.
135
+ # Save annual payment projections for a business referred by the authenticated partner. Unaccepted projections
136
+ # can be replaced with updated annual card and BNPL payment volume. To qualify, payment volume over the last 30
137
+ # days must reach 5% of the annual payment projection. Ads are excluded from CPA; ordinary ad commissions
138
+ # continue. Pass withdraw_projections: true without projection amounts to remove unaccepted projections.
139
+ # Accepted projections are immutable. Public API access requires a partner OAuth token; business API keys are
140
+ # not supported.
137
141
  #
138
142
  # @param request_options [Hash]
139
143
  # @param params [Whop_sdk::Partners::Businesses::Types::UpdateBusinessesRequest]
@@ -145,11 +149,7 @@ module Whop_sdk
145
149
  # @option params [String] :id
146
150
  #
147
151
  # @example
148
- # client.partners.businesses.update(
149
- # id: "id",
150
- # annual_ads_usd: "120000",
151
- # annual_processing_usd: "1200000"
152
- # )
152
+ # client.partners.businesses.update(id: "id")
153
153
  #
154
154
  # @return [Whop_sdk::Partners::Businesses::Types::UpdateBusinessesResponse]
155
155
  def update(request_options: {}, **params)
@@ -195,7 +195,7 @@ module Whop_sdk
195
195
  # client.partners.businesses.accept_commission_advance(
196
196
  # id: "id",
197
197
  # acknowledgments: %w[commission_replacement clawback term],
198
- # expected_amount_usd: "1439.99",
198
+ # expected_amount_usd: "1079.99",
199
199
  # offer_token: "eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
200
200
  # terms_version: "2026-01-01"
201
201
  # )
@@ -228,6 +228,53 @@ module Whop_sdk
228
228
  end
229
229
  end
230
230
 
231
+ # Re-emails an outstanding invite to claim ownership of a referred business. Find the invite in the business's
232
+ # `pending_owner_invites`. Only the first-tier partner can resend, from a whop.com session or the Whop CLI or
233
+ # MCP with `partner:handoff`. Rate limited to one resend per invite every five minutes.
234
+ #
235
+ # @param request_options [Hash]
236
+ # @param params [Whop_sdk::Partners::Businesses::Types::ResendInviteBusinessesRequest]
237
+ # @option request_options [String] :base_url
238
+ # @option request_options [Hash{String => Object}] :additional_headers
239
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
240
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
241
+ # @option request_options [Integer] :timeout_in_seconds
242
+ # @option params [String] :id
243
+ #
244
+ # @example
245
+ # client.partners.businesses.resend_invite(
246
+ # id: "id",
247
+ # invite_id: "ausri_xxxxxxxxxxxxxx"
248
+ # )
249
+ #
250
+ # @return [Whop_sdk::Partners::Businesses::Types::ResendInviteBusinessesResponse]
251
+ def resend_invite(request_options: {}, **params)
252
+ params = Whop_sdk::Internal::Types::Utils.normalize_keys(params)
253
+ request_data = Whop_sdk::Partners::Businesses::Types::ResendInviteBusinessesRequest.new(params).to_h
254
+ non_body_param_names = %w[id]
255
+ body = request_data.except(*non_body_param_names)
256
+
257
+ request = Whop_sdk::Internal::JSON::Request.new(
258
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
259
+ method: "POST",
260
+ path: "partners/businesses/#{URI.encode_uri_component(params[:id].to_s)}/resend_invite",
261
+ body: body,
262
+ request_options: request_options
263
+ )
264
+ begin
265
+ response = @client.send(request)
266
+ rescue Net::HTTPRequestTimeout
267
+ raise Whop_sdk::Errors::TimeoutError
268
+ end
269
+ code = response.code.to_i
270
+ if code.between?(200, 299)
271
+ (response.body.to_s.empty? ? nil : Whop_sdk::Partners::Businesses::Types::ResendInviteBusinessesResponse.load(response.body))
272
+ else
273
+ error_class = Whop_sdk::Errors::ResponseError.subclass_for_code(code)
274
+ raise error_class.new(response.body, code: code)
275
+ end
276
+ end
277
+
231
278
  # @return [Whop_sdk::Earnings::Client]
232
279
  def earnings
233
280
  @earnings ||= Whop_sdk::Partners::Businesses::Earnings::Client.new(client: @client, base_url: @base_url, environment: @environment)
@@ -16,7 +16,8 @@ module Whop_sdk
16
16
  @environment = environment
17
17
  end
18
18
 
19
- # Lists the earnings Whop pays out for one referred business's activity, most recent first.
19
+ # Lists the earnings Whop pays out for one referred business's activity, most recent first. The original
20
+ # referrer or a caller with company:basic:read on the business credited for the referral can read them.
20
21
  #
21
22
  # @param request_options [Hash]
22
23
  # @param params [Hash]
@@ -14,6 +14,7 @@ module Whop_sdk
14
14
  CLAWED_BACK = "clawed_back"
15
15
  COMPLETED = "completed"
16
16
  EXPIRED = "expired"
17
+ WITHDRAWN = "withdrawn"
17
18
  OFFERED = "offered"
18
19
  end
19
20
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Partners
5
+ module Businesses
6
+ module Types
7
+ class ResendInviteBusinessesRequest < Internal::Types::Model
8
+ field :id, -> { String }, optional: false, nullable: false
9
+
10
+ field :invite_id, -> { String }, optional: false, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Partners
5
+ module Businesses
6
+ module Types
7
+ class ResendInviteBusinessesResponse < Internal::Types::Model
8
+ field :account, -> { Whop_sdk::Partners::Businesses::Types::ResendInviteBusinessesResponseAccount }, optional: false, nullable: true
9
+
10
+ field :blueprint_partner, -> { Whop_sdk::Partners::Businesses::Types::ResendInviteBusinessesResponseBlueprintPartner }, optional: false, nullable: true
11
+
12
+ field :commission_advance, -> { Whop_sdk::Types::PartnerAdvance }, optional: true, nullable: false
13
+
14
+ field :created_at, -> { String }, optional: false, nullable: false
15
+
16
+ field :earnings_usd, -> { Whop_sdk::Partners::Businesses::Types::ResendInviteBusinessesResponseEarningsUsd }, optional: false, nullable: false
17
+
18
+ field :first_tier_partner, -> { Whop_sdk::Partners::Businesses::Types::ResendInviteBusinessesResponseFirstTierPartner }, optional: false, nullable: true
19
+
20
+ field :id, -> { String }, optional: false, nullable: false
21
+
22
+ field :my_partner_tier, -> { Whop_sdk::Partners::Businesses::Types::ResendInviteBusinessesResponseMyPartnerTier }, optional: false, nullable: false
23
+
24
+ field :object, -> { Whop_sdk::Partners::Businesses::Types::ResendInviteBusinessesResponseObject }, optional: false, nullable: false
25
+
26
+ field :owner, -> { Whop_sdk::Partners::Businesses::Types::ResendInviteBusinessesResponseOwner }, optional: false, nullable: true
27
+
28
+ field :payout_percentages, -> { Whop_sdk::Partners::Businesses::Types::ResendInviteBusinessesResponsePayoutPercentages }, optional: false, nullable: false
29
+
30
+ field :pending_owner_invites, -> { Internal::Types::Array[Whop_sdk::Partners::Businesses::Types::ResendInviteBusinessesResponsePendingOwnerInvitesItem] }, optional: true, nullable: false
31
+
32
+ field :referral_expires_at, -> { String }, optional: false, nullable: true
33
+
34
+ field :referral_started_at, -> { String }, optional: false, nullable: true
35
+
36
+ field :second_tier_partner, -> { Whop_sdk::Partners::Businesses::Types::ResendInviteBusinessesResponseSecondTierPartner }, optional: false, nullable: true
37
+
38
+ field :status, -> { Whop_sdk::Partners::Businesses::Types::ResendInviteBusinessesResponseStatus }, optional: false, nullable: false
39
+
40
+ field :volume_usd, -> { Whop_sdk::Partners::Businesses::Types::ResendInviteBusinessesResponseVolumeUsd }, optional: false, nullable: false
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Partners
5
+ module Businesses
6
+ module Types
7
+ # Referred account.
8
+ class ResendInviteBusinessesResponseAccount < Internal::Types::Model
9
+ field :capabilities, -> { Whop_sdk::Types::AccountCapabilities }, optional: false, nullable: false
10
+
11
+ field :id, -> { String }, optional: false, nullable: false
12
+
13
+ field :logo_url, -> { String }, optional: false, nullable: true
14
+
15
+ field :recommended_actions, -> { Internal::Types::Array[Whop_sdk::Types::AccountRecommendedAction] }, optional: false, nullable: true
16
+
17
+ field :required_actions, -> { Internal::Types::Array[Whop_sdk::Types::AccountRequiredAction] }, optional: false, nullable: true
18
+
19
+ field :route, -> { String }, optional: false, nullable: false
20
+
21
+ field :title, -> { String }, optional: false, nullable: false
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Partners
5
+ module Businesses
6
+ module Types
7
+ # The partner whose blueprint the business deployed. Null unless this is a blueprint referral.
8
+ class ResendInviteBusinessesResponseBlueprintPartner < Internal::Types::Model
9
+ field :id, -> { String }, optional: false, nullable: false
10
+
11
+ field :name, -> { String }, optional: false, nullable: true
12
+
13
+ field :profile_picture, -> { Whop_sdk::Partners::Businesses::Types::ResendInviteBusinessesResponseBlueprintPartnerProfilePicture }, optional: false, nullable: false
14
+
15
+ field :username, -> { String }, optional: false, nullable: false
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Partners
5
+ module Businesses
6
+ module Types
7
+ # The user's profile picture.
8
+ class ResendInviteBusinessesResponseBlueprintPartnerProfilePicture < Internal::Types::Model
9
+ field :url, -> { String }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Partners
5
+ module Businesses
6
+ module Types
7
+ class ResendInviteBusinessesResponseEarningsUsd < Internal::Types::Model
8
+ field :completed, -> { String }, optional: false, nullable: false
9
+
10
+ field :pending, -> { String }, optional: false, nullable: false
11
+
12
+ field :total, -> { String }, optional: false, nullable: false
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Partners
5
+ module Businesses
6
+ module Types
7
+ # The partner who referred the business owner onto Whop (first tier). Null if there is no active first-tier
8
+ # partner.
9
+ class ResendInviteBusinessesResponseFirstTierPartner < Internal::Types::Model
10
+ field :id, -> { String }, optional: false, nullable: false
11
+
12
+ field :name, -> { String }, optional: false, nullable: true
13
+
14
+ field :profile_picture, -> { Whop_sdk::Partners::Businesses::Types::ResendInviteBusinessesResponseFirstTierPartnerProfilePicture }, optional: false, nullable: false
15
+
16
+ field :username, -> { String }, optional: false, nullable: false
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Partners
5
+ module Businesses
6
+ module Types
7
+ # The user's profile picture.
8
+ class ResendInviteBusinessesResponseFirstTierPartnerProfilePicture < Internal::Types::Model
9
+ field :url, -> { String }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Partners
5
+ module Businesses
6
+ module Types
7
+ module ResendInviteBusinessesResponseMyPartnerTier
8
+ extend Whop_sdk::Internal::Types::Enum
9
+
10
+ FIRST = "first"
11
+ SECOND = "second"
12
+ BLUEPRINT = "blueprint"
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Partners
5
+ module Businesses
6
+ module Types
7
+ module ResendInviteBusinessesResponseObject
8
+ extend Whop_sdk::Internal::Types::Enum
9
+
10
+ PARTNER_BUSINESS = "partner_business"
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Partners
5
+ module Businesses
6
+ module Types
7
+ # The owner of the referred business.
8
+ class ResendInviteBusinessesResponseOwner < Internal::Types::Model
9
+ field :email, -> { String }, optional: false, nullable: true
10
+
11
+ field :id, -> { String }, optional: false, nullable: false
12
+
13
+ field :name, -> { String }, optional: false, nullable: true
14
+
15
+ field :profile_picture, -> { Whop_sdk::Partners::Businesses::Types::ResendInviteBusinessesResponseOwnerProfilePicture }, optional: false, nullable: false
16
+
17
+ field :username, -> { String }, optional: false, nullable: false
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Partners
5
+ module Businesses
6
+ module Types
7
+ # The user's profile picture.
8
+ class ResendInviteBusinessesResponseOwnerProfilePicture < Internal::Types::Model
9
+ field :url, -> { String }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Partners
5
+ module Businesses
6
+ module Types
7
+ # The referrer's commission rate for each income source, expressed as a fraction (0.3 = 30%).
8
+ class ResendInviteBusinessesResponsePayoutPercentages < Internal::Types::Model
9
+ field :ad_spend, -> { Integer }, optional: false, nullable: true
10
+
11
+ field :card_interchange, -> { Integer }, optional: false, nullable: true
12
+
13
+ field :sales, -> { Integer }, optional: false, nullable: false
14
+
15
+ field :transfer, -> { Integer }, optional: false, nullable: true
16
+
17
+ field :withdrawal, -> { Integer }, optional: false, nullable: true
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Partners
5
+ module Businesses
6
+ module Types
7
+ class ResendInviteBusinessesResponsePendingOwnerInvitesItem < Internal::Types::Model
8
+ field :email, -> { String }, optional: false, nullable: false
9
+
10
+ field :id, -> { String }, optional: false, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Partners
5
+ module Businesses
6
+ module Types
7
+ # The second-tier partner who earns on this business (referred the first-tier partner). Null if there is no
8
+ # active second-tier partner.
9
+ class ResendInviteBusinessesResponseSecondTierPartner < Internal::Types::Model
10
+ field :id, -> { String }, optional: false, nullable: false
11
+
12
+ field :name, -> { String }, optional: false, nullable: true
13
+
14
+ field :profile_picture, -> { Whop_sdk::Partners::Businesses::Types::ResendInviteBusinessesResponseSecondTierPartnerProfilePicture }, optional: false, nullable: false
15
+
16
+ field :username, -> { String }, optional: false, nullable: false
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Partners
5
+ module Businesses
6
+ module Types
7
+ # The user's profile picture.
8
+ class ResendInviteBusinessesResponseSecondTierPartnerProfilePicture < Internal::Types::Model
9
+ field :url, -> { String }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Partners
5
+ module Businesses
6
+ module Types
7
+ module ResendInviteBusinessesResponseStatus
8
+ extend Whop_sdk::Internal::Types::Enum
9
+
10
+ ACTIVE = "active"
11
+ REMOVED = "removed"
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Partners
5
+ module Businesses
6
+ module Types
7
+ class ResendInviteBusinessesResponseVolumeUsd < Internal::Types::Model
8
+ field :attributed, -> { String }, optional: false, nullable: false
9
+
10
+ field :awaiting_settlement, -> { String }, optional: false, nullable: false
11
+
12
+ field :last30d, -> { String }, optional: false, nullable: false, api_name: "last_30d"
13
+
14
+ field :settled, -> { String }, optional: false, nullable: false
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -27,6 +27,8 @@ module Whop_sdk
27
27
 
28
28
  field :payout_percentages, -> { Whop_sdk::Partners::Businesses::Types::RetrieveBusinessesResponsePayoutPercentages }, optional: false, nullable: false
29
29
 
30
+ field :pending_owner_invites, -> { Internal::Types::Array[Whop_sdk::Partners::Businesses::Types::RetrieveBusinessesResponsePendingOwnerInvitesItem] }, optional: true, nullable: false
31
+
30
32
  field :referral_expires_at, -> { String }, optional: false, nullable: true
31
33
 
32
34
  field :referral_started_at, -> { String }, optional: false, nullable: true
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Partners
5
+ module Businesses
6
+ module Types
7
+ class RetrieveBusinessesResponsePendingOwnerInvitesItem < Internal::Types::Model
8
+ field :email, -> { String }, optional: false, nullable: false
9
+
10
+ field :id, -> { String }, optional: false, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -7,9 +7,9 @@ module Whop_sdk
7
7
  class UpdateBusinessesRequest < Internal::Types::Model
8
8
  field :id, -> { String }, optional: false, nullable: false
9
9
 
10
- field :annual_ads_usd, -> { String }, optional: false, nullable: false
10
+ field :annual_processing_usd, -> { String }, optional: true, nullable: false
11
11
 
12
- field :annual_processing_usd, -> { String }, optional: false, nullable: false
12
+ field :withdraw_projections, -> { Internal::Types::Boolean }, optional: true, nullable: false
13
13
  end
14
14
  end
15
15
  end
@@ -50,6 +50,44 @@ module Whop_sdk
50
50
  end
51
51
  end
52
52
 
53
+ # Lists, per income stream, the fee a business the caller refers would be charged, how low the caller may price
54
+ # it, and the commission the caller earns on that stream. Answers for a referral that does not exist yet, so a
55
+ # referral flow can price the deal before the business is created. Requires `partner:fees:update`, since the
56
+ # floors a partner may price down to are only for a credential that can set them.
57
+ #
58
+ # @param request_options [Hash]
59
+ # @param _params [Hash]
60
+ # @option request_options [String] :base_url
61
+ # @option request_options [Hash{String => Object}] :additional_headers
62
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
63
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
64
+ # @option request_options [Integer] :timeout_in_seconds
65
+ #
66
+ # @example
67
+ # client.partners.fee_options
68
+ #
69
+ # @return [Whop_sdk::Partners::Types::FeeOptionsPartnersResponse]
70
+ def fee_options(request_options: {}, **_params)
71
+ request = Whop_sdk::Internal::JSON::Request.new(
72
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
73
+ method: "GET",
74
+ path: "partners/fee_options",
75
+ request_options: request_options
76
+ )
77
+ begin
78
+ response = @client.send(request)
79
+ rescue Net::HTTPRequestTimeout
80
+ raise Whop_sdk::Errors::TimeoutError
81
+ end
82
+ code = response.code.to_i
83
+ if code.between?(200, 299)
84
+ (response.body.to_s.empty? ? nil : Whop_sdk::Partners::Types::FeeOptionsPartnersResponse.load(response.body))
85
+ else
86
+ error_class = Whop_sdk::Errors::ResponseError.subclass_for_code(code)
87
+ raise error_class.new(response.body, code: code)
88
+ end
89
+ end
90
+
53
91
  # Ranks referrers by partner business earnings over the chosen `period`, all-time by default. Authentication is
54
92
  # optional: authenticated callers also get their own standing, anonymous callers get the rankings alone.
55
93
  #
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Partners
5
+ module Types
6
+ class FeeOptionsPartnersResponse < Internal::Types::Model
7
+ field :object, -> { Whop_sdk::Partners::Types::FeeOptionsPartnersResponseObject }, optional: false, nullable: false
8
+
9
+ field :streams, -> { Internal::Types::Array[Whop_sdk::Partners::Types::FeeOptionsPartnersResponseStreamsItem] }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Partners
5
+ module Types
6
+ module FeeOptionsPartnersResponseObject
7
+ extend Whop_sdk::Internal::Types::Enum
8
+
9
+ PARTNER_FEE_OPTIONS = "partner_fee_options"
10
+ end
11
+ end
12
+ end
13
+ end