whop_sdk 2.2.0 → 2.3.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 (331) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +3 -3
  3. data/.fern/replay.lock +457 -1
  4. data/lib/whop_sdk/accounts/preferences/client.rb +1 -1
  5. data/lib/whop_sdk/accounts/preferences/types/retrieve_preferences_response.rb +11 -1
  6. data/lib/whop_sdk/accounts/preferences/types/retrieve_preferences_response_ads_triple_whale_integration.rb +4 -5
  7. data/lib/whop_sdk/accounts/preferences/types/retrieve_preferences_response_economic_intelligence_offers_item.rb +2 -0
  8. data/lib/whop_sdk/accounts/preferences/types/retrieve_preferences_response_economic_intelligence_offers_item_key.rb +1 -0
  9. data/lib/whop_sdk/accounts/preferences/types/retrieve_preferences_response_economic_intelligence_previous_period.rb +17 -0
  10. data/lib/whop_sdk/accounts/preferences/types/retrieve_preferences_response_preferred_settlement_currency.rb +19 -0
  11. data/lib/whop_sdk/accounts/preferences/types/update_preferences_request.rb +4 -0
  12. data/lib/whop_sdk/accounts/preferences/types/update_preferences_request_ads_triple_whale_integration.rb +1 -3
  13. data/lib/whop_sdk/accounts/preferences/types/update_preferences_request_economic_intelligence_duration_key.rb +1 -0
  14. data/lib/whop_sdk/accounts/preferences/types/update_preferences_request_preferred_settlement_currency.rb +19 -0
  15. data/lib/whop_sdk/accounts/preferences/types/update_preferences_response.rb +11 -1
  16. data/lib/whop_sdk/accounts/preferences/types/update_preferences_response_ads_triple_whale_integration.rb +4 -5
  17. data/lib/whop_sdk/accounts/preferences/types/update_preferences_response_economic_intelligence_offers_item.rb +2 -0
  18. data/lib/whop_sdk/accounts/preferences/types/update_preferences_response_economic_intelligence_offers_item_key.rb +1 -0
  19. data/lib/whop_sdk/accounts/preferences/types/update_preferences_response_economic_intelligence_previous_period.rb +17 -0
  20. data/lib/whop_sdk/accounts/preferences/types/update_preferences_response_preferred_settlement_currency.rb +19 -0
  21. data/lib/whop_sdk/ad_campaigns/client.rb +8 -1
  22. data/lib/whop_sdk/ad_campaigns/types/create_ad_campaigns_request.rb +2 -0
  23. data/lib/whop_sdk/ad_campaigns/types/create_ad_campaigns_request_campaign_type.rb +14 -0
  24. data/lib/whop_sdk/ad_campaigns/types/list_ad_campaigns_request.rb +2 -0
  25. data/lib/whop_sdk/{trades/types/update_leverage_trades_request_margin_mode.rb → ad_campaigns/types/list_ad_campaigns_request_campaign_type.rb} +4 -4
  26. data/lib/whop_sdk/ad_campaigns/types/post_ad_campaign_payment_failed_payload_data.rb +2 -0
  27. data/lib/whop_sdk/ad_campaigns/types/post_ad_campaign_payment_failed_payload_data_campaign_type.rb +14 -0
  28. data/lib/whop_sdk/ad_campaigns/types/post_ad_campaign_updated_payload_data.rb +2 -0
  29. data/lib/whop_sdk/ad_campaigns/types/post_ad_campaign_updated_payload_data_campaign_type.rb +14 -0
  30. data/lib/whop_sdk/ad_campaigns/types/update_ad_campaigns_request.rb +4 -0
  31. data/lib/whop_sdk/ad_campaigns/types/update_ad_campaigns_request_campaign_type.rb +14 -0
  32. data/lib/whop_sdk/ad_campaigns/types/update_ad_campaigns_request_x_ads_platform.rb +15 -0
  33. data/lib/whop_sdk/ad_groups/client.rb +16 -2
  34. data/lib/whop_sdk/ad_groups/types/create_ad_groups_request.rb +4 -0
  35. data/lib/whop_sdk/ad_groups/types/create_ad_groups_request_keywords_item.rb +15 -0
  36. data/lib/whop_sdk/ad_groups/types/create_ad_groups_request_keywords_item_match_type.rb +15 -0
  37. data/lib/whop_sdk/ad_groups/types/create_ad_groups_request_x_ads_platform.rb +15 -0
  38. data/lib/whop_sdk/ad_groups/types/update_ad_groups_request.rb +4 -0
  39. data/lib/whop_sdk/ad_groups/types/update_ad_groups_request_keywords_item.rb +15 -0
  40. data/lib/whop_sdk/ad_groups/types/update_ad_groups_request_keywords_item_match_type.rb +15 -0
  41. data/lib/whop_sdk/ad_groups/types/update_ad_groups_request_x_ads_platform.rb +15 -0
  42. data/lib/whop_sdk/ads/client.rb +16 -2
  43. data/lib/whop_sdk/ads/types/create_ads_request.rb +4 -2
  44. data/lib/whop_sdk/ads/types/{create_ads_request_social_accounts_item.rb → create_ads_request_external_accounts_item.rb} +1 -1
  45. data/lib/whop_sdk/ads/types/create_ads_request_x_ads_platform.rb +15 -0
  46. data/lib/whop_sdk/ads/types/post_ad_updated_payload_data.rb +2 -2
  47. data/lib/whop_sdk/ads/types/update_ads_request.rb +4 -2
  48. data/lib/whop_sdk/ads/types/{update_ads_request_social_accounts_item.rb → update_ads_request_external_accounts_item.rb} +1 -1
  49. data/lib/whop_sdk/ads/types/update_ads_request_x_ads_platform.rb +15 -0
  50. data/lib/whop_sdk/api_keys/types/create_api_keys_request_api_version_date.rb +9 -0
  51. data/lib/whop_sdk/api_keys/types/update_api_keys_request_api_version_date.rb +9 -0
  52. data/lib/whop_sdk/app_builds/types/create_app_builds_request.rb +0 -2
  53. data/lib/whop_sdk/apps/types/create_apps_request.rb +2 -0
  54. data/lib/whop_sdk/apps/types/update_apps_request.rb +2 -0
  55. data/lib/whop_sdk/claim_links/client.rb +99 -0
  56. data/lib/whop_sdk/claim_links/types/claim_claim_links_request.rb +11 -0
  57. data/lib/whop_sdk/claim_links/types/claim_claim_links_response.rb +40 -0
  58. data/lib/whop_sdk/{trades/types/create_trades_request_instrument_type.rb → claim_links/types/claim_claim_links_response_object.rb} +3 -3
  59. data/lib/whop_sdk/claim_links/types/claim_claim_links_response_sender.rb +18 -0
  60. data/lib/whop_sdk/claim_links/types/claim_claim_links_response_sender_account.rb +17 -0
  61. data/lib/whop_sdk/claim_links/types/claim_claim_links_response_sender_user.rb +17 -0
  62. data/lib/whop_sdk/claim_links/types/claim_claim_links_response_source.rb +11 -0
  63. data/lib/whop_sdk/claim_links/types/claim_claim_links_response_status.rb +16 -0
  64. data/lib/whop_sdk/claim_links/types/retrieve_claim_links_request.rb +11 -0
  65. data/lib/whop_sdk/claim_links/types/retrieve_claim_links_response.rb +40 -0
  66. data/lib/whop_sdk/{trades/types/update_leverage_trades_request_provider.rb → claim_links/types/retrieve_claim_links_response_object.rb} +3 -3
  67. data/lib/whop_sdk/claim_links/types/retrieve_claim_links_response_sender.rb +18 -0
  68. data/lib/whop_sdk/claim_links/types/retrieve_claim_links_response_sender_account.rb +17 -0
  69. data/lib/whop_sdk/claim_links/types/retrieve_claim_links_response_sender_user.rb +17 -0
  70. data/lib/whop_sdk/claim_links/types/retrieve_claim_links_response_source.rb +11 -0
  71. data/lib/whop_sdk/claim_links/types/retrieve_claim_links_response_status.rb +16 -0
  72. data/lib/whop_sdk/client.rb +16 -1
  73. data/lib/whop_sdk/domains/client.rb +68 -15
  74. data/lib/whop_sdk/domains/types/check_domains_request.rb +11 -0
  75. data/lib/whop_sdk/domains/types/create_domains_request.rb +5 -3
  76. data/lib/whop_sdk/domains/types/create_domains_request_registration.rb +15 -0
  77. data/lib/whop_sdk/domains/types/create_domains_request_verification.rb +11 -0
  78. data/lib/whop_sdk/domains/types/create_domains_request_website.rb +12 -0
  79. data/lib/whop_sdk/domains/types/list_domains_request.rb +8 -0
  80. data/lib/whop_sdk/domains/types/list_domains_request_status.rb +4 -5
  81. data/lib/whop_sdk/domains/types/update_domains_request.rb +6 -2
  82. data/lib/whop_sdk/domains/types/update_domains_request_registration.rb +15 -0
  83. data/lib/whop_sdk/domains/types/update_domains_request_verification.rb +11 -0
  84. data/lib/whop_sdk/domains/types/update_domains_request_website.rb +12 -0
  85. data/lib/whop_sdk/economic_intelligence/client.rb +3 -1
  86. data/lib/whop_sdk/exports/types/create_exports_request_resource.rb +1 -1
  87. data/lib/whop_sdk/exports/types/list_exports_request_resource.rb +1 -1
  88. data/lib/whop_sdk/external_accounts/client.rb +271 -0
  89. data/lib/whop_sdk/external_accounts/lead_forms/client.rb +67 -0
  90. data/lib/whop_sdk/external_accounts/lead_forms/types/list_lead_forms_request.rb +15 -0
  91. data/lib/whop_sdk/external_accounts/lead_forms/types/list_lead_forms_response.rb +13 -0
  92. data/lib/whop_sdk/external_accounts/partners/client.rb +168 -0
  93. data/lib/whop_sdk/external_accounts/partners/types/create_partners_request.rb +17 -0
  94. data/lib/whop_sdk/external_accounts/partners/types/delete_partners_request.rb +17 -0
  95. data/lib/whop_sdk/external_accounts/partners/types/delete_partners_response.rb +15 -0
  96. data/lib/whop_sdk/external_accounts/partners/types/list_partners_request.rb +19 -0
  97. data/lib/whop_sdk/external_accounts/partners/types/list_partners_response.rb +15 -0
  98. data/lib/whop_sdk/external_accounts/partners/types/list_partners_response_page_info.rb +19 -0
  99. data/lib/whop_sdk/external_accounts/posts/client.rb +79 -0
  100. data/lib/whop_sdk/external_accounts/posts/types/list_posts_request.rb +21 -0
  101. data/lib/whop_sdk/external_accounts/posts/types/list_posts_response.rb +15 -0
  102. data/lib/whop_sdk/external_accounts/posts/types/list_posts_response_page_info.rb +15 -0
  103. data/lib/whop_sdk/external_accounts/types/connect_external_accounts_request.rb +17 -0
  104. data/lib/whop_sdk/external_accounts/types/connect_external_accounts_request_platform.rb +17 -0
  105. data/lib/whop_sdk/external_accounts/types/connect_external_accounts_request_scopes_item.rb +13 -0
  106. data/lib/whop_sdk/external_accounts/types/connect_external_accounts_response.rb +11 -0
  107. data/lib/whop_sdk/external_accounts/types/create_external_accounts_request.rb +13 -0
  108. data/lib/whop_sdk/external_accounts/types/create_external_accounts_request_platform.rb +14 -0
  109. data/lib/whop_sdk/external_accounts/types/delete_external_accounts_request.rb +15 -0
  110. data/lib/whop_sdk/external_accounts/types/delete_external_accounts_response.rb +13 -0
  111. data/lib/whop_sdk/external_accounts/types/list_external_accounts_request.rb +33 -0
  112. data/lib/whop_sdk/external_accounts/types/list_external_accounts_request_direction.rb +14 -0
  113. data/lib/whop_sdk/external_accounts/types/list_external_accounts_request_order.rb +14 -0
  114. data/lib/whop_sdk/external_accounts/types/list_external_accounts_request_platform.rb +21 -0
  115. data/lib/whop_sdk/external_accounts/types/list_external_accounts_request_scopes_item.rb +13 -0
  116. data/lib/whop_sdk/external_accounts/types/list_external_accounts_request_trust_level.rb +17 -0
  117. data/lib/whop_sdk/external_accounts/types/list_external_accounts_response.rb +13 -0
  118. data/lib/whop_sdk/external_accounts/types/list_external_accounts_response_page_info.rb +17 -0
  119. data/lib/whop_sdk/external_accounts/types/refresh_external_accounts_request.rb +13 -0
  120. data/lib/whop_sdk/feedback_submissions/client.rb +60 -0
  121. data/lib/whop_sdk/feedback_submissions/types/create_feedback_submissions_request.rb +15 -0
  122. data/lib/whop_sdk/feedback_submissions/types/create_feedback_submissions_request_source.rb +20 -0
  123. data/lib/whop_sdk/feedback_submissions/types/create_feedback_submissions_response.rb +13 -0
  124. data/lib/whop_sdk/financial_activity/types/list_financial_activity_request_line_types_item.rb +1 -0
  125. data/lib/whop_sdk/financial_reports/types/retrieve_financial_reports_request_line_types_item.rb +1 -0
  126. data/lib/whop_sdk/financial_reports/types/retrieve_financial_reports_response_rows_item_line_category.rb +2 -0
  127. data/lib/whop_sdk/internal/http/raw_client.rb +1 -1
  128. data/lib/whop_sdk/memberships/client.rb +54 -0
  129. data/lib/whop_sdk/memberships/types/assign_affiliate_memberships_request.rb +21 -0
  130. data/lib/whop_sdk/memberships/types/assign_affiliate_memberships_request_commission_type.rb +14 -0
  131. data/lib/whop_sdk/partner_referral_requests/client.rb +2 -1
  132. data/lib/whop_sdk/partner_referral_requests/types/create_partner_referral_requests_request_body_account_id.rb +2 -0
  133. data/lib/whop_sdk/partner_referral_requests/types/create_partner_referral_requests_request_body_account_url.rb +2 -0
  134. data/lib/whop_sdk/partner_referral_requests/types/create_partner_referral_requests_request_body_code.rb +5 -2
  135. data/lib/whop_sdk/partner_referral_requests/types/create_partner_referral_requests_request_body_target_email.rb +2 -0
  136. data/lib/whop_sdk/partner_referral_requests/types/create_partner_referral_requests_request_body_target_user_id.rb +2 -0
  137. data/lib/whop_sdk/partner_referral_requests/types/create_partner_referral_requests_request_body_target_username.rb +2 -0
  138. data/lib/whop_sdk/partners/businesses/client.rb +2 -0
  139. data/lib/whop_sdk/partners/businesses/earnings/types/list_earnings_request_income_source_item.rb +1 -0
  140. data/lib/whop_sdk/partners/businesses/earnings/types/list_earnings_response_data_item_income_source.rb +1 -0
  141. data/lib/whop_sdk/partners/businesses/earnings/types/list_earnings_response_data_item_resource.rb +6 -4
  142. data/lib/whop_sdk/partners/businesses/earnings/types/{list_earnings_response_data_item_resource_created_at.rb → list_earnings_response_data_item_resource_five.rb} +2 -2
  143. data/lib/whop_sdk/partners/businesses/earnings/types/{list_earnings_response_data_item_resource_created_at_object.rb → list_earnings_response_data_item_resource_five_object.rb} +1 -1
  144. data/lib/whop_sdk/partners/businesses/earnings/types/{list_earnings_response_data_item_resource_currency.rb → list_earnings_response_data_item_resource_merchant_name.rb} +2 -2
  145. data/lib/whop_sdk/partners/businesses/earnings/types/{list_earnings_response_data_item_resource_currency_object.rb → list_earnings_response_data_item_resource_merchant_name_object.rb} +1 -1
  146. data/lib/whop_sdk/partners/businesses/earnings/types/list_earnings_response_data_item_resource_two.rb +21 -0
  147. data/lib/whop_sdk/partners/businesses/earnings/types/list_earnings_response_data_item_resource_two_object.rb +17 -0
  148. data/lib/whop_sdk/partners/businesses/types/list_businesses_request.rb +2 -0
  149. data/lib/whop_sdk/partners/businesses/types/list_businesses_response_data_item_payout_percentages.rb +2 -0
  150. data/lib/whop_sdk/partners/businesses/types/retrieve_businesses_response_payout_percentages.rb +2 -0
  151. data/lib/whop_sdk/partners/client.rb +2 -0
  152. data/lib/whop_sdk/partners/types/referred_users_partners_request.rb +2 -0
  153. data/lib/whop_sdk/payment_quotes/types/create_payment_quotes_request_address.rb +5 -4
  154. data/lib/whop_sdk/payments/client.rb +3 -1
  155. data/lib/whop_sdk/payments/types/create_payments_request.rb +4 -0
  156. data/lib/whop_sdk/payouts/client.rb +4 -1
  157. data/lib/whop_sdk/payouts/methods/types/create_methods_request_recipient.rb +3 -3
  158. data/lib/whop_sdk/payouts/methods/types/create_methods_response_recipient.rb +2 -2
  159. data/lib/whop_sdk/payouts/methods/types/list_methods_response_data_item_recipient.rb +2 -2
  160. data/lib/whop_sdk/payouts/methods/types/list_methods_response_limits_standard_error_code.rb +0 -1
  161. data/lib/whop_sdk/payouts/methods/types/update_methods_response_recipient.rb +2 -2
  162. data/lib/whop_sdk/payouts/types/create_quote_payouts_response.rb +2 -0
  163. data/lib/whop_sdk/payouts/types/create_quote_payouts_response_recommended_method.rb +24 -0
  164. data/lib/whop_sdk/payouts/types/post_payout_method_created_payload_data_recipient.rb +2 -2
  165. data/lib/whop_sdk/payouts/types/retrieve_payouts_response.rb +11 -7
  166. data/lib/whop_sdk/payouts/types/retrieve_payouts_response_payout_method.rb +2 -1
  167. data/lib/whop_sdk/setup_intents/client.rb +4 -3
  168. data/lib/whop_sdk/social_accounts/client.rb +14 -19
  169. data/lib/whop_sdk/stats/client.rb +23 -8
  170. data/lib/whop_sdk/stats/reports/client.rb +128 -0
  171. data/lib/whop_sdk/stats/reports/types/list_reports_response.rb +13 -0
  172. data/lib/whop_sdk/stats/reports/types/list_reports_response_data_item.rb +25 -0
  173. data/lib/whop_sdk/stats/reports/types/list_reports_response_data_item_columns_item.rb +33 -0
  174. data/lib/whop_sdk/stats/reports/types/list_reports_response_data_item_columns_item_aggregate.rb +17 -0
  175. data/lib/whop_sdk/stats/reports/types/list_reports_response_data_item_columns_item_set.rb +16 -0
  176. data/lib/whop_sdk/stats/reports/types/list_reports_response_data_item_columns_item_type.rb +16 -0
  177. data/lib/whop_sdk/stats/reports/types/list_reports_response_data_item_columns_item_unit.rb +19 -0
  178. data/lib/whop_sdk/stats/reports/types/list_reports_response_data_item_window_kind.rb +16 -0
  179. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_request.rb +37 -0
  180. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_request_breakdown_by.rb +18 -0
  181. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_request_direction.rb +16 -0
  182. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_request_order.rb +25 -0
  183. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_response.rb +15 -0
  184. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_response_data.rb +21 -0
  185. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_response_data_columns_item.rb +23 -0
  186. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_response_data_columns_item_aggregate.rb +17 -0
  187. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_response_data_columns_item_type.rb +16 -0
  188. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_response_data_columns_item_unit.rb +19 -0
  189. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_response_data_reports_item.rb +15 -0
  190. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_response_data_reports_item_rows_item.rb +41 -0
  191. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_response_data_reports_item_rows_item_account_country.rb +15 -0
  192. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_response_data_reports_item_rows_item_business_type.rb +15 -0
  193. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_response_data_reports_item_rows_item_customer_country.rb +15 -0
  194. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_response_data_reports_item_rows_item_industry_type.rb +15 -0
  195. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_response_data_reports_item_window.rb +23 -0
  196. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_response_data_reports_item_window_kind.rb +15 -0
  197. data/lib/whop_sdk/stats/reports/types/platform_trends_reports_response_page_info.rb +19 -0
  198. data/lib/whop_sdk/stats/time_series/client.rb +250 -0
  199. data/lib/whop_sdk/stats/time_series/types/list_time_series_response.rb +13 -0
  200. data/lib/whop_sdk/stats/time_series/types/list_time_series_response_data_item.rb +25 -0
  201. data/lib/whop_sdk/stats/time_series/types/list_time_series_response_data_item_unit.rb +17 -0
  202. data/lib/whop_sdk/stats/time_series/types/retrieve_time_series_request.rb +153 -0
  203. data/lib/whop_sdk/stats/time_series/types/retrieve_time_series_request_event_type.rb +17 -0
  204. data/lib/whop_sdk/stats/time_series/types/retrieve_time_series_request_interval.rb +22 -0
  205. data/lib/whop_sdk/stats/time_series/types/retrieve_time_series_request_snapshot_window.rb +17 -0
  206. data/lib/whop_sdk/stats/time_series/types/retrieve_time_series_response.rb +13 -0
  207. data/lib/whop_sdk/stats/time_series/types/retrieve_time_series_response_data.rb +17 -0
  208. data/lib/whop_sdk/stats/time_series/types/retrieve_time_series_response_data_points_item.rb +19 -0
  209. data/lib/whop_sdk/stats/time_series/types/retrieve_time_series_response_data_points_item_breakdown_item.rb +17 -0
  210. data/lib/whop_sdk/stats/time_series/types/retrieve_time_series_response_data_totals_item.rb +21 -0
  211. data/lib/whop_sdk/stats/types/retrieve_stats_request.rb +8 -0
  212. data/lib/whop_sdk/team_members/client.rb +3 -2
  213. data/lib/whop_sdk/trades/client.rb +12 -106
  214. data/lib/whop_sdk/trades/types/create_trades_request.rb +4 -6
  215. data/lib/whop_sdk/trades/types/{create_trades_request_orders_item_side.rb → create_trades_request_type.rb} +2 -2
  216. data/lib/whop_sdk/trades/types/list_trades_request.rb +1 -1
  217. data/lib/whop_sdk/trades/types/list_trades_request_status.rb +2 -2
  218. data/lib/whop_sdk/trades/types/{create_trades_request_provider.rb → list_trades_request_type.rb} +3 -2
  219. data/lib/whop_sdk/transfers/types/create_transfers_response_claim_link.rb +13 -1
  220. data/lib/whop_sdk/transfers/types/create_transfers_response_claim_link_sender.rb +18 -0
  221. data/lib/whop_sdk/transfers/types/create_transfers_response_claim_link_sender_account.rb +17 -0
  222. data/lib/whop_sdk/transfers/types/create_transfers_response_claim_link_sender_user.rb +17 -0
  223. data/lib/whop_sdk/types/account_economic_intelligence_offer.rb +2 -0
  224. data/lib/whop_sdk/types/account_economic_intelligence_offer_key.rb +1 -0
  225. data/lib/whop_sdk/types/account_economic_intelligence_previous_period.rb +11 -0
  226. data/lib/whop_sdk/types/account_fee_region.rb +1 -0
  227. data/lib/whop_sdk/types/account_payment_controls_undated_pending_reason.rb +2 -0
  228. data/lib/whop_sdk/types/account_preferences.rb +11 -1
  229. data/lib/whop_sdk/types/account_preferences_preferred_settlement_currency.rb +15 -0
  230. data/lib/whop_sdk/types/account_required_action_action.rb +0 -1
  231. data/lib/whop_sdk/types/ad.rb +2 -2
  232. data/lib/whop_sdk/types/ad_campaign.rb +2 -0
  233. data/lib/whop_sdk/types/{trade_instrument_type.rb → ad_campaign_campaign_type.rb} +3 -2
  234. data/lib/whop_sdk/types/ad_group.rb +4 -0
  235. data/lib/whop_sdk/types/ad_group_keyword.rb +13 -0
  236. data/lib/whop_sdk/types/{trade_leverage_margin_mode.rb → ad_group_keyword_match_type.rb} +4 -3
  237. data/lib/whop_sdk/types/ad_group_learning_progress.rb +13 -0
  238. data/lib/whop_sdk/types/ad_platform_issue.rb +4 -0
  239. data/lib/whop_sdk/types/ad_platform_issue_category.rb +13 -0
  240. data/lib/whop_sdk/types/api_key_api_version_date.rb +9 -0
  241. data/lib/whop_sdk/types/app.rb +2 -0
  242. data/lib/whop_sdk/types/app_domain_status.rb +4 -5
  243. data/lib/whop_sdk/types/audience_engagement_facebook_page_rule.rb +2 -2
  244. data/lib/whop_sdk/types/audience_engagement_instagram_profile_rule.rb +2 -2
  245. data/lib/whop_sdk/types/audience_engagement_lead_form_rule.rb +2 -2
  246. data/lib/whop_sdk/types/audience_engagement_video_rule.rb +2 -2
  247. data/lib/whop_sdk/types/dispute.rb +2 -0
  248. data/lib/whop_sdk/types/dispute_alert.rb +2 -0
  249. data/lib/whop_sdk/types/domain.rb +6 -14
  250. data/lib/whop_sdk/types/{domain_registration_quote.rb → domain_availability.rb} +1 -3
  251. data/lib/whop_sdk/types/domain_issue.rb +5 -1
  252. data/lib/whop_sdk/types/domain_issue_capability.rb +13 -0
  253. data/lib/whop_sdk/types/domain_issue_code.rb +29 -0
  254. data/lib/whop_sdk/types/domain_list_item.rb +6 -14
  255. data/lib/whop_sdk/types/domain_list_item_status.rb +4 -5
  256. data/lib/whop_sdk/types/domain_owner.rb +15 -0
  257. data/lib/whop_sdk/types/domain_registration.rb +21 -0
  258. data/lib/whop_sdk/types/domain_registration_phase.rb +17 -0
  259. data/lib/whop_sdk/types/domain_registration_state.rb +14 -0
  260. data/lib/whop_sdk/types/domain_status.rb +4 -5
  261. data/lib/whop_sdk/types/domain_verification.rb +11 -0
  262. data/lib/whop_sdk/types/domain_verification_state.rb +14 -0
  263. data/lib/whop_sdk/types/domain_website.rb +11 -0
  264. data/lib/whop_sdk/types/domain_website_state.rb +14 -0
  265. data/lib/whop_sdk/types/export_resource.rb +1 -1
  266. data/lib/whop_sdk/types/external_account.rb +31 -0
  267. data/lib/whop_sdk/types/external_account_lead_form.rb +31 -0
  268. data/lib/whop_sdk/types/{trade_cancellation_result_status.rb → external_account_lead_form_form_type.rb} +3 -3
  269. data/lib/whop_sdk/types/external_account_parent.rb +21 -0
  270. data/lib/whop_sdk/types/external_account_parent_platform.rb +17 -0
  271. data/lib/whop_sdk/types/{domain_dns_status.rb → external_account_partnership_status.rb} +3 -4
  272. data/lib/whop_sdk/types/external_account_platform.rb +17 -0
  273. data/lib/whop_sdk/types/external_account_post.rb +25 -0
  274. data/lib/whop_sdk/types/external_account_post_call_to_action.rb +41 -0
  275. data/lib/whop_sdk/types/external_account_post_restrictions_item.rb +16 -0
  276. data/lib/whop_sdk/types/ledger_activity_line_type.rb +2 -0
  277. data/lib/whop_sdk/types/membership.rb +2 -0
  278. data/lib/whop_sdk/types/membership_affiliate.rb +21 -0
  279. data/lib/whop_sdk/types/membership_affiliate_applies_to_payments.rb +12 -0
  280. data/lib/whop_sdk/types/{trade_order_result_object.rb → membership_affiliate_commission_type.rb} +3 -2
  281. data/lib/whop_sdk/types/partner_payout_rate_income_source.rb +1 -0
  282. data/lib/whop_sdk/types/partner_referral_request.rb +2 -0
  283. data/lib/whop_sdk/types/payment.rb +2 -0
  284. data/lib/whop_sdk/types/payment_method_types.rb +1 -0
  285. data/lib/whop_sdk/types/permission_action.rb +2 -0
  286. data/lib/whop_sdk/types/retrieve_time_series_request_steps.rb +27 -0
  287. data/lib/whop_sdk/types/trade.rb +11 -15
  288. data/lib/whop_sdk/types/trade_failure_code.rb +13 -3
  289. data/lib/whop_sdk/types/{domain_list_item_dns_status.rb → trade_funds_location.rb} +3 -4
  290. data/lib/whop_sdk/types/trade_status.rb +2 -2
  291. data/lib/whop_sdk/types/trade_status_detail.rb +14 -0
  292. data/lib/whop_sdk/types/{trade_order_result_side.rb → trade_type.rb} +2 -2
  293. data/lib/whop_sdk/types/trading_account.rb +0 -4
  294. data/lib/whop_sdk/types/trading_hyperliquid_account.rb +0 -4
  295. data/lib/whop_sdk/types/user.rb +4 -2
  296. data/lib/whop_sdk/types/webhook_event.rb +1 -0
  297. data/lib/whop_sdk/types/webhook_events_item.rb +1 -0
  298. data/lib/whop_sdk/types/webhook_list_item_events_item.rb +1 -0
  299. data/lib/whop_sdk/types/webhook_testable_events_item.rb +1 -0
  300. data/lib/whop_sdk/users/oauth_grants/types/create_oauth_grants_request.rb +2 -0
  301. data/lib/whop_sdk/users/oauth_grants/types/create_oauth_grants_request_mcp_client.rb +20 -0
  302. data/lib/whop_sdk/variants/client.rb +19 -2
  303. data/lib/whop_sdk/variants/types/list_variants_request.rb +4 -0
  304. data/lib/whop_sdk/variants/types/retrieve_variants_request.rb +4 -0
  305. data/lib/whop_sdk/version.rb +1 -1
  306. data/lib/whop_sdk/webhooks/client.rb +2 -2
  307. data/lib/whop_sdk/webhooks/types/create_webhooks_request_events_item.rb +1 -0
  308. data/lib/whop_sdk/webhooks/types/list_webhooks_request.rb +1 -1
  309. data/lib/whop_sdk/webhooks/types/update_webhooks_request_events_item.rb +1 -0
  310. data/lib/whop_sdk.rb +187 -53
  311. data/reference.md +5195 -2961
  312. metadata +174 -40
  313. data/lib/whop_sdk/trades/types/cancel_trades_request.rb +0 -13
  314. data/lib/whop_sdk/trades/types/create_trades_request_orders_item.rb +0 -31
  315. data/lib/whop_sdk/trades/types/create_trades_request_orders_item_order_type.rb +0 -16
  316. data/lib/whop_sdk/trades/types/create_trades_request_orders_item_stop_loss.rb +0 -13
  317. data/lib/whop_sdk/trades/types/create_trades_request_orders_item_take_profit.rb +0 -13
  318. data/lib/whop_sdk/trades/types/create_trades_request_orders_item_time_in_force.rb +0 -15
  319. data/lib/whop_sdk/trades/types/list_trades_request_operation_type.rb +0 -15
  320. data/lib/whop_sdk/trades/types/update_leverage_trades_request.rb +0 -21
  321. data/lib/whop_sdk/types/trade_cancellation_result.rb +0 -13
  322. data/lib/whop_sdk/types/trade_hyperliquid.rb +0 -9
  323. data/lib/whop_sdk/types/trade_leverage.rb +0 -13
  324. data/lib/whop_sdk/types/trade_operation_type.rb +0 -13
  325. data/lib/whop_sdk/types/trade_order_result.rb +0 -37
  326. data/lib/whop_sdk/types/trade_order_result_order_type.rb +0 -14
  327. data/lib/whop_sdk/types/trade_order_result_status.rb +0 -13
  328. data/lib/whop_sdk/types/trade_provider.rb +0 -11
  329. data/lib/whop_sdk/types/trade_requested_order.rb +0 -23
  330. data/lib/whop_sdk/types/trade_requested_order_order_type.rb +0 -14
  331. data/lib/whop_sdk/types/trade_requested_order_side.rb +0 -12
@@ -14,7 +14,7 @@ module Whop_sdk
14
14
  @environment = environment
15
15
  end
16
16
 
17
- # Lists your domains. Filter by account, app, or status.
17
+ # Lists your domains. Filter by account, app, status, hostname, or the state of a capability.
18
18
  #
19
19
  # Pass `search` to find domains to buy instead: the exact domain first, even when taken, then your name on popular
20
20
  # extensions, then suggestions. Pass `tlds` to check only the extensions you choose. Results aren't reserved.
@@ -37,6 +37,10 @@ module Whop_sdk
37
37
  # @option params [String, nil] :before
38
38
  # @option params [String, nil] :search
39
39
  # @option params [String, nil] :tlds
40
+ # @option params [String, nil] :domain
41
+ # @option params [String, nil] :verification
42
+ # @option params [String, nil] :registration
43
+ # @option params [String, nil] :website
40
44
  #
41
45
  # @example
42
46
  # client.domains.list(tlds: ["com"])
@@ -56,6 +60,10 @@ module Whop_sdk
56
60
  query_params["before"] = params[:before] if params.key?(:before)
57
61
  query_params["search"] = params[:search] if params.key?(:search)
58
62
  query_params["tlds"] = params[:tlds] if params.key?(:tlds)
63
+ query_params["domain"] = params[:domain] if params.key?(:domain)
64
+ query_params["verification"] = params[:verification] if params.key?(:verification)
65
+ query_params["registration"] = params[:registration] if params.key?(:registration)
66
+ query_params["website"] = params[:website] if params.key?(:website)
59
67
 
60
68
  Whop_sdk::Internal::CursorItemIterator.new(
61
69
  cursor_field: :end_cursor,
@@ -86,8 +94,17 @@ module Whop_sdk
86
94
  end
87
95
  end
88
96
 
89
- # Claims a hostname for an app and returns the DNS records to publish. Verification and certificate setup run
90
- # automatically, and unverified claims are deleted after 48 hours. A claim doesn't reserve the hostname.
97
+ # Adds a domain to your account with the capabilities you want.
98
+ #
99
+ # Pass `registration` to buy the domain through Whop; it's the default when you pass no capability. Pay its
100
+ # `amount_due` at `purchase_url`, or pass `registration.payment_method_id` to charge a saved card. Whop then
101
+ # registers it, runs its DNS, and renews it every year while `auto_renew` is on.
102
+ #
103
+ # Pass `verification` to connect a domain you registered elsewhere: its `issues` list the TXT and routing records
104
+ # to publish. Pass `website` with an `app_id` to serve that app on the domain.
105
+ #
106
+ # To change a domain you already have, update it instead. Adding a domain this account deleted revives it under
107
+ # its original ID.
91
108
  #
92
109
  # @param request_options [Hash]
93
110
  # @param params [Whop_sdk::Domains::Types::CreateDomainsRequest]
@@ -98,10 +115,7 @@ module Whop_sdk
98
115
  # @option request_options [Integer] :timeout_in_seconds
99
116
  #
100
117
  # @example
101
- # client.domains.create(
102
- # app_id: "app_xxxxxxxxxxxxxx",
103
- # domain: "store.example.com"
104
- # )
118
+ # client.domains.create(domain: "store.example.com")
105
119
  #
106
120
  # @return [Whop_sdk::Types::Domain]
107
121
  def create(request_options: {}, **params)
@@ -127,11 +141,10 @@ module Whop_sdk
127
141
  end
128
142
  end
129
143
 
130
- # Retrieves a domain's claim, app assignment, DNS records, and hostname and certificate status, and starts a
131
- # background check if it isn't active yet.
144
+ # Retrieves a domain by ID or hostname. Both return the same domain, shown as fully as you can see it: everything
145
+ # for your own accounts, and only who has it and what it serves for anyone else.
132
146
  #
133
- # Pass a hostname instead of an ID to look up any domain, with its `registration_quote` and, if registered, its
134
- # `public_record`.
147
+ # A hostname no domain on Whop has comes back with its `availability` instead.
135
148
  #
136
149
  # @param request_options [Hash]
137
150
  # @param params [Hash]
@@ -168,8 +181,9 @@ module Whop_sdk
168
181
  end
169
182
  end
170
183
 
171
- # Stops routing the domain to its app and starts cleanup. It returns as `deleting`; retrieve it until it's
172
- # `removed`.
184
+ # Removes the domain from your account and releases its capabilities in the background. Deleting an unpaid
185
+ # purchase cancels it. A registered domain can't be deleted; turn off `auto_renew` and it's released after it
186
+ # expires. Adding the domain to this account again revives it under the same ID.
173
187
  #
174
188
  # @param request_options [Hash]
175
189
  # @param params [Hash]
@@ -206,8 +220,9 @@ module Whop_sdk
206
220
  end
207
221
  end
208
222
 
209
- # Reassigns a domain to another app in the same account or replaces its metadata. The hostname and owning account
210
- # cannot be edited.
223
+ # Changes a domain's capabilities or metadata. Pass a capability to add it or change its settings, or `null` to
224
+ # release it; capabilities you leave out don't change. Passing a capability that needs action again retries it.
225
+ # Releasing every capability keeps the domain, `idle`; delete it to remove it.
211
226
  #
212
227
  # @param request_options [Hash]
213
228
  # @param params [Whop_sdk::Domains::Types::UpdateDomainsRequest]
@@ -248,6 +263,44 @@ module Whop_sdk
248
263
  raise error_class.new(response.body, code: code)
249
264
  end
250
265
  end
266
+
267
+ # Checks the domain's DNS, payment, and provider state again now instead of at its next scheduled check. Returns
268
+ # the domain as saved; retrieve it again to see the result.
269
+ #
270
+ # @param request_options [Hash]
271
+ # @param params [Hash]
272
+ # @option request_options [String] :base_url
273
+ # @option request_options [Hash{String => Object}] :additional_headers
274
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
275
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
276
+ # @option request_options [Integer] :timeout_in_seconds
277
+ # @option params [String] :id
278
+ #
279
+ # @example
280
+ # client.domains.check(id: "id")
281
+ #
282
+ # @return [Whop_sdk::Types::Domain]
283
+ def check(request_options: {}, **params)
284
+ params = Whop_sdk::Internal::Types::Utils.normalize_keys(params)
285
+ request = Whop_sdk::Internal::JSON::Request.new(
286
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
287
+ method: "POST",
288
+ path: "domains/#{URI.encode_uri_component(params[:id].to_s)}/check",
289
+ request_options: request_options
290
+ )
291
+ begin
292
+ response = @client.send(request)
293
+ rescue Net::HTTPRequestTimeout
294
+ raise Whop_sdk::Errors::TimeoutError
295
+ end
296
+ code = response.code.to_i
297
+ if code.between?(200, 299)
298
+ (response.body.to_s.empty? ? nil : Whop_sdk::Types::Domain.load(response.body))
299
+ else
300
+ error_class = Whop_sdk::Errors::ResponseError.subclass_for_code(code)
301
+ raise error_class.new(response.body, code: code)
302
+ end
303
+ end
251
304
  end
252
305
  end
253
306
  end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Domains
5
+ module Types
6
+ class CheckDomainsRequest < Internal::Types::Model
7
+ field :id, -> { String }, optional: false, nullable: false
8
+ end
9
+ end
10
+ end
11
+ end
@@ -6,13 +6,15 @@ module Whop_sdk
6
6
  class CreateDomainsRequest < Internal::Types::Model
7
7
  field :account_id, -> { String }, optional: true, nullable: false
8
8
 
9
- field :app_id, -> { String }, optional: false, nullable: false
10
-
11
9
  field :domain, -> { String }, optional: false, nullable: false
12
10
 
13
11
  field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false
14
12
 
15
- field :replace_existing, -> { Internal::Types::Boolean }, optional: true, nullable: false
13
+ field :registration, -> { Whop_sdk::Domains::Types::CreateDomainsRequestRegistration }, optional: true, nullable: false
14
+
15
+ field :verification, -> { Whop_sdk::Domains::Types::CreateDomainsRequestVerification }, optional: true, nullable: false
16
+
17
+ field :website, -> { Whop_sdk::Domains::Types::CreateDomainsRequestWebsite }, optional: true, nullable: false
16
18
  end
17
19
  end
18
20
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Domains
5
+ module Types
6
+ # Buy the domain through Whop, renew it every year, and let Whop run its DNS. Pass `null` to release an unpaid or
7
+ # failed purchase.
8
+ class CreateDomainsRequestRegistration < Internal::Types::Model
9
+ field :auto_renew, -> { Internal::Types::Boolean }, optional: true, nullable: false
10
+
11
+ field :payment_method_id, -> { String }, optional: true, nullable: false
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Domains
5
+ module Types
6
+ # Prove you control the domain's DNS: Whop returns a TXT record to publish in `issues`, and whoever publishes it
7
+ # owns the domain on Whop. Pass `null` to release it. Can't be combined with `registration`.
8
+ class CreateDomainsRequestVerification < Internal::Types::Model; end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Domains
5
+ module Types
6
+ # Serve a Whop website on the domain. Pass `null` to stop serving it; the domain keeps its other capabilities.
7
+ class CreateDomainsRequestWebsite < Internal::Types::Model
8
+ field :app_id, -> { String }, optional: true, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
@@ -25,6 +25,14 @@ module Whop_sdk
25
25
  field :search, -> { String }, optional: true, nullable: false
26
26
 
27
27
  field :tlds, -> { String }, optional: true, nullable: false
28
+
29
+ field :domain, -> { String }, optional: true, nullable: false
30
+
31
+ field :verification, -> { String }, optional: true, nullable: false
32
+
33
+ field :registration, -> { String }, optional: true, nullable: false
34
+
35
+ field :website, -> { String }, optional: true, nullable: false
28
36
  end
29
37
  end
30
38
  end
@@ -6,12 +6,11 @@ module Whop_sdk
6
6
  module ListDomainsRequestStatus
7
7
  extend Whop_sdk::Internal::Types::Enum
8
8
 
9
- PENDING_VERIFICATION = "pending_verification"
10
- PROVISIONING = "provisioning"
11
- ACTIVE = "active"
9
+ IDLE = "idle"
10
+ PENDING = "pending"
11
+ READY = "ready"
12
12
  ACTION_REQUIRED = "action_required"
13
- DELETING = "deleting"
14
- REMOVED = "removed"
13
+ RELEASING = "releasing"
15
14
  end
16
15
  end
17
16
  end
@@ -6,9 +6,13 @@ module Whop_sdk
6
6
  class UpdateDomainsRequest < Internal::Types::Model
7
7
  field :id, -> { String }, optional: false, nullable: false
8
8
 
9
- field :app_id, -> { String }, optional: true, nullable: false
10
-
11
9
  field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false
10
+
11
+ field :registration, -> { Whop_sdk::Domains::Types::UpdateDomainsRequestRegistration }, optional: true, nullable: false
12
+
13
+ field :verification, -> { Whop_sdk::Domains::Types::UpdateDomainsRequestVerification }, optional: true, nullable: false
14
+
15
+ field :website, -> { Whop_sdk::Domains::Types::UpdateDomainsRequestWebsite }, optional: true, nullable: false
12
16
  end
13
17
  end
14
18
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Domains
5
+ module Types
6
+ # Buy the domain through Whop, renew it every year, and let Whop run its DNS. Pass `null` to release an unpaid or
7
+ # failed purchase.
8
+ class UpdateDomainsRequestRegistration < Internal::Types::Model
9
+ field :auto_renew, -> { Internal::Types::Boolean }, optional: true, nullable: false
10
+
11
+ field :payment_method_id, -> { String }, optional: true, nullable: false
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Domains
5
+ module Types
6
+ # Prove you control the domain's DNS: Whop returns a TXT record to publish in `issues`, and whoever publishes it
7
+ # owns the domain on Whop. Pass `null` to release it. Can't be combined with `registration`.
8
+ class UpdateDomainsRequestVerification < Internal::Types::Model; end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Domains
5
+ module Types
6
+ # Serve a Whop website on the domain. Pass `null` to stop serving it; the domain keeps its other capabilities.
7
+ class UpdateDomainsRequestWebsite < Internal::Types::Model
8
+ field :app_id, -> { String }, optional: true, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
@@ -17,7 +17,9 @@ module Whop_sdk
17
17
  # Lists an account's recommendations and generation requests, newest first by default. Without an account,
18
18
  # signed-out visitors receive a business-setup template and eligible users receive their saved setup
19
19
  # recommendation. With `has_run` and no account, users receive the recommendations run on every account they can
20
- # read.
20
+ # read that has Economic Intelligence. An account's executed recommendations and runs stay listed after Economic
21
+ # Intelligence turns off. New recommendations are offered only while it is on. Visitor countries, page views, ad
22
+ # impressions and clicks, and payment volume for a time range come from `GET /stats/time_series/{metric}`.
21
23
  #
22
24
  # @param request_options [Hash]
23
25
  # @param params [Hash]
@@ -17,6 +17,7 @@ module Whop_sdk
17
17
  CHECKOUT_CONFIGURATIONS = "checkout_configurations"
18
18
  DISPUTES = "disputes"
19
19
  EVENTS = "events"
20
+ EXTERNAL_ACCOUNTS = "external_accounts"
20
21
  FINANCIAL_ACTIVITY = "financial-activity"
21
22
  PAYOUT_METHODS = "payout_methods"
22
23
  PAYOUTS = "payouts"
@@ -38,7 +39,6 @@ module Whop_sdk
38
39
  RESOLUTIONS = "resolutions"
39
40
  ENTRIES = "entries"
40
41
  LEADS = "leads"
41
- CONTENT_REWARDS_SUBMISSIONS = "content_rewards_submissions"
42
42
  INVOICES = "invoices"
43
43
  CANCELATION_REASONS = "cancelation_reasons"
44
44
  CHILD_COMPANIES = "child_companies"
@@ -17,6 +17,7 @@ module Whop_sdk
17
17
  CHECKOUT_CONFIGURATIONS = "checkout_configurations"
18
18
  DISPUTES = "disputes"
19
19
  EVENTS = "events"
20
+ EXTERNAL_ACCOUNTS = "external_accounts"
20
21
  FINANCIAL_ACTIVITY = "financial-activity"
21
22
  PAYOUT_METHODS = "payout_methods"
22
23
  PAYOUTS = "payouts"
@@ -38,7 +39,6 @@ module Whop_sdk
38
39
  RESOLUTIONS = "resolutions"
39
40
  ENTRIES = "entries"
40
41
  LEADS = "leads"
41
- CONTENT_REWARDS_SUBMISSIONS = "content_rewards_submissions"
42
42
  INVOICES = "invoices"
43
43
  CANCELATION_REASONS = "cancelation_reasons"
44
44
  CHILD_COMPANIES = "child_companies"
@@ -0,0 +1,271 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module ExternalAccounts
5
+ class Client
6
+ # @param client [Whop_sdk::Internal::Http::RawClient]
7
+ # @param base_url [String, nil]
8
+ # @param environment [Hash[Symbol, String], nil]
9
+ #
10
+ # @return [void]
11
+ def initialize(client:, base_url: nil, environment: nil)
12
+ @client = client
13
+ @base_url = base_url
14
+ @environment = environment
15
+ end
16
+
17
+ # Lists the external accounts linked to an account or user.
18
+ #
19
+ # @param request_options [Hash]
20
+ # @param params [Hash]
21
+ # @option request_options [String] :base_url
22
+ # @option request_options [Hash{String => Object}] :additional_headers
23
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
24
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
25
+ # @option request_options [Integer] :timeout_in_seconds
26
+ # @option params [String, nil] :account_id
27
+ # @option params [String, nil] :user_id
28
+ # @option params [Whop_sdk::ExternalAccounts::Types::ListExternalAccountsRequestPlatform, nil] :platform
29
+ # @option params [Whop_sdk::ExternalAccounts::Types::ListExternalAccountsRequestTrustLevel, nil] :trust_level
30
+ # @option params [Boolean, nil] :verified
31
+ # @option params [Whop_sdk::ExternalAccounts::Types::ListExternalAccountsRequestScopesItem, nil] :scopes
32
+ # @option params [Integer, nil] :first
33
+ # @option params [String, nil] :after
34
+ # @option params [Integer, nil] :last
35
+ # @option params [String, nil] :before
36
+ # @option params [Whop_sdk::ExternalAccounts::Types::ListExternalAccountsRequestOrder, nil] :order
37
+ # @option params [Whop_sdk::ExternalAccounts::Types::ListExternalAccountsRequestDirection, nil] :direction
38
+ #
39
+ # @example
40
+ # client.external_accounts.list
41
+ #
42
+ # @return [Whop_sdk::ExternalAccounts::Types::ListExternalAccountsResponse]
43
+ def list(request_options: {}, **params)
44
+ params = Whop_sdk::Internal::Types::Utils.normalize_keys(params)
45
+ query_params = {}
46
+ query_params["account_id"] = params[:account_id] if params.key?(:account_id)
47
+ query_params["user_id"] = params[:user_id] if params.key?(:user_id)
48
+ query_params["platform"] = params[:platform] if params.key?(:platform)
49
+ query_params["trust_level"] = params[:trust_level] if params.key?(:trust_level)
50
+ query_params["verified"] = params[:verified] if params.key?(:verified)
51
+ query_params["scopes"] = params[:scopes] if params.key?(:scopes)
52
+ query_params["first"] = params[:first] if params.key?(:first)
53
+ query_params["after"] = params[:after] if params.key?(:after)
54
+ query_params["last"] = params[:last] if params.key?(:last)
55
+ query_params["before"] = params[:before] if params.key?(:before)
56
+ query_params["order"] = params[:order] if params.key?(:order)
57
+ query_params["direction"] = params[:direction] if params.key?(:direction)
58
+
59
+ Whop_sdk::Internal::CursorItemIterator.new(
60
+ cursor_field: :end_cursor,
61
+ item_field: :data,
62
+ initial_cursor: query_params["after"]
63
+ ) do |next_cursor|
64
+ query_params["after"] = next_cursor
65
+ request = Whop_sdk::Internal::JSON::Request.new(
66
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
67
+ method: "GET",
68
+ path: "external_accounts",
69
+ query: query_params,
70
+ request_options: request_options
71
+ )
72
+ begin
73
+ response = @client.send(request)
74
+ rescue Net::HTTPRequestTimeout
75
+ raise Whop_sdk::Errors::TimeoutError
76
+ end
77
+ code = response.code.to_i
78
+ if code.between?(200, 299)
79
+ parsed_response = (response.body.to_s.empty? ? nil : Whop_sdk::ExternalAccounts::Types::ListExternalAccountsResponse.load(response.body))
80
+ [parsed_response, response]
81
+ else
82
+ error_class = Whop_sdk::Errors::ResponseError.subclass_for_code(code)
83
+ raise error_class.new(response.body, code: code)
84
+ end
85
+ end
86
+ end
87
+
88
+ # Creates or returns a Whop-managed Facebook page or TikTok account for an account.
89
+ #
90
+ # @param request_options [Hash]
91
+ # @param params [Whop_sdk::ExternalAccounts::Types::CreateExternalAccountsRequest]
92
+ # @option request_options [String] :base_url
93
+ # @option request_options [Hash{String => Object}] :additional_headers
94
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
95
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
96
+ # @option request_options [Integer] :timeout_in_seconds
97
+ #
98
+ # @example
99
+ # client.external_accounts.create(platform: "facebook")
100
+ #
101
+ # @return [Whop_sdk::Types::ExternalAccount]
102
+ def create(request_options: {}, **params)
103
+ params = Whop_sdk::Internal::Types::Utils.normalize_keys(params)
104
+ request = Whop_sdk::Internal::JSON::Request.new(
105
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
106
+ method: "POST",
107
+ path: "external_accounts",
108
+ body: Whop_sdk::ExternalAccounts::Types::CreateExternalAccountsRequest.new(params).to_h,
109
+ request_options: request_options
110
+ )
111
+ begin
112
+ response = @client.send(request)
113
+ rescue Net::HTTPRequestTimeout
114
+ raise Whop_sdk::Errors::TimeoutError
115
+ end
116
+ code = response.code.to_i
117
+ if code.between?(200, 299)
118
+ (response.body.to_s.empty? ? nil : Whop_sdk::Types::ExternalAccount.load(response.body))
119
+ else
120
+ error_class = Whop_sdk::Errors::ResponseError.subclass_for_code(code)
121
+ raise error_class.new(response.body, code: code)
122
+ end
123
+ end
124
+
125
+ # Starts an OAuth connection flow and returns an authorize_url where the user can connect an external account.
126
+ # LinkedIn supports personal profiles only, with scopes omitted. TikTok connects the authenticated user’s profile
127
+ # when scopes are omitted or company advertising assets with advertise. Meta Business and Snapchat support
128
+ # advertising connections only and require advertise. Personal profile connections must be completed in a browser
129
+ # signed in as the initiating Whop user.
130
+ #
131
+ # @param request_options [Hash]
132
+ # @param params [Whop_sdk::ExternalAccounts::Types::ConnectExternalAccountsRequest]
133
+ # @option request_options [String] :base_url
134
+ # @option request_options [Hash{String => Object}] :additional_headers
135
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
136
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
137
+ # @option request_options [Integer] :timeout_in_seconds
138
+ #
139
+ # @example
140
+ # client.external_accounts.connect(
141
+ # platform: "meta_business",
142
+ # redirect_url: "https://example.com/settings/social-accounts"
143
+ # )
144
+ #
145
+ # @return [Whop_sdk::ExternalAccounts::Types::ConnectExternalAccountsResponse]
146
+ def connect(request_options: {}, **params)
147
+ params = Whop_sdk::Internal::Types::Utils.normalize_keys(params)
148
+ request = Whop_sdk::Internal::JSON::Request.new(
149
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
150
+ method: "POST",
151
+ path: "external_accounts/connect",
152
+ body: Whop_sdk::ExternalAccounts::Types::ConnectExternalAccountsRequest.new(params).to_h,
153
+ request_options: request_options
154
+ )
155
+ begin
156
+ response = @client.send(request)
157
+ rescue Net::HTTPRequestTimeout
158
+ raise Whop_sdk::Errors::TimeoutError
159
+ end
160
+ code = response.code.to_i
161
+ if code.between?(200, 299)
162
+ (response.body.to_s.empty? ? nil : Whop_sdk::ExternalAccounts::Types::ConnectExternalAccountsResponse.load(response.body))
163
+ else
164
+ error_class = Whop_sdk::Errors::ResponseError.subclass_for_code(code)
165
+ raise error_class.new(response.body, code: code)
166
+ end
167
+ end
168
+
169
+ # Disconnects an external account from an account or user without deleting the underlying platform account.
170
+ #
171
+ # @param request_options [Hash]
172
+ # @param params [Hash]
173
+ # @option request_options [String] :base_url
174
+ # @option request_options [Hash{String => Object}] :additional_headers
175
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
176
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
177
+ # @option request_options [Integer] :timeout_in_seconds
178
+ # @option params [String] :id
179
+ # @option params [String, nil] :account_id
180
+ # @option params [String, nil] :user_id
181
+ #
182
+ # @example
183
+ # client.external_accounts.delete(id: "id")
184
+ #
185
+ # @return [Whop_sdk::ExternalAccounts::Types::DeleteExternalAccountsResponse]
186
+ def delete(request_options: {}, **params)
187
+ params = Whop_sdk::Internal::Types::Utils.normalize_keys(params)
188
+ query_params = {}
189
+ query_params["account_id"] = params[:account_id] if params.key?(:account_id)
190
+ query_params["user_id"] = params[:user_id] if params.key?(:user_id)
191
+
192
+ request = Whop_sdk::Internal::JSON::Request.new(
193
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
194
+ method: "DELETE",
195
+ path: "external_accounts/#{URI.encode_uri_component(params[:id].to_s)}",
196
+ query: query_params,
197
+ request_options: request_options
198
+ )
199
+ begin
200
+ response = @client.send(request)
201
+ rescue Net::HTTPRequestTimeout
202
+ raise Whop_sdk::Errors::TimeoutError
203
+ end
204
+ code = response.code.to_i
205
+ if code.between?(200, 299)
206
+ (response.body.to_s.empty? ? nil : Whop_sdk::ExternalAccounts::Types::DeleteExternalAccountsResponse.load(response.body))
207
+ else
208
+ error_class = Whop_sdk::Errors::ResponseError.subclass_for_code(code)
209
+ raise error_class.new(response.body, code: code)
210
+ end
211
+ end
212
+
213
+ # Refreshes the state of an external account. Use it to clear an `error` that has been resolved.
214
+ #
215
+ # @param request_options [Hash]
216
+ # @param params [Whop_sdk::ExternalAccounts::Types::RefreshExternalAccountsRequest]
217
+ # @option request_options [String] :base_url
218
+ # @option request_options [Hash{String => Object}] :additional_headers
219
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
220
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
221
+ # @option request_options [Integer] :timeout_in_seconds
222
+ # @option params [String] :id
223
+ #
224
+ # @example
225
+ # client.external_accounts.refresh(id: "id")
226
+ #
227
+ # @return [Whop_sdk::Types::ExternalAccount]
228
+ def refresh(request_options: {}, **params)
229
+ params = Whop_sdk::Internal::Types::Utils.normalize_keys(params)
230
+ request_data = Whop_sdk::ExternalAccounts::Types::RefreshExternalAccountsRequest.new(params).to_h
231
+ non_body_param_names = %w[id]
232
+ body = request_data.except(*non_body_param_names)
233
+
234
+ request = Whop_sdk::Internal::JSON::Request.new(
235
+ base_url: request_options[:base_url] || @base_url || @environment&.dig(:api),
236
+ method: "POST",
237
+ path: "external_accounts/#{URI.encode_uri_component(params[:id].to_s)}/refresh",
238
+ body: body,
239
+ request_options: request_options
240
+ )
241
+ begin
242
+ response = @client.send(request)
243
+ rescue Net::HTTPRequestTimeout
244
+ raise Whop_sdk::Errors::TimeoutError
245
+ end
246
+ code = response.code.to_i
247
+ if code.between?(200, 299)
248
+ (response.body.to_s.empty? ? nil : Whop_sdk::Types::ExternalAccount.load(response.body))
249
+ else
250
+ error_class = Whop_sdk::Errors::ResponseError.subclass_for_code(code)
251
+ raise error_class.new(response.body, code: code)
252
+ end
253
+ end
254
+
255
+ # @return [Whop_sdk::Partners::Client]
256
+ def partners
257
+ @partners ||= Whop_sdk::ExternalAccounts::Partners::Client.new(client: @client, base_url: @base_url, environment: @environment)
258
+ end
259
+
260
+ # @return [Whop_sdk::LeadForms::Client]
261
+ def lead_forms
262
+ @lead_forms ||= Whop_sdk::ExternalAccounts::LeadForms::Client.new(client: @client, base_url: @base_url, environment: @environment)
263
+ end
264
+
265
+ # @return [Whop_sdk::Posts::Client]
266
+ def posts
267
+ @posts ||= Whop_sdk::ExternalAccounts::Posts::Client.new(client: @client, base_url: @base_url, environment: @environment)
268
+ end
269
+ end
270
+ end
271
+ end