whop-sdk 0.0.10__py3-none-any.whl

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 (352) hide show
  1. whop_sdk/__init__.py +94 -0
  2. whop_sdk/_base_client.py +1995 -0
  3. whop_sdk/_client.py +800 -0
  4. whop_sdk/_compat.py +219 -0
  5. whop_sdk/_constants.py +14 -0
  6. whop_sdk/_exceptions.py +112 -0
  7. whop_sdk/_files.py +123 -0
  8. whop_sdk/_models.py +857 -0
  9. whop_sdk/_qs.py +150 -0
  10. whop_sdk/_resource.py +43 -0
  11. whop_sdk/_response.py +830 -0
  12. whop_sdk/_streaming.py +333 -0
  13. whop_sdk/_types.py +260 -0
  14. whop_sdk/_utils/__init__.py +64 -0
  15. whop_sdk/_utils/_compat.py +45 -0
  16. whop_sdk/_utils/_datetime_parse.py +136 -0
  17. whop_sdk/_utils/_logs.py +25 -0
  18. whop_sdk/_utils/_proxy.py +65 -0
  19. whop_sdk/_utils/_reflection.py +42 -0
  20. whop_sdk/_utils/_resources_proxy.py +24 -0
  21. whop_sdk/_utils/_streams.py +12 -0
  22. whop_sdk/_utils/_sync.py +58 -0
  23. whop_sdk/_utils/_transform.py +457 -0
  24. whop_sdk/_utils/_typing.py +156 -0
  25. whop_sdk/_utils/_utils.py +421 -0
  26. whop_sdk/_version.py +4 -0
  27. whop_sdk/lib/.keep +4 -0
  28. whop_sdk/pagination.py +61 -0
  29. whop_sdk/py.typed +0 -0
  30. whop_sdk/resources/__init__.py +540 -0
  31. whop_sdk/resources/access_tokens.py +341 -0
  32. whop_sdk/resources/account_links.py +211 -0
  33. whop_sdk/resources/app_builds.py +587 -0
  34. whop_sdk/resources/apps.py +684 -0
  35. whop_sdk/resources/authorized_users.py +353 -0
  36. whop_sdk/resources/chat_channels.py +469 -0
  37. whop_sdk/resources/checkout_configurations.py +776 -0
  38. whop_sdk/resources/companies.py +465 -0
  39. whop_sdk/resources/course_chapters.py +602 -0
  40. whop_sdk/resources/course_lesson_interactions.py +343 -0
  41. whop_sdk/resources/course_lessons.py +1040 -0
  42. whop_sdk/resources/course_students.py +327 -0
  43. whop_sdk/resources/courses.py +776 -0
  44. whop_sdk/resources/disputes.py +693 -0
  45. whop_sdk/resources/entries.py +556 -0
  46. whop_sdk/resources/experiences.py +983 -0
  47. whop_sdk/resources/forum_posts.py +656 -0
  48. whop_sdk/resources/forums.py +446 -0
  49. whop_sdk/resources/invoices.py +1099 -0
  50. whop_sdk/resources/ledger_accounts.py +171 -0
  51. whop_sdk/resources/members.py +429 -0
  52. whop_sdk/resources/memberships.py +818 -0
  53. whop_sdk/resources/messages.py +558 -0
  54. whop_sdk/resources/notifications.py +388 -0
  55. whop_sdk/resources/payment_tokens.py +359 -0
  56. whop_sdk/resources/payments.py +1040 -0
  57. whop_sdk/resources/plans.py +1001 -0
  58. whop_sdk/resources/products.py +970 -0
  59. whop_sdk/resources/promo_codes.py +668 -0
  60. whop_sdk/resources/reactions.py +423 -0
  61. whop_sdk/resources/refunds.py +347 -0
  62. whop_sdk/resources/reviews.py +332 -0
  63. whop_sdk/resources/setup_intents.py +349 -0
  64. whop_sdk/resources/shipments.py +451 -0
  65. whop_sdk/resources/support_channels.py +455 -0
  66. whop_sdk/resources/transfers.py +513 -0
  67. whop_sdk/resources/users.py +248 -0
  68. whop_sdk/resources/webhooks.py +69 -0
  69. whop_sdk/resources/withdrawals.py +341 -0
  70. whop_sdk/types/__init__.py +262 -0
  71. whop_sdk/types/access_token_create_params.py +64 -0
  72. whop_sdk/types/access_token_create_response.py +15 -0
  73. whop_sdk/types/account_link_create_params.py +27 -0
  74. whop_sdk/types/account_link_create_response.py +15 -0
  75. whop_sdk/types/app_build_create_params.py +72 -0
  76. whop_sdk/types/app_build_list_params.py +42 -0
  77. whop_sdk/types/app_build_list_response.py +50 -0
  78. whop_sdk/types/app_create_params.py +19 -0
  79. whop_sdk/types/app_list_params.py +59 -0
  80. whop_sdk/types/app_list_response.py +110 -0
  81. whop_sdk/types/app_type.py +7 -0
  82. whop_sdk/types/app_update_params.py +67 -0
  83. whop_sdk/types/assessment_question_types.py +7 -0
  84. whop_sdk/types/authorized_user_list_params.py +41 -0
  85. whop_sdk/types/authorized_user_list_response.py +33 -0
  86. whop_sdk/types/authorized_user_retrieve_response.py +33 -0
  87. whop_sdk/types/billing_reasons.py +9 -0
  88. whop_sdk/types/card_brands.py +25 -0
  89. whop_sdk/types/chat_channel_list_params.py +28 -0
  90. whop_sdk/types/chat_channel_list_response.py +43 -0
  91. whop_sdk/types/chat_channel_update_params.py +32 -0
  92. whop_sdk/types/checkout_configuration_create_params.py +373 -0
  93. whop_sdk/types/checkout_configuration_list_params.py +41 -0
  94. whop_sdk/types/checkout_configuration_list_response.py +104 -0
  95. whop_sdk/types/checkout_modes.py +7 -0
  96. whop_sdk/types/company_create_params.py +22 -0
  97. whop_sdk/types/company_list_params.py +38 -0
  98. whop_sdk/types/company_list_response.py +76 -0
  99. whop_sdk/types/course.py +122 -0
  100. whop_sdk/types/course_chapter.py +32 -0
  101. whop_sdk/types/course_chapter_create_params.py +16 -0
  102. whop_sdk/types/course_chapter_delete_response.py +7 -0
  103. whop_sdk/types/course_chapter_list_params.py +25 -0
  104. whop_sdk/types/course_chapter_list_response.py +16 -0
  105. whop_sdk/types/course_chapter_update_params.py +12 -0
  106. whop_sdk/types/course_create_params.py +78 -0
  107. whop_sdk/types/course_delete_response.py +7 -0
  108. whop_sdk/types/course_lesson_create_params.py +63 -0
  109. whop_sdk/types/course_lesson_delete_response.py +7 -0
  110. whop_sdk/types/course_lesson_interaction_completed_webhook_event.py +26 -0
  111. whop_sdk/types/course_lesson_interaction_list_params.py +34 -0
  112. whop_sdk/types/course_lesson_list_params.py +28 -0
  113. whop_sdk/types/course_lesson_list_response.py +57 -0
  114. whop_sdk/types/course_lesson_mark_as_completed_response.py +7 -0
  115. whop_sdk/types/course_lesson_start_response.py +7 -0
  116. whop_sdk/types/course_lesson_submit_assessment_params.py +26 -0
  117. whop_sdk/types/course_lesson_submit_assessment_response.py +62 -0
  118. whop_sdk/types/course_lesson_update_params.py +222 -0
  119. whop_sdk/types/course_list_params.py +28 -0
  120. whop_sdk/types/course_list_response.py +90 -0
  121. whop_sdk/types/course_student_list_params.py +28 -0
  122. whop_sdk/types/course_student_list_response.py +42 -0
  123. whop_sdk/types/course_student_retrieve_response.py +61 -0
  124. whop_sdk/types/course_update_params.py +114 -0
  125. whop_sdk/types/course_visibilities.py +7 -0
  126. whop_sdk/types/dispute.py +284 -0
  127. whop_sdk/types/dispute_created_webhook_event.py +26 -0
  128. whop_sdk/types/dispute_list_params.py +38 -0
  129. whop_sdk/types/dispute_list_response.py +77 -0
  130. whop_sdk/types/dispute_statuses.py +17 -0
  131. whop_sdk/types/dispute_update_evidence_params.py +159 -0
  132. whop_sdk/types/dispute_updated_webhook_event.py +26 -0
  133. whop_sdk/types/embed_type.py +7 -0
  134. whop_sdk/types/entry_approve_response.py +10 -0
  135. whop_sdk/types/entry_approved_webhook_event.py +26 -0
  136. whop_sdk/types/entry_created_webhook_event.py +26 -0
  137. whop_sdk/types/entry_deleted_webhook_event.py +26 -0
  138. whop_sdk/types/entry_denied_webhook_event.py +26 -0
  139. whop_sdk/types/entry_list_params.py +52 -0
  140. whop_sdk/types/entry_list_response.py +56 -0
  141. whop_sdk/types/experience_attach_params.py +12 -0
  142. whop_sdk/types/experience_create_params.py +22 -0
  143. whop_sdk/types/experience_delete_response.py +7 -0
  144. whop_sdk/types/experience_detach_params.py +12 -0
  145. whop_sdk/types/experience_duplicate_params.py +13 -0
  146. whop_sdk/types/experience_list_params.py +40 -0
  147. whop_sdk/types/experience_list_response.py +73 -0
  148. whop_sdk/types/experience_update_params.py +46 -0
  149. whop_sdk/types/forum_list_params.py +28 -0
  150. whop_sdk/types/forum_list_response.py +33 -0
  151. whop_sdk/types/forum_post_create_params.py +101 -0
  152. whop_sdk/types/forum_post_list_params.py +31 -0
  153. whop_sdk/types/forum_post_list_response.py +60 -0
  154. whop_sdk/types/forum_post_update_params.py +56 -0
  155. whop_sdk/types/forum_post_visibility_type.py +7 -0
  156. whop_sdk/types/forum_update_params.py +23 -0
  157. whop_sdk/types/invoice_create_params.py +515 -0
  158. whop_sdk/types/invoice_created_webhook_event.py +26 -0
  159. whop_sdk/types/invoice_list_params.py +53 -0
  160. whop_sdk/types/invoice_paid_webhook_event.py +26 -0
  161. whop_sdk/types/invoice_past_due_webhook_event.py +26 -0
  162. whop_sdk/types/invoice_void_response.py +7 -0
  163. whop_sdk/types/invoice_voided_webhook_event.py +26 -0
  164. whop_sdk/types/languages.py +30 -0
  165. whop_sdk/types/ledger_account_retrieve_response.py +93 -0
  166. whop_sdk/types/lesson.py +219 -0
  167. whop_sdk/types/lesson_types.py +7 -0
  168. whop_sdk/types/lesson_visibilities.py +7 -0
  169. whop_sdk/types/member_list_params.py +73 -0
  170. whop_sdk/types/member_list_response.py +65 -0
  171. whop_sdk/types/member_retrieve_response.py +79 -0
  172. whop_sdk/types/membership_activated_webhook_event.py +29 -0
  173. whop_sdk/types/membership_cancel_params.py +13 -0
  174. whop_sdk/types/membership_deactivated_webhook_event.py +29 -0
  175. whop_sdk/types/membership_list_params.py +73 -0
  176. whop_sdk/types/membership_list_response.py +128 -0
  177. whop_sdk/types/membership_pause_params.py +16 -0
  178. whop_sdk/types/membership_update_params.py +13 -0
  179. whop_sdk/types/message_create_params.py +63 -0
  180. whop_sdk/types/message_list_params.py +30 -0
  181. whop_sdk/types/message_list_response.py +90 -0
  182. whop_sdk/types/message_update_params.py +45 -0
  183. whop_sdk/types/notification_create_params.py +93 -0
  184. whop_sdk/types/notification_create_response.py +10 -0
  185. whop_sdk/types/payment_create_params.py +162 -0
  186. whop_sdk/types/payment_failed_webhook_event.py +26 -0
  187. whop_sdk/types/payment_list_params.py +67 -0
  188. whop_sdk/types/payment_list_response.py +273 -0
  189. whop_sdk/types/payment_method_types.py +94 -0
  190. whop_sdk/types/payment_pending_webhook_event.py +26 -0
  191. whop_sdk/types/payment_provider.py +9 -0
  192. whop_sdk/types/payment_refund_params.py +13 -0
  193. whop_sdk/types/payment_succeeded_webhook_event.py +26 -0
  194. whop_sdk/types/payment_token_list_params.py +38 -0
  195. whop_sdk/types/payment_token_list_response.py +41 -0
  196. whop_sdk/types/payment_token_retrieve_params.py +12 -0
  197. whop_sdk/types/payment_token_retrieve_response.py +41 -0
  198. whop_sdk/types/plan_create_params.py +162 -0
  199. whop_sdk/types/plan_delete_response.py +7 -0
  200. whop_sdk/types/plan_list_params.py +57 -0
  201. whop_sdk/types/plan_list_response.py +128 -0
  202. whop_sdk/types/plan_update_params.py +155 -0
  203. whop_sdk/types/product_create_params.py +147 -0
  204. whop_sdk/types/product_delete_response.py +7 -0
  205. whop_sdk/types/product_list_params.py +49 -0
  206. whop_sdk/types/product_update_params.py +82 -0
  207. whop_sdk/types/promo_code.py +90 -0
  208. whop_sdk/types/promo_code_create_params.py +70 -0
  209. whop_sdk/types/promo_code_delete_response.py +7 -0
  210. whop_sdk/types/promo_code_list_params.py +45 -0
  211. whop_sdk/types/promo_code_list_response.py +79 -0
  212. whop_sdk/types/promo_code_status.py +7 -0
  213. whop_sdk/types/promo_duration.py +7 -0
  214. whop_sdk/types/reaction_create_params.py +19 -0
  215. whop_sdk/types/reaction_list_params.py +25 -0
  216. whop_sdk/types/reaction_list_response.py +32 -0
  217. whop_sdk/types/refund_created_webhook_event.py +154 -0
  218. whop_sdk/types/refund_list_params.py +38 -0
  219. whop_sdk/types/refund_list_response.py +53 -0
  220. whop_sdk/types/refund_reference_status.py +7 -0
  221. whop_sdk/types/refund_reference_type.py +9 -0
  222. whop_sdk/types/refund_retrieve_response.py +129 -0
  223. whop_sdk/types/refund_status.py +7 -0
  224. whop_sdk/types/refund_updated_webhook_event.py +154 -0
  225. whop_sdk/types/review_list_params.py +40 -0
  226. whop_sdk/types/review_list_response.py +78 -0
  227. whop_sdk/types/review_retrieve_response.py +103 -0
  228. whop_sdk/types/review_status.py +7 -0
  229. whop_sdk/types/setup_intent.py +111 -0
  230. whop_sdk/types/setup_intent_canceled_webhook_event.py +29 -0
  231. whop_sdk/types/setup_intent_list_params.py +38 -0
  232. whop_sdk/types/setup_intent_list_response.py +111 -0
  233. whop_sdk/types/setup_intent_requires_action_webhook_event.py +29 -0
  234. whop_sdk/types/setup_intent_status.py +7 -0
  235. whop_sdk/types/setup_intent_succeeded_webhook_event.py +29 -0
  236. whop_sdk/types/shared/__init__.py +62 -0
  237. whop_sdk/types/shared/access_level.py +7 -0
  238. whop_sdk/types/shared/access_pass_type.py +7 -0
  239. whop_sdk/types/shared/app.py +187 -0
  240. whop_sdk/types/shared/app_build.py +50 -0
  241. whop_sdk/types/shared/app_build_platforms.py +7 -0
  242. whop_sdk/types/shared/app_build_statuses.py +7 -0
  243. whop_sdk/types/shared/app_statuses.py +7 -0
  244. whop_sdk/types/shared/app_view_type.py +7 -0
  245. whop_sdk/types/shared/authorized_user_roles.py +9 -0
  246. whop_sdk/types/shared/business_types.py +22 -0
  247. whop_sdk/types/shared/chat_channel.py +43 -0
  248. whop_sdk/types/shared/checkout_configuration.py +104 -0
  249. whop_sdk/types/shared/collection_method.py +7 -0
  250. whop_sdk/types/shared/company.py +91 -0
  251. whop_sdk/types/shared/course_lesson_interaction.py +63 -0
  252. whop_sdk/types/shared/course_lesson_interaction_list_item.py +44 -0
  253. whop_sdk/types/shared/currency.py +93 -0
  254. whop_sdk/types/shared/custom_cta.py +21 -0
  255. whop_sdk/types/shared/direction.py +7 -0
  256. whop_sdk/types/shared/dms_post_types.py +7 -0
  257. whop_sdk/types/shared/email_notification_preferences.py +7 -0
  258. whop_sdk/types/shared/entry.py +70 -0
  259. whop_sdk/types/shared/entry_status.py +7 -0
  260. whop_sdk/types/shared/experience.py +91 -0
  261. whop_sdk/types/shared/forum.py +33 -0
  262. whop_sdk/types/shared/forum_post.py +60 -0
  263. whop_sdk/types/shared/friendly_receipt_status.py +24 -0
  264. whop_sdk/types/shared/global_affiliate_status.py +7 -0
  265. whop_sdk/types/shared/industry_types.py +67 -0
  266. whop_sdk/types/shared/invoice.py +64 -0
  267. whop_sdk/types/shared/invoice_list_item.py +64 -0
  268. whop_sdk/types/shared/invoice_status.py +7 -0
  269. whop_sdk/types/shared/member_most_recent_actions.py +22 -0
  270. whop_sdk/types/shared/member_statuses.py +7 -0
  271. whop_sdk/types/shared/membership.py +128 -0
  272. whop_sdk/types/shared/membership_status.py +9 -0
  273. whop_sdk/types/shared/message.py +90 -0
  274. whop_sdk/types/shared/page_info.py +21 -0
  275. whop_sdk/types/shared/payment.py +273 -0
  276. whop_sdk/types/shared/plan.py +159 -0
  277. whop_sdk/types/shared/plan_type.py +7 -0
  278. whop_sdk/types/shared/product.py +132 -0
  279. whop_sdk/types/shared/product_list_item.py +57 -0
  280. whop_sdk/types/shared/promo_type.py +7 -0
  281. whop_sdk/types/shared/reaction.py +32 -0
  282. whop_sdk/types/shared/receipt_status.py +7 -0
  283. whop_sdk/types/shared/release_method.py +7 -0
  284. whop_sdk/types/shared/shipment.py +48 -0
  285. whop_sdk/types/shared/shipment_carrier.py +84 -0
  286. whop_sdk/types/shared/shipment_status.py +18 -0
  287. whop_sdk/types/shared/shipment_substatus.py +36 -0
  288. whop_sdk/types/shared/support_channel.py +39 -0
  289. whop_sdk/types/shared/tax_type.py +7 -0
  290. whop_sdk/types/shared/transfer.py +112 -0
  291. whop_sdk/types/shared/visibility.py +7 -0
  292. whop_sdk/types/shared/visibility_filter.py +9 -0
  293. whop_sdk/types/shared/who_can_comment_types.py +7 -0
  294. whop_sdk/types/shared/who_can_post.py +7 -0
  295. whop_sdk/types/shared/who_can_post_types.py +7 -0
  296. whop_sdk/types/shared/who_can_react.py +7 -0
  297. whop_sdk/types/shared_params/__init__.py +34 -0
  298. whop_sdk/types/shared_params/access_level.py +9 -0
  299. whop_sdk/types/shared_params/access_pass_type.py +9 -0
  300. whop_sdk/types/shared_params/app_build_platforms.py +9 -0
  301. whop_sdk/types/shared_params/app_build_statuses.py +9 -0
  302. whop_sdk/types/shared_params/app_statuses.py +9 -0
  303. whop_sdk/types/shared_params/app_view_type.py +9 -0
  304. whop_sdk/types/shared_params/authorized_user_roles.py +11 -0
  305. whop_sdk/types/shared_params/business_types.py +24 -0
  306. whop_sdk/types/shared_params/collection_method.py +9 -0
  307. whop_sdk/types/shared_params/currency.py +95 -0
  308. whop_sdk/types/shared_params/custom_cta.py +23 -0
  309. whop_sdk/types/shared_params/direction.py +9 -0
  310. whop_sdk/types/shared_params/email_notification_preferences.py +9 -0
  311. whop_sdk/types/shared_params/entry_status.py +9 -0
  312. whop_sdk/types/shared_params/friendly_receipt_status.py +26 -0
  313. whop_sdk/types/shared_params/global_affiliate_status.py +9 -0
  314. whop_sdk/types/shared_params/industry_types.py +69 -0
  315. whop_sdk/types/shared_params/invoice_status.py +9 -0
  316. whop_sdk/types/shared_params/member_most_recent_actions.py +24 -0
  317. whop_sdk/types/shared_params/member_statuses.py +9 -0
  318. whop_sdk/types/shared_params/membership_status.py +11 -0
  319. whop_sdk/types/shared_params/plan_type.py +9 -0
  320. whop_sdk/types/shared_params/promo_type.py +9 -0
  321. whop_sdk/types/shared_params/receipt_status.py +9 -0
  322. whop_sdk/types/shared_params/release_method.py +9 -0
  323. whop_sdk/types/shared_params/tax_type.py +9 -0
  324. whop_sdk/types/shared_params/visibility.py +9 -0
  325. whop_sdk/types/shared_params/visibility_filter.py +11 -0
  326. whop_sdk/types/shared_params/who_can_comment_types.py +9 -0
  327. whop_sdk/types/shared_params/who_can_post.py +9 -0
  328. whop_sdk/types/shared_params/who_can_post_types.py +9 -0
  329. whop_sdk/types/shared_params/who_can_react.py +9 -0
  330. whop_sdk/types/shipment_create_params.py +18 -0
  331. whop_sdk/types/shipment_list_params.py +31 -0
  332. whop_sdk/types/shipment_list_response.py +48 -0
  333. whop_sdk/types/support_channel_create_params.py +15 -0
  334. whop_sdk/types/support_channel_list_params.py +40 -0
  335. whop_sdk/types/support_channel_list_response.py +39 -0
  336. whop_sdk/types/transfer_create_params.py +39 -0
  337. whop_sdk/types/transfer_list_params.py +50 -0
  338. whop_sdk/types/transfer_list_response.py +38 -0
  339. whop_sdk/types/unwrap_webhook_event.py +52 -0
  340. whop_sdk/types/user_check_access_response.py +14 -0
  341. whop_sdk/types/user_retrieve_response.py +36 -0
  342. whop_sdk/types/withdrawal_fee_types.py +7 -0
  343. whop_sdk/types/withdrawal_list_params.py +38 -0
  344. whop_sdk/types/withdrawal_list_response.py +45 -0
  345. whop_sdk/types/withdrawal_retrieve_response.py +154 -0
  346. whop_sdk/types/withdrawal_speeds.py +7 -0
  347. whop_sdk/types/withdrawal_status.py +9 -0
  348. whop_sdk/types/withdrawal_types.py +7 -0
  349. whop_sdk-0.0.10.dist-info/METADATA +509 -0
  350. whop_sdk-0.0.10.dist-info/RECORD +352 -0
  351. whop_sdk-0.0.10.dist-info/WHEEL +4 -0
  352. whop_sdk-0.0.10.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,341 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Union, Optional
6
+ from datetime import datetime
7
+ from typing_extensions import overload
8
+
9
+ import httpx
10
+
11
+ from ..types import access_token_create_params
12
+ from .._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
13
+ from .._utils import required_args, maybe_transform, async_maybe_transform
14
+ from .._compat import cached_property
15
+ from .._resource import SyncAPIResource, AsyncAPIResource
16
+ from .._response import (
17
+ to_raw_response_wrapper,
18
+ to_streamed_response_wrapper,
19
+ async_to_raw_response_wrapper,
20
+ async_to_streamed_response_wrapper,
21
+ )
22
+ from .._base_client import make_request_options
23
+ from ..types.access_token_create_response import AccessTokenCreateResponse
24
+
25
+ __all__ = ["AccessTokensResource", "AsyncAccessTokensResource"]
26
+
27
+
28
+ class AccessTokensResource(SyncAPIResource):
29
+ @cached_property
30
+ def with_raw_response(self) -> AccessTokensResourceWithRawResponse:
31
+ """
32
+ This property can be used as a prefix for any HTTP method call to return
33
+ the raw response object instead of the parsed content.
34
+
35
+ For more information, see https://www.github.com/whopio/whopsdk-python#accessing-raw-response-data-eg-headers
36
+ """
37
+ return AccessTokensResourceWithRawResponse(self)
38
+
39
+ @cached_property
40
+ def with_streaming_response(self) -> AccessTokensResourceWithStreamingResponse:
41
+ """
42
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
43
+
44
+ For more information, see https://www.github.com/whopio/whopsdk-python#with_streaming_response
45
+ """
46
+ return AccessTokensResourceWithStreamingResponse(self)
47
+
48
+ @overload
49
+ def create(
50
+ self,
51
+ *,
52
+ company_id: str,
53
+ expires_at: Union[str, datetime, None] | Omit = omit,
54
+ scoped_actions: Optional[SequenceNotStr[str]] | Omit = omit,
55
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
56
+ # The extra values given here take precedence over values defined on the client or passed to this method.
57
+ extra_headers: Headers | None = None,
58
+ extra_query: Query | None = None,
59
+ extra_body: Body | None = None,
60
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
61
+ ) -> AccessTokenCreateResponse:
62
+ """
63
+ Create a short-lived access token to authenticate API requests on behalf of a
64
+ Company or User. This token should be used with Whop's web and mobile embedded
65
+ components. You must provide either a company_id or a user_id argument, but not
66
+ both.
67
+
68
+ Args:
69
+ company_id: The ID of the Company to generate the token for. The API key must have
70
+ permission to access this Company, such as the being the company the API key
71
+ belongs to or a sub-merchant of it
72
+
73
+ expires_at: The expiration timestamp for the access token. If not provided, a default
74
+ expiration time of 1 hour will be used. The expiration can be set to a maximum
75
+ of 3 hours from the current time.
76
+
77
+ scoped_actions: Array of desired scoped actions for the access token. If sent as an empty array
78
+ or not provided, all permissions from the API key making the request will be
79
+ available on the token. If sending an explicit list, they must be a subset of
80
+ the API keys's existing permissions. Otherwise, an error will be raised.
81
+
82
+ extra_headers: Send extra headers
83
+
84
+ extra_query: Add additional query parameters to the request
85
+
86
+ extra_body: Add additional JSON properties to the request
87
+
88
+ timeout: Override the client-level default timeout for this request, in seconds
89
+ """
90
+ ...
91
+
92
+ @overload
93
+ def create(
94
+ self,
95
+ *,
96
+ user_id: str,
97
+ expires_at: Union[str, datetime, None] | Omit = omit,
98
+ scoped_actions: Optional[SequenceNotStr[str]] | Omit = omit,
99
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
100
+ # The extra values given here take precedence over values defined on the client or passed to this method.
101
+ extra_headers: Headers | None = None,
102
+ extra_query: Query | None = None,
103
+ extra_body: Body | None = None,
104
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
105
+ ) -> AccessTokenCreateResponse:
106
+ """
107
+ Create a short-lived access token to authenticate API requests on behalf of a
108
+ Company or User. This token should be used with Whop's web and mobile embedded
109
+ components. You must provide either a company_id or a user_id argument, but not
110
+ both.
111
+
112
+ Args:
113
+ user_id: The ID of the User to generate the token for. The API key must have permission
114
+ to access this User.
115
+
116
+ expires_at: The expiration timestamp for the access token. If not provided, a default
117
+ expiration time of 1 hour will be used. The expiration can be set to a maximum
118
+ of 3 hours from the current time.
119
+
120
+ scoped_actions: Array of desired scoped actions for the access token. If sent as an empty array
121
+ or not provided, all permissions from the API key making the request will be
122
+ available on the token. If sending an explicit list, they must be a subset of
123
+ the API keys's existing permissions. Otherwise, an error will be raised.
124
+
125
+ extra_headers: Send extra headers
126
+
127
+ extra_query: Add additional query parameters to the request
128
+
129
+ extra_body: Add additional JSON properties to the request
130
+
131
+ timeout: Override the client-level default timeout for this request, in seconds
132
+ """
133
+ ...
134
+
135
+ @required_args(["company_id"], ["user_id"])
136
+ def create(
137
+ self,
138
+ *,
139
+ company_id: str | Omit = omit,
140
+ expires_at: Union[str, datetime, None] | Omit = omit,
141
+ scoped_actions: Optional[SequenceNotStr[str]] | Omit = omit,
142
+ user_id: str | Omit = omit,
143
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
144
+ # The extra values given here take precedence over values defined on the client or passed to this method.
145
+ extra_headers: Headers | None = None,
146
+ extra_query: Query | None = None,
147
+ extra_body: Body | None = None,
148
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
149
+ ) -> AccessTokenCreateResponse:
150
+ return self._post(
151
+ "/access_tokens",
152
+ body=maybe_transform(
153
+ {
154
+ "company_id": company_id,
155
+ "expires_at": expires_at,
156
+ "scoped_actions": scoped_actions,
157
+ "user_id": user_id,
158
+ },
159
+ access_token_create_params.AccessTokenCreateParams,
160
+ ),
161
+ options=make_request_options(
162
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
163
+ ),
164
+ cast_to=AccessTokenCreateResponse,
165
+ )
166
+
167
+
168
+ class AsyncAccessTokensResource(AsyncAPIResource):
169
+ @cached_property
170
+ def with_raw_response(self) -> AsyncAccessTokensResourceWithRawResponse:
171
+ """
172
+ This property can be used as a prefix for any HTTP method call to return
173
+ the raw response object instead of the parsed content.
174
+
175
+ For more information, see https://www.github.com/whopio/whopsdk-python#accessing-raw-response-data-eg-headers
176
+ """
177
+ return AsyncAccessTokensResourceWithRawResponse(self)
178
+
179
+ @cached_property
180
+ def with_streaming_response(self) -> AsyncAccessTokensResourceWithStreamingResponse:
181
+ """
182
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
183
+
184
+ For more information, see https://www.github.com/whopio/whopsdk-python#with_streaming_response
185
+ """
186
+ return AsyncAccessTokensResourceWithStreamingResponse(self)
187
+
188
+ @overload
189
+ async def create(
190
+ self,
191
+ *,
192
+ company_id: str,
193
+ expires_at: Union[str, datetime, None] | Omit = omit,
194
+ scoped_actions: Optional[SequenceNotStr[str]] | Omit = omit,
195
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
196
+ # The extra values given here take precedence over values defined on the client or passed to this method.
197
+ extra_headers: Headers | None = None,
198
+ extra_query: Query | None = None,
199
+ extra_body: Body | None = None,
200
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
201
+ ) -> AccessTokenCreateResponse:
202
+ """
203
+ Create a short-lived access token to authenticate API requests on behalf of a
204
+ Company or User. This token should be used with Whop's web and mobile embedded
205
+ components. You must provide either a company_id or a user_id argument, but not
206
+ both.
207
+
208
+ Args:
209
+ company_id: The ID of the Company to generate the token for. The API key must have
210
+ permission to access this Company, such as the being the company the API key
211
+ belongs to or a sub-merchant of it
212
+
213
+ expires_at: The expiration timestamp for the access token. If not provided, a default
214
+ expiration time of 1 hour will be used. The expiration can be set to a maximum
215
+ of 3 hours from the current time.
216
+
217
+ scoped_actions: Array of desired scoped actions for the access token. If sent as an empty array
218
+ or not provided, all permissions from the API key making the request will be
219
+ available on the token. If sending an explicit list, they must be a subset of
220
+ the API keys's existing permissions. Otherwise, an error will be raised.
221
+
222
+ extra_headers: Send extra headers
223
+
224
+ extra_query: Add additional query parameters to the request
225
+
226
+ extra_body: Add additional JSON properties to the request
227
+
228
+ timeout: Override the client-level default timeout for this request, in seconds
229
+ """
230
+ ...
231
+
232
+ @overload
233
+ async def create(
234
+ self,
235
+ *,
236
+ user_id: str,
237
+ expires_at: Union[str, datetime, None] | Omit = omit,
238
+ scoped_actions: Optional[SequenceNotStr[str]] | Omit = omit,
239
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
240
+ # The extra values given here take precedence over values defined on the client or passed to this method.
241
+ extra_headers: Headers | None = None,
242
+ extra_query: Query | None = None,
243
+ extra_body: Body | None = None,
244
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
245
+ ) -> AccessTokenCreateResponse:
246
+ """
247
+ Create a short-lived access token to authenticate API requests on behalf of a
248
+ Company or User. This token should be used with Whop's web and mobile embedded
249
+ components. You must provide either a company_id or a user_id argument, but not
250
+ both.
251
+
252
+ Args:
253
+ user_id: The ID of the User to generate the token for. The API key must have permission
254
+ to access this User.
255
+
256
+ expires_at: The expiration timestamp for the access token. If not provided, a default
257
+ expiration time of 1 hour will be used. The expiration can be set to a maximum
258
+ of 3 hours from the current time.
259
+
260
+ scoped_actions: Array of desired scoped actions for the access token. If sent as an empty array
261
+ or not provided, all permissions from the API key making the request will be
262
+ available on the token. If sending an explicit list, they must be a subset of
263
+ the API keys's existing permissions. Otherwise, an error will be raised.
264
+
265
+ extra_headers: Send extra headers
266
+
267
+ extra_query: Add additional query parameters to the request
268
+
269
+ extra_body: Add additional JSON properties to the request
270
+
271
+ timeout: Override the client-level default timeout for this request, in seconds
272
+ """
273
+ ...
274
+
275
+ @required_args(["company_id"], ["user_id"])
276
+ async def create(
277
+ self,
278
+ *,
279
+ company_id: str | Omit = omit,
280
+ expires_at: Union[str, datetime, None] | Omit = omit,
281
+ scoped_actions: Optional[SequenceNotStr[str]] | Omit = omit,
282
+ user_id: str | Omit = omit,
283
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
284
+ # The extra values given here take precedence over values defined on the client or passed to this method.
285
+ extra_headers: Headers | None = None,
286
+ extra_query: Query | None = None,
287
+ extra_body: Body | None = None,
288
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
289
+ ) -> AccessTokenCreateResponse:
290
+ return await self._post(
291
+ "/access_tokens",
292
+ body=await async_maybe_transform(
293
+ {
294
+ "company_id": company_id,
295
+ "expires_at": expires_at,
296
+ "scoped_actions": scoped_actions,
297
+ "user_id": user_id,
298
+ },
299
+ access_token_create_params.AccessTokenCreateParams,
300
+ ),
301
+ options=make_request_options(
302
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
303
+ ),
304
+ cast_to=AccessTokenCreateResponse,
305
+ )
306
+
307
+
308
+ class AccessTokensResourceWithRawResponse:
309
+ def __init__(self, access_tokens: AccessTokensResource) -> None:
310
+ self._access_tokens = access_tokens
311
+
312
+ self.create = to_raw_response_wrapper(
313
+ access_tokens.create,
314
+ )
315
+
316
+
317
+ class AsyncAccessTokensResourceWithRawResponse:
318
+ def __init__(self, access_tokens: AsyncAccessTokensResource) -> None:
319
+ self._access_tokens = access_tokens
320
+
321
+ self.create = async_to_raw_response_wrapper(
322
+ access_tokens.create,
323
+ )
324
+
325
+
326
+ class AccessTokensResourceWithStreamingResponse:
327
+ def __init__(self, access_tokens: AccessTokensResource) -> None:
328
+ self._access_tokens = access_tokens
329
+
330
+ self.create = to_streamed_response_wrapper(
331
+ access_tokens.create,
332
+ )
333
+
334
+
335
+ class AsyncAccessTokensResourceWithStreamingResponse:
336
+ def __init__(self, access_tokens: AsyncAccessTokensResource) -> None:
337
+ self._access_tokens = access_tokens
338
+
339
+ self.create = async_to_streamed_response_wrapper(
340
+ access_tokens.create,
341
+ )
@@ -0,0 +1,211 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Literal
6
+
7
+ import httpx
8
+
9
+ from ..types import account_link_create_params
10
+ from .._types import Body, Query, Headers, NotGiven, not_given
11
+ from .._utils import maybe_transform, async_maybe_transform
12
+ from .._compat import cached_property
13
+ from .._resource import SyncAPIResource, AsyncAPIResource
14
+ from .._response import (
15
+ to_raw_response_wrapper,
16
+ to_streamed_response_wrapper,
17
+ async_to_raw_response_wrapper,
18
+ async_to_streamed_response_wrapper,
19
+ )
20
+ from .._base_client import make_request_options
21
+ from ..types.account_link_create_response import AccountLinkCreateResponse
22
+
23
+ __all__ = ["AccountLinksResource", "AsyncAccountLinksResource"]
24
+
25
+
26
+ class AccountLinksResource(SyncAPIResource):
27
+ @cached_property
28
+ def with_raw_response(self) -> AccountLinksResourceWithRawResponse:
29
+ """
30
+ This property can be used as a prefix for any HTTP method call to return
31
+ the raw response object instead of the parsed content.
32
+
33
+ For more information, see https://www.github.com/whopio/whopsdk-python#accessing-raw-response-data-eg-headers
34
+ """
35
+ return AccountLinksResourceWithRawResponse(self)
36
+
37
+ @cached_property
38
+ def with_streaming_response(self) -> AccountLinksResourceWithStreamingResponse:
39
+ """
40
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
41
+
42
+ For more information, see https://www.github.com/whopio/whopsdk-python#with_streaming_response
43
+ """
44
+ return AccountLinksResourceWithStreamingResponse(self)
45
+
46
+ def create(
47
+ self,
48
+ *,
49
+ company_id: str,
50
+ refresh_url: str,
51
+ return_url: str,
52
+ use_case: Literal["account_onboarding", "payouts_portal"],
53
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
54
+ # The extra values given here take precedence over values defined on the client or passed to this method.
55
+ extra_headers: Headers | None = None,
56
+ extra_query: Query | None = None,
57
+ extra_body: Body | None = None,
58
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
59
+ ) -> AccountLinkCreateResponse:
60
+ """
61
+ Generates a url that a user can be directed to in order to access their
62
+ sub-merchant account. For example, they can visit the hosted payouts portal or
63
+ the hosted KYC onboarding flow.
64
+
65
+ Args:
66
+ company_id: The ID of the Company to generate the url for. The company must be a
67
+ sub-merchant of the API key's company.
68
+
69
+ refresh_url: The URL to redirect to if the session expires and needs to be re-authenticated
70
+ due to the token expiring.
71
+
72
+ return_url: The URL to redirect to when the customer wants to return to your site.
73
+
74
+ use_case: The use case for which the link will be used.
75
+
76
+ extra_headers: Send extra headers
77
+
78
+ extra_query: Add additional query parameters to the request
79
+
80
+ extra_body: Add additional JSON properties to the request
81
+
82
+ timeout: Override the client-level default timeout for this request, in seconds
83
+ """
84
+ return self._post(
85
+ "/account_links",
86
+ body=maybe_transform(
87
+ {
88
+ "company_id": company_id,
89
+ "refresh_url": refresh_url,
90
+ "return_url": return_url,
91
+ "use_case": use_case,
92
+ },
93
+ account_link_create_params.AccountLinkCreateParams,
94
+ ),
95
+ options=make_request_options(
96
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
97
+ ),
98
+ cast_to=AccountLinkCreateResponse,
99
+ )
100
+
101
+
102
+ class AsyncAccountLinksResource(AsyncAPIResource):
103
+ @cached_property
104
+ def with_raw_response(self) -> AsyncAccountLinksResourceWithRawResponse:
105
+ """
106
+ This property can be used as a prefix for any HTTP method call to return
107
+ the raw response object instead of the parsed content.
108
+
109
+ For more information, see https://www.github.com/whopio/whopsdk-python#accessing-raw-response-data-eg-headers
110
+ """
111
+ return AsyncAccountLinksResourceWithRawResponse(self)
112
+
113
+ @cached_property
114
+ def with_streaming_response(self) -> AsyncAccountLinksResourceWithStreamingResponse:
115
+ """
116
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
117
+
118
+ For more information, see https://www.github.com/whopio/whopsdk-python#with_streaming_response
119
+ """
120
+ return AsyncAccountLinksResourceWithStreamingResponse(self)
121
+
122
+ async def create(
123
+ self,
124
+ *,
125
+ company_id: str,
126
+ refresh_url: str,
127
+ return_url: str,
128
+ use_case: Literal["account_onboarding", "payouts_portal"],
129
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
130
+ # The extra values given here take precedence over values defined on the client or passed to this method.
131
+ extra_headers: Headers | None = None,
132
+ extra_query: Query | None = None,
133
+ extra_body: Body | None = None,
134
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
135
+ ) -> AccountLinkCreateResponse:
136
+ """
137
+ Generates a url that a user can be directed to in order to access their
138
+ sub-merchant account. For example, they can visit the hosted payouts portal or
139
+ the hosted KYC onboarding flow.
140
+
141
+ Args:
142
+ company_id: The ID of the Company to generate the url for. The company must be a
143
+ sub-merchant of the API key's company.
144
+
145
+ refresh_url: The URL to redirect to if the session expires and needs to be re-authenticated
146
+ due to the token expiring.
147
+
148
+ return_url: The URL to redirect to when the customer wants to return to your site.
149
+
150
+ use_case: The use case for which the link will be used.
151
+
152
+ extra_headers: Send extra headers
153
+
154
+ extra_query: Add additional query parameters to the request
155
+
156
+ extra_body: Add additional JSON properties to the request
157
+
158
+ timeout: Override the client-level default timeout for this request, in seconds
159
+ """
160
+ return await self._post(
161
+ "/account_links",
162
+ body=await async_maybe_transform(
163
+ {
164
+ "company_id": company_id,
165
+ "refresh_url": refresh_url,
166
+ "return_url": return_url,
167
+ "use_case": use_case,
168
+ },
169
+ account_link_create_params.AccountLinkCreateParams,
170
+ ),
171
+ options=make_request_options(
172
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
173
+ ),
174
+ cast_to=AccountLinkCreateResponse,
175
+ )
176
+
177
+
178
+ class AccountLinksResourceWithRawResponse:
179
+ def __init__(self, account_links: AccountLinksResource) -> None:
180
+ self._account_links = account_links
181
+
182
+ self.create = to_raw_response_wrapper(
183
+ account_links.create,
184
+ )
185
+
186
+
187
+ class AsyncAccountLinksResourceWithRawResponse:
188
+ def __init__(self, account_links: AsyncAccountLinksResource) -> None:
189
+ self._account_links = account_links
190
+
191
+ self.create = async_to_raw_response_wrapper(
192
+ account_links.create,
193
+ )
194
+
195
+
196
+ class AccountLinksResourceWithStreamingResponse:
197
+ def __init__(self, account_links: AccountLinksResource) -> None:
198
+ self._account_links = account_links
199
+
200
+ self.create = to_streamed_response_wrapper(
201
+ account_links.create,
202
+ )
203
+
204
+
205
+ class AsyncAccountLinksResourceWithStreamingResponse:
206
+ def __init__(self, account_links: AsyncAccountLinksResource) -> None:
207
+ self._account_links = account_links
208
+
209
+ self.create = async_to_streamed_response_wrapper(
210
+ account_links.create,
211
+ )