whop_sdk 2.4.0 → 2.5.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 (289) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +3 -3
  3. data/.fern/replay.lock +313 -1
  4. data/lib/whop_sdk/access_tokens/client.rb +2 -3
  5. data/lib/whop_sdk/account_links/client.rb +2 -2
  6. data/lib/whop_sdk/accounts/client.rb +8 -19
  7. data/lib/whop_sdk/accounts/fees/client.rb +5 -6
  8. data/lib/whop_sdk/accounts/financing_applications/client.rb +18 -24
  9. data/lib/whop_sdk/accounts/financing_applications/types/update_financing_applications_request_answers_item_money.rb +1 -0
  10. data/lib/whop_sdk/accounts/preferences/client.rb +1 -0
  11. data/lib/whop_sdk/accounts/preferences/types/retrieve_preferences_response.rb +2 -0
  12. data/lib/whop_sdk/accounts/preferences/types/retrieve_preferences_response_feedback_options_item.rb +17 -0
  13. data/lib/whop_sdk/accounts/preferences/types/retrieve_preferences_response_feedback_options_item_category.rb +21 -0
  14. data/lib/whop_sdk/accounts/preferences/types/update_preferences_request.rb +2 -0
  15. data/lib/whop_sdk/accounts/preferences/types/update_preferences_request_feedback_options_item.rb +17 -0
  16. data/lib/whop_sdk/accounts/preferences/types/update_preferences_request_feedback_options_item_category.rb +21 -0
  17. data/lib/whop_sdk/accounts/preferences/types/update_preferences_response.rb +2 -0
  18. data/lib/whop_sdk/accounts/preferences/types/update_preferences_response_feedback_options_item.rb +17 -0
  19. data/lib/whop_sdk/accounts/preferences/types/update_preferences_response_feedback_options_item_category.rb +21 -0
  20. data/lib/whop_sdk/accounts/types/form_company_accounts_request.rb +0 -6
  21. data/lib/whop_sdk/accounts/types/post_account_financing_disabled_payload.rb +25 -0
  22. data/lib/whop_sdk/{partners/types/referred_users_partners_request_user_id.rb → accounts/types/post_account_financing_disabled_payload_api_version.rb} +3 -3
  23. data/lib/whop_sdk/accounts/types/post_account_financing_disabled_payload_type.rb +13 -0
  24. data/lib/whop_sdk/accounts/types/transfer_ownership_accounts_request.rb +2 -0
  25. data/lib/whop_sdk/accounts/types/update_accounts_request.rb +2 -6
  26. data/lib/whop_sdk/ad_campaigns/client.rb +4 -4
  27. data/lib/whop_sdk/ad_campaigns/types/post_ad_campaign_payment_failed_payload_data_delivery_status.rb +1 -0
  28. data/lib/whop_sdk/ad_campaigns/types/post_ad_campaign_updated_payload_data_delivery_status.rb +1 -0
  29. data/lib/whop_sdk/ad_conversion_value_rules/client.rb +11 -9
  30. data/lib/whop_sdk/ad_groups/client.rb +7 -11
  31. data/lib/whop_sdk/ads/client.rb +1 -2
  32. data/lib/whop_sdk/affiliates/client.rb +5 -5
  33. data/lib/whop_sdk/api_keys/client.rb +2 -2
  34. data/lib/whop_sdk/api_keys/types/create_api_keys_request_api_version_date.rb +2 -0
  35. data/lib/whop_sdk/api_keys/types/update_api_keys_request_api_version_date.rb +2 -0
  36. data/lib/whop_sdk/app_builds/client.rb +2 -2
  37. data/lib/whop_sdk/app_builds/types/create_app_builds_request_attachment.rb +2 -1
  38. data/lib/whop_sdk/apps/client.rb +2 -4
  39. data/lib/whop_sdk/audiences/client.rb +5 -5
  40. data/lib/whop_sdk/authorized_users/client.rb +3 -4
  41. data/lib/whop_sdk/bounty_submissions/client.rb +7 -10
  42. data/lib/whop_sdk/bounty_submissions/types/submit_bounty_submissions_request_deliverable.rb +3 -1
  43. data/lib/whop_sdk/card_transactions/client.rb +5 -6
  44. data/lib/whop_sdk/cards/client.rb +4 -4
  45. data/lib/whop_sdk/cashback_rules/client.rb +16 -20
  46. data/lib/whop_sdk/chat_channels/client.rb +2 -2
  47. data/lib/whop_sdk/checkout_configurations/client.rb +2 -1
  48. data/lib/whop_sdk/claim_links/client.rb +8 -8
  49. data/lib/whop_sdk/client.rb +1 -1
  50. data/lib/whop_sdk/company_token_transactions/client.rb +3 -4
  51. data/lib/whop_sdk/confirmation_tokens/client.rb +3 -3
  52. data/lib/whop_sdk/course_lesson_interactions/client.rb +2 -1
  53. data/lib/whop_sdk/courses/client.rb +4 -2
  54. data/lib/whop_sdk/deposits/client.rb +3 -2
  55. data/lib/whop_sdk/disputes/client.rb +5 -12
  56. data/lib/whop_sdk/dm_channels/client.rb +5 -6
  57. data/lib/whop_sdk/domains/client.rb +4 -0
  58. data/lib/whop_sdk/domains/types/create_domains_request.rb +4 -0
  59. data/lib/whop_sdk/domains/types/create_domains_request_apple_pay.rb +13 -0
  60. data/lib/whop_sdk/domains/types/create_domains_request_pixel.rb +12 -0
  61. data/lib/whop_sdk/domains/types/list_domains_request.rb +4 -0
  62. data/lib/whop_sdk/domains/types/list_domains_request_apple_pay.rb +17 -0
  63. data/lib/whop_sdk/domains/types/list_domains_request_order.rb +2 -0
  64. data/lib/whop_sdk/domains/types/list_domains_request_pixel.rb +17 -0
  65. data/lib/whop_sdk/domains/types/update_domains_request.rb +4 -0
  66. data/lib/whop_sdk/domains/types/update_domains_request_apple_pay.rb +13 -0
  67. data/lib/whop_sdk/domains/types/update_domains_request_pixel.rb +12 -0
  68. data/lib/whop_sdk/economic_intelligence/client.rb +6 -8
  69. data/lib/whop_sdk/events/client.rb +12 -16
  70. data/lib/whop_sdk/experiences/client.rb +15 -9
  71. data/lib/whop_sdk/experiments/client.rb +16 -29
  72. data/lib/whop_sdk/exports/client.rb +1 -1
  73. data/lib/whop_sdk/external_accounts/client.rb +3 -5
  74. data/lib/whop_sdk/fee_markups/client.rb +5 -6
  75. data/lib/whop_sdk/feedback_submissions/client.rb +0 -1
  76. data/lib/whop_sdk/files/client.rb +2 -2
  77. data/lib/whop_sdk/financial_reports/breakdown/client.rb +3 -1
  78. data/lib/whop_sdk/forum_posts/client.rb +1 -1
  79. data/lib/whop_sdk/forums/client.rb +1 -1
  80. data/lib/whop_sdk/identity_profiles/client.rb +4 -4
  81. data/lib/whop_sdk/internal/http/raw_client.rb +1 -1
  82. data/lib/whop_sdk/invoices/client.rb +1 -1
  83. data/lib/whop_sdk/leads/client.rb +3 -3
  84. data/lib/whop_sdk/members/client.rb +21 -1
  85. data/lib/whop_sdk/members/logs/client.rb +1 -1
  86. data/lib/whop_sdk/members/notes/client.rb +121 -0
  87. data/lib/whop_sdk/members/notes/types/create_notes_request.rb +15 -0
  88. data/lib/whop_sdk/members/notes/types/list_notes_request.rb +21 -0
  89. data/lib/whop_sdk/members/notes/types/list_notes_response.rb +15 -0
  90. data/lib/whop_sdk/members/notes/types/list_notes_response_page_info.rb +19 -0
  91. data/lib/whop_sdk/members/types/list_members_request.rb +10 -0
  92. data/lib/whop_sdk/members/types/list_members_request_membership_status.rb +14 -0
  93. data/lib/whop_sdk/members/types/list_members_request_most_recent_actions_item.rb +25 -0
  94. data/lib/whop_sdk/members/types/list_members_request_order.rb +1 -0
  95. data/lib/whop_sdk/memberships/client.rb +30 -28
  96. data/lib/whop_sdk/memberships/types/cancel_memberships_request.rb +2 -0
  97. data/lib/whop_sdk/memberships/types/list_memberships_request.rb +10 -0
  98. data/lib/whop_sdk/memberships/types/list_memberships_request_status.rb +4 -0
  99. data/lib/whop_sdk/memberships/types/list_memberships_request_statuses_item.rb +24 -0
  100. data/lib/whop_sdk/messages/client.rb +5 -7
  101. data/lib/whop_sdk/notifications/client.rb +6 -9
  102. data/lib/whop_sdk/partner_referral_requests/client.rb +3 -3
  103. data/lib/whop_sdk/partners/businesses/client.rb +99 -0
  104. data/lib/whop_sdk/partners/businesses/earnings/types/list_earnings_request_income_source_item.rb +1 -0
  105. data/lib/whop_sdk/partners/businesses/earnings/types/list_earnings_response_data_item_income_source.rb +1 -0
  106. data/lib/whop_sdk/partners/businesses/types/accept_commission_advance_businesses_request.rb +21 -0
  107. data/lib/whop_sdk/partners/businesses/types/accept_commission_advance_businesses_request_acknowledgments_item.rb +17 -0
  108. data/lib/whop_sdk/partners/businesses/types/accept_commission_advance_businesses_response.rb +15 -0
  109. data/lib/whop_sdk/partners/businesses/types/list_businesses_request.rb +2 -0
  110. data/lib/whop_sdk/partners/businesses/types/list_businesses_request_advance_status.rb +22 -0
  111. data/lib/whop_sdk/partners/businesses/types/list_businesses_response_data_item.rb +2 -0
  112. data/lib/whop_sdk/partners/businesses/types/retrieve_businesses_response.rb +2 -0
  113. data/lib/whop_sdk/partners/businesses/types/update_businesses_request.rb +17 -0
  114. data/lib/whop_sdk/partners/businesses/types/update_businesses_response.rb +15 -0
  115. data/lib/whop_sdk/partners/client.rb +6 -11
  116. data/lib/whop_sdk/partners/types/referred_users_partners_request.rb +0 -2
  117. data/lib/whop_sdk/payment_method_domains/client.rb +4 -5
  118. data/lib/whop_sdk/payment_methods/client.rb +4 -5
  119. data/lib/whop_sdk/payment_quotes/client.rb +8 -10
  120. data/lib/whop_sdk/payment_quotes/types/create_payment_quotes_request.rb +2 -2
  121. data/lib/whop_sdk/payment_quotes/types/create_payment_quotes_request_line_items_item.rb +13 -0
  122. data/lib/whop_sdk/payment_rules/client.rb +19 -8
  123. data/lib/whop_sdk/payments/client.rb +26 -24
  124. data/lib/whop_sdk/payments/direct/client.rb +5 -6
  125. data/lib/whop_sdk/payments/direct/types/create_direct_request.rb +2 -2
  126. data/lib/whop_sdk/payments/direct/types/create_direct_request_line_items_item.rb +15 -0
  127. data/lib/whop_sdk/payments/types/create_payments_request.rb +2 -2
  128. data/lib/whop_sdk/payments/types/create_payments_request_line_items_item.rb +13 -0
  129. data/lib/whop_sdk/payments/types/create_payments_request_line_items_item_plan.rb +46 -0
  130. data/lib/whop_sdk/payments/types/create_payments_request_line_items_item_plan_currency.rb +102 -0
  131. data/lib/whop_sdk/payments/types/create_payments_request_line_items_item_plan_override_tax_type.rb +15 -0
  132. data/lib/whop_sdk/payments/types/create_payments_request_line_items_item_plan_plan_type.rb +14 -0
  133. data/lib/whop_sdk/payments/types/create_payments_request_line_items_item_plan_product.rb +34 -0
  134. data/lib/whop_sdk/payments/types/create_payments_request_line_items_item_plan_product_global_affiliate_status.rb +14 -0
  135. data/lib/whop_sdk/payments/types/create_payments_request_line_items_item_plan_product_visibility.rb +16 -0
  136. data/lib/whop_sdk/payments/types/create_payments_request_line_items_item_plan_visibility.rb +16 -0
  137. data/lib/whop_sdk/payments/types/resume_payments_request.rb +2 -0
  138. data/lib/whop_sdk/payout_methods/client.rb +1 -1
  139. data/lib/whop_sdk/payouts/client.rb +15 -12
  140. data/lib/whop_sdk/payouts/methods/client.rb +2 -2
  141. data/lib/whop_sdk/payouts/methods/types/create_methods_request.rb +2 -0
  142. data/lib/whop_sdk/payouts/methods/types/list_methods_response_limits_standard_error_code.rb +1 -1
  143. data/lib/whop_sdk/payouts/paypal_link_sessions/client.rb +67 -0
  144. data/lib/whop_sdk/payouts/paypal_link_sessions/types/create_paypal_link_sessions_request.rb +21 -0
  145. data/lib/whop_sdk/payouts/paypal_link_sessions/types/create_paypal_link_sessions_response.rb +15 -0
  146. data/lib/whop_sdk/payouts/supported_methods/client.rb +2 -1
  147. data/lib/whop_sdk/payouts/supported_methods/types/list_supported_methods_response_data_item.rb +2 -0
  148. data/lib/whop_sdk/people/client.rb +3 -5
  149. data/lib/whop_sdk/plans/client.rb +1 -1
  150. data/lib/whop_sdk/products/client.rb +2 -2
  151. data/lib/whop_sdk/promo_codes/client.rb +1 -1
  152. data/lib/whop_sdk/refunds/client.rb +1 -2
  153. data/lib/whop_sdk/reviews/client.rb +59 -19
  154. data/lib/whop_sdk/reviews/types/delete_reviews_request.rb +11 -0
  155. data/lib/whop_sdk/reviews/types/delete_reviews_response.rb +13 -0
  156. data/lib/whop_sdk/reviews/types/list_reviews_request.rb +14 -8
  157. data/lib/whop_sdk/reviews/types/list_reviews_request_direction.rb +14 -0
  158. data/lib/whop_sdk/reviews/types/list_reviews_request_order.rb +14 -0
  159. data/lib/whop_sdk/reviews/types/list_reviews_response.rb +1 -2
  160. data/lib/whop_sdk/reviews/types/list_reviews_response_page_info.rb +17 -0
  161. data/lib/whop_sdk/setup_intents/client.rb +8 -10
  162. data/lib/whop_sdk/setup_intents/direct/client.rb +6 -7
  163. data/lib/whop_sdk/shipments/client.rb +2 -2
  164. data/lib/whop_sdk/stats/client.rb +2 -3
  165. data/lib/whop_sdk/stats/reports/client.rb +6 -10
  166. data/lib/whop_sdk/stats/time_series/client.rb +3 -8
  167. data/lib/whop_sdk/support_channels/client.rb +12 -4
  168. data/lib/whop_sdk/support_channels/types/list_support_channels_request.rb +8 -0
  169. data/lib/whop_sdk/swaps/client.rb +6 -6
  170. data/lib/whop_sdk/team_members/client.rb +7 -10
  171. data/lib/whop_sdk/topups/client.rb +2 -2
  172. data/lib/whop_sdk/trades/client.rb +6 -8
  173. data/lib/whop_sdk/trades/types/create_trades_request.rb +21 -1
  174. data/lib/whop_sdk/trades/types/create_trades_request_instrument_type.rb +14 -0
  175. data/lib/whop_sdk/trades/types/create_trades_request_order_type.rb +14 -0
  176. data/lib/whop_sdk/trades/types/create_trades_request_side.rb +14 -0
  177. data/lib/whop_sdk/trades/types/create_trades_request_type.rb +3 -1
  178. data/lib/whop_sdk/trades/types/list_trades_request_type.rb +3 -1
  179. data/lib/whop_sdk/transfers/client.rb +6 -3
  180. data/lib/whop_sdk/types/account.rb +2 -2
  181. data/lib/whop_sdk/types/account_level.rb +19 -0
  182. data/lib/whop_sdk/types/account_payment_controls_restricted_payment_methods_item.rb +39 -0
  183. data/lib/whop_sdk/types/account_preferences.rb +2 -0
  184. data/lib/whop_sdk/types/ad_campaign_delivery_status.rb +1 -0
  185. data/lib/whop_sdk/types/api_key_api_version_date.rb +2 -0
  186. data/lib/whop_sdk/types/cancel_options.rb +1 -0
  187. data/lib/whop_sdk/types/dispute_evidence_document.rb +12 -0
  188. data/lib/whop_sdk/types/domain.rb +6 -0
  189. data/lib/whop_sdk/types/domain_apple_pay.rb +9 -0
  190. data/lib/whop_sdk/types/domain_apple_pay_state.rb +14 -0
  191. data/lib/whop_sdk/types/domain_issue.rb +2 -0
  192. data/lib/whop_sdk/types/domain_issue_capability.rb +2 -0
  193. data/lib/whop_sdk/types/domain_issue_code.rb +6 -2
  194. data/lib/whop_sdk/types/domain_list_item.rb +6 -0
  195. data/lib/whop_sdk/types/domain_pixel.rb +9 -0
  196. data/lib/whop_sdk/types/domain_pixel_state.rb +13 -0
  197. data/lib/whop_sdk/types/domain_stats.rb +9 -0
  198. data/lib/whop_sdk/types/domain_website.rb +1 -1
  199. data/lib/whop_sdk/types/domain_website_app.rb +11 -0
  200. data/lib/whop_sdk/types/feedback_option.rb +13 -0
  201. data/lib/whop_sdk/types/feedback_option_category.rb +17 -0
  202. data/lib/whop_sdk/types/file.rb +12 -0
  203. data/lib/whop_sdk/types/financing_access_change.rb +19 -0
  204. data/lib/whop_sdk/types/financing_access_change_disabled_payment_methods_item.rb +33 -0
  205. data/lib/whop_sdk/types/financing_access_change_object.rb +11 -0
  206. data/lib/whop_sdk/types/financing_access_change_provider.rb +15 -0
  207. data/lib/whop_sdk/types/financing_access_change_reason.rb +11 -0
  208. data/lib/whop_sdk/types/member.rb +10 -0
  209. data/lib/whop_sdk/types/member_most_recent_action.rb +23 -0
  210. data/lib/whop_sdk/types/member_note.rb +19 -0
  211. data/lib/whop_sdk/types/membership.rb +24 -0
  212. data/lib/whop_sdk/types/membership_cancel_option.rb +18 -0
  213. data/lib/whop_sdk/types/membership_collection_method.rb +12 -0
  214. data/lib/whop_sdk/types/membership_feedback_option.rb +9 -0
  215. data/lib/whop_sdk/types/membership_legacy.rb +2 -0
  216. data/lib/whop_sdk/types/membership_legacy_feedback_option.rb +11 -0
  217. data/lib/whop_sdk/types/membership_list_item.rb +2 -0
  218. data/lib/whop_sdk/types/membership_list_item_feedback_option.rb +11 -0
  219. data/lib/whop_sdk/types/membership_most_recent_action.rb +21 -0
  220. data/lib/whop_sdk/types/membership_product.rb +13 -0
  221. data/lib/whop_sdk/types/owner_level.rb +17 -0
  222. data/lib/whop_sdk/types/owner_level_points.rb +13 -0
  223. data/lib/whop_sdk/types/partner_advance.rb +41 -0
  224. data/lib/whop_sdk/types/partner_advance_status.rb +17 -0
  225. data/lib/whop_sdk/types/payment.rb +2 -0
  226. data/lib/whop_sdk/types/payment_input.rb +1 -4
  227. data/lib/whop_sdk/types/payment_input_plan.rb +2 -0
  228. data/lib/whop_sdk/types/payment_method_types.rb +3 -0
  229. data/lib/whop_sdk/types/payment_rule_condition_value.rb +2 -2
  230. data/lib/whop_sdk/types/permission_action.rb +3 -0
  231. data/lib/whop_sdk/types/review.rb +2 -3
  232. data/lib/whop_sdk/types/{review_company.rb → review_account.rb} +1 -2
  233. data/lib/whop_sdk/types/{review_attachments_item.rb → review_attachment.rb} +1 -2
  234. data/lib/whop_sdk/types/review_list_item.rb +3 -4
  235. data/lib/whop_sdk/types/review_list_item_status.rb +11 -0
  236. data/lib/whop_sdk/types/review_product.rb +0 -1
  237. data/lib/whop_sdk/types/review_user.rb +0 -1
  238. data/lib/whop_sdk/types/support_channel.rb +8 -0
  239. data/lib/whop_sdk/types/support_channel_last_message.rb +23 -0
  240. data/lib/whop_sdk/types/{review_list_item_attachments_item.rb → support_channel_last_message_attachments_item.rb} +1 -5
  241. data/lib/whop_sdk/types/support_channel_last_message_gifs_item.rb +10 -0
  242. data/lib/whop_sdk/types/support_channel_last_message_poll.rb +10 -0
  243. data/lib/whop_sdk/types/support_channel_last_message_poll_options_item.rb +10 -0
  244. data/lib/whop_sdk/types/support_channel_list_item.rb +8 -0
  245. data/lib/whop_sdk/types/support_channel_list_item_last_message.rb +23 -0
  246. data/lib/whop_sdk/types/support_channel_list_item_last_message_attachments_item.rb +12 -0
  247. data/lib/whop_sdk/types/support_channel_list_item_last_message_gifs_item.rb +10 -0
  248. data/lib/whop_sdk/types/support_channel_list_item_last_message_poll.rb +10 -0
  249. data/lib/whop_sdk/types/support_channel_list_item_last_message_poll_options_item.rb +10 -0
  250. data/lib/whop_sdk/types/trade.rb +17 -1
  251. data/lib/whop_sdk/types/trade_failure_code.rb +1 -0
  252. data/lib/whop_sdk/types/trade_instrument_type.rb +12 -0
  253. data/lib/whop_sdk/types/trade_order_type.rb +12 -0
  254. data/lib/whop_sdk/types/trade_side.rb +12 -0
  255. data/lib/whop_sdk/types/trade_status_detail.rb +0 -3
  256. data/lib/whop_sdk/types/trade_type.rb +3 -1
  257. data/lib/whop_sdk/types/user.rb +7 -1
  258. data/lib/whop_sdk/types/user_social_link.rb +15 -0
  259. data/lib/whop_sdk/types/user_social_link_website.rb +18 -0
  260. data/lib/whop_sdk/types/webhook_event.rb +1 -0
  261. data/lib/whop_sdk/types/webhook_events_item.rb +1 -0
  262. data/lib/whop_sdk/types/webhook_list_item_events_item.rb +1 -0
  263. data/lib/whop_sdk/types/webhook_testable_events_item.rb +1 -0
  264. data/lib/whop_sdk/users/client.rb +13 -18
  265. data/lib/whop_sdk/users/oauth_grants/client.rb +9 -11
  266. data/lib/whop_sdk/users/passkeys/client.rb +3 -3
  267. data/lib/whop_sdk/users/preferences/client.rb +1 -2
  268. data/lib/whop_sdk/users/preferences/notifications/client.rb +4 -13
  269. data/lib/whop_sdk/users/preferences/notifications/topics/client.rb +2 -2
  270. data/lib/whop_sdk/users/preferences/notifications/types/set_notifications_request_preferences_item_scope.rb +3 -1
  271. data/lib/whop_sdk/variants/client.rb +10 -9
  272. data/lib/whop_sdk/verifications/client.rb +7 -9
  273. data/lib/whop_sdk/verifications/types/create_verifications_request_body_business.rb +6 -0
  274. data/lib/whop_sdk/verifications/types/create_verifications_request_body_business_documents.rb +18 -0
  275. data/lib/whop_sdk/verifications/types/create_verifications_response.rb +2 -0
  276. data/lib/whop_sdk/verifications/types/list_verifications_response_data_item.rb +2 -0
  277. data/lib/whop_sdk/verifications/types/retrieve_verifications_response.rb +2 -0
  278. data/lib/whop_sdk/verifications/types/update_verifications_response.rb +2 -0
  279. data/lib/whop_sdk/version.rb +1 -1
  280. data/lib/whop_sdk/waitlist_entries/client.rb +14 -14
  281. data/lib/whop_sdk/webhooks/client.rb +11 -12
  282. data/lib/whop_sdk/webhooks/types/create_webhooks_request_events_item.rb +1 -0
  283. data/lib/whop_sdk/webhooks/types/update_webhooks_request_events_item.rb +1 -0
  284. data/lib/whop_sdk.rb +99 -9
  285. data/reference.md +1431 -573
  286. metadata +99 -9
  287. data/lib/whop_sdk/types/payment_input_line_items_item.rb +0 -11
  288. data/lib/whop_sdk/types/review_list_item_user.rb +0 -14
  289. data/lib/whop_sdk/types/user_staff_access.rb +0 -15
data/reference.md CHANGED
@@ -12,7 +12,7 @@
12
12
  <dl>
13
13
  <dd>
14
14
 
15
- Create a short-lived access token for authenticating API requests. When using API key authentication, provide account_id or user_id. When using OAuth, the user is derived from the token. Use this token with Whop's web and mobile embedded components.
15
+ Creates a short-lived access token for Whop's web and mobile embedded components. With API key authentication, pass `account_id` or `user_id`; with OAuth, the token is issued for the OAuth user.
16
16
  </dd>
17
17
  </dl>
18
18
  </dd>
@@ -99,7 +99,7 @@ client.access_tokens.create
99
99
  <dl>
100
100
  <dd>
101
101
 
102
- Generate a URL that directs a sub-merchant to their account portal, such as the hosted payouts dashboard or the KYC onboarding flow.
102
+ Generates a URL that sends a sub-merchant to a hosted Whop page, such as the payouts dashboard or the KYC onboarding flow. Requires an API key.
103
103
  </dd>
104
104
  </dl>
105
105
  </dd>
@@ -191,7 +191,7 @@ client.account_links.create(
191
191
  <dl>
192
192
  <dd>
193
193
 
194
- Lists accounts visible to the credential. User tokens return the user's business accounts; Account API keys return the requesting account and its connected accounts. Pass `parent_account_id` to return only that parent account's connected accounts. Includes each account's `cards` application summary when the caller has `company:balance:read` access to that account.
194
+ Lists accounts visible to the credential. User tokens return the user's business accounts; Account API keys return the requesting account and its connected accounts.
195
195
  </dd>
196
196
  </dl>
197
197
  </dd>
@@ -545,7 +545,7 @@ client.accounts.me
545
545
  <dl>
546
546
  <dd>
547
547
 
548
- Retrieves a single account by ID or public route when it is visible to the credential, including its crypto wallet. The reserved id `me` retrieves the account associated with the current Account API key; user tokens have no single account, so they must address one by ID or route.
548
+ Retrieves an account visible to the credential by ID or public route, including its crypto wallet.
549
549
  </dd>
550
550
  </dl>
551
551
  </dd>
@@ -575,7 +575,7 @@ client.accounts.retrieve(id: "id")
575
575
  <dl>
576
576
  <dd>
577
577
 
578
- **id:** `String` — Account ID, prefixed `biz_`, its public route, or `me` for the account associated with the current API key.
578
+ **id:** `String` — Account ID, prefixed `biz_`, its public route, or `me` for the account associated with the current Account API key. User tokens have no single account, so they cannot use `me`.
579
579
 
580
580
  </dd>
581
581
  </dl>
@@ -677,7 +677,7 @@ client.accounts.delete(id: "id")
677
677
  <dl>
678
678
  <dd>
679
679
 
680
- Updates an account. User tokens can update business accounts; Account API keys can update connected accounts. The reserved id `me` — accepted on Retrieve Account — resolves to the requesting account, which an Account API key cannot edit, so updates must name the connected account by its `biz_` id.
680
+ Updates an account. User tokens can update business accounts; Account API keys can update connected accounts.
681
681
  </dd>
682
682
  </dl>
683
683
  </dd>
@@ -707,7 +707,7 @@ client.accounts.update(id: "id")
707
707
  <dl>
708
708
  <dd>
709
709
 
710
- **id:** `String` — Account ID, prefixed `biz_`.
710
+ **id:** `String` — Account ID, prefixed `biz_`. The reserved id `me` resolves to the requesting account, which an Account API key cannot edit.
711
711
 
712
712
  </dd>
713
713
  </dl>
@@ -755,14 +755,6 @@ client.accounts.update(id: "id")
755
755
  <dl>
756
756
  <dd>
757
757
 
758
- **business_type:** `String` — High-level business category for the account. See the [business types and industries glossary](/api-reference/beta/accounts/account#business-types-and-industries-glossary) for valid values.
759
-
760
- </dd>
761
- </dl>
762
-
763
- <dl>
764
- <dd>
765
-
766
758
  **cancellation_policy:** `Whop_sdk::Accounts::Types::UpdateAccountsRequestCancellationPolicy` — The account's cancellation policy document. Attached to new disputes as the cancellation policy evidence, with the terms of service as the fallback. PDF only. Pass a JSON object containing an `id` from [Create File](/api-reference/files/create-file), or `null` to remove it.
767
759
 
768
760
  </dd>
@@ -827,22 +819,6 @@ client.accounts.update(id: "id")
827
819
  <dl>
828
820
  <dd>
829
821
 
830
- **industry_group:** `String` — Account industry group. See the [business types and industries glossary](/api-reference/beta/accounts/account#business-types-and-industries-glossary) for valid values.
831
-
832
- </dd>
833
- </dl>
834
-
835
- <dl>
836
- <dd>
837
-
838
- **industry_type:** `String` — Specific industry vertical for the account. See the [business types and industries glossary](/api-reference/beta/accounts/account#business-types-and-industries-glossary) for valid values.
839
-
840
- </dd>
841
- </dl>
842
-
843
- <dl>
844
- <dd>
845
-
846
822
  **invoice_prefix:** `String` — Prefix used for account invoices.
847
823
 
848
824
  </dd>
@@ -1091,6 +1067,14 @@ client.accounts.update(id: "id")
1091
1067
  <dl>
1092
1068
  <dd>
1093
1069
 
1070
+ **industry_type:** `Object`
1071
+
1072
+ </dd>
1073
+ </dl>
1074
+
1075
+ <dl>
1076
+ <dd>
1077
+
1094
1078
  **request_options:** `Whop_sdk::Accounts::RequestOptions`
1095
1079
 
1096
1080
  </dd>
@@ -1115,7 +1099,7 @@ client.accounts.update(id: "id")
1115
1099
  <dl>
1116
1100
  <dd>
1117
1101
 
1118
- Starts an LLC or C-Corp formation for a business account. Defaults to an LLC; set `entity_type` to `c_corp` to form a C-Corp, which additionally requires `share_structure` and officer `roles` on every founder. On submission, the application is validated and the response returns a hosted checkout URL. Once paid, the filing is submitted. Track progress through the account's [`company_formation`](/api-reference/beta/accounts/retrieve-account) field on Retrieve Account.
1102
+ Starts an LLC or C-Corp formation for a business account. The application is validated and the response returns a hosted checkout URL; once paid, the filing is submitted. Track progress through the account's [`company_formation`](/api-reference/beta/accounts/retrieve-account) field on Retrieve Account.
1119
1103
  </dd>
1120
1104
  </dl>
1121
1105
  </dd>
@@ -1142,7 +1126,6 @@ client.accounts.form_company(
1142
1126
  },
1143
1127
  business_name: "Shine Time Auto Detailing",
1144
1128
  business_phone: "+15125550142",
1145
- business_type: "brick_and_mortar",
1146
1129
  business_website: "https://shinetime.example",
1147
1130
  entity_suffix: "LLC",
1148
1131
  entity_type: "llc",
@@ -1167,8 +1150,6 @@ client.accounts.form_company(
1167
1150
  roles: ["president"],
1168
1151
  ssn: "123-45-6789"
1169
1152
  }],
1170
- industry_group: "automotive",
1171
- industry_type: "car_wash",
1172
1153
  share_structure: {
1173
1154
  number_of_shares: 123,
1174
1155
  value: 123
@@ -1221,14 +1202,6 @@ client.accounts.form_company(
1221
1202
  <dl>
1222
1203
  <dd>
1223
1204
 
1224
- **business_type:** `String` — High-level business category, from the Whop business taxonomy. Valid values are listed on [business types and industries glossary](/api-reference/beta/accounts/account#business-types-and-industries-glossary).
1225
-
1226
- </dd>
1227
- </dl>
1228
-
1229
- <dl>
1230
- <dd>
1231
-
1232
1205
  **business_website:** `String` — Company website URL.
1233
1206
 
1234
1207
  </dd>
@@ -1277,22 +1250,6 @@ client.accounts.form_company(
1277
1250
  <dl>
1278
1251
  <dd>
1279
1252
 
1280
- **industry_group:** `String` — Industry group, from the Whop business taxonomy. Valid values are listed on [business types and industries glossary](/api-reference/beta/accounts/account#business-types-and-industries-glossary).
1281
-
1282
- </dd>
1283
- </dl>
1284
-
1285
- <dl>
1286
- <dd>
1287
-
1288
- **industry_type:** `String` — Specific industry vertical, from the Whop business taxonomy. Valid values are listed on [business types and industries glossary](/api-reference/beta/accounts/account#business-types-and-industries-glossary).
1289
-
1290
- </dd>
1291
- </dl>
1292
-
1293
- <dl>
1294
- <dd>
1295
-
1296
1253
  **share_structure:** `Whop_sdk::Accounts::Types::FormCompanyAccountsRequestShareStructure` — Authorized share structure. Required when `entity_type` is `c_corp`; ignored for LLCs.
1297
1254
 
1298
1255
  </dd>
@@ -1333,7 +1290,7 @@ client.accounts.form_company(
1333
1290
  <dl>
1334
1291
  <dd>
1335
1292
 
1336
- Queues one background retry of the account's failed ads payments across its campaigns, using the account's configured ads payment methods. A queued response does not mean payment succeeded. Read campaign delivery_status and issues for the outcome. Successful settlement clears the payment block without changing configured active or paused status; legacy payment_failed status becomes paused. Another request while the account retry is queued or running returns an error asking you to wait.
1293
+ Queues one background retry of the account's failed ads payments across its campaigns, using the account's configured ads payment methods. A queued response does not mean payment succeeded; read each campaign's `delivery_status` and `issues` for the outcome. Successful settlement clears the payment block without changing a configured `active` or `paused` status; a legacy `payment_failed` status becomes `paused`. Returns an error when the account has no failed ads payments, or while a previous retry for the account is queued or running.
1337
1294
  </dd>
1338
1295
  </dl>
1339
1296
  </dd>
@@ -1363,7 +1320,7 @@ client.accounts.retry_ads_payment(id: "id")
1363
1320
  <dl>
1364
1321
  <dd>
1365
1322
 
1366
- **id:** `String` — The account ID.
1323
+ **id:** `String` — Account ID, prefixed `biz_`.
1367
1324
 
1368
1325
  </dd>
1369
1326
  </dl>
@@ -1506,6 +1463,14 @@ client.accounts.transfer_ownership(
1506
1463
  <dl>
1507
1464
  <dd>
1508
1465
 
1466
+ **authorized_user_id:** `String` — Your team membership on the business this referral is made for, prefixed `ausr_`. The referral then credits that team instead of you personally. Requires `as_partner`.
1467
+
1468
+ </dd>
1469
+ </dl>
1470
+
1471
+ <dl>
1472
+ <dd>
1473
+
1509
1474
  **identifier:** `String` — The user to transfer ownership to: a user ID (`user_*`) or an email address. An email address with no Whop account yet is sent an invite to create one.
1510
1475
 
1511
1476
  </dd>
@@ -1729,7 +1694,7 @@ client.ad_campaigns.list
1729
1694
  <dl>
1730
1695
  <dd>
1731
1696
 
1732
- Creates an ad campaign for an account.
1697
+ Creates an ad campaign in `draft` status for an account. Nothing runs until you launch it by setting `status` to `active` with `PATCH /ad_campaigns/:id`.
1733
1698
  </dd>
1734
1699
  </dl>
1735
1700
  </dd>
@@ -2055,7 +2020,7 @@ client.ad_campaigns.delete(id: "id")
2055
2020
  <dl>
2056
2021
  <dd>
2057
2022
 
2058
- Updates an ad campaign's editable fields (title, budget, schedule, bid strategy, special ad categories, and, before launch, budget type and budget optimization), and launches a draft campaign by setting status to active. Objective and desired cost per result are fixed at creation and cannot be changed.
2023
+ Updates an ad campaign's settings, or launches a draft campaign by setting `status` to `active`. The objective and desired cost per result are fixed at creation and cannot be changed.
2059
2024
  </dd>
2060
2025
  </dl>
2061
2026
  </dd>
@@ -2416,7 +2381,7 @@ client.ad_campaigns.unpause(id: "id")
2416
2381
  <dl>
2417
2382
  <dd>
2418
2383
 
2419
- List saved rules the caller can read. Filter by business with account_id.
2384
+ Lists the conversion value rules you can read.
2420
2385
  </dd>
2421
2386
  </dl>
2422
2387
  </dd>
@@ -2446,7 +2411,7 @@ client.ad_conversion_value_rules.list
2446
2411
  <dl>
2447
2412
  <dd>
2448
2413
 
2449
- **account_id:** `String`
2414
+ **account_id:** `String` — Only rules belonging to this account, prefixed `biz_`.
2450
2415
 
2451
2416
  </dd>
2452
2417
  </dl>
@@ -2550,7 +2515,7 @@ client.ad_conversion_value_rules.list
2550
2515
  <dl>
2551
2516
  <dd>
2552
2517
 
2553
- Create one rule covering every selected target and event combination. Active rules cannot overlap for the same platform and event. Customer prices and Whop revenue stay unchanged.
2518
+ Creates one rule covering every selected target and event combination. Active rules cannot overlap for the same platform and event. Customer prices and Whop revenue stay unchanged.
2554
2519
  </dd>
2555
2520
  </dl>
2556
2521
  </dd>
@@ -2638,7 +2603,7 @@ client.ad_conversion_value_rules.create(
2638
2603
  <dl>
2639
2604
  <dd>
2640
2605
 
2641
- **replace_rule_ids:** `Internal::Types::Array[String]` — Exact IDs of active rules whose overlapping selections will be replaced. Other selections keep their values; remaining selections may split into separate rules. Broader rules remain as fallbacks for other items. Stale or incomplete conflict selections fail.
2606
+ **replace_rule_ids:** `Internal::Types::Array[String]` — Exact IDs of active rules whose overlapping selections will be replaced. Other selections keep their values; remaining selections may split into separate rules. Broader rules remain as fallbacks for other items. Rules left with no selections are paused. Stale or incomplete conflict selections fail.
2642
2607
 
2643
2608
  </dd>
2644
2609
  </dl>
@@ -2678,6 +2643,20 @@ client.ad_conversion_value_rules.create(
2678
2643
  <dl>
2679
2644
  <dd>
2680
2645
 
2646
+ #### 📝 Description
2647
+
2648
+ <dl>
2649
+ <dd>
2650
+
2651
+ <dl>
2652
+ <dd>
2653
+
2654
+ Retrieves a conversion value rule with its targets, events, and value adjustment.
2655
+ </dd>
2656
+ </dl>
2657
+ </dd>
2658
+ </dl>
2659
+
2681
2660
  #### 🔌 Usage
2682
2661
 
2683
2662
  <dl>
@@ -2702,7 +2681,7 @@ client.ad_conversion_value_rules.retrieve(id: "id")
2702
2681
  <dl>
2703
2682
  <dd>
2704
2683
 
2705
- **id:** `String` — Conversion value rule ID.
2684
+ **id:** `String` — Conversion value rule ID, prefixed `adcvr_`.
2706
2685
 
2707
2686
  </dd>
2708
2687
  </dl>
@@ -2734,7 +2713,7 @@ client.ad_conversion_value_rules.retrieve(id: "id")
2734
2713
  <dl>
2735
2714
  <dd>
2736
2715
 
2737
- Soft-delete a rule and deactivate all its coverage. Preserve its stored settings.
2716
+ Deletes a rule and deactivates all its coverage. The rule's stored settings are preserved.
2738
2717
  </dd>
2739
2718
  </dl>
2740
2719
  </dd>
@@ -2764,7 +2743,7 @@ client.ad_conversion_value_rules.delete(id: "id")
2764
2743
  <dl>
2765
2744
  <dd>
2766
2745
 
2767
- **id:** `String` — Conversion value rule ID.
2746
+ **id:** `String` — Conversion value rule ID, prefixed `adcvr_`.
2768
2747
 
2769
2748
  </dd>
2770
2749
  </dl>
@@ -2796,7 +2775,7 @@ client.ad_conversion_value_rules.delete(id: "id")
2796
2775
  <dl>
2797
2776
  <dd>
2798
2777
 
2799
- Edit a rule without changing its status. Supplied targets or events replace that selection in full. Omitted fields stay unchanged. All changes succeed or fail together.
2778
+ Edits a rule without changing its status. Supplied `targets` or `events` replace that selection in full, and omitted fields stay unchanged. All changes succeed or fail together.
2800
2779
  </dd>
2801
2780
  </dl>
2802
2781
  </dd>
@@ -2826,7 +2805,7 @@ client.ad_conversion_value_rules.update(id: "id")
2826
2805
  <dl>
2827
2806
  <dd>
2828
2807
 
2829
- **id:** `String` — Conversion value rule ID.
2808
+ **id:** `String` — Conversion value rule ID, prefixed `adcvr_`.
2830
2809
 
2831
2810
  </dd>
2832
2811
  </dl>
@@ -2874,7 +2853,7 @@ client.ad_conversion_value_rules.update(id: "id")
2874
2853
  <dl>
2875
2854
  <dd>
2876
2855
 
2877
- **replace_rule_ids:** `Internal::Types::Array[String]` — Exact IDs of active rules whose overlapping selections will be replaced. Other selections keep their values; remaining selections may split into separate rules. Broader rules remain as fallbacks for other items. Stale or incomplete conflict selections fail.
2856
+ **replace_rule_ids:** `Internal::Types::Array[String]` — Exact IDs of active rules whose overlapping selections will be replaced. Other selections keep their values; remaining selections may split into separate rules. Broader rules remain as fallbacks for other items. Rules left with no selections are paused. Stale or incomplete conflict selections fail.
2878
2857
 
2879
2858
  </dd>
2880
2859
  </dl>
@@ -2914,7 +2893,7 @@ client.ad_conversion_value_rules.update(id: "id")
2914
2893
  <dl>
2915
2894
  <dd>
2916
2895
 
2917
- Pause the rule across all selected targets and events.
2896
+ Pauses the rule across all selected targets and events.
2918
2897
  </dd>
2919
2898
  </dl>
2920
2899
  </dd>
@@ -2944,7 +2923,7 @@ client.ad_conversion_value_rules.pause(id: "id")
2944
2923
  <dl>
2945
2924
  <dd>
2946
2925
 
2947
- **id:** `String` — Conversion value rule ID.
2926
+ **id:** `String` — Conversion value rule ID, prefixed `adcvr_`.
2948
2927
 
2949
2928
  </dd>
2950
2929
  </dl>
@@ -2976,7 +2955,7 @@ client.ad_conversion_value_rules.pause(id: "id")
2976
2955
  <dl>
2977
2956
  <dd>
2978
2957
 
2979
- Resume the rule and automatically replace overlapping selections in the same transaction. Other selections keep their values, and broader rules remain as defaults. Rules with no remaining selections are paused. Resuming an already-active rule makes no changes.
2958
+ Resumes the rule and automatically replaces overlapping selections in the same transaction. Other selections keep their values, and broader rules remain as defaults. Rules with no remaining selections are paused. Resuming an already-active rule makes no changes.
2980
2959
  </dd>
2981
2960
  </dl>
2982
2961
  </dd>
@@ -3006,7 +2985,7 @@ client.ad_conversion_value_rules.unpause(id: "id")
3006
2985
  <dl>
3007
2986
  <dd>
3008
2987
 
3009
- **id:** `String` — Conversion value rule ID.
2988
+ **id:** `String` — Conversion value rule ID, prefixed `adcvr_`.
3010
2989
 
3011
2990
  </dd>
3012
2991
  </dl>
@@ -3510,7 +3489,7 @@ Valid positions per platform:
3510
3489
  <dl>
3511
3490
  <dd>
3512
3491
 
3513
- Estimates how many people a draft targeting spec can reach, before an ad group is created. The body takes the same targeting fields as creating an ad group — `regions`, `demographics`, `detailed_targeting`, `audiences`, `languages`, and `devices` — and nothing is persisted.
3492
+ Estimates how many people a draft targeting spec can reach, before an ad group is created. The body takes the same targeting fields as creating an ad group, and nothing is persisted.
3514
3493
  </dd>
3515
3494
  </dl>
3516
3495
  </dd>
@@ -3628,7 +3607,7 @@ client.ad_groups.estimate_reach(platform: "meta")
3628
3607
  <dl>
3629
3608
  <dd>
3630
3609
 
3631
- Searches the ad platform's targeting taxonomy for options to target an ad group with. Each result comes back in the exact shape the ad-group body accepts for its `type`, so it can be used in `detailed_targeting`, `regions`, or `languages` as-is. A blank `query` browses the small fixed lists (behaviors, browse demographic categories, languages); interests, work employers, job titles, schools, majors, and locations need a search term.
3610
+ Searches the ad platform's targeting taxonomy for options to target an ad group with. Each result comes back in the exact shape the ad-group body accepts for its `type`, so it can be used in `detailed_targeting`, `regions`, or `languages` as-is.
3632
3611
  </dd>
3633
3612
  </dl>
3634
3613
  </dd>
@@ -3674,7 +3653,7 @@ client.ad_groups.search_targeting_options(platform: "meta")
3674
3653
  <dl>
3675
3654
  <dd>
3676
3655
 
3677
- **query:** `String` — The search term. Blank browses the fixed lists; interests, work employers, job titles, schools, majors, and locations return nothing without one.
3656
+ **query:** `String` — The search term. Blank browses the small fixed lists (behaviors, browse demographic categories, and languages); interests, work employers, job titles, schools, majors, and locations return nothing without one.
3678
3657
 
3679
3658
  </dd>
3680
3659
  </dl>
@@ -3746,7 +3725,7 @@ client.ad_groups.search_targeting_options(platform: "meta")
3746
3725
  <dl>
3747
3726
  <dd>
3748
3727
 
3749
- Retrieves a single ad group.
3728
+ Retrieves an ad group, with performance stats for the window set by `stats_from` and `stats_to`.
3750
3729
  </dd>
3751
3730
  </dl>
3752
3731
  </dd>
@@ -3840,7 +3819,7 @@ client.ad_groups.retrieve(id: "id")
3840
3819
  <dl>
3841
3820
  <dd>
3842
3821
 
3843
- Deletes an ad group.
3822
+ Deletes an ad group, removing it from the ad platform so it stops delivering.
3844
3823
  </dd>
3845
3824
  </dl>
3846
3825
  </dd>
@@ -4175,7 +4154,7 @@ Valid positions per platform:
4175
4154
  <dl>
4176
4155
  <dd>
4177
4156
 
4178
- Creates copies of the ad group in `duplicating` status and returns them — into its own campaign, or into target_ad_campaign_id (which must belong to the same account and be compatible with the ad group's targeting and goals); each copy transitions to its final status (matching the source's active/paused state) once duplication completes. Poll each returned ad group until it leaves `duplicating` — a copy that could not be completed is deleted and returns 404.
4157
+ Starts copying an ad group and returns the copies in `duplicating` status. Poll each returned ad group until it leaves `duplicating`: it then takes the source's `active` or `paused` status, or, if the copy could not be completed, is deleted and returns 404.
4179
4158
  </dd>
4180
4159
  </dl>
4181
4160
  </dd>
@@ -4229,7 +4208,7 @@ client.ad_groups.duplicate(id: "id")
4229
4208
  <dl>
4230
4209
  <dd>
4231
4210
 
4232
- **target_ad_campaign_id:** `String` — Campaign to duplicate into. Defaults to the ad group's own campaign.
4211
+ **target_ad_campaign_id:** `String` — Campaign to duplicate into. Must belong to the same account and be compatible with the ad group's targeting and goals. Defaults to the ad group's own campaign.
4233
4212
 
4234
4213
  </dd>
4235
4214
  </dl>
@@ -5556,7 +5535,7 @@ client.ads.update(id: "id")
5556
5535
  <dl>
5557
5536
  <dd>
5558
5537
 
5559
- Copies the ad into its own ad group, or into target_ad_group_id (which must belong to the same account and be compatible with the ad). Copies keep the source ad's active/paused state.
5538
+ Copies an ad into its own ad group or into another one. Copies keep the source ad's active or paused state.
5560
5539
  </dd>
5561
5540
  </dl>
5562
5541
  </dd>
@@ -5610,7 +5589,7 @@ client.ads.duplicate(id: "id")
5610
5589
  <dl>
5611
5590
  <dd>
5612
5591
 
5613
- **target_ad_group_id:** `String` — Ad group to duplicate into. Defaults to the ad's own ad group.
5592
+ **target_ad_group_id:** `String` — Ad group to duplicate into, which must belong to the same account and be compatible with the ad. Defaults to the ad's own ad group.
5614
5593
 
5615
5594
  </dd>
5616
5595
  </dl>
@@ -5767,7 +5746,7 @@ client.ads.unpause(id: "id")
5767
5746
  <dl>
5768
5747
  <dd>
5769
5748
 
5770
- Returns a paginated list of affiliates for the actor in context, with optional filtering by status, search, and sorting.
5749
+ Lists the affiliates of an account.
5771
5750
 
5772
5751
  Required permissions:
5773
5752
  - `affiliate:basic:read`
@@ -5900,7 +5879,7 @@ client.affiliates.list(
5900
5879
  <dl>
5901
5880
  <dd>
5902
5881
 
5903
- Creates or finds an affiliate for a company and user.
5882
+ Creates an affiliate for a user on an account. If the user is already an affiliate of the account, returns that affiliate, reactivating it if it was archived.
5904
5883
 
5905
5884
  Required permissions:
5906
5885
  - `affiliate:create`
@@ -6041,7 +6020,7 @@ client.affiliates.retrieve(id: "aff_xxxxxxxxxxxxxx")
6041
6020
  <dl>
6042
6021
  <dd>
6043
6022
 
6044
- Archives an existing Affiliate
6023
+ Archives an affiliate. The affiliate that handles Whop marketplace referrals cannot be archived.
6045
6024
 
6046
6025
  Required permissions:
6047
6026
  - `affiliate:update`
@@ -6106,7 +6085,7 @@ client.affiliates.archive(id: "aff_xxxxxxxxxxxxxx")
6106
6085
  <dl>
6107
6086
  <dd>
6108
6087
 
6109
- Unarchives an existing Affiliate
6088
+ Unarchives an archived affiliate.
6110
6089
 
6111
6090
  Required permissions:
6112
6091
  - `affiliate:update`
@@ -6859,7 +6838,7 @@ client.api_keys.create(
6859
6838
  <dl>
6860
6839
  <dd>
6861
6840
 
6862
- Lists the catalog of permission actions that can be granted to users, apps, and API keys — the source for the dashboard's permission pickers. Small and returned in full on one page.
6841
+ Lists the catalog of permission actions that can be granted to users, apps, and API keys. Use it to choose the `permissions` for an API key or to build a permission picker. Small and returned in full on one page.
6863
6842
  </dd>
6864
6843
  </dl>
6865
6844
  </dd>
@@ -7471,7 +7450,7 @@ client.app_builds.list(app_id: "app_id")
7471
7450
  <dl>
7472
7451
  <dd>
7473
7452
 
7474
- Uploads a new build artifact for an app. Upload the file first (POST /files or a direct upload), then reference it here; iOS and Android take a .zip bundle, web takes a JavaScript file or a .zip archive of the hosted site.
7453
+ Uploads a new build artifact for an app. Upload the file first with `POST /files` or a direct upload, then reference it in `attachment`.
7475
7454
  </dd>
7476
7455
  </dl>
7477
7456
  </dd>
@@ -7513,7 +7492,7 @@ client.app_builds.create(
7513
7492
  <dl>
7514
7493
  <dd>
7515
7494
 
7516
- **attachment:** `Whop_sdk::AppBuilds::Types::CreateAppBuildsRequestAttachment` — The uploaded build file: `{ id }` for an existing file or `{ direct_upload_id }` for a completed direct upload.
7495
+ **attachment:** `Whop_sdk::AppBuilds::Types::CreateAppBuildsRequestAttachment` — The uploaded build file: pass `id` for an existing file or `direct_upload_id` for a completed direct upload. iOS and Android builds take a .zip bundle; web builds take a JavaScript file or a .zip archive of the hosted site.
7517
7496
 
7518
7497
  </dd>
7519
7498
  </dl>
@@ -7986,7 +7965,7 @@ client.apps.create(name: "Shine Time Booking")
7986
7965
  <dl>
7987
7966
  <dd>
7988
7967
 
7989
- Retrieves an app by ID, claimed route, active verified custom hostname, or proxy domain id. Custom hostnames return 404 for inactive assignments, suspended accounts, or deleted apps. Credential fields (api_key, default_api_key, secrets) render `null` unless the caller has the corresponding developer permission on the owning account.
7968
+ Retrieves an app by ID, claimed route, active verified custom hostname, or proxy domain id. Authentication is optional; credential fields stay `null` unless you have the matching developer permission on the owning account.
7990
7969
  </dd>
7991
7970
  </dl>
7992
7971
  </dd>
@@ -8016,7 +7995,7 @@ client.apps.retrieve(id: "id")
8016
7995
  <dl>
8017
7996
  <dd>
8018
7997
 
8019
- **id:** `String` — App ID (prefixed `app_`). Retrieval also accepts the app's claimed route, an active verified custom hostname, or its proxy domain id.
7998
+ **id:** `String` — App ID (prefixed `app_`). Retrieval also accepts the app's claimed route, an active verified custom hostname, or its proxy domain id; a custom hostname returns `404` when its assignment is inactive, the owning account is suspended, or the app is deleted.
8020
7999
 
8021
8000
  </dd>
8022
8001
  </dl>
@@ -8078,7 +8057,7 @@ client.apps.delete(id: "id")
8078
8057
  <dl>
8079
8058
  <dd>
8080
8059
 
8081
- **id:** `String` — App ID (prefixed `app_`). Retrieval also accepts the app's claimed route, an active verified custom hostname, or its proxy domain id.
8060
+ **id:** `String` — App ID (prefixed `app_`). Retrieval also accepts the app's claimed route, an active verified custom hostname, or its proxy domain id; a custom hostname returns `404` when its assignment is inactive, the owning account is suspended, or the app is deleted.
8082
8061
 
8083
8062
  </dd>
8084
8063
  </dl>
@@ -8140,7 +8119,7 @@ client.apps.update(id: "id")
8140
8119
  <dl>
8141
8120
  <dd>
8142
8121
 
8143
- **id:** `String` — App ID (prefixed `app_`). Retrieval also accepts the app's claimed route, an active verified custom hostname, or its proxy domain id.
8122
+ **id:** `String` — App ID (prefixed `app_`). Retrieval also accepts the app's claimed route, an active verified custom hostname, or its proxy domain id; a custom hostname returns `404` when its assignment is inactive, the owning account is suspended, or the app is deleted.
8144
8123
 
8145
8124
  </dd>
8146
8125
  </dl>
@@ -8614,7 +8593,7 @@ client.apps.update_permissions(
8614
8593
  <dl>
8615
8594
  <dd>
8616
8595
 
8617
- List custom and lookalike audiences for an account. Pass `audience_id` to return a specific audience.
8596
+ Lists an account's custom and lookalike audiences.
8618
8597
  </dd>
8619
8598
  </dl>
8620
8599
  </dd>
@@ -8716,7 +8695,7 @@ client.audiences.list(account_id: "account_id")
8716
8695
  <dl>
8717
8696
  <dd>
8718
8697
 
8719
- Create an audience from a customer list, your account's Whop People data, or engagement with videos, lead forms, Instagram profiles, or Facebook pages. Create lookalike audiences to reach people similar to an existing audience. Processing runs asynchronously. Custom creation returns one audience; lookalike creation returns the requested similarity bands in `data`.
8698
+ Creates a custom audience from a customer list, your account's Whop People data, or engagement with videos, lead forms, Instagram profiles, or Facebook pages, or a lookalike audience that reaches people similar to an existing one. Processing runs asynchronously. A custom audience returns one audience; a lookalike returns the requested similarity bands in `data`.
8720
8699
  </dd>
8721
8700
  </dl>
8722
8701
  </dd>
@@ -9088,7 +9067,7 @@ client.audiences.add_people(
9088
9067
  <dl>
9089
9068
  <dd>
9090
9069
 
9091
- Returns a paginated list of authorized team members for a company, with optional filtering by user, role, and creation date.
9070
+ Lists the authorized users on an account's team.
9092
9071
 
9093
9072
  Required permissions:
9094
9073
  - `company:authorized_user:read`
@@ -9225,7 +9204,7 @@ client.authorized_users.list(
9225
9204
  <dl>
9226
9205
  <dd>
9227
9206
 
9228
- Add a new authorized user to a company.
9207
+ Adds a user to an account's team as an authorized user with the given role.
9229
9208
 
9230
9209
  Required permissions:
9231
9210
  - `authorized_user:create`
@@ -9393,7 +9372,7 @@ client.authorized_users.retrieve(id: "ausr_xxxxxxxxxxxxx")
9393
9372
  <dl>
9394
9373
  <dd>
9395
9374
 
9396
- Remove an authorized user from a company.
9375
+ Removes an authorized user from an account's team.
9397
9376
 
9398
9377
  Required permissions:
9399
9378
  - `authorized_user:delete`
@@ -10215,7 +10194,7 @@ client.bounty_submissions.list
10215
10194
  <dl>
10216
10195
  <dd>
10217
10196
 
10218
- Creates a submission on a workforce bounty. Include a `deliverable` payload — any combination of links and uploaded files, with at least one of the two — and the submission goes straight to review; create is the only step. For `data_capture` bounties, omit the deliverable: this starts a claimed attempt whose proof accumulates server-side, and the separate submit endpoint sends it to review once complete. Requires a user credential — account API keys cannot author submissions.
10197
+ Creates a submission on a workforce bounty. Include a `deliverable` and the submission goes straight to review; create is the only step. For `data_capture` bounties, omit the deliverable: this starts a claimed attempt whose proof accumulates server-side, and `POST /bounty_submissions/:id/submit` sends it to review once complete. Requires a user credential — account API keys cannot author submissions.
10219
10198
  </dd>
10220
10199
  </dl>
10221
10200
  </dd>
@@ -10433,7 +10412,7 @@ client.bounty_submissions.delete(id: "id")
10433
10412
  <dl>
10434
10413
  <dd>
10435
10414
 
10436
- Submits a claimed attempt for review. A livestream attempt needs an ended proof stream and can attach an optional `deliverable` — links, files, and a caption in any combination; if the attempt already went to review when its stream ended, the payload attaches to it once, until reviewers start voting. A data capture attempt instead needs enough validated clip time and takes no payload. Only the worker who started the attempt can submit it — account API keys cannot.
10415
+ Submits a claimed attempt for review. A livestream attempt needs an ended proof stream and can attach a `deliverable`; a data capture attempt instead needs enough validated clip time and takes no payload. Only the worker who started the attempt can submit it — account API keys cannot.
10437
10416
  </dd>
10438
10417
  </dl>
10439
10418
  </dd>
@@ -10471,7 +10450,7 @@ client.bounty_submissions.submit(id: "id")
10471
10450
  <dl>
10472
10451
  <dd>
10473
10452
 
10474
- **deliverable:** `Whop_sdk::BountySubmissions::Types::SubmitBountySubmissionsRequestDeliverable` — Work to attach to the submission. Combine `urls`, `file_ids`, and `caption` freely; all are optional.
10453
+ **deliverable:** `Whop_sdk::BountySubmissions::Types::SubmitBountySubmissionsRequestDeliverable` — Work to attach to a livestream attempt. Combine `urls`, `file_ids`, and `caption` freely; all are optional. If the attempt already went to review when its stream ended, the deliverable attaches to it once, until reviewers start voting. Data capture attempts take no deliverable.
10475
10454
 
10476
10455
  </dd>
10477
10456
  </dl>
@@ -10504,7 +10483,7 @@ client.bounty_submissions.submit(id: "id")
10504
10483
  <dl>
10505
10484
  <dd>
10506
10485
 
10507
- Lists the card transactions of an account or a user, newest first. Defaults to the account the credential belongs to. Covers every card the owner has ever had, including canceled cards and spend that predates a re-application, and team members only see transactions on the cards assigned to them. Pass `transaction_ids` to fetch specific transactions instead of paging for them.
10486
+ Lists the card transactions of an account or a user, newest first. Covers every card the owner has ever had, including canceled cards and spend that predates a re-application, and team members only see transactions on the cards assigned to them. Pass `transaction_ids` to fetch specific transactions instead of paging for them.
10508
10487
  </dd>
10509
10488
  </dl>
10510
10489
  </dd>
@@ -10674,7 +10653,7 @@ client.card_transactions.list(
10674
10653
  <dl>
10675
10654
  <dd>
10676
10655
 
10677
- Fetches a single card transaction by its `citx_` identifier. The owner defaults to the account the credential belongs to.
10656
+ Retrieves a single card transaction from any card the owner has ever had, including canceled cards. Team members can retrieve only transactions on the cards assigned to them.
10678
10657
  </dd>
10679
10658
  </dl>
10680
10659
  </dd>
@@ -10823,7 +10802,7 @@ client.cards.list
10823
10802
  <dl>
10824
10803
  <dd>
10825
10804
 
10826
- Issue a virtual card, or apply for card issuing. An account with no application files one here and gets back a `202`; call again to issue the card once it is approved.
10805
+ Issues a virtual card, or applies for card issuing. An account with no application files one here and gets back a `202`; call again to issue the card once it is approved.
10827
10806
  </dd>
10828
10807
  </dl>
10829
10808
  </dd>
@@ -10933,7 +10912,7 @@ client.cards.create
10933
10912
  <dl>
10934
10913
  <dd>
10935
10914
 
10936
- Retrieve a single card.
10915
+ Retrieves a single card, including its `secrets` (card number, CVC, and PIN), which List Cards does not return.
10937
10916
  </dd>
10938
10917
  </dl>
10939
10918
  </dd>
@@ -11011,7 +10990,7 @@ client.cards.retrieve(id: "id")
11011
10990
  <dl>
11012
10991
  <dd>
11013
10992
 
11014
- Update, freeze, or cancel a card. Updating the card's name, billing address, or limits requires both `payout:account:update` and `company:balance:read`; a card's assigned holder may update their own card's pin and frozen state with any user token.
10993
+ Updates, freezes, or cancels a card. Updating the card's name, billing address, or limits requires both `payout:account:update` and `company:balance:read`; a card's assigned holder may update their own card's pin and frozen state with any user token.
11015
10994
  </dd>
11016
10995
  </dl>
11017
10996
  </dd>
@@ -11170,7 +11149,7 @@ client.cards.update(id: "id")
11170
11149
  <dl>
11171
11150
  <dd>
11172
11151
 
11173
- Creates a future-dated card cashback rule funded by the authenticated platform account. Requires payout:transfer_funds. Merchant name and MCC are optional. Every supplied merchant filter must match. When both are omitted or null, scoped_account_id is required and all eligible transactions for that account match. Optionally limit the rule to one direct connected account. The funding account is derived from the credential and cannot be supplied. Creation does not transfer funds. Supports Idempotency-Key for safe retries.
11152
+ Creates a future-dated card cashback rule for your direct connected accounts, funded by the authenticated platform account. Creating a rule does not transfer funds; pay cashback out with `POST /cashback_rules/payout`. Requires `payout:transfer_funds`. Supports `Idempotency-Key` for safe retries.
11174
11153
  </dd>
11175
11154
  </dl>
11176
11155
  </dd>
@@ -11243,7 +11222,7 @@ client.cashback_rules.create(
11243
11222
  <dl>
11244
11223
  <dd>
11245
11224
 
11246
- **scoped_account_id:** `String` — Account ID prefixed biz_ belonging to a direct connected account. Required when both merchant filters are omitted or null. Otherwise, omit or set null to designate all direct connected accounts.
11225
+ **scoped_account_id:** `String` — Account ID, prefixed `biz_`, of one direct connected account to limit the rule to. Required when both merchant filters are omitted or `null`, in which case the rule matches all eligible transactions for that account. Otherwise, omit or set `null` to designate all direct connected accounts.
11247
11226
 
11248
11227
  </dd>
11249
11228
  </dl>
@@ -11283,7 +11262,7 @@ client.cashback_rules.create(
11283
11262
  <dl>
11284
11263
  <dd>
11285
11264
 
11286
- Lists all cashback rules funded by the authenticated platform account. Includes scheduled, expired, and discarded rules. Requires payout:transfer:read. Account-scoped credentials are required; there is no caller-supplied funding-account filter.
11265
+ Lists the cashback rules funded by the authenticated platform account, including scheduled, expired, and discarded rules. Requires an account-scoped credential with `payout:transfer:read`.
11287
11266
  </dd>
11288
11267
  </dl>
11289
11268
  </dd>
@@ -11385,7 +11364,7 @@ client.cashback_rules.list
11385
11364
  <dl>
11386
11365
  <dd>
11387
11366
 
11388
- Distributes cashback on demand from the authenticated platform's available USD balance to its direct connected accounts. Requires payout:transfer_funds. Optional filters combine; an empty body includes all eligible transactions. Only completed, unpaid transactions created before this request are considered. The latest matching rule wins; its funding account must be the authenticated platform. Amounts are calculated when processed. Returns status `processing` and echoes supplied filters when background processing is queued. Status `failed` with HTTP 200 means the queue rejected the request. This is not a payment confirmation. Failed transaction jobs retry automatically; insufficient funds requires adding USD to the funding wallet. Supports Idempotency-Key, and overlapping requests cannot pay the same card transaction twice.
11367
+ Pays out cashback on demand from the authenticated platform's available USD balance to its direct connected accounts. Covers completed, unpaid card transactions created before the request, each under its latest matching rule, which must be funded by the authenticated platform. Filters combine, and an empty body includes every eligible transaction. Payouts process in the background and amounts are calculated then, so the response confirms queuing, not payment. If a payout fails for insufficient funds, add USD to the platform's balance. Requires `payout:transfer_funds`. Supports `Idempotency-Key`, and overlapping requests cannot pay the same card transaction twice.
11389
11368
  </dd>
11390
11369
  </dl>
11391
11370
  </dd>
@@ -11463,7 +11442,7 @@ client.cashback_rules.payout
11463
11442
  <dl>
11464
11443
  <dd>
11465
11444
 
11466
- Updates a cashback rule funded by the authenticated platform account. Requires payout:transfer_funds. Only merchant_name, merchant_category_code, description, and expires_at can change; starts_at, rate_bps, funding_account_id, and scoped_account_id are immutable. Omitted fields stay unchanged. Scheduled, active, and expired rules can be updated; discarded rules cannot. Updating a rule does not transfer funds.
11445
+ Updates the merchant filters, description, or expiration of a cashback rule funded by the authenticated platform account; its start, rate, and accounts can't change. Omitted fields stay unchanged. Scheduled, active, and expired rules can be updated, but discarded rules can't. Updating a rule does not transfer funds. Requires `payout:transfer_funds`.
11467
11446
  </dd>
11468
11447
  </dl>
11469
11448
  </dd>
@@ -11558,7 +11537,7 @@ client.cashback_rules.update(id: "id")
11558
11537
  <dl>
11559
11538
  <dd>
11560
11539
 
11561
- Returns a paginated list of chat channels within a specific company, with optional filtering by product.
11540
+ Lists the chat channels in an account.
11562
11541
 
11563
11542
  Required permissions:
11564
11543
  - `chat:read`
@@ -11733,7 +11712,7 @@ client.chat_channels.retrieve(id: "id")
11733
11712
  <dl>
11734
11713
  <dd>
11735
11714
 
11736
- Update moderation settings for a chat channel, such as who can post, banned words, and media restrictions.
11715
+ Updates a chat channel's moderation settings, such as who can post, banned words, and media restrictions.
11737
11716
 
11738
11717
  Required permissions:
11739
11718
  - `chat:moderate`
@@ -11965,7 +11944,7 @@ client.checkout_configurations.list(account_id: "account_id")
11965
11944
  <dl>
11966
11945
  <dd>
11967
11946
 
11968
- Creates a reusable checkout configuration for an existing or inline variant.
11947
+ Creates a reusable checkout configuration for an existing or inline variant. Send customers to its `purchase_url` to check out.
11969
11948
  </dd>
11970
11949
  </dl>
11971
11950
  </dd>
@@ -12227,7 +12206,7 @@ client.checkout_configurations.delete(id: "id")
12227
12206
  <dl>
12228
12207
  <dd>
12229
12208
 
12230
- Retrieves a funded claim link. IDs require `airdrop_link:basic:read` on the funding account, or the personal account's owner. Claim codes allow unauthenticated previews of the sender, amount, expiry, and claim availability. Treat codes as secrets: anyone holding one can claim after signing in. By ID, the code and URL require `airdrop_link:manage` on the funding company or `payout:withdraw_funds` on the personal account; read-only credentials receive null values.
12209
+ Retrieves a funded claim link by ID or by its public claim code. By ID, the caller needs `airdrop_link:basic:read` on the funding account, or must own the funding personal account; `code` and `claim_url` are `null` without `airdrop_link:manage` on the funding account or `payout:withdraw_funds` on the personal account. A claim code previews the sender, amount, expiry, and claim availability without authentication. Treat codes as secrets: anyone holding one can claim after signing in.
12231
12210
  </dd>
12232
12211
  </dl>
12233
12212
  </dd>
@@ -12289,7 +12268,7 @@ client.claim_links.retrieve(id: "id")
12289
12268
  <dl>
12290
12269
  <dd>
12291
12270
 
12292
- Claims a funded link into the authenticated user's personal balance and returns the updated link. Requires a signed-in user and the public claim code; company API keys cannot claim on a recipient's behalf. Each user can claim a link once. Reuse the same Idempotency-Key when retrying the same request. On-chain claims wait for the existing transfer workflow and may take several minutes.
12271
+ Claims a funded link into the authenticated user's personal balance and returns the updated link. Requires a signed-in user and the public claim code; account API keys cannot claim on a recipient's behalf. Each user can claim a link once. Reuse the same `Idempotency-Key` when retrying the same request. On-chain claims may take several minutes to complete.
12293
12272
  </dd>
12294
12273
  </dl>
12295
12274
  </dd>
@@ -12352,7 +12331,7 @@ client.claim_links.claim(id: "id")
12352
12331
  <dl>
12353
12332
  <dd>
12354
12333
 
12355
- Returns a paginated list of token transactions for a user or company, depending on the authenticated actor, with optional filtering by user and transaction type.
12334
+ Lists an account's token transactions, newest first.
12356
12335
 
12357
12336
  Required permissions:
12358
12337
  - `company_token_transaction:read`
@@ -12472,7 +12451,7 @@ client.company_token_transactions.list(
12472
12451
  <dl>
12473
12452
  <dd>
12474
12453
 
12475
- Create a token transaction to add, subtract, or transfer tokens for a member within a company.
12454
+ Creates a token transaction that adds, subtracts, or transfers tokens for a member of an account.
12476
12455
 
12477
12456
  Required permissions:
12478
12457
  - `company_token_transaction:create`
@@ -12539,7 +12518,7 @@ client.company_token_transactions.create
12539
12518
  <dl>
12540
12519
  <dd>
12541
12520
 
12542
- Retrieves the details of an existing company token transaction.
12521
+ Retrieves a token transaction.
12543
12522
 
12544
12523
  Required permissions:
12545
12524
  - `company_token_transaction:read`
@@ -12607,7 +12586,7 @@ client.company_token_transactions.retrieve(id: "id")
12607
12586
  <dl>
12608
12587
  <dd>
12609
12588
 
12610
- Retrieves a token's payment method and billing details — never the underlying payment credential. Public and rate-limited: the account_id query param must match the account the token was minted for. A bearer credential with payment:basic:read on that account also receives the collected billing address.
12589
+ Retrieves a confirmation token's payment method and billing details, never the underlying payment credential, to display what the buyer chose or check that the token is still usable. Requires no authentication and is rate-limited.
12611
12590
  </dd>
12612
12591
  </dl>
12613
12592
  </dd>
@@ -12648,7 +12627,7 @@ client.confirmation_tokens.retrieve(
12648
12627
  <dl>
12649
12628
  <dd>
12650
12629
 
12651
- **account_id:** `String` — The account (biz_) the token was minted for.
12630
+ **account_id:** `String` — The account the token was minted for, prefixed `biz_`. It must match the token's account.
12652
12631
 
12653
12632
  </dd>
12654
12633
  </dl>
@@ -13062,7 +13041,7 @@ client.course_chapters.update(
13062
13041
  <dl>
13063
13042
  <dd>
13064
13043
 
13065
- Returns a paginated list of lesson interactions, filtered by lesson, course, user, or completion status.
13044
+ Returns a paginated list of lesson interactions for a lesson or course. Callers without admin access to the course's experience see only their own interactions.
13066
13045
 
13067
13046
  Required permissions:
13068
13047
  - `courses:read`
@@ -14175,7 +14154,7 @@ client.course_students.retrieve(id: "id")
14175
14154
  <dl>
14176
14155
  <dd>
14177
14156
 
14178
- Returns a paginated list of courses, filtered by either an experience or a company.
14157
+ Returns a paginated list of the courses in an experience or an account. `hidden` courses are included only for callers with `courses:update`.
14179
14158
 
14180
14159
  Required permissions:
14181
14160
  - `courses:read`
@@ -14409,7 +14388,7 @@ client.courses.create(
14409
14388
  <dl>
14410
14389
  <dd>
14411
14390
 
14412
- Retrieves the details of an existing course.
14391
+ Retrieves the details of an existing course. A `hidden` course is returned only to callers with `courses:update`.
14413
14392
 
14414
14393
  Required permissions:
14415
14394
  - `courses:read`
@@ -14685,7 +14664,7 @@ client.courses.update(id: "cors_xxxxxxxxxxxxx")
14685
14664
  <dl>
14686
14665
  <dd>
14687
14666
 
14688
- Retrieve the deposit methods for an account, including crypto and bank transfer. Bitcoin deposits are converted by Relay directly to USDT on Plasma in the destination account's wallet. Crypto deposits require a $10 minimum.
14667
+ Returns the deposit methods for an account or user, including crypto addresses, bank transfer instructions, and, for a business, a hosted deposit page. Bitcoin deposits are converted to USDT on Plasma in the destination's wallet. Business destinations require no authentication.
14689
14668
  </dd>
14690
14669
  </dl>
14691
14670
  </dd>
@@ -15267,7 +15246,7 @@ client.disputes.retrieve(id: "id")
15267
15246
  <dl>
15268
15247
  <dd>
15269
15248
 
15270
- Edits a dispute's evidence, while it is still editable. Sending it is a separate call. `evidence.documents`, when provided, replaces the full set of documents beyond the four fixed evidence slots — see its own description.
15249
+ Edits a dispute's evidence while it is still editable. When the evidence is ready, send it to the payment processor with `POST /disputes/:id/submit`.
15271
15250
  </dd>
15272
15251
  </dl>
15273
15252
  </dd>
@@ -15399,7 +15378,7 @@ client.disputes.submit(id: "id")
15399
15378
  <dl>
15400
15379
  <dd>
15401
15380
 
15402
- Prefer `PATCH /disputes/{id}` with `evidence.documents` — it does the same replace alongside every other evidence field in one call. Replaces the full set of uploaded evidence documents on a dispute, beyond the four fixed evidence slots. Upload files through `POST /files` and reference them by `id`, or send the files as multipart file parts to upload and attach in one call. Send every document the packet should carry — up to 10, 10MB each and 25MB in total; an empty list removes them all. Accepted content types: application/pdf, application/json, image/jpeg, image/png, image/webp — any other type is rejected. Policy documents (`return_policy`, `shipping_policy`, `cancellation_policy`, `terms_of_service`) default from the account's own documents; uploading one here replaces the account copy for this dispute, and a `cancellation_policy` or `return_policy` upload also takes precedence over the matching fixed evidence slot.
15381
+ Replaces the full set of uploaded evidence documents on a dispute, beyond the four fixed evidence slots. Prefer `PATCH /disputes/:id` with `evidence.documents`, which does the same replace alongside every other evidence field in one call.
15403
15382
  </dd>
15404
15383
  </dl>
15405
15384
  </dd>
@@ -15442,7 +15421,7 @@ client.disputes.upload_evidence(
15442
15421
  <dl>
15443
15422
  <dd>
15444
15423
 
15445
- **documents:** `Internal::Types::Array[Whop_sdk::Disputes::Types::UploadEvidenceDisputesRequestDocumentsItem]` — The full set of evidence documents the dispute should carry, beyond the four fixed evidence slots. Replaces all previously uploaded documents. Upload files through `POST /files` and reference them by `id`, or send the files as multipart file parts to upload and attach in one call. Policy documents (`return_policy`, `shipping_policy`, `cancellation_policy`, `terms_of_service`) default from the account's own documents; uploading one here replaces the account copy for this dispute, and a `cancellation_policy` or `return_policy` upload also takes precedence over the matching fixed evidence slot.
15424
+ **documents:** `Internal::Types::Array[Whop_sdk::Disputes::Types::UploadEvidenceDisputesRequestDocumentsItem]` — The full set of evidence documents the dispute should carry, beyond the four fixed evidence slots. Replaces all previously uploaded documents; an empty list removes them all. Send up to 10, 10MB each and 25MB in total. Accepted content types: application/pdf, application/json, image/jpeg, image/png, image/webp — any other type is rejected. Upload files through `POST /files` and reference them by `id`, or send the files as multipart file parts to upload and attach in one call. Policy documents (`return_policy`, `shipping_policy`, `cancellation_policy`, `terms_of_service`) default from the account's own documents; uploading one here replaces the account copy for this dispute, and a `cancellation_policy` or `return_policy` upload also takes precedence over the matching fixed evidence slot.
15446
15425
 
15447
15426
  </dd>
15448
15427
  </dl>
@@ -15475,7 +15454,7 @@ client.disputes.upload_evidence(
15475
15454
  <dl>
15476
15455
  <dd>
15477
15456
 
15478
- Returns a paginated list of DM channels for the currently authenticated user, sorted by most recently active.
15457
+ Lists the authenticated user's DM channels, most recently active first.
15479
15458
 
15480
15459
  Required permissions:
15481
15460
  - `dms:read`
@@ -15576,7 +15555,7 @@ client.dm_channels.list(
15576
15555
  <dl>
15577
15556
  <dd>
15578
15557
 
15579
- Create a new DM channel between two or more users, optionally scoped to a specific company. Returns the existing channel if one already exists.
15558
+ Creates a DM channel between two or more users, optionally scoped to an account. Returns the existing channel if one already exists.
15580
15559
 
15581
15560
  Required permissions:
15582
15561
  - `dms:channel:manage`
@@ -15731,7 +15710,7 @@ client.dm_channels.retrieve(id: "id")
15731
15710
  <dl>
15732
15711
  <dd>
15733
15712
 
15734
- Permanently delete a DM channel and all of its messages. Only an admin of the channel can perform this action.
15713
+ Permanently deletes a DM channel and all of its messages. Only a channel admin can delete it.
15735
15714
 
15736
15715
  Required permissions (one of):
15737
15716
  - `dms:channel:manage`
@@ -15797,7 +15776,7 @@ client.dm_channels.delete(id: "id")
15797
15776
  <dl>
15798
15777
  <dd>
15799
15778
 
15800
- Update the settings of an existing DM channel, such as its display name. Only an admin of the channel can perform this action.
15779
+ Updates a DM channel's settings, such as its display name. Only a channel admin can update it.
15801
15780
 
15802
15781
  Required permissions (one of):
15803
15782
  - `dms:channel:manage`
@@ -16322,7 +16301,7 @@ client.domains.list(tlds: ["com"])
16322
16301
  <dl>
16323
16302
  <dd>
16324
16303
 
16325
- **order:** `Whop_sdk::Domains::Types::ListDomainsRequestOrder` — Field to sort by.
16304
+ **order:** `Whop_sdk::Domains::Types::ListDomainsRequestOrder` — Field to sort by. Domains with the same value keep their creation order in the same direction.
16326
16305
 
16327
16306
  </dd>
16328
16307
  </dl>
@@ -16426,6 +16405,22 @@ client.domains.list(tlds: ["com"])
16426
16405
  <dl>
16427
16406
  <dd>
16428
16407
 
16408
+ **apple_pay:** `Whop_sdk::Domains::Types::ListDomainsRequestApplePay` — Only domains with apple_pay in this state, such as `ready`, or `any` for every domain that has apple_pay.
16409
+
16410
+ </dd>
16411
+ </dl>
16412
+
16413
+ <dl>
16414
+ <dd>
16415
+
16416
+ **pixel:** `Whop_sdk::Domains::Types::ListDomainsRequestPixel` — Only domains with pixel in this state, such as `ready`, or `any` for every domain that has pixel.
16417
+
16418
+ </dd>
16419
+ </dl>
16420
+
16421
+ <dl>
16422
+ <dd>
16423
+
16429
16424
  **request_options:** `Whop_sdk::Domains::RequestOptions`
16430
16425
 
16431
16426
  </dd>
@@ -16494,6 +16489,14 @@ client.domains.create(domain: "store.example.com")
16494
16489
  <dl>
16495
16490
  <dd>
16496
16491
 
16492
+ **apple_pay:** `Whop_sdk::Domains::Types::CreateDomainsRequestApplePay` — Accept Apple Pay at checkout on the domain. It needs no other capability. Whop registers the domain with Apple: it stays `pending` until Apple answers, then turns `ready`, or `action_required` when Apple couldn't fetch the domain association file. Serve the file, then check the domain to register it again. Pass `null` to turn Apple Pay off: Whop removes the domain from Apple, and the domain stays, like releasing any other capability.
16493
+
16494
+ </dd>
16495
+ </dl>
16496
+
16497
+ <dl>
16498
+ <dd>
16499
+
16497
16500
  **domain:** `String` — Bare hostname, such as example.com or checkout.example.com. A bought domain must be a root domain. Wildcards, paths, schemes, and ports are not accepted.
16498
16501
 
16499
16502
  </dd>
@@ -16510,6 +16513,14 @@ client.domains.create(domain: "store.example.com")
16510
16513
  <dl>
16511
16514
  <dd>
16512
16515
 
16516
+ **pixel:** `Whop_sdk::Domains::Types::CreateDomainsRequestPixel` — Track page views on the domain with the Whop pixel. It needs no other capability: it stays `pending` until the pixel records a page view, and turns `action_required` if it goes 7 days without one. Pass `null` to stop tracking.
16517
+
16518
+ </dd>
16519
+ </dl>
16520
+
16521
+ <dl>
16522
+ <dd>
16523
+
16513
16524
  **registration:** `Whop_sdk::Domains::Types::CreateDomainsRequestRegistration` — Buy the domain through Whop, renew it every year, and let Whop run its DNS. Pass `null` to release an unpaid or failed purchase.
16514
16525
 
16515
16526
  </dd>
@@ -16722,6 +16733,14 @@ client.domains.update(id: "id")
16722
16733
  <dl>
16723
16734
  <dd>
16724
16735
 
16736
+ **apple_pay:** `Whop_sdk::Domains::Types::UpdateDomainsRequestApplePay` — Accept Apple Pay at checkout on the domain. It needs no other capability. Whop registers the domain with Apple: it stays `pending` until Apple answers, then turns `ready`, or `action_required` when Apple couldn't fetch the domain association file. Serve the file, then check the domain to register it again. Pass `null` to turn Apple Pay off: Whop removes the domain from Apple, and the domain stays, like releasing any other capability.
16737
+
16738
+ </dd>
16739
+ </dl>
16740
+
16741
+ <dl>
16742
+ <dd>
16743
+
16725
16744
  **metadata:** `Internal::Types::Hash[String, String]` — Replacement custom string keys and values.
16726
16745
 
16727
16746
  </dd>
@@ -16730,6 +16749,14 @@ client.domains.update(id: "id")
16730
16749
  <dl>
16731
16750
  <dd>
16732
16751
 
16752
+ **pixel:** `Whop_sdk::Domains::Types::UpdateDomainsRequestPixel` — Track page views on the domain with the Whop pixel. It needs no other capability: it stays `pending` until the pixel records a page view, and turns `action_required` if it goes 7 days without one. Pass `null` to stop tracking.
16753
+
16754
+ </dd>
16755
+ </dl>
16756
+
16757
+ <dl>
16758
+ <dd>
16759
+
16733
16760
  **registration:** `Whop_sdk::Domains::Types::UpdateDomainsRequestRegistration` — Buy the domain through Whop, renew it every year, and let Whop run its DNS. Pass `null` to release an unpaid or failed purchase.
16734
16761
 
16735
16762
  </dd>
@@ -16841,7 +16868,7 @@ client.domains.check(id: "id")
16841
16868
  <dl>
16842
16869
  <dd>
16843
16870
 
16844
- Lists an account's recommendations and generation requests, newest first by default. For callers with company:update permission, listing queues generation when no recommendations are ready or in progress, with a ten-minute cooldown after an unsuccessful request; unsuccessful requests are not listed. Without an account, signed-out visitors receive a business-setup template and eligible users receive their saved setup recommendation. With `has_run` and no account, users receive the recommendations run on every account they can read that has Economic Intelligence. An account's executed recommendations and runs stay listed after Economic Intelligence turns off. New recommendations are offered only while it is on. Visitor countries, page views, ad impressions and clicks, and payment volume for a time range come from `GET /stats/time_series/{metric}`.
16871
+ Lists an account's recommendations and generation requests, newest first by default. When no recommendations are ready or in progress and you have `company:update` permission, listing queues generation, with a ten-minute cooldown after an unsuccessful request; unsuccessful requests are not listed. An account's executed recommendations and runs stay listed after Economic Intelligence turns off, but new recommendations are offered only while it is on. For visitor countries, page views, ad impressions and clicks, or payment volume over a time range, use `GET /stats/time_series/:metric`.
16845
16872
  </dd>
16846
16873
  </dl>
16847
16874
  </dd>
@@ -16871,7 +16898,7 @@ client.economic_intelligence.list
16871
16898
  <dl>
16872
16899
  <dd>
16873
16900
 
16874
- **account_id:** `String` — Account ID, prefixed `biz_`. Defaults to the API key's own account; omit for personal onboarding.
16901
+ **account_id:** `String` — Account ID, prefixed `biz_`. Defaults to the API key's own account; omit for personal onboarding, where signed-out visitors receive a business-setup template and eligible users receive their saved setup recommendation.
16875
16902
 
16876
16903
  </dd>
16877
16904
  </dl>
@@ -17102,7 +17129,7 @@ client.economic_intelligence.update(id: "id")
17102
17129
  <dl>
17103
17130
  <dd>
17104
17131
 
17105
- Lists identity-linked events, most recent first by default. Pass identifier for one person's journey, or omit it to list events for an account within an explicit time range. Pass direction=asc to read a journey forwards from where it starts. Events are shaped like the POST /events intake: attribution in context, identity in user.
17132
+ Lists identity-linked events, most recent first by default. Pass `identifier` for one person's journey, or omit it to list an account's events within a time range. Events have the same shape as the `POST /events` intake: attribution in `context`, identity in `user`.
17106
17133
  </dd>
17107
17134
  </dl>
17108
17135
  </dd>
@@ -17308,7 +17335,7 @@ client.events.list
17308
17335
  <dl>
17309
17336
  <dd>
17310
17337
 
17311
- Tracks a conversion or engagement event for an account.
17338
+ Tracks a conversion or engagement event for an account, such as a lead or a sign-up, so it can be attributed to the ads and links that drove it. Send server-side events with an API key that has `event:create`; the browser pixel calls this without authentication.
17312
17339
  </dd>
17313
17340
  </dl>
17314
17341
  </dd>
@@ -17529,7 +17556,7 @@ Use a standard event (lead, submit_application, contact, complete_registration,
17529
17556
  <dl>
17530
17557
  <dd>
17531
17558
 
17532
- Returns a fully anonymized feed of recent platform-wide money movement, most recent first: purchases, affiliate commissions, card and ad spend, app revenue, off-platform sales, wallet deposits, card loads, claimed drops, transfers between accounts, and referral bonuses. Items carry only a `type`, the underlying event name, a USD amount, a coarse location under `user`, and a timestamp coarsened to the start of the minute; missing fields are omitted, not nulled. The payload is identical for every caller; no auth is required.
17559
+ Returns a fully anonymized feed of recent money movement across Whop, most recent first, such as purchases, card spend, and transfers between accounts. Each item carries only its `type`, a USD amount, a coarse location, and a timestamp coarsened to the minute. The payload is identical for every caller and requires no authentication.
17533
17560
  </dd>
17534
17561
  </dl>
17535
17562
  </dd>
@@ -17615,7 +17642,7 @@ client.events.pulse
17615
17642
  <dl>
17616
17643
  <dd>
17617
17644
 
17618
- Checks whether the Whop pixel is installed for an account. Recent pixel events count as proof on their own, so an account that has sent data lately comes back installed without a `url`. Pass a `url` and events from that page settle it; conversion events are also read across the hostname because they commonly fire on a later confirmation page. If the requested page hasn't sent any events lately, it is fetched and read for the pixel and conversion events wired on it. `installed` is only true when the pixel was actually seen — in the account's events or in the page. `affiliate_tracking_detected` reports an affiliate tracking SDK found on the page. Supported platforms: Everflow.
17645
+ Checks whether the Whop pixel is installed for an account, or on one page when you pass a `url`. Use it before launching an ad to confirm its destination is tracked, or in a setup flow to tell a merchant whether their install is live.
17619
17646
  </dd>
17620
17647
  </dl>
17621
17648
  </dd>
@@ -17653,7 +17680,7 @@ client.events.validate_pixel
17653
17680
  <dl>
17654
17681
  <dd>
17655
17682
 
17656
- **url:** `String` — A page to read for the pixel, e.g. an ad destination. Omit it to check the account from its events alone.
17683
+ **url:** `String` — A page to check for the pixel, such as an ad destination. Events from that page settle the answer; if it hasn't sent any lately, it is fetched and its source read for the pixel and the conversion events wired on it. Omit it to check the account from its events alone.
17657
17684
 
17658
17685
  </dd>
17659
17686
  </dl>
@@ -17686,7 +17713,7 @@ client.events.validate_pixel
17686
17713
  <dl>
17687
17714
  <dd>
17688
17715
 
17689
- Returns a paginated list of experiences belonging to a company, with optional filtering by product and app.
17716
+ Lists the experiences in an account, optionally filtered to those attached to one product or powered by one app.
17690
17717
  </dd>
17691
17718
  </dl>
17692
17719
  </dd>
@@ -17820,6 +17847,8 @@ client.experiences.list(
17820
17847
  <dl>
17821
17848
  <dd>
17822
17849
 
17850
+ Creates an experience for an account, powered by an app such as courses, forums, or chat. Attach it to a product with `POST /experiences/:id/attach` to give that product's customers access.
17851
+
17823
17852
  Required permissions:
17824
17853
  - `experience:create`
17825
17854
  </dd>
@@ -17996,6 +18025,8 @@ client.experiences.retrieve(id: "exp_xxxxxxxxxxxxxx")
17996
18025
  <dl>
17997
18026
  <dd>
17998
18027
 
18028
+ Deletes an experience and detaches it from every product, removing customer access to it. Returns `true` on success.
18029
+
17999
18030
  Required permissions:
18000
18031
  - `experience:delete`
18001
18032
  </dd>
@@ -18059,6 +18090,8 @@ client.experiences.delete(id: "exp_xxxxxxxxxxxxxx")
18059
18090
  <dl>
18060
18091
  <dd>
18061
18092
 
18093
+ Updates an experience's name, logo, visibility, or notification setting, or moves it to another section or position.
18094
+
18062
18095
  Required permissions:
18063
18096
  - `experience:update`
18064
18097
  </dd>
@@ -18178,7 +18211,7 @@ client.experiences.update(id: "exp_xxxxxxxxxxxxxx")
18178
18211
  <dl>
18179
18212
  <dd>
18180
18213
 
18181
- Attach an experience to a product, making it accessible to the product's customers.
18214
+ Attaches an experience to a product, giving the product's customers access to it.
18182
18215
 
18183
18216
  Required permissions:
18184
18217
  - `experience:attach`
@@ -18254,7 +18287,7 @@ client.experiences.attach(
18254
18287
  <dl>
18255
18288
  <dd>
18256
18289
 
18257
- Detach an experience from a product, removing customer access to it through that product.
18290
+ Detaches an experience from a product, removing customer access to it through that product.
18258
18291
 
18259
18292
  Required permissions:
18260
18293
  - `experience:detach`
@@ -18330,10 +18363,7 @@ client.experiences.detach(
18330
18363
  <dl>
18331
18364
  <dd>
18332
18365
 
18333
- Duplicates an existing experience. The name will be copied, unless provided. The new experience will be attached to the same products as the original experience.
18334
- If duplicating a Forum or Chat experience, the new experience will have the same settings as the original experience, e.g. who can post, who can comment, etc.
18335
- No content, e.g. posts, messages, lessons from within the original experience will be copied.
18336
-
18366
+ Duplicates an experience and attaches the copy to the same products as the original. Forum and chat copies keep the original's settings, such as who can post or comment. No content, such as posts, messages, or lessons, is copied.
18337
18367
 
18338
18368
  Required permissions:
18339
18369
  - `experience:create`
@@ -18407,7 +18437,7 @@ client.experiences.duplicate(id: "exp_xxxxxxxxxxxxxx")
18407
18437
  <dl>
18408
18438
  <dd>
18409
18439
 
18410
- Lists experiments for one account with experiment:read permission.
18440
+ Lists the experiments and feature flags owned by an account. Requires `experiment:read` on the account.
18411
18441
  </dd>
18412
18442
  </dl>
18413
18443
  </dd>
@@ -18533,7 +18563,7 @@ client.experiments.list
18533
18563
  <dl>
18534
18564
  <dd>
18535
18565
 
18536
- Creates a draft experiment for the specified account.
18566
+ Creates an experiment or feature flag in `draft` status for an account. Nothing is served until you activate it with `POST /experiments/:id/activate`. Requires `experiment:manage` on the account.
18537
18567
  </dd>
18538
18568
  </dl>
18539
18569
  </dd>
@@ -18670,15 +18700,7 @@ client.experiments.create(
18670
18700
  <dl>
18671
18701
  <dd>
18672
18702
 
18673
- Evaluates and records an exposure without requiring authentication. When credentials resolve, their authentication method, API key ID, and signed-in user ID are recorded on the exposure event. Pass subject for bucketing identity and account_id for experiment ownership.
18674
-
18675
- Pass `flag_key` to check a single flag, or omit it to fetch active flags in the account and related resource scope.
18676
-
18677
- Assignments use exactly the configured `bucket_by`: `subject[user_id]`, `subject[account_id]`, or `subject[anonymous_id]`. Missing the required identity fails single evaluation and omits the experiment from batch evaluation. Subjects outside all treatment ranges receive control.
18678
-
18679
- Pass `subject[account_id]` to enable account-level targeting rules. Pass `properties` as a JSON object to supply the values that `property` targeting conditions match against.
18680
-
18681
- Pass `log_exposure=false` to read an assignment without recording an exposure, for a client that caches assignments up front and records the exposure when the arm is actually rendered. Omitted records the exposure, so pinned callers are unchanged.
18703
+ Evaluates experiments and feature flags for a subject and records an exposure. Pass `flag_key` to evaluate one flag, or omit it to evaluate every active flag in the account and related resource scope. Requires no authentication; when a credential resolves, its authentication method, API key ID, and signed-in user ID are recorded on the exposure event.
18682
18704
  </dd>
18683
18705
  </dl>
18684
18706
  </dd>
@@ -18708,7 +18730,7 @@ client.experiments.exposures
18708
18730
  <dl>
18709
18731
  <dd>
18710
18732
 
18711
- **subject:** `Whop_sdk::Types::ExposuresExperimentsRequestSubject` — Bucketing subject: the user, account, or anonymous ID the experiment's `bucket_by` assigns on. Ownership is the top-level account_id.
18733
+ **subject:** `Whop_sdk::Types::ExposuresExperimentsRequestSubject` — Bucketing subject: the user, account, or anonymous ID the experiment's `bucket_by` assigns on. Only the identity matching `bucket_by` is used; when it is missing, evaluating a single flag fails and a batch omits that experiment. Subjects outside every treatment range receive `control`. `subject[account_id]` also enables account-level targeting rules. Experiment ownership comes from the top-level `account_id`.
18712
18734
 
18713
18735
  </dd>
18714
18736
  </dl>
@@ -18748,7 +18770,7 @@ client.experiments.exposures
18748
18770
  <dl>
18749
18771
  <dd>
18750
18772
 
18751
- **log_exposure:** `Internal::Types::Boolean` — Set false to evaluate without recording an exposure. Omitted records it.
18773
+ **log_exposure:** `Internal::Types::Boolean` — Set `false` to read an assignment without recording an exposure, such as when a client caches assignments up front and records the exposure when the arm is rendered. Omitted records the exposure.
18752
18774
 
18753
18775
  </dd>
18754
18776
  </dl>
@@ -18780,7 +18802,7 @@ client.experiments.exposures
18780
18802
  <dl>
18781
18803
  <dd>
18782
18804
 
18783
- Retrieves a single experiment or feature flag by its `expt_` id or flag_key handle. Requires the corresponding experiment permission on the owning account.
18805
+ Retrieves an experiment or feature flag by its `expt_` ID or `flag_key` handle. Requires `experiment:read` on the owning account.
18784
18806
  </dd>
18785
18807
  </dl>
18786
18808
  </dd>
@@ -18850,7 +18872,7 @@ client.experiments.retrieve(id: "id")
18850
18872
  <dl>
18851
18873
  <dd>
18852
18874
 
18853
- Updates the targeting rules, treatment allocation, metrics, or hypothesis of an existing experiment or feature flag. Weights and metrics can only grow, so enrolled users never change arms and an existing metric is never dropped. Lifecycle moves through the transition endpoints (`activate`, `pause`, `end`), never through this update. Requires the corresponding experiment permission on the owning account.
18875
+ Updates the targeting rules, treatment allocation, or hypothesis of an existing experiment or feature flag. To change its lifecycle, use the `activate`, `pause`, and `end` endpoints instead. Requires `experiment:manage` on the owning account.
18854
18876
  </dd>
18855
18877
  </dl>
18856
18878
  </dd>
@@ -18960,7 +18982,7 @@ client.experiments.update(id: "id")
18960
18982
  <dl>
18961
18983
  <dd>
18962
18984
 
18963
- Starts (or resumes) an experiment or feature flag so evaluation begins serving it. Activating a draft stamps `started_at`; resuming a paused experiment keeps the original start. Only drafts and paused experiments can be activated. Requires the corresponding experiment permission on the owning account.
18985
+ Starts (or resumes) an experiment or feature flag so evaluation begins serving it. Activating a draft stamps `started_at`; resuming a paused experiment keeps the original start. Only drafts and paused experiments can be activated. Requires `experiment:manage` on the owning account.
18964
18986
  </dd>
18965
18987
  </dl>
18966
18988
  </dd>
@@ -19038,7 +19060,7 @@ client.experiments.activate(id: "id")
19038
19060
  <dl>
19039
19061
  <dd>
19040
19062
 
19041
- Concludes the experiment and records required `findings`. Pass `winning_arm` to serve the winning treatment to everyone; omit it when control won. Ended experiments cannot restart, but may be ended again to correct the winner. Requires experiment:manage on the account.
19063
+ Concludes the experiment and records required `findings`. Pass `winning_arm` to serve the winning treatment to everyone; omit it when control won. Ended experiments cannot restart, but may be ended again to correct the winner. Requires `experiment:manage` on the owning account.
19042
19064
  </dd>
19043
19065
  </dl>
19044
19066
  </dd>
@@ -19127,7 +19149,7 @@ client.experiments.end_(
19127
19149
  <dl>
19128
19150
  <dd>
19129
19151
 
19130
- Pauses an active experiment or feature flag: evaluation stops serving it and exposures stop flowing. Assignments are keyed on stable identity, so users return to their original arm when the experiment resumes. Requires the corresponding experiment permission on the owning account.
19152
+ Pauses an active experiment or feature flag: evaluation stops serving it and exposures stop flowing. Assignments are keyed on stable identity, so users return to their original arm when the experiment resumes. Requires `experiment:manage` on the owning account.
19131
19153
  </dd>
19132
19154
  </dl>
19133
19155
  </dd>
@@ -19308,7 +19330,7 @@ client.exports.list
19308
19330
  <dl>
19309
19331
  <dd>
19310
19332
 
19311
- Starts an asynchronous export of a resource for an account. Returns the export in `pending`; poll `GET /exports/{id}` until `download_url` is set.
19333
+ Starts an asynchronous export of a resource for an account. Returns the export in `pending`; poll `GET /exports/:id` until `download_url` is set.
19312
19334
  </dd>
19313
19335
  </dl>
19314
19336
  </dd>
@@ -19685,7 +19707,7 @@ client.external_accounts.create(platform: "facebook")
19685
19707
  <dl>
19686
19708
  <dd>
19687
19709
 
19688
- Starts an OAuth connection flow and returns an authorize_url where the user can connect an external account. LinkedIn supports personal profiles only, with scopes omitted. TikTok connects the authenticated user’s profile when scopes are omitted or company advertising assets with advertise. Meta Business and Snapchat support advertising connections only and require advertise. Personal profile connections must be completed in a browser signed in as the initiating Whop user.
19710
+ Starts an OAuth connection flow and returns an `authorize_url` to send the user to, where they connect an external account. Personal profile connections must be completed in a browser signed in as the Whop user who started the flow.
19689
19711
  </dd>
19690
19712
  </dl>
19691
19713
  </dd>
@@ -19923,7 +19945,7 @@ client.external_accounts.refresh(id: "id")
19923
19945
  <dl>
19924
19946
  <dd>
19925
19947
 
19926
- Returns a paginated list of fee markups configured for a company. If the company is a platform account, returns the platform default markups.
19948
+ Lists the fee markups configured for an account. For a platform account, returns the platform's default markups.
19927
19949
 
19928
19950
  Required permissions:
19929
19951
  - `company:update_child_fees`
@@ -20024,7 +20046,7 @@ client.fee_markups.list(
20024
20046
  <dl>
20025
20047
  <dd>
20026
20048
 
20027
- Create or update a fee markup for a company. If a markup for the specified fee type already exists, it will be updated with the new values.
20049
+ Creates or updates an account's markup for one fee type. If the account already has a markup for that `fee_type`, it is updated with the new values.
20028
20050
 
20029
20051
  Required permissions:
20030
20052
  - `company:update_child_fees`
@@ -20132,7 +20154,7 @@ client.fee_markups.create(
20132
20154
  <dl>
20133
20155
  <dd>
20134
20156
 
20135
- Delete a fee markup configuration for a company. This removes the custom fee override and reverts to the parent company's default fees.
20157
+ Deletes a fee markup, removing the custom fee override so the account reverts to its parent account's default fees.
20136
20158
 
20137
20159
  Required permissions:
20138
20160
  - `company:update_child_fees`
@@ -20198,7 +20220,7 @@ client.fee_markups.delete(id: "id")
20198
20220
  <dl>
20199
20221
  <dd>
20200
20222
 
20201
- Submits an issue or an unanswered question to Whop for review, recorded under the authenticated user, account, or app. Returns a receipt once the submission is accepted; processing is asynchronous and no reply is sent. Accepts user, account, and app credentials.
20223
+ Submits an issue or an unanswered question to Whop for review, recorded under the authenticated user, account, or app. Returns a receipt once the submission is accepted; processing is asynchronous and no reply is sent.
20202
20224
  </dd>
20203
20225
  </dl>
20204
20226
  </dd>
@@ -20280,7 +20302,7 @@ client.feedback_submissions.create(
20280
20302
  <dl>
20281
20303
  <dd>
20282
20304
 
20283
- Returns the files with the given IDs, newest first — fetch a batch in one request instead of retrieving each file individually. Only files you created are returned; IDs that do not exist, or that another credential created, are omitted. A request for up to 100 IDs answers in a single page by default; a larger batch pages at up to 100 files per response — follow `page_info` with the same `file_ids` to walk the rest.
20305
+ Returns the files with the given IDs, newest first — fetch a batch in one request instead of retrieving each file individually. Only files you created are returned; IDs that do not exist, or that another credential created, are omitted. For a batch larger than one page, follow `page_info` with the same `file_ids` to walk the rest.
20284
20306
  </dd>
20285
20307
  </dl>
20286
20308
  </dd>
@@ -21126,7 +21148,7 @@ client.forum_posts.list(
21126
21148
  <dl>
21127
21149
  <dd>
21128
21150
 
21129
- Create a new forum post or comment within an experience. Supports text content, attachments, polls, paywalling, and pinning. Pass experience_id 'public' with an account_id to post to an account's public forum.
21151
+ Create a new forum post or comment within an experience. Supports text content, attachments, polls, paywalling, and pinning.
21130
21152
 
21131
21153
  Required permissions:
21132
21154
  - `forum:post:create`
@@ -21455,7 +21477,7 @@ client.forum_posts.update(id: "id")
21455
21477
  <dl>
21456
21478
  <dd>
21457
21479
 
21458
- Returns a paginated list of forums within a specific company, with optional filtering by product.
21480
+ Returns a paginated list of forums for an account, with optional filtering by product.
21459
21481
 
21460
21482
  Required permissions:
21461
21483
  - `forum:read`
@@ -21736,7 +21758,7 @@ client.forums.update(id: "id")
21736
21758
  <dl>
21737
21759
  <dd>
21738
21760
 
21739
- Returns a paginated list of identity profiles. When account_id is provided, lists IPs currently linked to that account's ledger. When omitted, lists IPs linked to any ledger the actor can read (including child accounts under a parent).
21761
+ Lists the identity profiles currently linked to an account, or to every account you can read when `account_id` is omitted.
21740
21762
 
21741
21763
  Required permissions:
21742
21764
  - `identity:read`
@@ -21821,7 +21843,7 @@ client.identity_profiles.list_identity_profile(
21821
21843
  <dl>
21822
21844
  <dd>
21823
21845
 
21824
- **account_id:** `String` — The unique identifier of the company to filter to. When omitted, returns IPs across all ledgers the actor can read.
21846
+ **account_id:** `String` — Account to list identity profiles for, prefixed `biz_`. Omit to list profiles across every account you can read, including child accounts under a parent and, with a user credential, your own user.
21825
21847
 
21826
21848
  </dd>
21827
21849
  </dl>
@@ -21918,7 +21940,7 @@ client.identity_profiles.retrieve_identity_profile(id: "idpf_xxxxxxxxxxxxx")
21918
21940
  <dl>
21919
21941
  <dd>
21920
21942
 
21921
- Unlinks an IdentityProfile from a LedgerAccount (flips the matching link to is_current=false).
21943
+ Unlinks an identity profile from the account or user that owns `ledger_account_id`. Requires `identity:write` on that account or user.
21922
21944
  </dd>
21923
21945
  </dl>
21924
21946
  </dd>
@@ -22093,7 +22115,7 @@ client.identity_profiles.list_verifications_identity_profile(
22093
22115
  <dl>
22094
22116
  <dd>
22095
22117
 
22096
- Returns a paginated list of invoices for a company, with optional filtering by product, status, collection method, and creation date.
22118
+ Returns a paginated list of invoices for an account, with optional filtering by product, status, collection method, and creation date.
22097
22119
 
22098
22120
  Required permissions:
22099
22121
  - `invoice:basic:read`
@@ -22901,7 +22923,7 @@ client.invoices.void(id: "inv_xxxxxxxxxxxxxx")
22901
22923
  <dl>
22902
22924
  <dd>
22903
22925
 
22904
- Returns a paginated list of leads for a company, with optional filtering by product and creation date.
22926
+ Lists an account's leads, newest first.
22905
22927
 
22906
22928
  Required permissions:
22907
22929
  - `lead:basic:read`
@@ -23031,7 +23053,7 @@ client.leads.list(
23031
23053
  <dl>
23032
23054
  <dd>
23033
23055
 
23034
- Record a new lead for a company, capturing a potential customer's interest in a specific product.
23056
+ Records a lead: a potential customer's interest in an account or one of its products.
23035
23057
 
23036
23058
  Required permissions:
23037
23059
  - `lead:manage`
@@ -23199,7 +23221,7 @@ client.leads.retrieve(id: "lead_xxxxxxxxxxxxx")
23199
23221
  <dl>
23200
23222
  <dd>
23201
23223
 
23202
- Update the metadata or referrer information on an existing lead record.
23224
+ Updates a lead's `metadata` or `referrer`.
23203
23225
 
23204
23226
  Required permissions:
23205
23227
  - `lead:manage`
@@ -23534,7 +23556,12 @@ Lists the members of an account. A member is one buyer's relationship with the a
23534
23556
  <dd>
23535
23557
 
23536
23558
  ```ruby
23537
- client.members.list(user_ids: ["user_xxxxxxxxxxxxxx"])
23559
+ client.members.list(
23560
+ user_ids: ["user_xxxxxxxxxxxxxx"],
23561
+ product_ids: ["prod_xxxxxxxxxxxxx"],
23562
+ plan_ids: ["plan_xxxxxxxxxxxxx"],
23563
+ promo_code_ids: ["promo_xxxxxxxxxxxx"]
23564
+ )
23538
23565
  ```
23539
23566
  </dd>
23540
23567
  </dl>
@@ -23581,6 +23608,46 @@ client.members.list(user_ids: ["user_xxxxxxxxxxxxxx"])
23581
23608
  <dl>
23582
23609
  <dd>
23583
23610
 
23611
+ **most_recent_actions:** `Whop_sdk::Members::Types::ListMembersRequestMostRecentActionsItem` — Only return members whose `most_recent_action` is one of these values.
23612
+
23613
+ </dd>
23614
+ </dl>
23615
+
23616
+ <dl>
23617
+ <dd>
23618
+
23619
+ **membership_status:** `Whop_sdk::Members::Types::ListMembersRequestMembershipStatus` — `active` returns members holding at least one membership that currently grants access; `inactive` returns members holding at least one membership that does not. Combined with `product_ids`, `plan_ids`, or `promo_code_ids`, one membership must match all of them.
23620
+
23621
+ </dd>
23622
+ </dl>
23623
+
23624
+ <dl>
23625
+ <dd>
23626
+
23627
+ **product_ids:** `String` — Only return members holding a membership to one of these products, prefixed `prod_`. Unknown IDs match nothing.
23628
+
23629
+ </dd>
23630
+ </dl>
23631
+
23632
+ <dl>
23633
+ <dd>
23634
+
23635
+ **plan_ids:** `String` — Only return members holding a membership on one of these plans, prefixed `plan_`. Unknown IDs match nothing.
23636
+
23637
+ </dd>
23638
+ </dl>
23639
+
23640
+ <dl>
23641
+ <dd>
23642
+
23643
+ **promo_code_ids:** `String` — Only return members holding a membership bought with one of these promo codes, prefixed `promo_`. Unknown IDs match nothing.
23644
+
23645
+ </dd>
23646
+ </dl>
23647
+
23648
+ <dl>
23649
+ <dd>
23650
+
23584
23651
  **query:** `String` — Search members by name or username. An exact email address also matches when the credential holds the member:email:read scope.
23585
23652
 
23586
23653
  </dd>
@@ -23605,7 +23672,7 @@ client.members.list(user_ids: ["user_xxxxxxxxxxxxxx"])
23605
23672
  <dl>
23606
23673
  <dd>
23607
23674
 
23608
- **order:** `Whop_sdk::Members::Types::ListMembersRequestOrder` — Sort field.
23675
+ **order:** `Whop_sdk::Members::Types::ListMembersRequestOrder` — Sort field. `most_recent_action_at` places members without one first when ascending and last when descending.
23609
23676
 
23610
23677
  </dd>
23611
23678
  </dl>
@@ -23755,7 +23822,11 @@ Lists every membership the caller can read: an account API key its account's; a
23755
23822
  <dd>
23756
23823
 
23757
23824
  ```ruby
23758
- client.memberships.list
23825
+ client.memberships.list(
23826
+ product_ids: ["prod_xxxxxxxxxxxxx"],
23827
+ plan_ids: ["plan_xxxxxxxxxxxxx"],
23828
+ promo_code_ids: ["promo_xxxxxxxxxxxxxx"]
23829
+ )
23759
23830
  ```
23760
23831
  </dd>
23761
23832
  </dl>
@@ -23786,7 +23857,7 @@ client.memberships.list
23786
23857
  <dl>
23787
23858
  <dd>
23788
23859
 
23789
- **status:** `Whop_sdk::Memberships::Types::ListMembershipsRequestStatus` — Filter by billing state. `canceling` matches active memberships set to cancel at period end; `paused` matches memberships with payment collection paused.
23860
+ **member_id:** `String` — Narrow to one member's memberships (`mber_` tag), including memberships bought by another business. A member outside the caller's visible set returns an empty list.
23790
23861
 
23791
23862
  </dd>
23792
23863
  </dl>
@@ -23794,7 +23865,7 @@ client.memberships.list
23794
23865
  <dl>
23795
23866
  <dd>
23796
23867
 
23797
- **product_id:** `String` — Filter to memberships of this product (`prod_` tag). Repeat as product_ids[] for several.
23868
+ **status:** `Whop_sdk::Memberships::Types::ListMembershipsRequestStatus` — Filter by billing state. `trialing`, `active`, `past_due`, `completed`, `canceled`, and `expired` match the membership's `status`; `active`, `trialing`, and `past_due` exclude memberships set to cancel at period end. The other values are derived buckets that never appear as a `status`: `canceling` matches memberships set to cancel at period end; `paused` matches memberships with payment collection paused; `expiring` matches one-time purchases that have not yet expired; `one_time` matches one-time purchases that never expire; `unclaimed` matches memberships with no buyer user, including memberships bought by another business; `banned` matches memberships whose buyer is banned from the account.
23798
23869
 
23799
23870
  </dd>
23800
23871
  </dl>
@@ -23802,7 +23873,7 @@ client.memberships.list
23802
23873
  <dl>
23803
23874
  <dd>
23804
23875
 
23805
- **plan_id:** `String` — Filter to memberships of this variant (`plan_` tag). Repeat as plan_ids[] for several.
23876
+ **statuses:** `Whop_sdk::Memberships::Types::ListMembershipsRequestStatusesItem` — Filter to memberships matching any of these billing states, with the same meanings as `status`. Repeat the parameter to pass several. Combined with `status` when both are sent.
23806
23877
 
23807
23878
  </dd>
23808
23879
  </dl>
@@ -23810,7 +23881,7 @@ client.memberships.list
23810
23881
  <dl>
23811
23882
  <dd>
23812
23883
 
23813
- **created_after:** `String` — Only memberships created after this ISO 8601 timestamp.
23884
+ **product_id:** `String` — Filter to memberships of this product (`prod_` tag).
23814
23885
 
23815
23886
  </dd>
23816
23887
  </dl>
@@ -23818,7 +23889,7 @@ client.memberships.list
23818
23889
  <dl>
23819
23890
  <dd>
23820
23891
 
23821
- **created_before:** `String` — Only memberships created before this ISO 8601 timestamp.
23892
+ **product_ids:** `String` — Filter to memberships of any of these products, each prefixed `prod_`. Repeat the parameter to pass several.
23822
23893
 
23823
23894
  </dd>
23824
23895
  </dl>
@@ -23826,7 +23897,7 @@ client.memberships.list
23826
23897
  <dl>
23827
23898
  <dd>
23828
23899
 
23829
- **order:** `Whop_sdk::Memberships::Types::ListMembershipsRequestOrder` — Sort field.
23900
+ **plan_id:** `String` — Filter to memberships of this variant (`plan_` tag).
23830
23901
 
23831
23902
  </dd>
23832
23903
  </dl>
@@ -23834,7 +23905,7 @@ client.memberships.list
23834
23905
  <dl>
23835
23906
  <dd>
23836
23907
 
23837
- **direction:** `Whop_sdk::Memberships::Types::ListMembershipsRequestDirection` — Sort direction.
23908
+ **plan_ids:** `String` — Filter to memberships of any of these variants, each prefixed `plan_`. Repeat the parameter to pass several.
23838
23909
 
23839
23910
  </dd>
23840
23911
  </dl>
@@ -23842,7 +23913,7 @@ client.memberships.list
23842
23913
  <dl>
23843
23914
  <dd>
23844
23915
 
23845
- **first:** `Integer` — Number of results to return from the start of the range.
23916
+ **promo_code_ids:** `String` — Filter to memberships discounted by any of these promo codes, each prefixed `promo_`. Repeat the parameter to pass several.
23846
23917
 
23847
23918
  </dd>
23848
23919
  </dl>
@@ -23850,7 +23921,7 @@ client.memberships.list
23850
23921
  <dl>
23851
23922
  <dd>
23852
23923
 
23853
- **after:** `String` — Return results after this cursor. Use `page_info.end_cursor` from the previous response to fetch the next page.
23924
+ **created_after:** `String` — Only memberships created after this ISO 8601 timestamp.
23854
23925
 
23855
23926
  </dd>
23856
23927
  </dl>
@@ -23858,7 +23929,7 @@ client.memberships.list
23858
23929
  <dl>
23859
23930
  <dd>
23860
23931
 
23861
- **last:** `Integer` — Number of results to return from the end of the range.
23932
+ **created_before:** `String` — Only memberships created before this ISO 8601 timestamp.
23862
23933
 
23863
23934
  </dd>
23864
23935
  </dl>
@@ -23866,7 +23937,7 @@ client.memberships.list
23866
23937
  <dl>
23867
23938
  <dd>
23868
23939
 
23869
- **before:** `String` — Return results before this cursor. Use `page_info.start_cursor` from the previous response to fetch the previous page.
23940
+ **order:** `Whop_sdk::Memberships::Types::ListMembershipsRequestOrder` — Sort field.
23870
23941
 
23871
23942
  </dd>
23872
23943
  </dl>
@@ -23874,64 +23945,39 @@ client.memberships.list
23874
23945
  <dl>
23875
23946
  <dd>
23876
23947
 
23877
- **request_options:** `Whop_sdk::Memberships::RequestOptions`
23948
+ **direction:** `Whop_sdk::Memberships::Types::ListMembershipsRequestDirection` — Sort direction.
23878
23949
 
23879
23950
  </dd>
23880
23951
  </dl>
23881
- </dd>
23882
- </dl>
23883
-
23884
23952
 
23885
- </dd>
23886
- </dl>
23887
- </details>
23888
-
23889
- <details><summary><code>client.memberships.<a href="/lib/whop_sdk/memberships/client.rb">invite</a>(request) -> Whop_sdk::Memberships::Types::InviteMembershipsResponse</code></summary>
23890
23953
  <dl>
23891
23954
  <dd>
23892
23955
 
23893
- #### 📝 Description
23894
-
23895
- <dl>
23896
- <dd>
23956
+ **first:** `Integer` — Number of results to return from the start of the range.
23957
+
23958
+ </dd>
23959
+ </dl>
23897
23960
 
23898
23961
  <dl>
23899
23962
  <dd>
23900
23963
 
23901
- Sends an email inviting one recipient to join the account through a free variant. Identify the recipient by exactly one of `user_id` or `email`. The invitation is bound to that recipient; after signing in, accepting it immediately grants the membership without checkout. This Experimental endpoint is available only to accounts enabled for membership invitations.
23902
- </dd>
23903
- </dl>
23964
+ **after:** `String` — Return results after this cursor. Use `page_info.end_cursor` from the previous response to fetch the next page.
23965
+
23904
23966
  </dd>
23905
23967
  </dl>
23906
23968
 
23907
- #### 🔌 Usage
23908
-
23909
- <dl>
23910
- <dd>
23911
-
23912
23969
  <dl>
23913
23970
  <dd>
23914
23971
 
23915
- ```ruby
23916
- client.memberships.invite(
23917
- plan_id: "plan_xxxxxxxxxxxxxx",
23918
- user_id: "user_xxxxxxxxxxxxxx"
23919
- )
23920
- ```
23921
- </dd>
23922
- </dl>
23972
+ **last:** `Integer` — Number of results to return from the end of the range.
23973
+
23923
23974
  </dd>
23924
23975
  </dl>
23925
23976
 
23926
- #### ⚙️ Parameters
23927
-
23928
- <dl>
23929
- <dd>
23930
-
23931
23977
  <dl>
23932
23978
  <dd>
23933
23979
 
23934
- **request:** `Whop_sdk::Memberships::Types::InviteMembershipsRequestBody`
23980
+ **before:** `String` — Return results before this cursor. Use `page_info.start_cursor` from the previous response to fetch the previous page.
23935
23981
 
23936
23982
  </dd>
23937
23983
  </dl>
@@ -23951,7 +23997,7 @@ client.memberships.invite(
23951
23997
  </dl>
23952
23998
  </details>
23953
23999
 
23954
- <details><summary><code>client.memberships.<a href="/lib/whop_sdk/memberships/client.rb">retrieve</a>(id:) -> Whop_sdk::Types::Membership</code></summary>
24000
+ <details><summary><code>client.memberships.<a href="/lib/whop_sdk/memberships/client.rb">invite</a>(request) -> Whop_sdk::Memberships::Types::InviteMembershipsResponse</code></summary>
23955
24001
  <dl>
23956
24002
  <dd>
23957
24003
 
@@ -23963,7 +24009,7 @@ client.memberships.invite(
23963
24009
  <dl>
23964
24010
  <dd>
23965
24011
 
23966
- Retrieves a membership by ID or license key. Accessible to the account and to the membership's own user.
24012
+ Emails one recipient an invitation to a free variant's membership. The invitation is bound to that recipient; after signing in, accepting it immediately grants the membership without checkout. This Experimental endpoint is available only to accounts enabled for membership invitations.
23967
24013
  </dd>
23968
24014
  </dl>
23969
24015
  </dd>
@@ -23978,7 +24024,10 @@ Retrieves a membership by ID or license key. Accessible to the account and to th
23978
24024
  <dd>
23979
24025
 
23980
24026
  ```ruby
23981
- client.memberships.retrieve(id: "id")
24027
+ client.memberships.invite(
24028
+ plan_id: "plan_xxxxxxxxxxxxxx",
24029
+ user_id: "user_xxxxxxxxxxxxxx"
24030
+ )
23982
24031
  ```
23983
24032
  </dd>
23984
24033
  </dl>
@@ -23993,7 +24042,7 @@ client.memberships.retrieve(id: "id")
23993
24042
  <dl>
23994
24043
  <dd>
23995
24044
 
23996
- **id:** `String` — Membership ID (`mem_` tag), or a software license key.
24045
+ **request:** `Whop_sdk::Memberships::Types::InviteMembershipsRequestBody`
23997
24046
 
23998
24047
  </dd>
23999
24048
  </dl>
@@ -24013,7 +24062,7 @@ client.memberships.retrieve(id: "id")
24013
24062
  </dl>
24014
24063
  </details>
24015
24064
 
24016
- <details><summary><code>client.memberships.<a href="/lib/whop_sdk/memberships/client.rb">update</a>(id:, request) -> Whop_sdk::Types::Membership</code></summary>
24065
+ <details><summary><code>client.memberships.<a href="/lib/whop_sdk/memberships/client.rb">retrieve</a>(id:) -> Whop_sdk::Types::Membership</code></summary>
24017
24066
  <dl>
24018
24067
  <dd>
24019
24068
 
@@ -24025,7 +24074,7 @@ client.memberships.retrieve(id: "id")
24025
24074
  <dl>
24026
24075
  <dd>
24027
24076
 
24028
- Updates a membership: merge metadata key-value pairs, toggle `cancel_at_period_end` — `true` schedules the cancellation for the end of the current billing period, `false` reverses a pending one — or move future renewals to another of the customer's saved payment methods with `payment_method_id`, or set `billing_period_days` to change renewal cadence for an active, trialing, or past-due membership billed automatically by Whop. The current period end moves to the current period start plus the requested number of days, and future renewals use the same cadence. Invoice, externally billed, and canceling memberships are not supported.
24077
+ Retrieves a membership by ID or license key. Accessible to the account and to the membership's own user.
24029
24078
  </dd>
24030
24079
  </dl>
24031
24080
  </dd>
@@ -24040,10 +24089,7 @@ Updates a membership: merge metadata key-value pairs, toggle `cancel_at_period_e
24040
24089
  <dd>
24041
24090
 
24042
24091
  ```ruby
24043
- client.memberships.update(
24044
- id: "id",
24045
- billing_period_days: 45
24046
- )
24092
+ client.memberships.retrieve(id: "id")
24047
24093
  ```
24048
24094
  </dd>
24049
24095
  </dl>
@@ -24066,38 +24112,6 @@ client.memberships.update(
24066
24112
  <dl>
24067
24113
  <dd>
24068
24114
 
24069
- **billing_period_days:** `Integer` — Number of days between recurring charges. Sets the current period end to the current period start plus this value and applies to every recurring variant. The new period end must remain in the future. Existing non-daily memberships cannot be changed to daily billing.
24070
-
24071
- </dd>
24072
- </dl>
24073
-
24074
- <dl>
24075
- <dd>
24076
-
24077
- **cancel_at_period_end:** `Internal::Types::Boolean` — `true` cancels at the end of the current billing period (the customer keeps access until then); `false` reverses a pending cancellation.
24078
-
24079
- </dd>
24080
- </dl>
24081
-
24082
- <dl>
24083
- <dd>
24084
-
24085
- **metadata:** `Internal::Types::Hash[String, Object]` — Key-value pairs to merge into the membership's metadata. Pass an empty object to clear it.
24086
-
24087
- </dd>
24088
- </dl>
24089
-
24090
- <dl>
24091
- <dd>
24092
-
24093
- **payment_method_id:** `String` — The ID of a payment method the customer has saved with your account. Future renewals charge it, and an open past-due payment is retried on it right away. Requires the `member:payment_methods:manage` permission.
24094
-
24095
- </dd>
24096
- </dl>
24097
-
24098
- <dl>
24099
- <dd>
24100
-
24101
24115
  **request_options:** `Whop_sdk::Memberships::RequestOptions`
24102
24116
 
24103
24117
  </dd>
@@ -24110,7 +24124,7 @@ client.memberships.update(
24110
24124
  </dl>
24111
24125
  </details>
24112
24126
 
24113
- <details><summary><code>client.memberships.<a href="/lib/whop_sdk/memberships/client.rb">apply_promo_code</a>(id:, request) -> Whop_sdk::Types::Membership</code></summary>
24127
+ <details><summary><code>client.memberships.<a href="/lib/whop_sdk/memberships/client.rb">update</a>(id:, request) -> Whop_sdk::Types::Membership</code></summary>
24114
24128
  <dl>
24115
24129
  <dd>
24116
24130
 
@@ -24122,7 +24136,104 @@ client.memberships.update(
24122
24136
  <dl>
24123
24137
  <dd>
24124
24138
 
24125
- Applies a promo code to an `active` or `trialing` membership that does not already have one and has exactly one recurring item. The discount lands on the next invoice and follows the code's duration (`once`, `repeating`, or `forever`). Works for Stripe-billed memberships and memberships billed by Whop's billing engine, including payment-element and multi-PSP renewals. Stock, plan eligibility, and expiry are still checked. Memberships with multiple recurring items are rejected.
24139
+ Updates a membership's metadata, scheduled cancellation, renewal payment method, or renewal cadence.
24140
+ </dd>
24141
+ </dl>
24142
+ </dd>
24143
+ </dl>
24144
+
24145
+ #### 🔌 Usage
24146
+
24147
+ <dl>
24148
+ <dd>
24149
+
24150
+ <dl>
24151
+ <dd>
24152
+
24153
+ ```ruby
24154
+ client.memberships.update(
24155
+ id: "id",
24156
+ billing_period_days: 45
24157
+ )
24158
+ ```
24159
+ </dd>
24160
+ </dl>
24161
+ </dd>
24162
+ </dl>
24163
+
24164
+ #### ⚙️ Parameters
24165
+
24166
+ <dl>
24167
+ <dd>
24168
+
24169
+ <dl>
24170
+ <dd>
24171
+
24172
+ **id:** `String` — Membership ID (`mem_` tag), or a software license key.
24173
+
24174
+ </dd>
24175
+ </dl>
24176
+
24177
+ <dl>
24178
+ <dd>
24179
+
24180
+ **billing_period_days:** `Integer` — Number of days between recurring charges. Sets the current period end to the current period start plus this value and applies to every recurring variant, so future renewals use the same cadence. The new period end must remain in the future. Only for active, trialing, or past-due memberships billed automatically by Whop; invoice, externally billed, and canceling memberships are not supported. Existing non-daily memberships cannot be changed to daily billing. Cannot be combined with other fields.
24181
+
24182
+ </dd>
24183
+ </dl>
24184
+
24185
+ <dl>
24186
+ <dd>
24187
+
24188
+ **cancel_at_period_end:** `Internal::Types::Boolean` — `true` cancels at the end of the current billing period (the customer keeps access until then); `false` reverses a pending cancellation.
24189
+
24190
+ </dd>
24191
+ </dl>
24192
+
24193
+ <dl>
24194
+ <dd>
24195
+
24196
+ **metadata:** `Internal::Types::Hash[String, Object]` — Key-value pairs to merge into the membership's metadata. Pass an empty object to clear it.
24197
+
24198
+ </dd>
24199
+ </dl>
24200
+
24201
+ <dl>
24202
+ <dd>
24203
+
24204
+ **payment_method_id:** `String` — The ID of a payment method the customer has saved with your account. Future renewals charge it, and an open past-due payment is retried on it right away. Requires the `member:payment_methods:manage` permission.
24205
+
24206
+ </dd>
24207
+ </dl>
24208
+
24209
+ <dl>
24210
+ <dd>
24211
+
24212
+ **request_options:** `Whop_sdk::Memberships::RequestOptions`
24213
+
24214
+ </dd>
24215
+ </dl>
24216
+ </dd>
24217
+ </dl>
24218
+
24219
+
24220
+ </dd>
24221
+ </dl>
24222
+ </details>
24223
+
24224
+ <details><summary><code>client.memberships.<a href="/lib/whop_sdk/memberships/client.rb">apply_promo_code</a>(id:, request) -> Whop_sdk::Types::Membership</code></summary>
24225
+ <dl>
24226
+ <dd>
24227
+
24228
+ #### 📝 Description
24229
+
24230
+ <dl>
24231
+ <dd>
24232
+
24233
+ <dl>
24234
+ <dd>
24235
+
24236
+ Applies a promo code to an `active` or `trialing` membership that does not already have one and has exactly one recurring item, for Stripe-billed memberships and memberships billed by Whop's billing engine. The discount lands on the next invoice and follows the code's duration (`once`, `repeating`, or `forever`).
24126
24237
  </dd>
24127
24238
  </dl>
24128
24239
  </dd>
@@ -24163,7 +24274,7 @@ client.memberships.apply_promo_code(
24163
24274
  <dl>
24164
24275
  <dd>
24165
24276
 
24166
- **promo_code:** `String` — The promo code to apply, as customers enter it at checkout (for example `SAVE20`).
24277
+ **promo_code:** `String` — The promo code to apply, as customers enter it at checkout (for example `SAVE20`). Its stock, variant eligibility, and expiry are checked as at checkout.
24167
24278
 
24168
24279
  </dd>
24169
24280
  </dl>
@@ -24195,7 +24306,7 @@ client.memberships.apply_promo_code(
24195
24306
  <dl>
24196
24307
  <dd>
24197
24308
 
24198
- Assigns an affiliate to a membership and pays them the commission you set on its future payments. Name the user with exactly one of `user_id`, `email`, or `username`. A user who is not yet an affiliate of your account becomes one, which also requires `affiliate:create`. Send a new `commission_type` or `commission_value` for the membership's current affiliate to change their commission; a membership that already has a different affiliate returns a conflict. Works for active or trialing memberships with one recurring plan that bill through Stripe or Whop's billing engine, and not for marketplace memberships, paused payments, or a scheduled cancellation. The payout cannot exceed 90% of the next renewal amount, and no past payments are recalculated. You cannot assign yourself.
24309
+ Assigns an affiliate to a membership and pays them the commission you set on its future payments; past payments are not recalculated. A user who is not yet an affiliate of your account becomes one, which also requires `affiliate:create`. Send a new `commission_type` or `commission_value` for the membership's current affiliate to change their commission; a membership that already has a different affiliate returns a conflict. Works for active or trialing memberships with one recurring variant that bill through Stripe or Whop's billing engine, and not for marketplace memberships, paused payments, or a scheduled cancellation. You cannot assign yourself.
24199
24310
  </dd>
24200
24311
  </dl>
24201
24312
  </dd>
@@ -24246,7 +24357,7 @@ client.memberships.assign_affiliate(
24246
24357
  <dl>
24247
24358
  <dd>
24248
24359
 
24249
- **commission_value:** `Integer` — A whole number from 1 to 90 for `percentage`, or an amount greater than 1 in the membership currency for `flat_fee`. Flat fees need matching billing and settlement currencies.
24360
+ **commission_value:** `Integer` — A whole number from 1 to 90 for `percentage`, or an amount greater than 1 in the membership currency for `flat_fee`. The payout cannot exceed 90% of the next renewal amount. Flat fees need matching billing and settlement currencies.
24250
24361
 
24251
24362
  </dd>
24252
24363
  </dl>
@@ -24302,7 +24413,7 @@ client.memberships.assign_affiliate(
24302
24413
  <dl>
24303
24414
  <dd>
24304
24415
 
24305
- Cancels a membership. Pass `cancel_at_period_end: true` to stop auto-renewal and keep access until the current billing period ends. Omit it (or pass `false`) to revoke access immediately. Buyers cannot cancel buy-now-pay-later (`splitit`, `sezzle`) or non-trial split-pay memberships.
24416
+ Cancels a membership, either immediately or at the end of the current billing period. Buyers cannot cancel buy-now-pay-later (`splitit`, `sezzle`) or non-trial split-pay memberships.
24306
24417
  </dd>
24307
24418
  </dl>
24308
24419
  </dd>
@@ -24348,6 +24459,14 @@ client.memberships.cancel(id: "id")
24348
24459
  <dl>
24349
24460
  <dd>
24350
24461
 
24462
+ **feedback_option_id:** `String` — The ID of the feedback option the customer picked as their reason for canceling, from the account's `feedback_options` preference. The membership records the option's label as the customer saw it and its category as `cancel_option`.
24463
+
24464
+ </dd>
24465
+ </dl>
24466
+
24467
+ <dl>
24468
+ <dd>
24469
+
24351
24470
  **reason:** `String` — Free-form note recording why the membership was canceled.
24352
24471
 
24353
24472
  </dd>
@@ -24523,7 +24642,7 @@ client.memberships.pause(id: "id")
24523
24642
  <dl>
24524
24643
  <dd>
24525
24644
 
24526
- Restores access to a `canceled` or `expired` membership that contains only one-time purchases and sets its `status` to `completed`. Lifetime memberships regain lifetime access. For memberships with an expiration, `days` sets `current_period_end` that many days from now; without it the original `current_period_end` is kept, so `days` is required once that has passed. Active and recurring memberships cannot be reactivated.
24645
+ Restores access to a `canceled` or `expired` membership that contains only one-time purchases and sets its `status` to `completed`. Lifetime memberships regain lifetime access; for memberships with an expiration, `days` sets the new `current_period_end`. Active and recurring memberships cannot be reactivated.
24527
24646
  </dd>
24528
24647
  </dl>
24529
24648
  </dd>
@@ -24780,7 +24899,7 @@ client.memberships.transfer(id: "id")
24780
24899
  <dl>
24781
24900
  <dd>
24782
24901
 
24783
- Returns a paginated list of messages within a specific experience chat, DM, or group chat channel, sorted by creation time.
24902
+ Lists messages in an experience chat, DM, or group chat channel, sorted by creation time.
24784
24903
 
24785
24904
  Required permissions (one of):
24786
24905
  - `chat:read`
@@ -24891,7 +25010,7 @@ client.messages.list(
24891
25010
  <dl>
24892
25011
  <dd>
24893
25012
 
24894
- Send a new message in an experience chat, DM, or group chat channel. Supports text content, attachments, polls, and replies.
25013
+ Sends a message in an experience chat, DM, or group chat channel. Supports text content, attachments, polls, and replies.
24895
25014
 
24896
25015
  Required permissions (one of):
24897
25016
  - `chat:message:create`
@@ -25070,7 +25189,7 @@ client.messages.retrieve(id: "id")
25070
25189
  <dl>
25071
25190
  <dd>
25072
25191
 
25073
- Permanently delete a message from an experience chat, DM, or group chat channel. Only the message author or a channel admin can delete a message.
25192
+ Permanently deletes a message from an experience chat, DM, or group chat channel. Only the message author or a channel admin can delete a message.
25074
25193
 
25075
25194
  Required permissions (one of):
25076
25195
  - `chat:message:create` and `chat:read`
@@ -25138,7 +25257,7 @@ client.messages.delete(id: "id")
25138
25257
  <dl>
25139
25258
  <dd>
25140
25259
 
25141
- Edit the content, attachments, or pinned status of an existing message in an experience chat, DM, or group chat channel.
25260
+ Edits the content, attachments, or pinned status of a message in an experience chat, DM, or group chat channel.
25142
25261
 
25143
25262
  Required permissions (one of):
25144
25263
  - `chat:message:create`
@@ -25231,7 +25350,7 @@ client.messages.update(id: "id")
25231
25350
  <dl>
25232
25351
  <dd>
25233
25352
 
25234
- Lists the authenticated user's notifications, newest first. Requires a user credential — an account API key has no notification feed. Without filters the feed spans every experience the user belongs to plus the teams they are a member of. The `after` cursor is a notification `id` from a previous response; subsequent pages contain older notifications.
25353
+ Lists the authenticated user's notifications, newest first. Without filters the feed spans every experience the user belongs to plus the teams they are a member of. Requires a user credential — an account API key has no notification feed.
25235
25354
  </dd>
25236
25355
  </dl>
25237
25356
  </dd>
@@ -25524,7 +25643,7 @@ client.notifications.badges(experience_ids: ["exp_xxxxxxxxxxxxxx"])
25524
25643
  <dl>
25525
25644
  <dd>
25526
25645
 
25527
- Marks the authenticated user's notifications as read: one experience's (`experience_id`) or everything (`all: true`) — exactly one of the two. Requires a user credential. Responds with the refreshed badge rows for the affected scope.
25646
+ Marks the authenticated user's notifications as read, for one experience or all of them, and returns the refreshed badge rows for that scope. Requires a user credential.
25528
25647
  </dd>
25529
25648
  </dl>
25530
25649
  </dd>
@@ -25594,7 +25713,7 @@ client.notifications.mark_read
25594
25713
  <dl>
25595
25714
  <dd>
25596
25715
 
25597
- Retrieves a single notification by id — either an `id` returned by List Notifications, or the ephemeral id delivered with a push/websocket event. Requires a user credential.
25716
+ Retrieves a single notification, from the feed or from a push or websocket event. Requires a user credential.
25598
25717
  </dd>
25599
25718
  </dl>
25600
25719
  </dd>
@@ -25624,7 +25743,7 @@ client.notifications.retrieve(id: "id")
25624
25743
  <dl>
25625
25744
  <dd>
25626
25745
 
25627
- **id:** `String` — A notification `id` from List Notifications, or the id delivered with a push/websocket event.
25746
+ **id:** `String` — A notification `id` from List Notifications, or the ephemeral id delivered with a push or websocket event.
25628
25747
 
25629
25748
  </dd>
25630
25749
  </dl>
@@ -25799,7 +25918,7 @@ client.partner_referral_requests.list
25799
25918
  <dl>
25800
25919
  <dd>
25801
25920
 
25802
- Creates a referral link or sends a verified partner's attribution request to an existing business or user for approval. Whop sessions creating a link with their own active `authorized_user_id` enroll automatically. Manual requests always require a verified partner. Recipients do not need to join the partner program.
25921
+ Creates a referral link, or sends an attribution request to an existing business or user for approval. Links require an enrolled partner who is not suspended; attribution requests require an enrolled, verified partner. Recipients do not need to join the partner program.
25803
25922
  </dd>
25804
25923
  </dl>
25805
25924
  </dd>
@@ -26164,7 +26283,7 @@ client.partners.create
26164
26283
  <dl>
26165
26284
  <dd>
26166
26285
 
26167
- Ranks referrers by partner business earnings — all-time by default, or over the current day, month, year, or trailing 30 days. Authentication is optional: authenticated callers also get their own standing, anonymous callers get the rankings alone.
26286
+ Ranks referrers by partner business earnings over the chosen `period`, all-time by default. Authentication is optional: authenticated callers also get their own standing, anonymous callers get the rankings alone.
26168
26287
  </dd>
26169
26288
  </dl>
26170
26289
  </dd>
@@ -26226,7 +26345,7 @@ client.partners.leaderboard
26226
26345
  <dl>
26227
26346
  <dd>
26228
26347
 
26229
- Lists the users the caller referred onto Whop, newest first by default, each with the caller's total affiliate earnings from that user across all tiers. Earnings sorting uses cached totals. Authorized staff can set user_id=global to list referrals across partners, with earnings for each user's current primary referrer.
26348
+ Lists the users the caller referred onto Whop, newest first by default, each with the caller's total affiliate earnings from that user across all tiers.
26230
26349
  </dd>
26231
26350
  </dl>
26232
26351
  </dd>
@@ -26256,14 +26375,6 @@ client.partners.referred_users
26256
26375
  <dl>
26257
26376
  <dd>
26258
26377
 
26259
- **user_id:** `Whop_sdk::Partners::Types::ReferredUsersPartnersRequestUserID` — Set to global to view referred users across partners with each primary referrer's cached total earnings. Requires an admin or partner manager session; OAuth tokens and company API keys cannot use global mode. Optionally narrow to one earning_partner_id or earning_partner_username.
26260
-
26261
- </dd>
26262
- </dl>
26263
-
26264
- <dl>
26265
- <dd>
26266
-
26267
26378
  **earning_partner_id:** `String` — The selected referring partner's user_ ID. Requires user_id=global; cannot be combined with earning_partner_username.
26268
26379
 
26269
26380
  </dd>
@@ -26384,7 +26495,7 @@ client.partners.referred_users
26384
26495
  <dl>
26385
26496
  <dd>
26386
26497
 
26387
- Retrieves the authenticated user's public profile, enrollment date, partner verification timestamp, verification waitlist status, partner certification completion, active direct business referral count, and default payout rates. Use me or the authenticated user's own user ID; other users are not accessible. Users who have not enrolled have a null joined_at. Create and manage referral links through /partner_referral_requests.
26498
+ Retrieves the authenticated user's partner profile: enrollment and verification status, certification completion, active direct business referral count, and default payout rates. Other users' profiles are not accessible. To create and manage referral links, use `/partner_referral_requests`.
26388
26499
  </dd>
26389
26500
  </dl>
26390
26501
  </dd>
@@ -26447,7 +26558,7 @@ client.partners.retrieve(id: "me")
26447
26558
  <dl>
26448
26559
  <dd>
26449
26560
 
26450
- Lists payment method domains. Without `account_id`, returns the caller's own domains and those of every connected account.
26561
+ Lists the payment method domains registered for your account and its connected accounts.
26451
26562
  </dd>
26452
26563
  </dl>
26453
26564
  </dd>
@@ -26597,7 +26708,7 @@ client.payment_method_domains.list
26597
26708
  <dl>
26598
26709
  <dd>
26599
26710
 
26600
- Registers a hostname with the wallet provider and attempts verification inline. Returns `verified` when the provider fetched the domain-association file (for Apple Pay, `/.well-known/apple-developer-merchantid-domain-association`), or `pending` when it could not — host the file, then retry with the verify endpoint.
26711
+ Registers a hostname with the wallet provider and attempts verification inline. Returns `verified` when the provider fetched the domain-association file (for Apple Pay, `/.well-known/apple-developer-merchantid-domain-association`), or `pending` when it could not: host the file, then retry with `POST /payment_method_domains/:id/verify`.
26601
26712
  </dd>
26602
26713
  </dl>
26603
26714
  </dd>
@@ -26612,7 +26723,7 @@ Registers a hostname with the wallet provider and attempts verification inline.
26612
26723
  <dd>
26613
26724
 
26614
26725
  ```ruby
26615
- client.payment_method_domains.create(hostname: "pending.shinetime.example")
26726
+ client.payment_method_domains.create(hostname: "pending.shinetime.com")
26616
26727
  ```
26617
26728
  </dd>
26618
26729
  </dl>
@@ -26635,7 +26746,7 @@ client.payment_method_domains.create(hostname: "pending.shinetime.example")
26635
26746
  <dl>
26636
26747
  <dd>
26637
26748
 
26638
- **hostname:** `String` — Hostname to register (e.g. `checkout.shinetime.example`).
26749
+ **hostname:** `String` — Hostname to register (e.g. `checkout.shinetime.com`).
26639
26750
 
26640
26751
  </dd>
26641
26752
  </dl>
@@ -26697,7 +26808,7 @@ client.payment_method_domains.retrieve(id: "id")
26697
26808
  <dl>
26698
26809
  <dd>
26699
26810
 
26700
- **id:** `String` — The unique identifier of the payment method domain, prefixed `pmd_`.
26811
+ **id:** `String` — The unique identifier of the payment method domain, prefixed `pmd_` or `dom_`.
26701
26812
 
26702
26813
  </dd>
26703
26814
  </dl>
@@ -26759,7 +26870,7 @@ client.payment_method_domains.delete(id: "id")
26759
26870
  <dl>
26760
26871
  <dd>
26761
26872
 
26762
- **id:** `String` — The unique identifier of the payment method domain, prefixed `pmd_`.
26873
+ **id:** `String` — The unique identifier of the payment method domain, prefixed `pmd_` or `dom_`.
26763
26874
 
26764
26875
  </dd>
26765
26876
  </dl>
@@ -26821,7 +26932,7 @@ client.payment_method_domains.verify(id: "id")
26821
26932
  <dl>
26822
26933
  <dd>
26823
26934
 
26824
- **id:** `String` — The unique identifier of the payment method domain, prefixed `pmd_`.
26935
+ **id:** `String` — The unique identifier of the payment method domain, prefixed `pmd_` or `dom_`.
26825
26936
 
26826
26937
  </dd>
26827
26938
  </dl>
@@ -26854,7 +26965,7 @@ client.payment_method_domains.verify(id: "id")
26854
26965
  <dl>
26855
26966
  <dd>
26856
26967
 
26857
- Returns a paginated list of payment methods for a member or company, or for the authenticated user when neither is given, with optional filtering by creation date. A payment method is a stored representation of how a customer intends to pay, such as a card, bank account, or digital wallet.
26968
+ Returns a paginated list of saved payment methods for a member or account, or for the authenticated user when you pass neither.
26858
26969
 
26859
26970
  Required permissions:
26860
26971
  - `member:payment_methods:read`
@@ -27046,7 +27157,7 @@ client.payment_methods.list(
27046
27157
  <dl>
27047
27158
  <dd>
27048
27159
 
27049
- Retrieves the details of an existing payment method. Addresses a member's wallet when member_id or account_id is given, otherwise your own.
27160
+ Retrieves a saved payment method from a member's wallet when you pass `member_id` or `account_id`, or from your own otherwise.
27050
27161
 
27051
27162
  Required permissions:
27052
27163
  - `member:payment_methods:read`
@@ -27217,7 +27328,7 @@ client.payment_methods.delete_payment_method(
27217
27328
  <dl>
27218
27329
  <dd>
27219
27330
 
27220
- Prices a purchase the way a payment for it will be charged, for a buyer located by the shipping address, then the billing address, then the IP address you pass. The body is the `PaymentInput` a payment takes plus where the buyer is (`address`, `shipping_address`, `tax_ids`, `ip_address`); a seller that collects no tax on the purchase can be quoted without them. The purchase is priced from exactly what you send: no buyer is looked up, so no stored registration or purchase history applies. Quote what you are about to charge and pass the quote's `id` as `quote_id` when you create the payment: it then charges exactly the purchase, promo code and tax shown here. A quote is priced once, in the plans' own currency or the `presentment_currency` you ask for, and may be consumed by one payment before `expires_at`.
27331
+ Prices a purchase the way a payment for it will be charged. The body is the `PaymentInput` a payment takes plus where the buyer is, which a seller that collects no tax on the purchase can leave out. The purchase is priced from exactly what you send: no buyer is looked up, so no stored registration or purchase history applies. Pass the quote's `id` as `quote_id` when you create the payment to charge exactly the purchase, promo code, and tax shown here. A quote is priced once and may be consumed by one payment before `expires_at`. Cart entries must name existing variants with `plan_id`.
27221
27332
  </dd>
27222
27333
  </dl>
27223
27334
  </dd>
@@ -27263,6 +27374,14 @@ client.payment_quotes.create(account_id: "biz_xxxxxxxxxxxxxx")
27263
27374
  <dl>
27264
27375
  <dd>
27265
27376
 
27377
+ **line_items:** `Internal::Types::Array[Whop_sdk::PaymentQuotes::Types::CreatePaymentQuotesRequestLineItemsItem]` — What the buyer is purchasing. Each entry names an existing variant by plan_id. Several entries form a cart, which requires every variant to be compatible, belong to this account, and use the same currency.
27378
+
27379
+ </dd>
27380
+ </dl>
27381
+
27382
+ <dl>
27383
+ <dd>
27384
+
27266
27385
  **presentment_country:** `String` — The country to price the purchase for, as an ISO 3166-1 alpha-2 code such as `JP`, when the buyer chose one: a store's country picker. Prices in the currency `auto` would pick for a buyer in that country, so send it instead of `presentment_currency`, never with it. Whether a payment method can collect that currency is still judged where the buyer is: by `ip_address`, and by this country only without one. With no address that carries a country, tax is estimated for this country (`located_by` is `presentment_country`) at the country level, and a quote located this way is a preview a payment refuses with `quote_preview_only`. Send it only once the buyer has chosen a country: without it, an `ip_address` estimates more precisely, such as for a US state. For a country Whop has no currency for, the quote is priced as `auto` for the buyer's `ip_address`, and tax is still estimated for the country.
27267
27386
 
27268
27387
  </dd>
@@ -27319,7 +27438,7 @@ client.payment_quotes.create(account_id: "biz_xxxxxxxxxxxxxx")
27319
27438
  <dl>
27320
27439
  <dd>
27321
27440
 
27322
- Retrieves a payment quote, including the payment holding it (`payment_id`, whose `status` says whether it collected) and when it expires.
27441
+ Retrieves a payment quote. Use it to check which payment holds the quote, through `payment_id`, and when it expires.
27323
27442
  </dd>
27324
27443
  </dl>
27325
27444
  </dd>
@@ -27374,6 +27493,20 @@ client.payment_quotes.retrieve(id: "id")
27374
27493
  <dl>
27375
27494
  <dd>
27376
27495
 
27496
+ #### 📝 Description
27497
+
27498
+ <dl>
27499
+ <dd>
27500
+
27501
+ <dl>
27502
+ <dd>
27503
+
27504
+ Lists the payment rules on an account.
27505
+ </dd>
27506
+ </dl>
27507
+ </dd>
27508
+ </dl>
27509
+
27377
27510
  #### 🔌 Usage
27378
27511
 
27379
27512
  <dl>
@@ -27486,6 +27619,20 @@ client.payment_rules.list
27486
27619
  <dl>
27487
27620
  <dd>
27488
27621
 
27622
+ #### 📝 Description
27623
+
27624
+ <dl>
27625
+ <dd>
27626
+
27627
+ <dl>
27628
+ <dd>
27629
+
27630
+ Creates a payment rule. It is created `active` and applies its `action` to new payments that match all of its `conditions`.
27631
+ </dd>
27632
+ </dl>
27633
+ </dd>
27634
+ </dl>
27635
+
27489
27636
  #### 🔌 Usage
27490
27637
 
27491
27638
  <dl>
@@ -27584,7 +27731,7 @@ client.payment_rules.create(
27584
27731
  <dl>
27585
27732
  <dd>
27586
27733
 
27587
- Small and returned in full on one page.
27734
+ Lists the payment attributes a rule condition can read, with the operators and values each one accepts. Small and returned in full on one page.
27588
27735
  </dd>
27589
27736
  </dl>
27590
27737
  </dd>
@@ -27630,54 +27777,6 @@ client.payment_rules.list_fields
27630
27777
  <dl>
27631
27778
  <dd>
27632
27779
 
27633
- #### 🔌 Usage
27634
-
27635
- <dl>
27636
- <dd>
27637
-
27638
- <dl>
27639
- <dd>
27640
-
27641
- ```ruby
27642
- client.payment_rules.retrieve(id: "id")
27643
- ```
27644
- </dd>
27645
- </dl>
27646
- </dd>
27647
- </dl>
27648
-
27649
- #### ⚙️ Parameters
27650
-
27651
- <dl>
27652
- <dd>
27653
-
27654
- <dl>
27655
- <dd>
27656
-
27657
- **id:** `String` — The payment rule ID.
27658
-
27659
- </dd>
27660
- </dl>
27661
-
27662
- <dl>
27663
- <dd>
27664
-
27665
- **request_options:** `Whop_sdk::PaymentRules::RequestOptions`
27666
-
27667
- </dd>
27668
- </dl>
27669
- </dd>
27670
- </dl>
27671
-
27672
-
27673
- </dd>
27674
- </dl>
27675
- </details>
27676
-
27677
- <details><summary><code>client.payment_rules.<a href="/lib/whop_sdk/payment_rules/client.rb">delete</a>(id:) -> </code></summary>
27678
- <dl>
27679
- <dd>
27680
-
27681
27780
  #### 📝 Description
27682
27781
 
27683
27782
  <dl>
@@ -27686,7 +27785,7 @@ client.payment_rules.retrieve(id: "id")
27686
27785
  <dl>
27687
27786
  <dd>
27688
27787
 
27689
- The rule stops applying to new payments and is kept, so the payments it already decided still name it.
27788
+ Retrieves a payment rule.
27690
27789
  </dd>
27691
27790
  </dl>
27692
27791
  </dd>
@@ -27701,7 +27800,7 @@ The rule stops applying to new payments and is kept, so the payments it already
27701
27800
  <dd>
27702
27801
 
27703
27802
  ```ruby
27704
- client.payment_rules.delete(id: "id")
27803
+ client.payment_rules.retrieve(id: "id")
27705
27804
  ```
27706
27805
  </dd>
27707
27806
  </dl>
@@ -27736,7 +27835,7 @@ client.payment_rules.delete(id: "id")
27736
27835
  </dl>
27737
27836
  </details>
27738
27837
 
27739
- <details><summary><code>client.payment_rules.<a href="/lib/whop_sdk/payment_rules/client.rb">update</a>(id:, request) -> Whop_sdk::Types::PaymentRule</code></summary>
27838
+ <details><summary><code>client.payment_rules.<a href="/lib/whop_sdk/payment_rules/client.rb">delete</a>(id:) -> </code></summary>
27740
27839
  <dl>
27741
27840
  <dd>
27742
27841
 
@@ -27748,7 +27847,7 @@ client.payment_rules.delete(id: "id")
27748
27847
  <dl>
27749
27848
  <dd>
27750
27849
 
27751
- Changes the rule's name or metadata, keeping its ID and everything recorded against it. What the rule *does* is fixed once created, so the payments it decided keep naming the rule that decided them; use replace to change that.
27850
+ Deletes a payment rule. It stops applying to new payments but is kept, so the payments it already decided still name it.
27752
27851
  </dd>
27753
27852
  </dl>
27754
27853
  </dd>
@@ -27763,71 +27862,7 @@ Changes the rule's name or metadata, keeping its ID and everything recorded agai
27763
27862
  <dd>
27764
27863
 
27765
27864
  ```ruby
27766
- client.payment_rules.update(id: "id")
27767
- ```
27768
- </dd>
27769
- </dl>
27770
- </dd>
27771
- </dl>
27772
-
27773
- #### ⚙️ Parameters
27774
-
27775
- <dl>
27776
- <dd>
27777
-
27778
- <dl>
27779
- <dd>
27780
-
27781
- **id:** `String` — The payment rule ID.
27782
-
27783
- </dd>
27784
- </dl>
27785
-
27786
- <dl>
27787
- <dd>
27788
-
27789
- **metadata:** `Internal::Types::Hash[String, String]` — Custom string-to-string values for your integration. Maximum 50 keys, 40 characters per key, 500 characters per value.
27790
-
27791
- </dd>
27792
- </dl>
27793
-
27794
- <dl>
27795
- <dd>
27796
-
27797
- **name:** `String` — A name for this rule. Up to 255 characters.
27798
-
27799
- </dd>
27800
- </dl>
27801
-
27802
- <dl>
27803
- <dd>
27804
-
27805
- **request_options:** `Whop_sdk::PaymentRules::RequestOptions`
27806
-
27807
- </dd>
27808
- </dl>
27809
- </dd>
27810
- </dl>
27811
-
27812
-
27813
- </dd>
27814
- </dl>
27815
- </details>
27816
-
27817
- <details><summary><code>client.payment_rules.<a href="/lib/whop_sdk/payment_rules/client.rb">activate</a>(id:) -> Whop_sdk::Types::PaymentRule</code></summary>
27818
- <dl>
27819
- <dd>
27820
-
27821
- #### 🔌 Usage
27822
-
27823
- <dl>
27824
- <dd>
27825
-
27826
- <dl>
27827
- <dd>
27828
-
27829
- ```ruby
27830
- client.payment_rules.activate(id: "id")
27865
+ client.payment_rules.delete(id: "id")
27831
27866
  ```
27832
27867
  </dd>
27833
27868
  </dl>
@@ -27862,7 +27897,7 @@ client.payment_rules.activate(id: "id")
27862
27897
  </dl>
27863
27898
  </details>
27864
27899
 
27865
- <details><summary><code>client.payment_rules.<a href="/lib/whop_sdk/payment_rules/client.rb">deactivate</a>(id:) -> Whop_sdk::Types::PaymentRule</code></summary>
27900
+ <details><summary><code>client.payment_rules.<a href="/lib/whop_sdk/payment_rules/client.rb">update</a>(id:, request) -> Whop_sdk::Types::PaymentRule</code></summary>
27866
27901
  <dl>
27867
27902
  <dd>
27868
27903
 
@@ -27874,7 +27909,147 @@ client.payment_rules.activate(id: "id")
27874
27909
  <dl>
27875
27910
  <dd>
27876
27911
 
27877
- The rule stops applying to new payments. It keeps its ID and can be activated again.
27912
+ Updates a payment rule's name or metadata, keeping its ID and everything recorded against it. A rule's `action` and `conditions` are fixed once created, so the payments it decided keep naming the rule that decided them; use `POST /payment_rules/:id/replace` to change them.
27913
+ </dd>
27914
+ </dl>
27915
+ </dd>
27916
+ </dl>
27917
+
27918
+ #### 🔌 Usage
27919
+
27920
+ <dl>
27921
+ <dd>
27922
+
27923
+ <dl>
27924
+ <dd>
27925
+
27926
+ ```ruby
27927
+ client.payment_rules.update(id: "id")
27928
+ ```
27929
+ </dd>
27930
+ </dl>
27931
+ </dd>
27932
+ </dl>
27933
+
27934
+ #### ⚙️ Parameters
27935
+
27936
+ <dl>
27937
+ <dd>
27938
+
27939
+ <dl>
27940
+ <dd>
27941
+
27942
+ **id:** `String` — The payment rule ID.
27943
+
27944
+ </dd>
27945
+ </dl>
27946
+
27947
+ <dl>
27948
+ <dd>
27949
+
27950
+ **metadata:** `Internal::Types::Hash[String, String]` — Custom string-to-string values for your integration. Maximum 50 keys, 40 characters per key, 500 characters per value.
27951
+
27952
+ </dd>
27953
+ </dl>
27954
+
27955
+ <dl>
27956
+ <dd>
27957
+
27958
+ **name:** `String` — A name for this rule. Up to 255 characters.
27959
+
27960
+ </dd>
27961
+ </dl>
27962
+
27963
+ <dl>
27964
+ <dd>
27965
+
27966
+ **request_options:** `Whop_sdk::PaymentRules::RequestOptions`
27967
+
27968
+ </dd>
27969
+ </dl>
27970
+ </dd>
27971
+ </dl>
27972
+
27973
+
27974
+ </dd>
27975
+ </dl>
27976
+ </details>
27977
+
27978
+ <details><summary><code>client.payment_rules.<a href="/lib/whop_sdk/payment_rules/client.rb">activate</a>(id:) -> Whop_sdk::Types::PaymentRule</code></summary>
27979
+ <dl>
27980
+ <dd>
27981
+
27982
+ #### 📝 Description
27983
+
27984
+ <dl>
27985
+ <dd>
27986
+
27987
+ <dl>
27988
+ <dd>
27989
+
27990
+ Activates an inactive payment rule so it applies to new payments again. A deleted rule cannot be activated.
27991
+ </dd>
27992
+ </dl>
27993
+ </dd>
27994
+ </dl>
27995
+
27996
+ #### 🔌 Usage
27997
+
27998
+ <dl>
27999
+ <dd>
28000
+
28001
+ <dl>
28002
+ <dd>
28003
+
28004
+ ```ruby
28005
+ client.payment_rules.activate(id: "id")
28006
+ ```
28007
+ </dd>
28008
+ </dl>
28009
+ </dd>
28010
+ </dl>
28011
+
28012
+ #### ⚙️ Parameters
28013
+
28014
+ <dl>
28015
+ <dd>
28016
+
28017
+ <dl>
28018
+ <dd>
28019
+
28020
+ **id:** `String` — The payment rule ID.
28021
+
28022
+ </dd>
28023
+ </dl>
28024
+
28025
+ <dl>
28026
+ <dd>
28027
+
28028
+ **request_options:** `Whop_sdk::PaymentRules::RequestOptions`
28029
+
28030
+ </dd>
28031
+ </dl>
28032
+ </dd>
28033
+ </dl>
28034
+
28035
+
28036
+ </dd>
28037
+ </dl>
28038
+ </details>
28039
+
28040
+ <details><summary><code>client.payment_rules.<a href="/lib/whop_sdk/payment_rules/client.rb">deactivate</a>(id:) -> Whop_sdk::Types::PaymentRule</code></summary>
28041
+ <dl>
28042
+ <dd>
28043
+
28044
+ #### 📝 Description
28045
+
28046
+ <dl>
28047
+ <dd>
28048
+
28049
+ <dl>
28050
+ <dd>
28051
+
28052
+ Deactivates a payment rule so it stops applying to new payments. It keeps its ID and can be activated again.
27878
28053
  </dd>
27879
28054
  </dl>
27880
28055
  </dd>
@@ -27936,7 +28111,7 @@ client.payment_rules.deactivate(id: "id")
27936
28111
  <dl>
27937
28112
  <dd>
27938
28113
 
27939
- Deletes this rule and creates its successor in one step. The successor carries a new ID and the metadata of the rule it replaced,.
28114
+ Changes a payment rule's `action` and `conditions` by deleting it and creating its successor in one step. The successor has a new ID and keeps the replaced rule's name, metadata, and `active` or `inactive` status.
27940
28115
  </dd>
27941
28116
  </dl>
27942
28117
  </dd>
@@ -28025,7 +28200,7 @@ client.payment_rules.replace(
28025
28200
  <dl>
28026
28201
  <dd>
28027
28202
 
28028
- Lists payments, newest first. By default, returns account sales: a company credential's own account, or for a user every account they can read payments for. Set `mode=user_sales` to list only the sales received by the signed-in user's primary ledger account, without a company. This mode requires the user's own Whop login session and cannot be combined with `account_id`. Filters narrow by account, buyer, product, plan, membership, status, billing reason, currency, and creation window. Filtering by `billing_reason=subscription_cycle` also matches renewals recorded as `subscription_update`. `settlement_time_at` is null on list rows — retrieve the payment for it.
28203
+ Lists payments, newest first. By default, returns sales for the accounts your credential can read: an account credential's own account, or every account a user can read payments for. Set `mode` to `user_sales` to list the sales the signed-in user received personally, outside any account.
28029
28204
  </dd>
28030
28205
  </dl>
28031
28206
  </dd>
@@ -28055,7 +28230,7 @@ client.payments.list
28055
28230
  <dl>
28056
28231
  <dd>
28057
28232
 
28058
- **mode:** `Whop_sdk::Payments::Types::ListPaymentsRequestMode` — Which sales to list. `account_sales` returns sales for the accounts the caller can read. `user_sales` returns only sales received by the signed-in user's primary ledger account, without a company; requires their own Whop login session and cannot be combined with `account_id`.
28233
+ **mode:** `Whop_sdk::Payments::Types::ListPaymentsRequestMode` — Which sales to list. `account_sales` returns sales for the accounts the caller can read. `user_sales` returns only sales the signed-in user received personally, outside any account; it requires the user's own Whop login session and cannot be combined with `account_id`.
28059
28234
 
28060
28235
  </dd>
28061
28236
  </dl>
@@ -28079,7 +28254,7 @@ client.payments.list
28079
28254
  <dl>
28080
28255
  <dd>
28081
28256
 
28082
- **billing_reason:** `Whop_sdk::Payments::Types::ListPaymentsRequestBillingReason` — Only payments charged for this reason.
28257
+ **billing_reason:** `Whop_sdk::Payments::Types::ListPaymentsRequestBillingReason` — Only payments charged for this reason. `subscription_cycle` also matches renewals recorded as `subscription_update`.
28083
28258
 
28084
28259
  </dd>
28085
28260
  </dl>
@@ -28231,7 +28406,7 @@ client.payments.list
28231
28406
  <dl>
28232
28407
  <dd>
28233
28408
 
28234
- Charges a buyer for one or more variants. Pass a payment method already on file (`member_id` and `payment_method_id`), or a `confirmation_token` describing a method the buyer just supplied. Collection runs in the background: the response is the payment as created, not its outcome — poll Retrieve status for how far it has got and, for a confirmation-token payment, what the buyer must still do. Pass `line_items` for one or more variants with quantities, `plan_id` for an existing variant, or the compatibility input `plan` to find or create one inline. These inputs are mutually exclusive.
28409
+ Charges a buyer for one or more variants with a payment method already on file (`member_id` and `payment_method_id`), or with a `confirmation_token` for a method the buyer just supplied. Collection runs in the background, so the response is the payment as created, not its outcome: poll Retrieve payment status for how far it has got and what the buyer must still do.
28235
28410
  </dd>
28236
28411
  </dl>
28237
28412
  </dd>
@@ -28309,6 +28484,14 @@ client.payments.create(account_id: "biz_xxxxxxxxxxxxxx")
28309
28484
  <dl>
28310
28485
  <dd>
28311
28486
 
28487
+ **line_items:** `Internal::Types::Array[Whop_sdk::Payments::Types::CreatePaymentsRequestLineItemsItem]` — What the buyer is purchasing. Each entry takes exactly one of `plan_id` or an inline `plan`. One entry charges that variant; several entries form a cart, which requires every variant to be compatible, belong to this account, and use the same currency. Mutually exclusive with `plan_id` and `plan`.
28488
+
28489
+ </dd>
28490
+ </dl>
28491
+
28492
+ <dl>
28493
+ <dd>
28494
+
28312
28495
  **member_id:** `String` — The member to charge, prefixed `mber_`. Required with `payment_method_id` unless `confirmation_token` is provided.
28313
28496
 
28314
28497
  </dd>
@@ -28349,7 +28532,7 @@ client.payments.create(account_id: "biz_xxxxxxxxxxxxxx")
28349
28532
  <dl>
28350
28533
  <dd>
28351
28534
 
28352
- **quote_id:** `String` — A payment quote from `POST /payment_quotes`, prefixed `pq_`. The payment charges exactly the quote: its purchase (its variants and quantities, or the `plan` it priced), which this body may then omit, its promo code, and its tax, the quote's `tax_amount` rather than a figure calculated now. Omit it, or send null, to have tax calculated when the payment is charged. The quote must belong to `account_id`. A purchase field you omit or send as null takes the quote's value; the buyer's email, the addresses and the payment method are this request's own, never the quote's. Whatever you do send must describe the quoted purchase: the same variants, quantities and promo code. A quote that priced `plan` takes only the same `plan` you sent to `POST /payment_quotes` (or omit the purchase to take the quoted one), never `plan_id` or `line_items`, and a quote that priced variants by id never takes `plan`. Unless the quote located no buyer (`located_by` is null), the address the payment carries (its shipping address, else its billing address) must put the buyer where the quote priced tax, by country, state and postal code; otherwise the payment is refused with 400 before the payment method is used. A quote located by IP address or by the country the buyer chose (`located_by` is `ip_address` or `presentment_country`) is a preview and cannot be paid. A quote is consumed by one payment: a declined payment keeps it and can be retried; a new payment needs a new quote. A quote cannot be charged through PayPal; such a payment is refused before the payment method is used. A quote priced in a `presentment_currency` is charged in that currency at the quote's `exchange_rate`. A payment refused over its quote carries an error `code`. `quote_expired`: the quote has expired; quote again. `quote_tax_unavailable`: the quote could not price tax; quote again, or omit `quote_id`. `quote_preview_only`: the quote was located by IP address or by the country the buyer chose; quote again with the buyer's address. `quote_in_use` (409): another payment holds the quote. `quote_mismatch`: the purchase or the buyer's address is not the one quoted. `quote_rate_expired`: the exchange rate the quote was priced at has moved too far to charge; quote again. `payment_method_currency_unsupported`: the payment method cannot pay in the quote's currency; use another method, or quote again in another currency. `quote_processor_unsupported`: the payment method cannot pay a quote, as with PayPal; use another method, or omit `quote_id` to have tax calculated when the payment is charged.
28535
+ **quote_id:** `String` — A payment quote from `POST /payment_quotes`, prefixed `pq_`. The payment charges exactly the quote: its purchase (its variants and quantities, or the `plan` it priced), which this body may then omit, its promo code, and its tax, the quote's `tax_amount` rather than a figure calculated now. Omit it, or send null, to have tax calculated when the payment is charged. The quote must belong to `account_id`. A purchase field you omit or send as null takes the quote's value; the buyer's email, the addresses and the payment method are this request's own, never the quote's. Whatever you do send must describe the quoted purchase: the same variants, quantities and promo code. A quote that priced `plan` takes only the same `plan` you sent to `POST /payment_quotes` (or omit the purchase to take the quoted one), never `plan_id` or `line_items`, and a quote that priced variants by id never takes `plan`. Unless the quote located no buyer (`located_by` is null), the address the payment carries (its shipping address, else its billing address) must put the buyer where the quote priced tax, by country, state and postal code; otherwise the payment is refused with 400 before the payment method is used. A quote located by IP address or by the country the buyer chose (`located_by` is `ip_address` or `presentment_country`) is a preview and cannot be paid. A quote is consumed by one payment: a declined payment keeps it and can be retried; a new payment needs a new quote. A quote cannot be charged by a processor that doesn't take quotes, such as a seller's own connected PayPal account; such a payment is refused before the payment method is used. A quote priced in a `presentment_currency` is charged in that currency at the quote's `exchange_rate`. A payment refused over its quote carries an error `code`. `quote_expired`: the quote has expired; quote again. `quote_tax_unavailable`: the quote could not price tax; quote again, or omit `quote_id`. `quote_preview_only`: the quote was located by IP address or by the country the buyer chose; quote again with the buyer's address. `quote_in_use` (409): another payment holds the quote. `quote_mismatch`: the purchase or the buyer's address is not the one quoted. `quote_rate_expired`: the exchange rate the quote was priced at has moved too far to charge; quote again. `payment_method_currency_unsupported`: the payment method cannot pay in the quote's currency; use another method, or quote again in another currency. `quote_processor_unsupported`: the payment would be processed by a processor that doesn't take quotes, such as a seller's own connected PayPal account; use another method, or omit `quote_id` to have tax calculated when the payment is charged.
28353
28536
 
28354
28537
  </dd>
28355
28538
  </dl>
@@ -28467,7 +28650,7 @@ client.payments.retrieve(id: "id")
28467
28650
  <dl>
28468
28651
  <dd>
28469
28652
 
28470
- Updates a payment's `shipping_address` or `return_url`. Send the complete `shipping_address`, because it replaces the existing address and any field you leave out is cleared.
28653
+ Updates a payment's `shipping_address` or `return_url`.
28471
28654
  </dd>
28472
28655
  </dl>
28473
28656
  </dd>
@@ -28731,7 +28914,7 @@ client.payments.generate_pdf(id: "id")
28731
28914
  <dl>
28732
28915
  <dd>
28733
28916
 
28734
- Issues a full or partial refund for a payment. The refund is processed through the original payment processor and the membership status is updated accordingly.
28917
+ Refunds all or part of a payment through the processor that charged it, and updates its membership to match. The buyer is emailed, the affiliate commission on the payment is clawed back, and any open Resolution Center case on the payment is closed.
28735
28918
  </dd>
28736
28919
  </dl>
28737
28920
  </dd>
@@ -28801,7 +28984,7 @@ client.payments.refund(id: "id")
28801
28984
  <dl>
28802
28985
  <dd>
28803
28986
 
28804
- Retries a failed or pending payment. This re-attempts the charge using the original payment method and variant details.
28987
+ Charges an unpaid payment again with its original payment method and variant. A payment can typically be retried once, and only while its membership is active, trialing or past due, or when it is a membership's failed first payment.
28805
28988
  </dd>
28806
28989
  </dl>
28807
28990
  </dd>
@@ -28913,7 +29096,7 @@ client.payments.void(id: "id")
28913
29096
  </dl>
28914
29097
  </details>
28915
29098
 
28916
- <details><summary><code>client.payments.<a href="/lib/whop_sdk/payments/client.rb">resume</a>(payment_id:) -> Whop_sdk::Types::PaymentStatus</code></summary>
29099
+ <details><summary><code>client.payments.<a href="/lib/whop_sdk/payments/client.rb">resume</a>(payment_id:, request) -> Whop_sdk::Types::PaymentStatus</code></summary>
28917
29100
  <dl>
28918
29101
  <dd>
28919
29102
 
@@ -28925,7 +29108,7 @@ client.payments.void(id: "id")
28925
29108
  <dl>
28926
29109
  <dd>
28927
29110
 
28928
- Starts a fresh on-session attempt with the saved card for a subscription renewal that is waiting on the customer to authenticate; the bank's step then arrives in `next_action` on the following status reads. Only the payment's own customer may call it — with the payment's `client_secret` or their own session — and it is a no-op for any payment that is not a parked renewal.
29111
+ Charges the saved card again, with the buyer present, for a payment their bank declined until they authenticate (such as with 3DS). Retrieve the payment afterward to get the bank's challenge from `next_action`; once the buyer completes it, they land on `return_url`, or on Whop's hosted verification page if none was given. Only the buyer can call this, with the payment's `client_secret`, an OAuth token for their own account with the `member:payment_methods:use` scope, or the token from a verified `payment` session intent. An API key gets a `403`. Has no effect on a payment that is not waiting on authentication.
28929
29112
  </dd>
28930
29113
  </dl>
28931
29114
  </dd>
@@ -28963,6 +29146,14 @@ client.payments.resume(payment_id: "payment_id")
28963
29146
  <dl>
28964
29147
  <dd>
28965
29148
 
29149
+ **return_url:** `String` — Where the buyer continues after completing an off-site step. Must be an absolute https URL without credentials (http is allowed for localhost), at most 2,048 characters. Defaults to Whop's hosted verification page. Ignored when the payment is not waiting on authentication.
29150
+
29151
+ </dd>
29152
+ </dl>
29153
+
29154
+ <dl>
29155
+ <dd>
29156
+
28966
29157
  **request_options:** `Whop_sdk::Payments::RequestOptions`
28967
29158
 
28968
29159
  </dd>
@@ -29189,7 +29380,7 @@ client.payout_accounts.retrieve(id: "poact_xxxxxxxxxxxx")
29189
29380
  <dl>
29190
29381
  <dd>
29191
29382
 
29192
- Returns a list of active payout methods configured for a company, ordered by most recently created.
29383
+ Lists the active payout methods configured for an account, newest first.
29193
29384
 
29194
29385
  Required permissions:
29195
29386
  - `payout:destination:read`
@@ -29659,7 +29850,7 @@ client.payouts.create(
29659
29850
  <dl>
29660
29851
  <dd>
29661
29852
 
29662
- Creates a short-lived, provider-backed quote for a payout. No funds move until the returned quote_token is submitted to POST /payouts. An Idempotency-Key header is required.
29853
+ Creates a short-lived, provider-backed quote of a payout's fee, exchange rate, and destination amount. No funds move until you submit the returned `quote_token` to `POST /payouts`.
29663
29854
  </dd>
29664
29855
  </dl>
29665
29856
  </dd>
@@ -29780,7 +29971,7 @@ client.payouts.create_quote(
29780
29971
  <dl>
29781
29972
  <dd>
29782
29973
 
29783
- Fetches one payout by its `wdrl_` ID, or by the `cofr_` conversion request ID a stablecoin payout carries as `payout_request_id` — both ids answer with the same payout object. Authentication is optional. Anyone with the ID can view payout tracking details, including notes, trace code, exchange rate, and payout request ID. Accounting fields require payout:withdrawal:read on the owning ledger. A supplied invalid credential returns 401.
29974
+ Retrieves a payout by its `wdrl_` ID, or by the `cofr_` conversion request ID a stablecoin payout carries as `payout_request_id`. Authentication is optional: anyone with the ID can view tracking details, including notes, trace code, exchange rate, and payout request ID, while accounting fields require `payout:withdrawal:read` on the account or user that owns the payout. A supplied invalid credential returns 401.
29784
29975
  </dd>
29785
29976
  </dl>
29786
29977
  </dd>
@@ -29858,7 +30049,7 @@ client.payouts.retrieve(id: "id")
29858
30049
  <dl>
29859
30050
  <dd>
29860
30051
 
29861
- Cancels a payout that is still in review and returns the funds, fees included, to the balance. A payout can be canceled while its status is `in_review`. A `requested` payout is still being prepared (its funds may be converting) and answers 409 until it reaches review; from `processing` on, the money is on its way and the answer is 409 with error type `not_cancelable`. Canceling a payout that is already canceled succeeds and returns it unchanged.
30052
+ Cancels a payout whose `status` is `in_review` and returns the funds, fees included, to the balance. A `requested` payout is still being prepared (its funds may be converting) and returns 409 until it reaches review; from `processing` on, the money is on its way and the response is 409 with error type `not_cancelable`. Canceling an already-canceled payout succeeds and returns it unchanged.
29862
30053
  </dd>
29863
30054
  </dl>
29864
30055
  </dd>
@@ -29937,7 +30128,7 @@ client.payouts.cancel(id: "id")
29937
30128
  <dl>
29938
30129
  <dd>
29939
30130
 
29940
- Lists the people (visitors and customers) of an account: the identity-linked person profiles aggregated from every pixel, payment, and platform event — identities, purchases and LTV, geo/device profile, traffic sources, and first/last marketing touches.
30131
+ Lists the people (visitors and customers) of an account: identity-linked profiles assembled from every pixel, payment, and platform event. Filter and sort them to segment an account's audience.
29941
30132
  </dd>
29942
30133
  </dl>
29943
30134
  </dd>
@@ -30354,7 +30545,7 @@ client.people.list(
30354
30545
  <dl>
30355
30546
  <dd>
30356
30547
 
30357
- Retrieves one person for an account. The identifier can be a person ID (prefixed `prsn_`), a user ID (prefixed `user_`), an email address, or a phone number — merged people resolve to the surviving profile.
30548
+ Retrieves one person for an account, looked up by person ID, user ID, email address, or phone number.
30358
30549
  </dd>
30359
30550
  </dl>
30360
30551
  </dd>
@@ -30384,7 +30575,7 @@ client.people.retrieve(id: "id")
30384
30575
  <dl>
30385
30576
  <dd>
30386
30577
 
30387
- **id:** `String` — The person ID, user ID, email address, or phone number to look up.
30578
+ **id:** `String` — The person ID (prefixed `prsn_`), user ID (prefixed `user_`), email address, or phone number to look up. A merged person resolves to the surviving profile.
30388
30579
 
30389
30580
  </dd>
30390
30581
  </dl>
@@ -31334,7 +31525,7 @@ client.plans.update(id: "id")
31334
31525
  <dl>
31335
31526
  <dd>
31336
31527
 
31337
- Deprecated compatibility endpoint. Preview variant tax with `POST /variants/{id}/calculate_tax` instead.
31528
+ Deprecated compatibility endpoint. Quote tax with `POST /payment_quotes` instead.
31338
31529
  </dd>
31339
31530
  </dl>
31340
31531
  </dd>
@@ -31559,7 +31750,7 @@ client.product_affiliates.list(
31559
31750
  <dl>
31560
31751
  <dd>
31561
31752
 
31562
- Returns a paginated list of products. Omit `account_id` to search the public marketplace.
31753
+ Lists an account's products, or searches the public marketplace when you omit `account_id`.
31563
31754
  </dd>
31564
31755
  </dl>
31565
31756
  </dd>
@@ -31966,7 +32157,7 @@ client.products.create(title: "Interior Deep Clean")
31966
32157
  <dl>
31967
32158
  <dd>
31968
32159
 
31969
- Retrieves a product. Public — no credentials.
32160
+ Retrieves a product. Requires no authentication.
31970
32161
  </dd>
31971
32162
  </dl>
31972
32163
  </dd>
@@ -32357,7 +32548,7 @@ client.products.unpublish(id: "id")
32357
32548
  <dl>
32358
32549
  <dd>
32359
32550
 
32360
- Lists promo codes for an account with cursor pagination, filters, and sorting.
32551
+ Lists an account's promo codes.
32361
32552
  </dd>
32362
32553
  </dl>
32363
32554
  </dd>
@@ -33279,7 +33470,7 @@ client.reactions.delete(id: "reac_xxxxxxxxxxxxxxxxxxxxxx")
33279
33470
  <dl>
33280
33471
  <dd>
33281
33472
 
33282
- Lists refunds, newest first. Without filters this is every refund the caller can read; narrow it to one payment with `payment_id`, one account with `account_id`, or one buyer with `user_id`.
33473
+ Lists refunds the caller can read, newest first. Filter by payment, account, or buyer to narrow the results.
33283
33474
  </dd>
33284
33475
  </dl>
33285
33476
  </dd>
@@ -34476,7 +34667,7 @@ client.resolution_center_cases.withdraw(id: "id")
34476
34667
  <dl>
34477
34668
  <dd>
34478
34669
 
34479
- Returns a paginated list of customer reviews for a specific product, with optional filtering by star rating and creation date.
34670
+ Lists the published reviews for a product or account. Without `account_id` or `product_id`, a user lists the reviews they wrote, an account or app API key lists its account's reviews, and a request without credentials returns 400.
34480
34671
  </dd>
34481
34672
  </dl>
34482
34673
  </dd>
@@ -34492,13 +34683,8 @@ Returns a paginated list of customer reviews for a specific product, with option
34492
34683
 
34493
34684
  ```ruby
34494
34685
  client.reviews.list(
34495
- first: 42,
34496
- last: 42,
34497
- product_id: "prod_xxxxxxxxxxxxx",
34498
- min_stars: 42,
34499
- max_stars: 42,
34500
- created_before: "2023-12-01T05:00:00Z",
34501
- created_after: "2023-12-01T05:00:00Z"
34686
+ account_id: "biz_xxxxxxxxxxxxxx",
34687
+ product_id: "prod_xxxxxxxxxxxxx"
34502
34688
  )
34503
34689
  ```
34504
34690
  </dd>
@@ -34514,7 +34700,7 @@ client.reviews.list(
34514
34700
  <dl>
34515
34701
  <dd>
34516
34702
 
34517
- **after:** `String` — Returns the elements in the list that come after the specified cursor.
34703
+ **account_id:** `String` — The unique identifier of the account to list reviews for.
34518
34704
 
34519
34705
  </dd>
34520
34706
  </dl>
@@ -34522,7 +34708,7 @@ client.reviews.list(
34522
34708
  <dl>
34523
34709
  <dd>
34524
34710
 
34525
- **before:** `String` — Returns the elements in the list that come before the specified cursor.
34711
+ **product_id:** `String` — The unique identifier of the product to list reviews for.
34526
34712
 
34527
34713
  </dd>
34528
34714
  </dl>
@@ -34530,7 +34716,7 @@ client.reviews.list(
34530
34716
  <dl>
34531
34717
  <dd>
34532
34718
 
34533
- **first:** `Integer` — Returns the first _n_ elements from the list.
34719
+ **min_stars:** `Integer` — The minimum star rating to include in results, from 1 to 5 inclusive.
34534
34720
 
34535
34721
  </dd>
34536
34722
  </dl>
@@ -34538,7 +34724,7 @@ client.reviews.list(
34538
34724
  <dl>
34539
34725
  <dd>
34540
34726
 
34541
- **last:** `Integer` — Returns the last _n_ elements from the list.
34727
+ **max_stars:** `Integer` — The maximum star rating to include in results, from 1 to 5 inclusive.
34542
34728
 
34543
34729
  </dd>
34544
34730
  </dl>
@@ -34546,7 +34732,7 @@ client.reviews.list(
34546
34732
  <dl>
34547
34733
  <dd>
34548
34734
 
34549
- **product_id:** `String` — The unique identifier of the product to list reviews for.
34735
+ **created_before:** `String` — Only return reviews created before this timestamp.
34550
34736
 
34551
34737
  </dd>
34552
34738
  </dl>
@@ -34554,7 +34740,7 @@ client.reviews.list(
34554
34740
  <dl>
34555
34741
  <dd>
34556
34742
 
34557
- **min_stars:** `Integer` — The minimum star rating to include in results, from 1 to 5 inclusive.
34743
+ **created_after:** `String` — Only return reviews created after this timestamp.
34558
34744
 
34559
34745
  </dd>
34560
34746
  </dl>
@@ -34562,7 +34748,7 @@ client.reviews.list(
34562
34748
  <dl>
34563
34749
  <dd>
34564
34750
 
34565
- **max_stars:** `Integer` — The maximum star rating to include in results, from 1 to 5 inclusive.
34751
+ **order:** `Whop_sdk::Reviews::Types::ListReviewsRequestOrder` — The field to sort reviews by.
34566
34752
 
34567
34753
  </dd>
34568
34754
  </dl>
@@ -34570,7 +34756,7 @@ client.reviews.list(
34570
34756
  <dl>
34571
34757
  <dd>
34572
34758
 
34573
- **created_before:** `String` — Only return reviews created before this timestamp.
34759
+ **direction:** `Whop_sdk::Reviews::Types::ListReviewsRequestDirection` — The sort direction.
34574
34760
 
34575
34761
  </dd>
34576
34762
  </dl>
@@ -34578,7 +34764,31 @@ client.reviews.list(
34578
34764
  <dl>
34579
34765
  <dd>
34580
34766
 
34581
- **created_after:** `String` — Only return reviews created after this timestamp.
34767
+ **first:** `Integer` — Number of results to return from the start of the range.
34768
+
34769
+ </dd>
34770
+ </dl>
34771
+
34772
+ <dl>
34773
+ <dd>
34774
+
34775
+ **after:** `String` — Return results after this cursor. Use `page_info.end_cursor` from the previous response to fetch the next page.
34776
+
34777
+ </dd>
34778
+ </dl>
34779
+
34780
+ <dl>
34781
+ <dd>
34782
+
34783
+ **last:** `Integer` — Number of results to return from the end of the range.
34784
+
34785
+ </dd>
34786
+ </dl>
34787
+
34788
+ <dl>
34789
+ <dd>
34790
+
34791
+ **before:** `String` — Return results before this cursor. Use `page_info.start_cursor` from the previous response to fetch the previous page.
34582
34792
 
34583
34793
  </dd>
34584
34794
  </dl>
@@ -34610,7 +34820,7 @@ client.reviews.list(
34610
34820
  <dl>
34611
34821
  <dd>
34612
34822
 
34613
- Retrieves the details of an existing review.
34823
+ Retrieves a published review. Reviews that are not published return 404.
34614
34824
  </dd>
34615
34825
  </dl>
34616
34826
  </dd>
@@ -34640,7 +34850,69 @@ client.reviews.retrieve(id: "rev_xxxxxxxxxxxxxx")
34640
34850
  <dl>
34641
34851
  <dd>
34642
34852
 
34643
- **id:** `String` — The unique identifier of the review to retrieve.
34853
+ **id:** `String` — The unique identifier of the review.
34854
+
34855
+ </dd>
34856
+ </dl>
34857
+
34858
+ <dl>
34859
+ <dd>
34860
+
34861
+ **request_options:** `Whop_sdk::Reviews::RequestOptions`
34862
+
34863
+ </dd>
34864
+ </dl>
34865
+ </dd>
34866
+ </dl>
34867
+
34868
+
34869
+ </dd>
34870
+ </dl>
34871
+ </details>
34872
+
34873
+ <details><summary><code>client.reviews.<a href="/lib/whop_sdk/reviews/client.rb">delete</a>(id:) -> Whop_sdk::Reviews::Types::DeleteReviewsResponse</code></summary>
34874
+ <dl>
34875
+ <dd>
34876
+
34877
+ #### 📝 Description
34878
+
34879
+ <dl>
34880
+ <dd>
34881
+
34882
+ <dl>
34883
+ <dd>
34884
+
34885
+ Deletes a review the signed-in user wrote. Requires the `review:delete` scope, and returns 404 for a review another user wrote.
34886
+ </dd>
34887
+ </dl>
34888
+ </dd>
34889
+ </dl>
34890
+
34891
+ #### 🔌 Usage
34892
+
34893
+ <dl>
34894
+ <dd>
34895
+
34896
+ <dl>
34897
+ <dd>
34898
+
34899
+ ```ruby
34900
+ client.reviews.delete(id: "rev_xxxxxxxxxxxxxx")
34901
+ ```
34902
+ </dd>
34903
+ </dl>
34904
+ </dd>
34905
+ </dl>
34906
+
34907
+ #### ⚙️ Parameters
34908
+
34909
+ <dl>
34910
+ <dd>
34911
+
34912
+ <dl>
34913
+ <dd>
34914
+
34915
+ **id:** `String` — The unique identifier of the review.
34644
34916
 
34645
34917
  </dd>
34646
34918
  </dl>
@@ -34673,7 +34945,7 @@ client.reviews.retrieve(id: "rev_xxxxxxxxxxxxxx")
34673
34945
  <dl>
34674
34946
  <dd>
34675
34947
 
34676
- Lists setup intents newest first. An account API key lists its own account; a user token lists every account it can read, or one account with `account_id`. `client_secret` is always null on list rows — retrieve the setup intent for it.
34948
+ Lists setup intents newest first. An account API key lists its own account; a user token lists every account it can read, or one account with `account_id`.
34677
34949
  </dd>
34678
34950
  </dl>
34679
34951
  </dd>
@@ -34807,7 +35079,7 @@ client.setup_intents.list
34807
35079
  <dl>
34808
35080
  <dd>
34809
35081
 
34810
- Saves a buyer's payment method for later without charging it. Pass a `confirmation_token` for a method the buyer just supplied through the payment elements in setup mode, or a `payment_method_id` already on file to re-verify it. The response is the setup intent as created, not its outcome: it is `processing` while the payment method is saved in the background, and `requires_action` when the buyer still has a step. Hand `client_secret` to the elements' `handleNextAction`, or poll Retrieve setup status, for the outcome. A buyer's own token holding `member:payment_methods:use` may create a setup intent for itself from a confirmation token.
35082
+ Saves a buyer's payment method for later without charging it — one the buyer just supplied through the payment elements in setup mode, or one already on file to re-verify. The setup completes in the background, so the response is the setup intent as created, not its outcome: hand `client_secret` to the elements' `handleNextAction`, or poll Retrieve setup status. A buyer's own token holding `member:payment_methods:use` may create a setup intent for itself from a confirmation token.
34811
35083
  </dd>
34812
35084
  </dl>
34813
35085
  </dd>
@@ -34933,7 +35205,7 @@ client.setup_intents.create(account_id: "biz_xxxxxxxxxxxxxx")
34933
35205
  <dl>
34934
35206
  <dd>
34935
35207
 
34936
- Returns one setup intent. Related records are ids — once `status` is `succeeded`, `payment_method_id` is the saved method to charge or retrieve. The buyer's own token may retrieve a setup intent that belongs to it.
35208
+ Retrieves a setup intent. Once its `status` is `succeeded`, charge the saved method by its `payment_method_id`. The buyer's own token may retrieve a setup intent that belongs to it.
34937
35209
  </dd>
34938
35210
  </dl>
34939
35211
  </dd>
@@ -35131,7 +35403,7 @@ client.setup_intents.retrieve_status(setup_intent_id: "setup_intent_id")
35131
35403
  <dl>
35132
35404
  <dd>
35133
35405
 
35134
- Returns a paginated list of shipments for an account.
35406
+ Lists an account's shipments.
35135
35407
  </dd>
35136
35408
  </dl>
35137
35409
  </dd>
@@ -35354,7 +35626,7 @@ client.shipments.create(
35354
35626
  <dl>
35355
35627
  <dd>
35356
35628
 
35357
- Retrieves a shipment by its id, or by the payment id it fulfills.
35629
+ Retrieves a shipment by its ID, or by the ID of the payment it fulfills.
35358
35630
  </dd>
35359
35631
  </dl>
35360
35632
  </dd>
@@ -36366,7 +36638,7 @@ client.social_accounts.refresh(id: "id")
36366
36638
  <dl>
36367
36639
  <dd>
36368
36640
 
36369
- Deprecated. Lists every metric, which no longer says which of them a projection accepts. List the ones you can chart with `GET /stats/time_series`. Aggregates that are not bucketed over time are reports, listed at `GET /stats/reports`.
36641
+ Deprecated. Lists every metric without saying which ones you can chart. List chartable metrics with `GET /stats/time_series`, and aggregates that are not bucketed over time with `GET /stats/reports`.
36370
36642
  </dd>
36371
36643
  </dl>
36372
36644
  </dd>
@@ -36777,7 +37049,7 @@ client.stats.retrieve(
36777
37049
  <dl>
36778
37050
  <dd>
36779
37051
 
36780
- **steps:** `Whop_sdk::Types::RetrieveStatsRequestSteps` — Funnel only. Required when metric=funnel. Consecutive one-based steps encoded as steps[1][event], steps[1][page], steps[2][event], and so on. Values are scalar strings, never JSON.
37052
+ **steps:** `Whop_sdk::Types::RetrieveStatsRequestSteps` — Funnel only. Required when metric=funnel. 2 to 10 ordered events per person, as consecutive one-based bracket parameters such as `steps[1][event]=pixel.page&steps[1][page]=/pricing*&steps[2][event]=payment.completed`. Values are scalar strings, never JSON. A person's first step 1 match inside `from`/`to` anchors their cohort, breakdown, and conversion window; later matches do not restart it. Other events may occur between steps, and conversions may land after `to`. For an experiment funnel, make `experiment.exposure` step 1 and pass `breakdown_by=variant`.
36781
37053
 
36782
37054
  </dd>
36783
37055
  </dl>
@@ -37050,7 +37322,7 @@ client.stats.retrieve(
37050
37322
  <dl>
37051
37323
  <dd>
37052
37324
 
37053
- Returns a paginated list of support channels for a specific company, with optional filtering by resolution status and custom sorting.
37325
+ Lists support channels between an account's team and its customers, most recently active first by default. Pass `open=true` to find channels awaiting a support response.
37054
37326
 
37055
37327
  Required permissions:
37056
37328
  - `support_chat:read`
@@ -37135,6 +37407,38 @@ client.support_channels.list(
37135
37407
  <dl>
37136
37408
  <dd>
37137
37409
 
37410
+ **customer_user_id:** `String` — Only return support channels opened by this customer.
37411
+
37412
+ </dd>
37413
+ </dl>
37414
+
37415
+ <dl>
37416
+ <dd>
37417
+
37418
+ **participated:** `Internal::Types::Boolean` — Set to true to only return channels the authenticated user has joined as a participant. Requires a user.
37419
+
37420
+ </dd>
37421
+ </dl>
37422
+
37423
+ <dl>
37424
+ <dd>
37425
+
37426
+ **include_last_message:** `Internal::Types::Boolean` — Set to true to return `last_message` and `unread` on each channel. Both are `null` otherwise, which keeps large lists fast.
37427
+
37428
+ </dd>
37429
+ </dl>
37430
+
37431
+ <dl>
37432
+ <dd>
37433
+
37434
+ **include_participated:** `Internal::Types::Boolean` — Set to true to return `participated` on each channel. It is `null` otherwise, which keeps large lists fast.
37435
+
37436
+ </dd>
37437
+ </dl>
37438
+
37439
+ <dl>
37440
+ <dd>
37441
+
37138
37442
  **direction:** `Whop_sdk::Types::Direction`
37139
37443
 
37140
37444
  </dd>
@@ -37183,7 +37487,7 @@ client.support_channels.list(
37183
37487
  <dl>
37184
37488
  <dd>
37185
37489
 
37186
- Open a new support channel between a company team member and a customer. Returns the existing channel if one already exists for that user.
37490
+ Opens a support channel between an account's team and a customer. Returns the existing channel if that customer already has one.
37187
37491
 
37188
37492
  Required permissions:
37189
37493
  - `support_chat:create`
@@ -37341,7 +37645,7 @@ client.support_channels.retrieve(id: "id")
37341
37645
  <dl>
37342
37646
  <dd>
37343
37647
 
37344
- Retrieve the account's completed or pending swaps — currently just the latest one.
37648
+ Lists the completed or pending swaps for an account or user — currently only the most recent one.
37345
37649
  </dd>
37346
37650
  </dl>
37347
37651
  </dd>
@@ -37411,7 +37715,7 @@ client.swaps.list
37411
37715
  <dl>
37412
37716
  <dd>
37413
37717
 
37414
- Swaps one token for another from the account's wallet, or converts between fiat currencies in the account's ledger at the mid-market rate. Crypto swaps finish in the background — check the swap for its status.
37718
+ Swaps one token for another in an account or user's wallet, or converts between their fiat balances at the mid-market rate. Crypto swaps finish in the background — retrieve the swap to follow its status.
37415
37719
  </dd>
37416
37720
  </dl>
37417
37721
  </dd>
@@ -37540,7 +37844,7 @@ client.swaps.create(
37540
37844
  <dl>
37541
37845
  <dd>
37542
37846
 
37543
- Previews the price of a swap. Fiat pairs quote the in-ledger mid-market conversion — the same rate creating the swap fills at. No funds move and nothing is saved.
37847
+ Previews the price of a swap before you create it. Fiat pairs quote the mid-market rate — the same rate creating the swap fills at. No funds move, nothing is saved, and no authentication is required.
37544
37848
  </dd>
37545
37849
  </dl>
37546
37850
  </dd>
@@ -37670,7 +37974,7 @@ client.swaps.create_quote(
37670
37974
  <dl>
37671
37975
  <dd>
37672
37976
 
37673
- Retrieves a single swap and its status.
37977
+ Retrieves a swap and its status. Poll it after creating a crypto swap, which finishes in the background.
37674
37978
  </dd>
37675
37979
  </dl>
37676
37980
  </dd>
@@ -37733,7 +38037,7 @@ client.swaps.retrieve(id: "id")
37733
38037
  <dl>
37734
38038
  <dd>
37735
38039
 
37736
- Lists an account's team members, including pending invites (`status: "pending"`, `ausri_` ids; `user` is `null` for invites sent to an email with no Whop account yet). For accepted members, `email` requires the `company:authorized_user:email:read` scope and is `null` otherwise. A user credential with `company:basic:read` may list only its own joined membership by passing its own `user_id` and `status=joined`. Listing `role=workforce` is also allowed with the `bounty:create` scope.
38040
+ Lists an account's team members, including pending invites. A user credential with `company:basic:read` may list only its own joined membership by passing its own `user_id` and `status=joined`. Listing `role=workforce` is also allowed with the `bounty:create` scope.
37737
38041
  </dd>
37738
38042
  </dl>
37739
38043
  </dd>
@@ -37883,7 +38187,7 @@ client.team_members.list(account_id: "account_id")
37883
38187
  <dl>
37884
38188
  <dd>
37885
38189
 
37886
- Adds a member to an account's team with a system role. Identify them by exactly one of `user_id` or `email`. If the person has not yet accepted — or the email does not belong to a Whop account yet — an invitation is sent instead and the response is `202` with `{ "object": "team_member_invite", "invitation_sent": true }`. If they already have a pending invite, the request fails with a `400`. Custom roles cannot be granted via the API. Granting the `workforce` role is also allowed with the `bounty:create` scope.
38190
+ Adds a member to an account's team with a system role. Identify them by exactly one of `user_id` or `email`. If the person has not yet accepted — or the email does not belong to a Whop account yet — an invitation is sent instead and the response is `202` with an `object` of `team_member_invite`. If they already have a pending invite, the request fails with a `400`. Granting the `workforce` role is also allowed with the `bounty:create` scope.
37887
38191
  </dd>
37888
38192
  </dl>
37889
38193
  </dd>
@@ -37932,7 +38236,7 @@ client.team_members.create(
37932
38236
  <dl>
37933
38237
  <dd>
37934
38238
 
37935
- **role:** `Whop_sdk::TeamMembers::Types::CreateTeamMembersRequestRole` — The system role to grant. The Partner role can only be granted to the account's attached, verified partner.
38239
+ **role:** `Whop_sdk::TeamMembers::Types::CreateTeamMembersRequestRole` — The system role to grant. Custom roles cannot be granted through the API. The Partner role provides view-only access.
37936
38240
 
37937
38241
  </dd>
37938
38242
  </dl>
@@ -37972,7 +38276,7 @@ client.team_members.create(
37972
38276
  <dl>
37973
38277
  <dd>
37974
38278
 
37975
- Retrieves a team member by ID. `email` requires the `company:authorized_user:email:read` scope and is `null` otherwise.
38279
+ Retrieves a team member or pending invite by ID.
37976
38280
  </dd>
37977
38281
  </dl>
37978
38282
  </dd>
@@ -38134,7 +38438,7 @@ client.team_members.update(id: "id")
38134
38438
  <dl>
38135
38439
  <dd>
38136
38440
 
38137
- **role:** `Whop_sdk::TeamMembers::Types::UpdateTeamMembersRequestRole` — The system role to grant. The Partner role can only be granted to the account's attached, verified partner.
38441
+ **role:** `Whop_sdk::TeamMembers::Types::UpdateTeamMembersRequestRole` — The system role to grant. Custom roles cannot be granted through the API. The Partner role provides view-only access.
38138
38442
 
38139
38443
  </dd>
38140
38444
  </dl>
@@ -38167,7 +38471,7 @@ client.team_members.update(id: "id")
38167
38471
  <dl>
38168
38472
  <dd>
38169
38473
 
38170
- Add funds to a company's platform balance by charging a stored payment method. Top-ups have no fees or taxes and do not count as revenue.
38474
+ Add funds to an account's platform balance by charging a stored payment method. Top-ups have no fees or taxes and do not count as revenue.
38171
38475
 
38172
38476
  Required permissions:
38173
38477
  - `payment:charge`
@@ -38388,7 +38692,7 @@ client.trades.list
38388
38692
  <dl>
38389
38693
  <dd>
38390
38694
 
38391
- Creates a trade on the Whop-managed wallet of an account or user and answers `201` with the trade in `pending`. The trade runs in the background; read it with `GET /trades/{id}` until it is `completed`, `failed` or `in_review`. A `buy` bridges `amount` USDT0 to the trading account, sets `leverage` (cross) on `market`, and places one market buy. If the buy does not fill, its money goes back to the wallet. A `close` closes the position in `market`, if one is open, and sends all withdrawable USDC back to the wallet. One trade runs at a time for each wallet. A retry with the same `Idempotency-Key` returns the same trade.
38695
+ Places an order, closes a perpetual position, or deposits to or withdraws from the trading balance, from the Whop-managed wallet of an account or user. Answers `201` with the trade in `pending`; it runs in the background, so read it with `GET /trades/:id` until its `status` is `completed`, `failed` or `in_review`. Trades run alongside each other, except a second order on one market at a different leverage, which answers `409`. A retry with the same `Idempotency-Key` returns the same trade.
38392
38696
  </dd>
38393
38697
  </dl>
38394
38698
  </dd>
@@ -38405,8 +38709,7 @@ Creates a trade on the Whop-managed wallet of an account or user and answers `20
38405
38709
  ```ruby
38406
38710
  client.trades.create(
38407
38711
  account_id: "biz_xxxxxxxxxxxxxx",
38408
- market: "BTC",
38409
- type: "buy"
38712
+ type: "close"
38410
38713
  )
38411
38714
  ```
38412
38715
  </dd>
@@ -38430,7 +38733,63 @@ client.trades.create(
38430
38733
  <dl>
38431
38734
  <dd>
38432
38735
 
38433
- **amount:** `String` — The USDT0 to send from the wallet for a buy, with at most 6 decimals. Required for a buy.
38736
+ **amount:** `String` — Only for a deposit or withdraw, and required for both. For a deposit, the USDT0 to send from the wallet, with at most 6 decimals. For a withdraw, the USDC to send back, at least 1 with at most 6 decimals, or `all`.
38737
+
38738
+ </dd>
38739
+ </dl>
38740
+
38741
+ <dl>
38742
+ <dd>
38743
+
38744
+ **client_order_id:** `String` — Only for an order. Your own ID for the trade, 1 to 128 characters, unique for the account. Sending it again with the same order returns the same trade; with a different order it answers `409`.
38745
+
38746
+ </dd>
38747
+ </dl>
38748
+
38749
+ <dl>
38750
+ <dd>
38751
+
38752
+ **instrument_type:** `Whop_sdk::Trades::Types::CreateTradesRequestInstrumentType` — `perpetual` or `spot`. Required for an order. Spot needs the trading account in Hyperliquid's unified account mode.
38753
+
38754
+ </dd>
38755
+ </dl>
38756
+
38757
+ <dl>
38758
+ <dd>
38759
+
38760
+ **leverage:** `Integer` — Only for a perpetual order. The cross leverage, from 1 to the market's maximum. Required unless `reduce_only`; not accepted on a reduce-only order.
38761
+
38762
+ </dd>
38763
+ </dl>
38764
+
38765
+ <dl>
38766
+ <dd>
38767
+
38768
+ **market:** `String` — The market: a perpetual such as `BTC`, or for spot a pair priced in USDC such as `HYPE/USDC`. Required for an order or close, and a close takes only a perpetual; not accepted for a deposit or withdraw.
38769
+
38770
+ </dd>
38771
+ </dl>
38772
+
38773
+ <dl>
38774
+ <dd>
38775
+
38776
+ **metadata:** `Internal::Types::Hash[String, String]` — Only for an order. Free-form string-to-string annotations: up to 50 keys of at most 40 characters, values up to 500 characters.
38777
+
38778
+ </dd>
38779
+ </dl>
38780
+
38781
+ <dl>
38782
+ <dd>
38783
+
38784
+ **notional:** `String` — Only for an order. The order value in USD, as a decimal string; the size is rounded down to the market's decimals. Send exactly one of `size` or `notional`.
38785
+
38786
+ </dd>
38787
+ </dl>
38788
+
38789
+ <dl>
38790
+ <dd>
38791
+
38792
+ **order_type:** `Whop_sdk::Trades::Types::CreateTradesRequestOrderType` — `market` fills now within `slippage_bps` of the mid price; `limit` fills now at `price` or better. Anything unfilled is canceled. Required for an order.
38434
38793
 
38435
38794
  </dd>
38436
38795
  </dl>
@@ -38438,7 +38797,7 @@ client.trades.create(
38438
38797
  <dl>
38439
38798
  <dd>
38440
38799
 
38441
- **leverage:** `Integer` — The cross leverage for a buy, from 1 to the market's maximum. Required for a buy.
38800
+ **price:** `String` — Only for an order. The limit price in USD, as a decimal string Hyperliquid accepts without rounding. Required for a limit order; not accepted for a market order.
38442
38801
 
38443
38802
  </dd>
38444
38803
  </dl>
@@ -38446,7 +38805,7 @@ client.trades.create(
38446
38805
  <dl>
38447
38806
  <dd>
38448
38807
 
38449
- **market:** `String` — The perpetual market, for example `BTC`.
38808
+ **reduce_only:** `Internal::Types::Boolean` — Only for a perpetual order. Only reduce an open position; defaults to `false`. A reduce-only order takes no `leverage`.
38450
38809
 
38451
38810
  </dd>
38452
38811
  </dl>
@@ -38454,7 +38813,31 @@ client.trades.create(
38454
38813
  <dl>
38455
38814
  <dd>
38456
38815
 
38457
- **type:** `Whop_sdk::Trades::Types::CreateTradesRequestType` — `buy` or `close`.
38816
+ **side:** `Whop_sdk::Trades::Types::CreateTradesRequestSide` — `buy` or `sell`. Required for an order.
38817
+
38818
+ </dd>
38819
+ </dl>
38820
+
38821
+ <dl>
38822
+ <dd>
38823
+
38824
+ **size:** `String` — Only for an order. The size in units of the market, as a decimal string, with at most the market's size decimals. Send exactly one of `size` or `notional`. The order must be worth at least 10 USD, unless reduce-only, and at most 5000 USD.
38825
+
38826
+ </dd>
38827
+ </dl>
38828
+
38829
+ <dl>
38830
+ <dd>
38831
+
38832
+ **slippage_bps:** `Integer` — Only for a market order or a close. The worst price as basis points from the mid price, from 1 to 1000; defaults to 100.
38833
+
38834
+ </dd>
38835
+ </dl>
38836
+
38837
+ <dl>
38838
+ <dd>
38839
+
38840
+ **type:** `Whop_sdk::Trades::Types::CreateTradesRequestType` — `order` places one order from the trading balance, setting cross `leverage` first on a perpetual; when the balance is short, it bridges the USDT0 it needs from the wallet first. `deposit` bridges `amount` USDT0 from the wallet to the trading balance. `withdraw` sends `amount` USDC (or `all`) from the trading balance back to the wallet. `close` closes the whole position in `market` with a market reduce-only order; when the account is then flat, a `withdraw` trade sends the trading balance back to the wallet.
38458
38841
 
38459
38842
  </dd>
38460
38843
  </dl>
@@ -38549,7 +38932,7 @@ client.trades.retrieve(id: "id")
38549
38932
  <dl>
38550
38933
  <dd>
38551
38934
 
38552
- Lists transfers visible to the caller. Optional account filters narrow the results.
38935
+ Lists the transfers you can see, sent or received, newest first by default. Optional account filters narrow the results.
38553
38936
  </dd>
38554
38937
  </dl>
38555
38938
  </dd>
@@ -38683,7 +39066,7 @@ client.transfers.list
38683
39066
  <dl>
38684
39067
  <dd>
38685
39068
 
38686
- Moves money between accounts, or into a claim link anyone with the URL can redeem.
39069
+ Moves money between Whop balances, sends USDT from an account's wallet, or funds a claim link anyone with the URL can redeem. The `type` you send decides which object comes back.
38687
39070
  </dd>
38688
39071
  </dl>
38689
39072
  </dd>
@@ -38745,7 +39128,7 @@ client.transfers.create
38745
39128
  <dl>
38746
39129
  <dd>
38747
39130
 
38748
- Lists the people and accounts you can send money to.
39131
+ Lists the people and accounts you can send money to from a balance. Pass a result's ID as `destination_id` when creating a transfer.
38749
39132
  </dd>
38750
39133
  </dl>
38751
39134
  </dd>
@@ -38894,7 +39277,7 @@ client.transfers.retrieve(id: "id")
38894
39277
  <dl>
38895
39278
  <dd>
38896
39279
 
38897
- Search for users by name or username, ranked by social proximity to the authenticated user. Returns the user's most recently followed users when no query is given.
39280
+ Searches for users by name or username, ranked by social proximity to the authenticated user. Without a `query`, returns the user's most recently followed users.
38898
39281
  </dd>
38899
39282
  </dl>
38900
39283
  </dd>
@@ -38988,7 +39371,7 @@ client.users.list
38988
39371
  <dl>
38989
39372
  <dd>
38990
39373
 
38991
- Retrieves the authenticated user — the self view of the user object. Same shape as `GET /users/{id}`, with the self-only fields populated: `email` (email-read scope), `staff` (Whop staff only, staff-read scope), `balance`, `cards` and `earnings_usd` (balance-read scope), the opt-in `balance_history`, and every linked social account.
39374
+ Retrieves the authenticated user. Same as `GET /users/:id` with the reserved id `me`: the self view, where self-only fields such as `email`, `balance`, and `cards` can be populated.
38992
39375
  </dd>
38993
39376
  </dl>
38994
39377
  </dd>
@@ -39106,7 +39489,7 @@ client.users.me
39106
39489
  <dl>
39107
39490
  <dd>
39108
39491
 
39109
- Updates the authenticated user's global profile, or their profile override for an account when account_id is given. Not available to API keys.
39492
+ Updates the authenticated user's global profile, or their profile override for an account when `account_id` is given. Not available to API keys.
39110
39493
  </dd>
39111
39494
  </dl>
39112
39495
  </dd>
@@ -39208,7 +39591,7 @@ client.users.update_me
39208
39591
  <dl>
39209
39592
  <dd>
39210
39593
 
39211
- Retrieves a user by `user_` tag or username, or the authenticated user with the reserved id `me`. Profiles include linked social accounts — reading your own profile returns every linked account, other profiles only what is public on Whop (the primary Discord and the X account). The self-only fields are populated only when the id is `me`: `email` (email-read scope), `staff` (Whop staff only, staff-read scope), `balance` and `earnings_usd` (balance-read scope), and the opt-in `balance_history`. They are always `null` when addressing a user by tag or username.
39594
+ Retrieves a user by `user_` tag or username, or the authenticated user with the reserved id `me`. Self-only fields such as `email`, `balance`, and `earnings_usd` are populated only when the id is `me`, and are always `null` when addressing a user by tag or username.
39212
39595
  </dd>
39213
39596
  </dl>
39214
39597
  </dd>
@@ -39334,7 +39717,7 @@ client.users.retrieve(id: "id")
39334
39717
  <dl>
39335
39718
  <dd>
39336
39719
 
39337
- Updates a user, addressed by `user_` tag, username, or the reserved id `me` for the authenticated user. A user token updates their own global profile; an API key updates the user's account-specific profile override (account_id required).
39720
+ Updates a user, addressed by `user_` tag, username, or the reserved id `me` for the authenticated user. A user token updates their own global profile; an API key updates the user's profile override for the account in `account_id`.
39338
39721
  </dd>
39339
39722
  </dl>
39340
39723
  </dd>
@@ -39517,7 +39900,7 @@ client.users.check_access(
39517
39900
  <dl>
39518
39901
  <dd>
39519
39902
 
39520
- Lists the recommended actions computed for the user: personal suggestions (e.g. start a business or become an affiliate) pooled with the highest-impact actions across the accounts the user owns. Business actions are tagged with their `account_id`/`account_name`; personal actions leave those `null`. Self-only: `id` must be `me` or the authenticated user's own tag/username.
39903
+ Lists the recommended actions computed for the authenticated user: personal suggestions, such as starting a business or becoming an affiliate, pooled with the highest-impact actions across the accounts the user owns. You can only list your own recommended actions.
39521
39904
  </dd>
39522
39905
  </dl>
39523
39906
  </dd>
@@ -39580,7 +39963,7 @@ client.users.recommend_actions(id: "id")
39580
39963
  <dl>
39581
39964
  <dd>
39582
39965
 
39583
- Returns a paginated list of variants. Omit `account_id` and pass `product_ids` to list a product's public buyable variants.
39966
+ Lists an account's variants. To list a product's public, buyable variants without authentication, omit `account_id` and pass `product_ids`.
39584
39967
  </dd>
39585
39968
  </dl>
39586
39969
  </dd>
@@ -39770,7 +40153,7 @@ client.variants.list(
39770
40153
  <dl>
39771
40154
  <dd>
39772
40155
 
39773
- Create a new pricing variant for a product. The variant defines the billing interval, price, and availability for customers.
40156
+ Creates a pricing variant for a product, defining the billing interval, price, and availability customers buy it with.
39774
40157
  </dd>
39775
40158
  </dl>
39776
40159
  </dd>
@@ -40040,7 +40423,7 @@ client.variants.create
40040
40423
  <dl>
40041
40424
  <dd>
40042
40425
 
40043
- Retrieves the details of an existing variant.
40426
+ Retrieves a variant. Requires no authentication; fields that need a permission are `null` for callers without it.
40044
40427
  </dd>
40045
40428
  </dl>
40046
40429
  </dd>
@@ -40131,7 +40514,7 @@ client.variants.retrieve(
40131
40514
  <dl>
40132
40515
  <dd>
40133
40516
 
40134
- Delete a variant from a product. It stops selling immediately; existing memberships on this variant will not be affected.
40517
+ Deletes a variant from a product. It stops selling immediately; existing memberships on it are unaffected.
40135
40518
  </dd>
40136
40519
  </dl>
40137
40520
  </dd>
@@ -40193,7 +40576,7 @@ client.variants.delete(id: "id")
40193
40576
  <dl>
40194
40577
  <dd>
40195
40578
 
40196
- Update a variant's pricing, billing interval, visibility, stock, and other settings.
40579
+ Updates a variant's pricing, billing interval, visibility, stock, and other settings.
40197
40580
  </dd>
40198
40581
  </dl>
40199
40582
  </dd>
@@ -40479,7 +40862,7 @@ client.variants.update(id: "id")
40479
40862
  <dl>
40480
40863
  <dd>
40481
40864
 
40482
- Previews tax for a variant before checkout, based on the buyer's location.
40865
+ Deprecated. Quote tax with `POST /payment_quotes` instead. Previews tax for a variant before checkout, based on the buyer's location.
40483
40866
  </dd>
40484
40867
  </dl>
40485
40868
  </dd>
@@ -40572,7 +40955,7 @@ client.variants.calculate_tax(
40572
40955
  <dl>
40573
40956
  <dd>
40574
40957
 
40575
- Returns verifications for an account, including their status and any required actions.
40958
+ Lists the verifications for an account or user, including their status and any required actions.
40576
40959
  </dd>
40577
40960
  </dl>
40578
40961
  </dd>
@@ -40658,7 +41041,7 @@ client.verifications.list
40658
41041
  <dl>
40659
41042
  <dd>
40660
41043
 
40661
- Starts a hosted verification session for an account or user, or returns the active session when one already exists. Any fields you include in the request body are used to prefill the session. Send `documents` (with `document_type`) to instead verify the person from identity documents included in this request — no hosted session involved. Send `share_token` to reuse a verification another Sumsub account has already completed for this person, instead of verifying them again. Send `verification_id` to reuse a verification the signed-in user already completed on Whop. Every mode except `verification_id` is rejected once the account has an `approved` verification — unlink it first to start a new one — while `verification_id` replaces whichever verification of that kind the account currently has.
41044
+ Starts a hosted verification session for an account or user, or returns the active session when one already exists; any fields you send prefill it. To skip the hosted session, send `documents` to verify the person from files in this request, `share_token` to reuse a verification another Sumsub account completed, or `verification_id` to reuse one the signed-in user completed on Whop. For a business, `documents` adds company formation documents to the verification and the hosted session collects the rest. Once the account has an `approved` verification, every mode except `verification_id` is rejected — unlink it first to start a new one.
40662
41045
  </dd>
40663
41046
  </dl>
40664
41047
  </dd>
@@ -40736,7 +41119,7 @@ client.verifications.create
40736
41119
  <dl>
40737
41120
  <dd>
40738
41121
 
40739
- Returns verifications for an account, including their status and any required actions.
41122
+ Retrieves a verification by ID, including its status and any information or documents still required.
40740
41123
  </dd>
40741
41124
  </dl>
40742
41125
  </dd>
@@ -40872,7 +41255,7 @@ client.verifications.update(
40872
41255
  <dl>
40873
41256
  <dd>
40874
41257
 
40875
- Lists visible waitlist signups. waitlist_entry:read grants the user's own signups; plan:waitlist:read grants signups for authorized seller accounts. With both permissions, returns their union. Account credentials are limited to their account. Filters narrow this set.
41258
+ Lists the waitlist signups you can see. `waitlist_entry:read` returns the user's own signups and `plan:waitlist:read` returns signups to the seller accounts they are authorized on; with both, you get both sets. Account credentials see only their own account's signups.
40876
41259
  </dd>
40877
41260
  </dl>
40878
41261
  </dd>
@@ -41022,7 +41405,7 @@ client.waitlist_entries.list
41022
41405
  <dl>
41023
41406
  <dd>
41024
41407
 
41025
- Joins a free waitlist variant as the authenticated user. Requires waitlist_entry:create. Repeated joins return the existing pending entry, or an approved entry with a valid membership. Paid variants are rejected; no payment method is collected and no membership is granted.
41408
+ Joins a free waitlist variant as the authenticated user. Requires `waitlist_entry:create`. Joining again returns the existing pending signup, or the approved one while its membership is valid. Paid variants are rejected; joining collects no payment method and grants no membership.
41026
41409
  </dd>
41027
41410
  </dl>
41028
41411
  </dd>
@@ -41100,7 +41483,7 @@ client.waitlist_entries.create(plan_id: "plan_xxxxxxxxxxxxxx")
41100
41483
  <dl>
41101
41484
  <dd>
41102
41485
 
41103
- Queues approval of every pending signup for an account, optionally narrowed to a variant. Requires plan:waitlist:manage. Paid signups may charge saved payment methods. Approval runs asynchronously: list signups with `status` set to `pending` to follow progress, and retrieve a signup to read its outcome. Signups created after this request are excluded.
41486
+ Queues approval of every pending signup for an account, optionally narrowed to a variant. Requires `plan:waitlist:manage`. Paid signups may charge saved payment methods. Approval runs asynchronously: list signups with `status` set to `pending` to follow progress, and retrieve a signup to read its outcome. Signups created after this request are excluded.
41104
41487
  </dd>
41105
41488
  </dl>
41106
41489
  </dd>
@@ -41170,7 +41553,7 @@ client.waitlist_entries.approve_all(account_id: "biz_xxxxxxxxxxxxxx")
41170
41553
  <dl>
41171
41554
  <dd>
41172
41555
 
41173
- Retrieves a signup owned by the caller with waitlist_entry:read, or submitted to an account they can read with plan:waitlist:read.
41556
+ Retrieves a signup the caller owns, with `waitlist_entry:read`, or one submitted to an account they can read, with `plan:waitlist:read`.
41174
41557
  </dd>
41175
41558
  </dl>
41176
41559
  </dd>
@@ -41232,7 +41615,7 @@ client.waitlist_entries.retrieve(id: "id")
41232
41615
  <dl>
41233
41616
  <dd>
41234
41617
 
41235
- Queues approval of a pending signup. Requires plan:waitlist:manage on its seller account. Paid signups may charge their saved payment method. Returns the signup's current state; retrieve it to read `status` and `approval_failure_reason` after processing.
41618
+ Queues approval of a pending signup. Requires `plan:waitlist:manage` on its seller account. Paid signups may charge their saved payment method. Returns the signup's current state; retrieve it to read `status` and `approval_failure_reason` after processing.
41236
41619
  </dd>
41237
41620
  </dl>
41238
41621
  </dd>
@@ -41294,7 +41677,7 @@ client.waitlist_entries.approve(id: "id")
41294
41677
  <dl>
41295
41678
  <dd>
41296
41679
 
41297
- Withdraws the caller's pending personal signup. Requires waitlist_entry:cancel. Does not cancel an approved membership.
41680
+ Withdraws the caller's own pending signup. Requires `waitlist_entry:cancel`. Does not cancel an approved membership.
41298
41681
  </dd>
41299
41682
  </dl>
41300
41683
  </dd>
@@ -41356,7 +41739,7 @@ client.waitlist_entries.cancel(id: "id")
41356
41739
  <dl>
41357
41740
  <dd>
41358
41741
 
41359
- Denies a pending signup. Requires plan:waitlist:manage on its seller account.
41742
+ Denies a pending signup. Requires `plan:waitlist:manage` on its seller account.
41360
41743
  </dd>
41361
41744
  </dl>
41362
41745
  </dd>
@@ -41701,7 +42084,7 @@ client.webhooks.retrieve(id: "id")
41701
42084
  <dl>
41702
42085
  <dd>
41703
42086
 
41704
- Permanently deletes a webhook endpoint. Returns `true` on success, matching the legacy proxy response.
42087
+ Permanently deletes a webhook endpoint. To stop deliveries without deleting it, set `enabled` to `false` with `PATCH /webhooks/:id`.
41705
42088
  </dd>
41706
42089
  </dl>
41707
42090
  </dd>
@@ -41943,7 +42326,7 @@ client.webhooks.list_deliveries(id: "id")
41943
42326
  <dl>
41944
42327
  <dd>
41945
42328
 
41946
- Re-sends the exact payload of a past delivery to the webhook's current URL and returns the delivery result. By default the replay keeps the original `webhook-id`, so consumers that deduplicate on it can drop events they already processed. Pass `regenerate_id` to re-send under a freshly generated `webhook-id` instead, so a deduplicating consumer processes the replay as a new message. Only available for enabled webhooks on API version v1; deliveries are retained for 30 days.
42329
+ Re-sends the exact payload of a past delivery to the webhook's current URL and returns the delivery result. The replay keeps the original `webhook-id` unless you pass `regenerate_id`, so consumers that deduplicate on it can drop events they already processed. Only available for enabled webhooks on API version `v1`; deliveries are retained for 30 days.
41947
42330
  </dd>
41948
42331
  </dl>
41949
42332
  </dd>
@@ -42024,7 +42407,7 @@ client.webhooks.replay_delivery(
42024
42407
  <dl>
42025
42408
  <dd>
42026
42409
 
42027
- Re-sends the webhook's past deliveries within a time window, optionally limited to specific events or to messages whose most recent delivery attempt failed. Fire and forget: nothing about the replay is stored, and each re-send appears as a new entry in the webhook's delivery log. Each matching message is re-sent once, by default with its original `webhook-id`, so consumers that deduplicate are unaffected; pass `regenerate_ids` to re-send under freshly generated ids instead. Only available for enabled webhooks on API version v1; deliveries are retained for 30 days.
42410
+ Re-sends the webhook's past deliveries within a time window, optionally limited to specific events or to failed deliveries. Use it to recover events your endpoint missed. The replay runs asynchronously and nothing about it is stored: each re-send appears as a new entry in the webhook's delivery log. Each matching message is re-sent once, with its original `webhook-id` unless you pass `regenerate_ids`. Only available for enabled webhooks on API version `v1`; deliveries are retained for 30 days.
42028
42411
  </dd>
42029
42412
  </dl>
42030
42413
  </dd>
@@ -42203,7 +42586,7 @@ client.webhooks.test(
42203
42586
  <dl>
42204
42587
  <dd>
42205
42588
 
42206
- Retrieves the account's fees: a singleton document keyed by fee, with any markups its platform adds. Connected accounts see their effective rates, with covered payouts shown as zero; pricing provenance and comparisons are null without parent-account access. `adjustable` on each fee says what the caller may change.
42589
+ Retrieves the account's fees as a single document keyed by fee, with any markups its platform adds. Connected accounts see the rates in effect for them. `adjustable` on each fee says what you may change with Update Account Fees.
42207
42590
  </dd>
42208
42591
  </dl>
42209
42592
  </dd>
@@ -42265,7 +42648,7 @@ client.accounts.fees.retrieve(account_id: "account_id")
42265
42648
  <dl>
42266
42649
  <dd>
42267
42650
 
42268
- Updates the account's fees. The response shows effective rates and hides pricing provenance and comparisons without parent-account access. Each key present in the body is replaced; omitted keys are left untouched. Only fees the document reports as `adjustable` can be changed.
42651
+ Updates the account's fees. Each key present in the body is replaced; omitted keys are left untouched. Only fees that Retrieve Account Fees reports as `adjustable` can be changed.
42269
42652
  </dd>
42270
42653
  </dl>
42271
42654
  </dd>
@@ -42568,7 +42951,7 @@ client.accounts.fees.update(account_id: "account_id")
42568
42951
  <dl>
42569
42952
  <dd>
42570
42953
 
42571
- Lists payment-financing applications for the account in the URL. Account credentials can access their own account and direct sub-accounts, excluding deeper descendants. User credentials require the read permission on each account. Filters only narrow this visibility.
42954
+ Lists payment-financing applications for an account. Account credentials can list their own account and its direct connected accounts, but not deeper descendants; user credentials need read access to the account.
42572
42955
  </dd>
42573
42956
  </dl>
42574
42957
  </dd>
@@ -42598,7 +42981,7 @@ client.accounts.financing_applications.list(account_id: "account_id")
42598
42981
  <dl>
42599
42982
  <dd>
42600
42983
 
42601
- **account_id:** `String` — Merchant account ID, prefixed biz_.
42984
+ **account_id:** `String` — Merchant account ID, prefixed `biz_`.
42602
42985
 
42603
42986
  </dd>
42604
42987
  </dl>
@@ -42702,7 +43085,7 @@ client.accounts.financing_applications.list(account_id: "account_id")
42702
43085
  <dl>
42703
43086
  <dd>
42704
43087
 
42705
- Creates an application for merchant payment-financing approval. Requires an existing ledger account. Returns an existing application collecting information or awaiting review; applications awaiting review take precedence. Restricted industries cannot apply. Closed applications allow reapplication. This does not submit the application for review. Supports Idempotency-Key replay; open applications are also reused across different keys.
43088
+ Starts an application for payment-financing approval, or returns the account's open one: an application in `awaiting_review` takes precedence over one in `requires_collection`, and the open application is reused across different `Idempotency-Key` values. Creating an application does not submit it for review. The account must have a Whop balance set up, and accounts in restricted industries cannot apply. Once an application closes, the account can apply again.
42706
43089
  </dd>
42707
43090
  </dl>
42708
43091
  </dd>
@@ -42732,7 +43115,7 @@ client.accounts.financing_applications.create(account_id: "account_id")
42732
43115
  <dl>
42733
43116
  <dd>
42734
43117
 
42735
- **account_id:** `String` — Merchant account ID, prefixed biz_.
43118
+ **account_id:** `String` — Merchant account ID, prefixed `biz_`.
42736
43119
 
42737
43120
  </dd>
42738
43121
  </dl>
@@ -42764,7 +43147,7 @@ client.accounts.financing_applications.create(account_id: "account_id")
42764
43147
  <dl>
42765
43148
  <dd>
42766
43149
 
42767
- Retrieves a payment-financing application's review state, requirements, saved answers, documents, current terms, and public review feedback. Requires read access to its owning account. Internal review notes and risk metrics are not exposed.
43150
+ Retrieves a payment-financing application with its review state, requirements, saved answers, documents, current terms, and review feedback. Requires read access to the account that owns it.
42768
43151
  </dd>
42769
43152
  </dl>
42770
43153
  </dd>
@@ -42797,7 +43180,7 @@ client.accounts.financing_applications.retrieve(
42797
43180
  <dl>
42798
43181
  <dd>
42799
43182
 
42800
- **account_id:** `String` — Merchant account ID, prefixed biz_.
43183
+ **account_id:** `String` — Merchant account ID, prefixed `biz_`.
42801
43184
 
42802
43185
  </dd>
42803
43186
  </dl>
@@ -42805,7 +43188,7 @@ client.accounts.financing_applications.retrieve(
42805
43188
  <dl>
42806
43189
  <dd>
42807
43190
 
42808
- **id:** `String` — Financing application ID, prefixed inrq_.
43191
+ **id:** `String` — Financing application ID, prefixed `inrq_`.
42809
43192
 
42810
43193
  </dd>
42811
43194
  </dl>
@@ -42837,7 +43220,7 @@ client.accounts.financing_applications.retrieve(
42837
43220
  <dl>
42838
43221
  <dd>
42839
43222
 
42840
- Saves merchant answers while the application requires_collection. The entire batch is atomic. Omitted requirements and answer fields are unchanged; empty arrays clear values or documents, and null money clears a price. Only merchant requirement IDs returned by this application are accepted. Upload documents through the Files API first: new files must belong to the caller, be ready and private, and satisfy the requirement's formats and 20 MB limit. file_ids replaces the requirement's attachments. This does not submit the application.
43223
+ Saves merchant answers to an application in `requires_collection`. The batch is atomic: if any answer is rejected, none are saved. Omitted requirements and answer fields are left unchanged. Saving answers does not submit the application; call Submit Financing Application when it is complete.
42841
43224
  </dd>
42842
43225
  </dl>
42843
43226
  </dd>
@@ -42873,7 +43256,7 @@ client.accounts.financing_applications.update(
42873
43256
  <dl>
42874
43257
  <dd>
42875
43258
 
42876
- **account_id:** `String` — Merchant account ID, prefixed biz_.
43259
+ **account_id:** `String` — Merchant account ID, prefixed `biz_`.
42877
43260
 
42878
43261
  </dd>
42879
43262
  </dl>
@@ -42881,7 +43264,7 @@ client.accounts.financing_applications.update(
42881
43264
  <dl>
42882
43265
  <dd>
42883
43266
 
42884
- **id:** `String` — Financing application ID, prefixed inrq_.
43267
+ **id:** `String` — Financing application ID, prefixed `inrq_`.
42885
43268
 
42886
43269
  </dd>
42887
43270
  </dl>
@@ -42921,7 +43304,7 @@ client.accounts.financing_applications.update(
42921
43304
  <dl>
42922
43305
  <dd>
42923
43306
 
42924
- Submits a complete application for financing review. Present the application's terms.content, policies, and disclosure to the merchant and collect affirmative acceptance before calling this endpoint. Pass the terms.version that was presented; stale versions are rejected. The server records acceptance, submitting actor, and submission time before entering awaiting_review. Only requires_collection applications may submit, including after a reviewer requests more information. Resubmissions require acceptance again. Use Idempotency-Key for retries; submitting an application already in review without replay returns an error. Approval does not itself enable financing payment methods.
43307
+ Submits a complete application for financing review, recording the merchant's acceptance, who submitted, and when, then moving it to `awaiting_review`. Before calling, present the application's `terms.content`, policies, and disclosure to the merchant and collect affirmative acceptance; every resubmission needs acceptance again. Only an application in `requires_collection` can be submitted, including after a reviewer requests more information. Retry with the same `Idempotency-Key`: submitting an application already in review without a replay returns an error. Approval does not by itself enable financing payment methods.
42925
43308
  </dd>
42926
43309
  </dl>
42927
43310
  </dd>
@@ -42958,7 +43341,7 @@ client.accounts.financing_applications.submit(
42958
43341
  <dl>
42959
43342
  <dd>
42960
43343
 
42961
- **account_id:** `String` — Merchant account ID, prefixed biz_.
43344
+ **account_id:** `String` — Merchant account ID, prefixed `biz_`.
42962
43345
 
42963
43346
  </dd>
42964
43347
  </dl>
@@ -42966,7 +43349,7 @@ client.accounts.financing_applications.submit(
42966
43349
  <dl>
42967
43350
  <dd>
42968
43351
 
42969
- **id:** `String` — Financing application ID, prefixed inrq_.
43352
+ **id:** `String` — Financing application ID, prefixed `inrq_`.
42970
43353
 
42971
43354
  </dd>
42972
43355
  </dl>
@@ -43079,6 +43462,7 @@ Required scopes depend on the preferences being updated:
43079
43462
  | `cards_auto_top_up`, `cards_notifications` | `payout:account:update` |
43080
43463
  | `dispute_fighter_enabled` | `payment:dispute` |
43081
43464
  | `economic_intelligence_duration_key`, `economic_intelligence_auto_renew` | `company:update` |
43465
+ | `feedback_options` | `company:manage_checkout` |
43082
43466
 
43083
43467
  When updating preferences from multiple rows, all corresponding scopes are required for the account.
43084
43468
  </dd>
@@ -43198,6 +43582,14 @@ client.accounts.preferences.update(account_id: "account_id")
43198
43582
  <dl>
43199
43583
  <dd>
43200
43584
 
43585
+ **feedback_options:** `Internal::Types::Array[Whop_sdk::Accounts::Preferences::Types::UpdatePreferencesRequestFeedbackOptionsItem]` — Replaces the account's own cancel reasons, shown to members in this order when they cancel. Pass an option's `id` to keep it, for example when renaming it; options without an `id` are added, and options left out are removed. Pass an empty array to go back to Whop's default reasons. Members who already picked an option keep the label they saw. Requires the `company:manage_checkout` scope on your API key.
43586
+
43587
+ </dd>
43588
+ </dl>
43589
+
43590
+ <dl>
43591
+ <dd>
43592
+
43201
43593
  **preferred_settlement_currency:** `Whop_sdk::Accounts::Preferences::Types::UpdatePreferencesRequestPreferredSettlementCurrency` — Settle every new sale into this currency, regardless of the plan's currency or what the buyer paid in; sales converted this way carry an additional 0.5% FX fee. Pass `null` to go back to settling each sale in its plan's currency. Changing it never converts money already in your balances, and it can change at most once every 7 days (see `preferred_settlement_currency_changeable_at`). Requires the `payout:account:update` scope on your API key.
43202
43594
 
43203
43595
  </dd>
@@ -44374,7 +44766,7 @@ client.external_accounts.posts.list(
44374
44766
  <dl>
44375
44767
  <dd>
44376
44768
 
44377
- Returns the top entities behind one high-level financial report bucket and an aggregate remainder.
44769
+ Breaks one bucket of a financial report, such as payments received or card spend, into the customers, accounts, merchants, or campaigns that contributed most, with the rest summed as a remainder. Use it to explain a total from `GET /financial_reports`.
44378
44770
  </dd>
44379
44771
  </dl>
44380
44772
  </dd>
@@ -44500,7 +44892,7 @@ client.financial_reports.breakdown.retrieve(
44500
44892
  <dl>
44501
44893
  <dd>
44502
44894
 
44503
- Lists activity for a member and all of their non-drafted memberships, most recent first.
44895
+ Lists activity for a member and all of their memberships that are not `drafted`, most recent first.
44504
44896
  </dd>
44505
44897
  </dl>
44506
44898
  </dd>
@@ -44578,6 +44970,174 @@ client.members.logs.list(id: "id")
44578
44970
  </dl>
44579
44971
 
44580
44972
 
44973
+ </dd>
44974
+ </dl>
44975
+ </details>
44976
+
44977
+ ## Members Notes
44978
+ <details><summary><code>client.members.notes.<a href="/lib/whop_sdk/members/notes/client.rb">list</a>(member_id:) -> Whop_sdk::Members::Notes::Types::ListNotesResponse</code></summary>
44979
+ <dl>
44980
+ <dd>
44981
+
44982
+ #### 📝 Description
44983
+
44984
+ <dl>
44985
+ <dd>
44986
+
44987
+ <dl>
44988
+ <dd>
44989
+
44990
+ Lists a member's notes, newest first. Notes are visible to the account's team.
44991
+ </dd>
44992
+ </dl>
44993
+ </dd>
44994
+ </dl>
44995
+
44996
+ #### 🔌 Usage
44997
+
44998
+ <dl>
44999
+ <dd>
45000
+
45001
+ <dl>
45002
+ <dd>
45003
+
45004
+ ```ruby
45005
+ client.members.notes.list(member_id: "member_id")
45006
+ ```
45007
+ </dd>
45008
+ </dl>
45009
+ </dd>
45010
+ </dl>
45011
+
45012
+ #### ⚙️ Parameters
45013
+
45014
+ <dl>
45015
+ <dd>
45016
+
45017
+ <dl>
45018
+ <dd>
45019
+
45020
+ **member_id:** `String` — The member the notes are about, prefixed `mber_`.
45021
+
45022
+ </dd>
45023
+ </dl>
45024
+
45025
+ <dl>
45026
+ <dd>
45027
+
45028
+ **first:** `Integer` — Number of results to return from the start of the range.
45029
+
45030
+ </dd>
45031
+ </dl>
45032
+
45033
+ <dl>
45034
+ <dd>
45035
+
45036
+ **after:** `String` — Return results after this cursor. Use `page_info.end_cursor` from the previous response to fetch the next page.
45037
+
45038
+ </dd>
45039
+ </dl>
45040
+
45041
+ <dl>
45042
+ <dd>
45043
+
45044
+ **last:** `Integer` — Number of results to return from the end of the range.
45045
+
45046
+ </dd>
45047
+ </dl>
45048
+
45049
+ <dl>
45050
+ <dd>
45051
+
45052
+ **before:** `String` — Return results before this cursor. Use `page_info.start_cursor` from the previous response to fetch the previous page.
45053
+
45054
+ </dd>
45055
+ </dl>
45056
+
45057
+ <dl>
45058
+ <dd>
45059
+
45060
+ **request_options:** `Whop_sdk::Members::Notes::RequestOptions`
45061
+
45062
+ </dd>
45063
+ </dl>
45064
+ </dd>
45065
+ </dl>
45066
+
45067
+
45068
+ </dd>
45069
+ </dl>
45070
+ </details>
45071
+
45072
+ <details><summary><code>client.members.notes.<a href="/lib/whop_sdk/members/notes/client.rb">create</a>(member_id:, request) -> Whop_sdk::Types::MemberNote</code></summary>
45073
+ <dl>
45074
+ <dd>
45075
+
45076
+ #### 📝 Description
45077
+
45078
+ <dl>
45079
+ <dd>
45080
+
45081
+ <dl>
45082
+ <dd>
45083
+
45084
+ Adds a note to a member. Notes are visible to the account's team.
45085
+ </dd>
45086
+ </dl>
45087
+ </dd>
45088
+ </dl>
45089
+
45090
+ #### 🔌 Usage
45091
+
45092
+ <dl>
45093
+ <dd>
45094
+
45095
+ <dl>
45096
+ <dd>
45097
+
45098
+ ```ruby
45099
+ client.members.notes.create(
45100
+ member_id: "member_id",
45101
+ content: "Wants a call next week."
45102
+ )
45103
+ ```
45104
+ </dd>
45105
+ </dl>
45106
+ </dd>
45107
+ </dl>
45108
+
45109
+ #### ⚙️ Parameters
45110
+
45111
+ <dl>
45112
+ <dd>
45113
+
45114
+ <dl>
45115
+ <dd>
45116
+
45117
+ **member_id:** `String` — The member the notes are about, prefixed `mber_`.
45118
+
45119
+ </dd>
45120
+ </dl>
45121
+
45122
+ <dl>
45123
+ <dd>
45124
+
45125
+ **content:** `String` — The note text.
45126
+
45127
+ </dd>
45128
+ </dl>
45129
+
45130
+ <dl>
45131
+ <dd>
45132
+
45133
+ **request_options:** `Whop_sdk::Members::Notes::RequestOptions`
45134
+
45135
+ </dd>
45136
+ </dl>
45137
+ </dd>
45138
+ </dl>
45139
+
45140
+
44581
45141
  </dd>
44582
45142
  </dl>
44583
45143
  </details>
@@ -44712,6 +45272,14 @@ client.partners.businesses.list
44712
45272
  <dl>
44713
45273
  <dd>
44714
45274
 
45275
+ **advance_status:** `Whop_sdk::Partners::Businesses::Types::ListBusinessesRequestAdvanceStatus` — Filter the authenticated partner's CPA offers by status. Use offered for every state after qualification.
45276
+
45277
+ </dd>
45278
+ </dl>
45279
+
45280
+ <dl>
45281
+ <dd>
45282
+
44715
45283
  **status:** `Whop_sdk::Partners::Businesses::Types::ListBusinessesRequestStatus` — Filter by referral status.
44716
45284
 
44717
45285
  </dd>
@@ -44894,6 +45462,188 @@ client.partners.businesses.retrieve(id: "id")
44894
45462
  </dl>
44895
45463
 
44896
45464
 
45465
+ </dd>
45466
+ </dl>
45467
+ </details>
45468
+
45469
+ <details><summary><code>client.partners.businesses.<a href="/lib/whop_sdk/partners/businesses/client.rb">update</a>(id:, request) -> Whop_sdk::Partners::Businesses::Types::UpdateBusinessesResponse</code></summary>
45470
+ <dl>
45471
+ <dd>
45472
+
45473
+ #### 📝 Description
45474
+
45475
+ <dl>
45476
+ <dd>
45477
+
45478
+ <dl>
45479
+ <dd>
45480
+
45481
+ Save annual projections for a business referred by the authenticated partner. Projections cannot be changed after saving; repeating the same values is allowed. Public API access requires a partner OAuth token; business API keys are not supported.
45482
+ </dd>
45483
+ </dl>
45484
+ </dd>
45485
+ </dl>
45486
+
45487
+ #### 🔌 Usage
45488
+
45489
+ <dl>
45490
+ <dd>
45491
+
45492
+ <dl>
45493
+ <dd>
45494
+
45495
+ ```ruby
45496
+ client.partners.businesses.update(
45497
+ id: "id",
45498
+ annual_ads_usd: "120000",
45499
+ annual_processing_usd: "1200000"
45500
+ )
45501
+ ```
45502
+ </dd>
45503
+ </dl>
45504
+ </dd>
45505
+ </dl>
45506
+
45507
+ #### ⚙️ Parameters
45508
+
45509
+ <dl>
45510
+ <dd>
45511
+
45512
+ <dl>
45513
+ <dd>
45514
+
45515
+ **id:** `String` — The partner business ID (a coma_ identifier).
45516
+
45517
+ </dd>
45518
+ </dl>
45519
+
45520
+ <dl>
45521
+ <dd>
45522
+
45523
+ **annual_ads_usd:** `String` — Annual projected Whop Ads spend in USD.
45524
+
45525
+ </dd>
45526
+ </dl>
45527
+
45528
+ <dl>
45529
+ <dd>
45530
+
45531
+ **annual_processing_usd:** `String` — Annual projected processing on Whop in USD.
45532
+
45533
+ </dd>
45534
+ </dl>
45535
+
45536
+ <dl>
45537
+ <dd>
45538
+
45539
+ **request_options:** `Whop_sdk::Partners::Businesses::RequestOptions`
45540
+
45541
+ </dd>
45542
+ </dl>
45543
+ </dd>
45544
+ </dl>
45545
+
45546
+
45547
+ </dd>
45548
+ </dl>
45549
+ </details>
45550
+
45551
+ <details><summary><code>client.partners.businesses.<a href="/lib/whop_sdk/partners/businesses/client.rb">accept_commission_advance</a>(id:, request) -> Whop_sdk::Partners::Businesses::Types::AcceptCommissionAdvanceBusinessesResponse</code></summary>
45552
+ <dl>
45553
+ <dd>
45554
+
45555
+ #### 📝 Description
45556
+
45557
+ <dl>
45558
+ <dd>
45559
+
45560
+ <dl>
45561
+ <dd>
45562
+
45563
+ Accept the authenticated partner's CPA offer with the reviewed terms and signed offer token. Public API access requires a partner OAuth token; business API keys are not supported.
45564
+ </dd>
45565
+ </dl>
45566
+ </dd>
45567
+ </dl>
45568
+
45569
+ #### 🔌 Usage
45570
+
45571
+ <dl>
45572
+ <dd>
45573
+
45574
+ <dl>
45575
+ <dd>
45576
+
45577
+ ```ruby
45578
+ client.partners.businesses.accept_commission_advance(
45579
+ id: "id",
45580
+ acknowledgments: %w[commission_replacement clawback term],
45581
+ expected_amount_usd: "1439.99",
45582
+ offer_token: "eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
45583
+ terms_version: "2026-01-01"
45584
+ )
45585
+ ```
45586
+ </dd>
45587
+ </dl>
45588
+ </dd>
45589
+ </dl>
45590
+
45591
+ #### ⚙️ Parameters
45592
+
45593
+ <dl>
45594
+ <dd>
45595
+
45596
+ <dl>
45597
+ <dd>
45598
+
45599
+ **id:** `String` — The referred business relationship ID.
45600
+
45601
+ </dd>
45602
+ </dl>
45603
+
45604
+ <dl>
45605
+ <dd>
45606
+
45607
+ **acknowledgments:** `Internal::Types::Array[Whop_sdk::Partners::Businesses::Types::AcceptCommissionAdvanceBusinessesRequestAcknowledgmentsItem]`
45608
+
45609
+ </dd>
45610
+ </dl>
45611
+
45612
+ <dl>
45613
+ <dd>
45614
+
45615
+ **expected_amount_usd:** `String` — Reviewed payment amount in USD.
45616
+
45617
+ </dd>
45618
+ </dl>
45619
+
45620
+ <dl>
45621
+ <dd>
45622
+
45623
+ **offer_token:** `String` — Signed offer token returned by the partner business response. Requires partner:commission_advance:accept permission to retrieve.
45624
+
45625
+ </dd>
45626
+ </dl>
45627
+
45628
+ <dl>
45629
+ <dd>
45630
+
45631
+ **terms_version:** `String` — Reviewed CPA terms version.
45632
+
45633
+ </dd>
45634
+ </dl>
45635
+
45636
+ <dl>
45637
+ <dd>
45638
+
45639
+ **request_options:** `Whop_sdk::Partners::Businesses::RequestOptions`
45640
+
45641
+ </dd>
45642
+ </dl>
45643
+ </dd>
45644
+ </dl>
45645
+
45646
+
44897
45647
  </dd>
44898
45648
  </dl>
44899
45649
  </details>
@@ -45054,7 +45804,7 @@ client.partners.businesses.earnings.list(id: "id")
45054
45804
  <dl>
45055
45805
  <dd>
45056
45806
 
45057
- Charges a buyer for a variant from card details the caller holds itself, for integrators whose own systems are PCI compliant. Card details are accepted only on the vault host, where the card is tokenized before it reaches Whop; the official SDKs route this operation there, and raw card details sent to the regular host are refused. (Whop's own clients, which tokenize with the Basis Theory SDK, send the resulting token intent id to the regular host.) Collection runs in the background: the response is the payment as created, not its outcome — poll Retrieve status for how far it has got and what the buyer must still do, such as 3D Secure.
45807
+ Charges a buyer for a variant from card details you hold yourself, for integrators whose own systems are PCI compliant. Card details are accepted only on the vault host, which tokenizes the card before it reaches Whop; the official SDKs route this operation there, and raw card details sent to the regular host are refused. Collection runs in the background, so the response is the payment as created, not its outcome: poll Retrieve payment status for how far it has got and what the buyer must still do, such as 3D Secure.
45058
45808
  </dd>
45059
45809
  </dl>
45060
45810
  </dd>
@@ -45129,6 +45879,14 @@ client.payments.direct.create(
45129
45879
  <dl>
45130
45880
  <dd>
45131
45881
 
45882
+ **line_items:** `Internal::Types::Array[Whop_sdk::Payments::Direct::Types::CreateDirectRequestLineItemsItem]` — What the buyer is purchasing. Each entry names an existing variant by plan_id. Several entries form a cart, which requires every variant to be compatible, belong to this account, and use the same currency.
45883
+
45884
+ </dd>
45885
+ </dl>
45886
+
45887
+ <dl>
45888
+ <dd>
45889
+
45132
45890
  **member_id:** `String` — The member to charge, prefixed `mber_`. When omitted the buyer is resolved from `billing_details.email`.
45133
45891
 
45134
45892
  </dd>
@@ -45161,7 +45919,7 @@ client.payments.direct.create(
45161
45919
  <dl>
45162
45920
  <dd>
45163
45921
 
45164
- **quote_id:** `String` — A payment quote from `POST /payment_quotes`, prefixed `pq_`. The payment charges exactly the quote: its purchase (its variants and quantities, or the `plan` it priced), which this body may then omit, its promo code, and its tax, the quote's `tax_amount` rather than a figure calculated now. Omit it, or send null, to have tax calculated when the payment is charged. The quote must belong to `account_id`. A purchase field you omit or send as null takes the quote's value; the buyer's email, the addresses and the payment method are this request's own, never the quote's. Whatever you do send must describe the quoted purchase: the same variants, quantities and promo code. A quote that priced `plan` takes only the same `plan` you sent to `POST /payment_quotes` (or omit the purchase to take the quoted one), never `plan_id` or `line_items`, and a quote that priced variants by id never takes `plan`. Unless the quote located no buyer (`located_by` is null), the address the payment carries (its shipping address, else its billing address) must put the buyer where the quote priced tax, by country, state and postal code; otherwise the payment is refused with 400 before the payment method is used. A quote located by IP address or by the country the buyer chose (`located_by` is `ip_address` or `presentment_country`) is a preview and cannot be paid. A quote is consumed by one payment: a declined payment keeps it and can be retried; a new payment needs a new quote. A quote cannot be charged through PayPal; such a payment is refused before the payment method is used. A quote priced in a `presentment_currency` is charged in that currency at the quote's `exchange_rate`. A payment refused over its quote carries an error `code`. `quote_expired`: the quote has expired; quote again. `quote_tax_unavailable`: the quote could not price tax; quote again, or omit `quote_id`. `quote_preview_only`: the quote was located by IP address or by the country the buyer chose; quote again with the buyer's address. `quote_in_use` (409): another payment holds the quote. `quote_mismatch`: the purchase or the buyer's address is not the one quoted. `quote_rate_expired`: the exchange rate the quote was priced at has moved too far to charge; quote again. `payment_method_currency_unsupported`: the payment method cannot pay in the quote's currency; use another method, or quote again in another currency. `quote_processor_unsupported`: the payment method cannot pay a quote, as with PayPal; use another method, or omit `quote_id` to have tax calculated when the payment is charged.
45922
+ **quote_id:** `String` — A payment quote from `POST /payment_quotes`, prefixed `pq_`. The payment charges exactly the quote: its purchase (its variants and quantities, or the `plan` it priced), which this body may then omit, its promo code, and its tax, the quote's `tax_amount` rather than a figure calculated now. Omit it, or send null, to have tax calculated when the payment is charged. The quote must belong to `account_id`. A purchase field you omit or send as null takes the quote's value; the buyer's email, the addresses and the payment method are this request's own, never the quote's. Whatever you do send must describe the quoted purchase: the same variants, quantities and promo code. A quote that priced `plan` takes only the same `plan` you sent to `POST /payment_quotes` (or omit the purchase to take the quoted one), never `plan_id` or `line_items`, and a quote that priced variants by id never takes `plan`. Unless the quote located no buyer (`located_by` is null), the address the payment carries (its shipping address, else its billing address) must put the buyer where the quote priced tax, by country, state and postal code; otherwise the payment is refused with 400 before the payment method is used. A quote located by IP address or by the country the buyer chose (`located_by` is `ip_address` or `presentment_country`) is a preview and cannot be paid. A quote is consumed by one payment: a declined payment keeps it and can be retried; a new payment needs a new quote. A quote cannot be charged by a processor that doesn't take quotes, such as a seller's own connected PayPal account; such a payment is refused before the payment method is used. A quote priced in a `presentment_currency` is charged in that currency at the quote's `exchange_rate`. A payment refused over its quote carries an error `code`. `quote_expired`: the quote has expired; quote again. `quote_tax_unavailable`: the quote could not price tax; quote again, or omit `quote_id`. `quote_preview_only`: the quote was located by IP address or by the country the buyer chose; quote again with the buyer's address. `quote_in_use` (409): another payment holds the quote. `quote_mismatch`: the purchase or the buyer's address is not the one quoted. `quote_rate_expired`: the exchange rate the quote was priced at has moved too far to charge; quote again. `payment_method_currency_unsupported`: the payment method cannot pay in the quote's currency; use another method, or quote again in another currency. `quote_processor_unsupported`: the payment would be processed by a processor that doesn't take quotes, such as a seller's own connected PayPal account; use another method, or omit `quote_id` to have tax calculated when the payment is charged.
45165
45923
 
45166
45924
  </dd>
45167
45925
  </dl>
@@ -45360,7 +46118,7 @@ client.payouts.methods.list
45360
46118
  <dl>
45361
46119
  <dd>
45362
46120
 
45363
- Saves a new place an account or user can pay out to. Sensitive details are vaulted in transit and never stored raw.
46121
+ Saves a bank account, wallet, or crypto address an account or user can pay out to, from a method listed by `GET /payouts/supported_methods`. Sensitive details are vaulted in transit and never stored raw.
45364
46122
  </dd>
45365
46123
  </dl>
45366
46124
  </dd>
@@ -45430,6 +46188,14 @@ client.payouts.methods.create(supported_payout_method_id: "podst_xxxxxxxxxxxxxx"
45430
46188
  <dl>
45431
46189
  <dd>
45432
46190
 
46191
+ **paypal_link_token:** `String` — The token your `return_url` received after a Log in with PayPal session started with `POST /payouts/paypal_link_sessions`. Use it for a PayPal supported payout method instead of `fields`. Sending `fields` or `plaid_public_token` alongside it is rejected, and `nickname` is ignored because Whop names the method after the PayPal email. The PayPal holder's name must match the name on the account's payout setup. An account PayPal reports as unverified, or with an unconfirmed email, is saved and flagged on the method's log rather than refused. Single use; expires 15 minutes after the login.
46192
+
46193
+ </dd>
46194
+ </dl>
46195
+
46196
+ <dl>
46197
+ <dd>
46198
+
45433
46199
  **recipient:** `Whop_sdk::Payouts::Methods::Types::CreateMethodsRequestRecipient` — Creates a recipient payout account linked to the funding ledger as a non-default account, then saves the bank method on it. No Whop user, company, or recipient ledger is created. A valid recipient email is required. Recipient methods cannot be default or recurring methods and cannot use Plaid.
45434
46200
 
45435
46201
  </dd>
@@ -45602,6 +46368,104 @@ client.payouts.methods.update(id: "id")
45602
46368
  </dl>
45603
46369
 
45604
46370
 
46371
+ </dd>
46372
+ </dl>
46373
+ </details>
46374
+
46375
+ ## Payouts PaypalLinkSessions
46376
+ <details><summary><code>client.payouts.paypal_link_sessions.<a href="/lib/whop_sdk/payouts/paypal_link_sessions/client.rb">create</a>(request) -> Whop_sdk::Payouts::PaypalLinkSessions::Types::CreatePaypalLinkSessionsResponse</code></summary>
46377
+ <dl>
46378
+ <dd>
46379
+
46380
+ #### 📝 Description
46381
+
46382
+ <dl>
46383
+ <dd>
46384
+
46385
+ <dl>
46386
+ <dd>
46387
+
46388
+ Starts a Log in with PayPal session so PayPal itself can confirm the account holder owns a verified PayPal account. Send the holder to `authorize_url`; after they log in, PayPal returns them to Whop, and Whop redirects the browser to your `return_url` with a `paypal_link_token` query parameter to pass to `POST /payouts/methods`. If the login fails or is canceled, `return_url` receives an `error` query parameter (`paypal_login_canceled` or `paypal_login_failed`) instead. The payout method saved this way pays the email on the PayPal account, and its holder name must match the name on the account's payout setup. PayPal login is rolling out per account: until it is enabled for the account this answers `403 forbidden`, and `supports_paypal_login` on `GET /payouts/supported_methods` is false.
46389
+ </dd>
46390
+ </dl>
46391
+ </dd>
46392
+ </dl>
46393
+
46394
+ #### 🔌 Usage
46395
+
46396
+ <dl>
46397
+ <dd>
46398
+
46399
+ <dl>
46400
+ <dd>
46401
+
46402
+ ```ruby
46403
+ client.payouts.paypal_link_sessions.create(
46404
+ return_url: "https://example.com/settings/payouts",
46405
+ supported_payout_method_id: "podst_xxxxxxxxxxxxxx"
46406
+ )
46407
+ ```
46408
+ </dd>
46409
+ </dl>
46410
+ </dd>
46411
+ </dl>
46412
+
46413
+ #### ⚙️ Parameters
46414
+
46415
+ <dl>
46416
+ <dd>
46417
+
46418
+ <dl>
46419
+ <dd>
46420
+
46421
+ **account_id:** `String` — The account that will own the PayPal payout method, prefixed `biz_`. Provide this or `user_id`.
46422
+
46423
+ </dd>
46424
+ </dl>
46425
+
46426
+ <dl>
46427
+ <dd>
46428
+
46429
+ **destination_currency:** `String` — Currency the PayPal payout method will deliver payouts in.
46430
+
46431
+ </dd>
46432
+ </dl>
46433
+
46434
+ <dl>
46435
+ <dd>
46436
+
46437
+ **return_url:** `String` — Where to send the holder once the PayPal login finishes. Must be an `https` URL; it receives `paypal_link_token` on success or `error` on failure.
46438
+
46439
+ </dd>
46440
+ </dl>
46441
+
46442
+ <dl>
46443
+ <dd>
46444
+
46445
+ **supported_payout_method_id:** `String` — The PayPal supported payout method to connect (a `podst_` identifier whose `supports_paypal_login` is true).
46446
+
46447
+ </dd>
46448
+ </dl>
46449
+
46450
+ <dl>
46451
+ <dd>
46452
+
46453
+ **user_id:** `String` — The user who will own the PayPal payout method, prefixed `user_`. Provide this or `account_id`.
46454
+
46455
+ </dd>
46456
+ </dl>
46457
+
46458
+ <dl>
46459
+ <dd>
46460
+
46461
+ **request_options:** `Whop_sdk::Payouts::PaypalLinkSessions::RequestOptions`
46462
+
46463
+ </dd>
46464
+ </dl>
46465
+ </dd>
46466
+ </dl>
46467
+
46468
+
45605
46469
  </dd>
45606
46470
  </dl>
45607
46471
  </details>
@@ -45619,7 +46483,7 @@ client.payouts.methods.update(id: "id")
45619
46483
  <dl>
45620
46484
  <dd>
45621
46485
 
45622
- Lists the payout methods an account or user is eligible to add.
46486
+ Lists the payout methods an account or user is eligible to add. Pass a result's ID as `supported_payout_method_id` to `POST /payouts/methods` to save one.
45623
46487
  </dd>
45624
46488
  </dl>
45625
46489
  </dd>
@@ -45762,7 +46626,7 @@ client.payouts.supported_methods.list
45762
46626
  <dl>
45763
46627
  <dd>
45764
46628
 
45765
- Saves a card for later charges from card details the caller holds itself, for integrators whose own systems are PCI compliant. Card details are accepted only on the vault host, where the card is tokenized before it reaches Whop; the official SDKs route this operation there, and raw card details sent to the regular host are refused. (Whop's own clients, which tokenize with the Basis Theory SDK, send the resulting token intent id to the regular host.) The setup runs in the background: poll Retrieve setup status for its outcome and for anything the buyer must still do, such as 3D Secure. Once it succeeds, the saved payment method arrives on the `setup_intent.succeeded` webhook and in List payment methods for the member.
46629
+ Saves a card for later charges from card details you hold yourself, for integrators whose own systems are PCI compliant. Send this operation to the vault host, which tokenizes the card before it reaches Whop; the official SDKs route it there, and raw card details sent to the regular host are refused. The setup runs in the background: poll Retrieve setup status for its outcome and for anything the buyer must still do, such as 3D Secure. Once it succeeds, the saved payment method arrives on the `setup_intent.succeeded` webhook and in List payment methods for the member.
45766
46630
  </dd>
45767
46631
  </dl>
45768
46632
  </dd>
@@ -45886,7 +46750,7 @@ client.setup_intents.direct.create(
45886
46750
  <dl>
45887
46751
  <dd>
45888
46752
 
45889
- Lists every report: the aggregates that are not bucketed over time. Each entry names the report's path, its window kind, the breakdowns it accepts and its columns. A property column is an attribute of the row and lists the breakdowns it can ride along with. A metric column is a number measured over the row, with the unit that sets its JSON type, the aggregate that says how to combine it across rows, and the breakdowns and windows it supports. For a bucketed series, use `GET /stats/time_series`.
46753
+ Lists every report: the aggregates that are not bucketed over time, with the breakdowns and columns each one accepts. Use it to discover what a report can return before you retrieve it. For a bucketed series, use `GET /stats/time_series`.
45890
46754
  </dd>
45891
46755
  </dl>
45892
46756
  </dd>
@@ -45940,7 +46804,7 @@ client.stats.reports.list
45940
46804
  <dl>
45941
46805
  <dd>
45942
46806
 
45943
- Payments across all of Whop, for up to four windows at once. Break rows down by business type, industry type, account country or customer country, and let the business type ride along on industry type rows. The report covers the whole platform, so it takes no `account_id` and any authenticated caller can read it. A breakdown value with fewer than three businesses behind it is left out, and a filtered total that small comes back with every metric `null`.
46807
+ Retrieves payments across all of Whop for up to four windows at once, optionally broken down by business type, industry type, account country or customer country. The report covers the whole platform, so it takes no `account_id` and any authenticated caller can read it.
45944
46808
  </dd>
45945
46809
  </dl>
45946
46810
  </dd>
@@ -45978,7 +46842,7 @@ client.stats.reports.platform_trends
45978
46842
  <dl>
45979
46843
  <dd>
45980
46844
 
45981
- **columns:** `String` — Comma-separated properties and metrics to return on each row. Defaults to `gross_revenue,businesses`.
46845
+ **columns:** `String` — Comma-separated properties and metrics to return on each row. `business_type` can ride along on `industry_type` rows. Defaults to `gross_revenue,businesses`.
45982
46846
 
45983
46847
  </dd>
45984
46848
  </dl>
@@ -46153,7 +47017,7 @@ client.stats.time_series.list
46153
47017
  <dl>
46154
47018
  <dd>
46155
47019
 
46156
- Retrieves a metric as a time series of points for an account or user over a time range. For an aggregate that is not bucketed over time, use a report from `GET /stats/reports`. The `market_prices` metric is public and requires no authentication. The `funnel` metric measures 2 to 10 ordered events per person. Its first matching event inside from/to anchors the cohort, breakdown and conversion window; later entries do not restart it. Intervening events are allowed, and conversions may occur after to. Funnel values are final conversion percentages; steps include counts and cumulative conversion percentages. Experiment funnels use experiment.exposure as step 1 and breakdown_by=variant. Pass steps using bracket parameters such as steps[1][event]=pixel.page&steps[1][page]=/pricing*&steps[2][event]=payment.completed.
47020
+ Retrieves a metric as a series of points over a time range for an account or user. For an aggregate that is not bucketed over time, use a report from `GET /stats/reports`. The `market_prices` metric is public and requires no authentication.
46157
47021
  </dd>
46158
47022
  </dl>
46159
47023
  </dd>
@@ -46510,7 +47374,7 @@ client.stats.time_series.retrieve(
46510
47374
  <dl>
46511
47375
  <dd>
46512
47376
 
46513
- **steps:** `Whop_sdk::Types::RetrieveTimeSeriesRequestSteps` — Funnel only. Required when metric=funnel. Consecutive one-based steps encoded as steps[1][event], steps[1][page], steps[2][event], and so on. Values are scalar strings, never JSON.
47377
+ **steps:** `Whop_sdk::Types::RetrieveTimeSeriesRequestSteps` — Funnel only. Required when metric=funnel. 2 to 10 ordered events per person, as consecutive one-based bracket parameters such as `steps[1][event]=pixel.page&steps[1][page]=/pricing*&steps[2][event]=payment.completed`. Values are scalar strings, never JSON. A person's first step 1 match inside `from`/`to` anchors their cohort, breakdown, and conversion window; later matches do not restart it. Other events may occur between steps, and conversions may land after `to`. For an experiment funnel, make `experiment.exposure` step 1 and pass `breakdown_by=variant`.
46514
47378
 
46515
47379
  </dd>
46516
47380
  </dl>
@@ -46783,7 +47647,7 @@ client.stats.time_series.retrieve(
46783
47647
  <dl>
46784
47648
  <dd>
46785
47649
 
46786
- Lists the authenticated user's own OAuth grants — one per app they have authorized, per account they authorized it for. The list is always the caller's own; there is no parameter for reading another user's grants. Requires a user session: an API key or an OAuth token is refused, so an app can never enumerate the other apps a user has authorized.
47650
+ Lists the authenticated user's own OAuth grants: one per app they have authorized, per account they authorized it for. You cannot read another user's grants. Requires a user session: an API key or an OAuth token is refused, so an app can never enumerate the other apps a user has authorized.
46787
47651
  </dd>
46788
47652
  </dl>
46789
47653
  </dd>
@@ -46893,7 +47757,7 @@ client.users.oauth_grants.list
46893
47757
  <dl>
46894
47758
  <dd>
46895
47759
 
46896
- Completes the OAuth authorization step for the authenticated user: records their consent for the scopes an app asked for and mints the authorization code to hand back to it. Returns the grant, plus a `redirect_url` carrying that code — the one and only time it is returned. Exchange the code at `POST /oauth/token` with the verifier for `code_challenge`, or with the app's secret when a confidential app sent none. Requires a user session, because consent has to come from the account holder: an API key or an OAuth token is refused, so an app can never authorize itself. Send an `Idempotency-Key` to make a retry safe — a replay returns the original `redirect_url` and its code rather than issuing a second one.
47760
+ Completes the OAuth authorization step for the authenticated user: records their consent to the scopes an app asked for and mints an authorization code. Returns the grant plus a `redirect_url` carrying the code, which is returned only this once; the app exchanges it at `POST /oauth/token`. Requires a user session, because consent has to come from the account holder: an API key or an OAuth token is refused, so an app can never authorize itself. Send an `Idempotency-Key` so a retry returns the original `redirect_url` and code instead of issuing a second one.
46897
47761
  </dd>
46898
47762
  </dl>
46899
47763
  </dd>
@@ -47040,7 +47904,7 @@ client.users.oauth_grants.create(
47040
47904
  <dl>
47041
47905
  <dd>
47042
47906
 
47043
- Lists the authenticated user's own passkeys, newest first. The list is always the caller's own; there is no parameter for reading another user's passkeys. Requires a user session: an API key or an OAuth token is refused, because a passkey confirms the account holder before a sensitive action and no app may enumerate one.
47907
+ Lists the authenticated user's own passkeys, newest first. You cannot read another user's passkeys. Requires a user session: an API key or an OAuth token is refused, because a passkey confirms the account holder before a sensitive action and no app may enumerate one.
47044
47908
  </dd>
47045
47909
  </dl>
47046
47910
  </dd>
@@ -47395,7 +48259,7 @@ client.users.passkeys.delete(
47395
48259
  <dl>
47396
48260
  <dd>
47397
48261
 
47398
- Retrieves the authenticated user's settings document. Addressed only as `me` — the document always belongs to the session user.
48262
+ Retrieves the authenticated user's settings document.
47399
48263
  </dd>
47400
48264
  </dl>
47401
48265
  </dd>
@@ -47536,13 +48400,7 @@ client.users.preferences.update
47536
48400
  <dl>
47537
48401
  <dd>
47538
48402
 
47539
- Sets the authenticated user's notification preferences. Each preference is addressed by `scope`, not by id, so a scope read back from either list endpoint can be sent straight here.
47540
-
47541
- A scope naming an experience with no topic sets that experience's level, and accepts all three levels. Any other scope sets a topic override, which is binary — `all` or `nothing`. A topic override with no `channel` applies to every delivery channel.
47542
-
47543
- `level: null` clears the preference. Preferences are stored as overrides, so clearing one means the scope inherits its default again rather than being switched off.
47544
-
47545
- The batch is applied in one transaction: if any entry is rejected, none are written. Experience levels are applied before topic overrides, because setting a level replaces every topic preference for that experience — so an override sent alongside a level wins. The response reports what each scope now resolves to, in the order the entries were sent.
48403
+ Sets the authenticated user's notification preferences, each addressed by `scope` rather than by ID. The batch is applied in one transaction: if any entry is rejected, none are written. Experience levels are applied before topic overrides, because setting a level replaces every topic preference for that experience, so an override sent alongside a level wins. The response reports what each scope now resolves to, in the order the entries were sent.
47546
48404
  </dd>
47547
48405
  </dl>
47548
48406
  </dd>
@@ -47678,7 +48536,7 @@ client.users.preferences.notifications.experiences.list
47678
48536
  <dl>
47679
48537
  <dd>
47680
48538
 
47681
- Lists the authenticated user's topic-scoped notification preferences, plus user-agnostic platform defaults. Each filter matches preferences scoped to its value or not narrowed on that dimension. Per-experience levels are listed separately, by `GET /users/me/preferences/notifications/experiences`.
48539
+ Lists the authenticated user's topic-scoped notification preferences, plus user-agnostic platform defaults. Per-experience levels are listed separately, by `GET /users/me/preferences/notifications/experiences`.
47682
48540
  </dd>
47683
48541
  </dl>
47684
48542
  </dd>
@@ -47716,7 +48574,7 @@ client.users.preferences.notifications.topics.list
47716
48574
  <dl>
47717
48575
  <dd>
47718
48576
 
47719
- **account_id:** `String` — Only return preferences scoped to this account's member notifications (`biz_` tag).
48577
+ **account_id:** `String` — Only return preferences scoped to this account's member notifications (`biz_` tag), or not narrowed to an account.
47720
48578
 
47721
48579
  </dd>
47722
48580
  </dl>
@@ -47724,7 +48582,7 @@ client.users.preferences.notifications.topics.list
47724
48582
  <dl>
47725
48583
  <dd>
47726
48584
 
47727
- **team_account_id:** `String` — Only return preferences scoped to this account's team notifications (`biz_` tag).
48585
+ **team_account_id:** `String` — Only return preferences scoped to this account's team notifications (`biz_` tag), or not narrowed to a team account.
47728
48586
 
47729
48587
  </dd>
47730
48588
  </dl>
@@ -47732,7 +48590,7 @@ client.users.preferences.notifications.topics.list
47732
48590
  <dl>
47733
48591
  <dd>
47734
48592
 
47735
- **experience_id:** `String` — Only return preferences scoped to this experience (`exp_` tag).
48593
+ **experience_id:** `String` — Only return preferences scoped to this experience (`exp_` tag), or not narrowed to an experience.
47736
48594
 
47737
48595
  </dd>
47738
48596
  </dl>
@@ -47740,7 +48598,7 @@ client.users.preferences.notifications.topics.list
47740
48598
  <dl>
47741
48599
  <dd>
47742
48600
 
47743
- **topic_id:** `String` — Only return preferences scoped to this notification topic (`topic_` tag).
48601
+ **topic_id:** `String` — Only return preferences scoped to this notification topic (`topic_` tag), or not narrowed to a topic.
47744
48602
 
47745
48603
  </dd>
47746
48604
  </dl>