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,56 @@
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, Iterable, Optional
6
+ from typing_extensions import Required, TypeAlias, TypedDict
7
+
8
+ from .forum_post_visibility_type import ForumPostVisibilityType
9
+
10
+ __all__ = [
11
+ "ForumPostUpdateParams",
12
+ "Attachment",
13
+ "AttachmentAttachmentInputWithDirectUploadID",
14
+ "AttachmentAttachmentInputWithID",
15
+ ]
16
+
17
+
18
+ class ForumPostUpdateParams(TypedDict, total=False):
19
+ attachments: Optional[Iterable[Attachment]]
20
+ """The attachments for this post"""
21
+
22
+ content: Optional[str]
23
+ """This is the main body of the post in Markdown format.
24
+
25
+ Hidden if paywalled and user hasn't purchased access to it.
26
+ """
27
+
28
+ is_pinned: Optional[bool]
29
+ """Whether the post is pinned. You can only pin a top level posts (not comments)."""
30
+
31
+ title: Optional[str]
32
+ """The title of the post. Only visible if paywalled."""
33
+
34
+ visibility: Optional[ForumPostVisibilityType]
35
+ """The visibility types for forum posts"""
36
+
37
+
38
+ class AttachmentAttachmentInputWithDirectUploadID(TypedDict, total=False):
39
+ direct_upload_id: Required[str]
40
+ """This ID should be used the first time you upload an attachment.
41
+
42
+ It is the ID of the direct upload that was created when uploading the file to S3
43
+ via the mediaDirectUpload mutation.
44
+ """
45
+
46
+
47
+ class AttachmentAttachmentInputWithID(TypedDict, total=False):
48
+ id: Required[str]
49
+ """The ID of an existing attachment object.
50
+
51
+ Use this when updating a resource and keeping a subset of the attachments. Don't
52
+ use this unless you know what you're doing.
53
+ """
54
+
55
+
56
+ Attachment: TypeAlias = Union[AttachmentAttachmentInputWithDirectUploadID, AttachmentAttachmentInputWithID]
@@ -0,0 +1,7 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal, TypeAlias
4
+
5
+ __all__ = ["ForumPostVisibilityType"]
6
+
7
+ ForumPostVisibilityType: TypeAlias = Literal["members_only", "globally_visible"]
@@ -0,0 +1,23 @@
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 Optional
6
+ from typing_extensions import TypedDict
7
+
8
+ from .shared.who_can_post_types import WhoCanPostTypes
9
+ from .shared.who_can_comment_types import WhoCanCommentTypes
10
+ from .shared.email_notification_preferences import EmailNotificationPreferences
11
+
12
+ __all__ = ["ForumUpdateParams"]
13
+
14
+
15
+ class ForumUpdateParams(TypedDict, total=False):
16
+ email_notification_preference: Optional[EmailNotificationPreferences]
17
+ """Email notification preference option for a forum feed"""
18
+
19
+ who_can_comment: Optional[WhoCanCommentTypes]
20
+ """Who can comment on a forum feed"""
21
+
22
+ who_can_post: Optional[WhoCanPostTypes]
23
+ """Who can post on a forum feed"""
@@ -0,0 +1,515 @@
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, Iterable, Optional
6
+ from datetime import datetime
7
+ from typing_extensions import Literal, Required, Annotated, TypeAlias, TypedDict
8
+
9
+ from .._utils import PropertyInfo
10
+ from .shared.plan_type import PlanType
11
+ from .shared.visibility import Visibility
12
+ from .shared.release_method import ReleaseMethod
13
+ from .shared.collection_method import CollectionMethod
14
+
15
+ __all__ = [
16
+ "InvoiceCreateParams",
17
+ "CreateInvoiceInputWithProductAndMemberID",
18
+ "CreateInvoiceInputWithProductAndMemberIDPlan",
19
+ "CreateInvoiceInputWithProductAndMemberIDPlanCustomField",
20
+ "CreateInvoiceInputWithProductAndMemberIDProduct",
21
+ "CreateInvoiceInputWithProductAndEmailAddress",
22
+ "CreateInvoiceInputWithProductAndEmailAddressPlan",
23
+ "CreateInvoiceInputWithProductAndEmailAddressPlanCustomField",
24
+ "CreateInvoiceInputWithProductAndEmailAddressProduct",
25
+ "CreateInvoiceInputWithProductIDAndMemberID",
26
+ "CreateInvoiceInputWithProductIDAndMemberIDPlan",
27
+ "CreateInvoiceInputWithProductIDAndMemberIDPlanCustomField",
28
+ "CreateInvoiceInputWithProductIDAndEmailAddress",
29
+ "CreateInvoiceInputWithProductIDAndEmailAddressPlan",
30
+ "CreateInvoiceInputWithProductIDAndEmailAddressPlanCustomField",
31
+ ]
32
+
33
+
34
+ class CreateInvoiceInputWithProductAndMemberID(TypedDict, total=False):
35
+ collection_method: Required[CollectionMethod]
36
+ """The method of collection for this invoice.
37
+
38
+ If using charge_automatically, you must provide a payment_token.
39
+ """
40
+
41
+ company_id: Required[str]
42
+ """The company ID to create this invoice for."""
43
+
44
+ due_date: Required[Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]]
45
+ """The date the invoice is due, if applicable."""
46
+
47
+ member_id: Required[str]
48
+ """The member ID to create this invoice for.
49
+
50
+ Include this if you want to create an invoice for an existing member. If you do
51
+ not have a member ID, you must provide an email_address and customer_name.
52
+ """
53
+
54
+ plan: Required[CreateInvoiceInputWithProductAndMemberIDPlan]
55
+ """The properties of the plan to create for this invoice."""
56
+
57
+ product: Required[CreateInvoiceInputWithProductAndMemberIDProduct]
58
+ """The properties of the product to create for this invoice.
59
+
60
+ Include this if you want to create an invoice for a new product.
61
+ """
62
+
63
+ charge_buyer_fee: Optional[bool]
64
+ """Whether or not to charge the customer a buyer fee."""
65
+
66
+ customer_name: Optional[str]
67
+ """The name of the customer to create this invoice for.
68
+
69
+ This is required if you want to create an invoice for a customer who does not
70
+ have a member of your company yet.
71
+ """
72
+
73
+ payment_token_id: Optional[str]
74
+ """The payment token ID to use for this invoice.
75
+
76
+ If using charge_automatically, you must provide a payment_token.
77
+ """
78
+
79
+
80
+ class CreateInvoiceInputWithProductAndMemberIDPlanCustomField(TypedDict, total=False):
81
+ field_type: Required[Literal["text"]]
82
+ """The type of the custom field."""
83
+
84
+ name: Required[str]
85
+ """The name of the custom field."""
86
+
87
+ id: Optional[str]
88
+ """The ID of the custom field (if being updated)"""
89
+
90
+ order: Optional[int]
91
+ """The order of the field."""
92
+
93
+ placeholder: Optional[str]
94
+ """The placeholder value of the field."""
95
+
96
+ required: Optional[bool]
97
+ """Whether or not the field is required."""
98
+
99
+
100
+ class CreateInvoiceInputWithProductAndMemberIDPlan(TypedDict, total=False):
101
+ billing_period: Optional[int]
102
+ """The interval at which the plan charges (renewal plans)."""
103
+
104
+ custom_fields: Optional[Iterable[CreateInvoiceInputWithProductAndMemberIDPlanCustomField]]
105
+ """An array of custom field objects."""
106
+
107
+ description: Optional[str]
108
+ """The description of the plan."""
109
+
110
+ expiration_days: Optional[int]
111
+ """The interval at which the plan charges (expiration plans)."""
112
+
113
+ initial_price: Optional[float]
114
+ """An additional amount charged upon first purchase.
115
+
116
+ Use only if a one time payment OR you want to charge an additional amount on top
117
+ of the renewal price. Provided as a number in dollars. Eg: 10.43 for $10.43
118
+ """
119
+
120
+ internal_notes: Optional[str]
121
+ """A personal description or notes section for the business."""
122
+
123
+ plan_type: Optional[PlanType]
124
+ """The type of plan that can be attached to a product"""
125
+
126
+ release_method: Optional[ReleaseMethod]
127
+ """The methods of how a plan can be released."""
128
+
129
+ renewal_price: Optional[float]
130
+ """The amount the customer is charged every billing period.
131
+
132
+ Use only if a recurring payment. Provided as a number in dollars. Eg: 10.43 for
133
+ $10.43
134
+ """
135
+
136
+ stock: Optional[int]
137
+ """The number of units available for purchase."""
138
+
139
+ trial_period_days: Optional[int]
140
+ """The number of free trial days added before a renewal plan."""
141
+
142
+ unlimited_stock: Optional[bool]
143
+ """Limits/doesn't limit the number of units available for purchase."""
144
+
145
+ visibility: Optional[Visibility]
146
+ """Visibility of a resource"""
147
+
148
+
149
+ class CreateInvoiceInputWithProductAndMemberIDProduct(TypedDict, total=False):
150
+ title: Required[str]
151
+ """The title of the product."""
152
+
153
+ product_tax_code_id: Optional[str]
154
+ """The ID of the product tax code to apply to this product."""
155
+
156
+
157
+ class CreateInvoiceInputWithProductAndEmailAddress(TypedDict, total=False):
158
+ collection_method: Required[CollectionMethod]
159
+ """The method of collection for this invoice.
160
+
161
+ If using charge_automatically, you must provide a payment_token.
162
+ """
163
+
164
+ company_id: Required[str]
165
+ """The company ID to create this invoice for."""
166
+
167
+ due_date: Required[Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]]
168
+ """The date the invoice is due, if applicable."""
169
+
170
+ email_address: Required[str]
171
+ """The email address to create this invoice for.
172
+
173
+ This is required if you want to create an invoice for a user who does not have a
174
+ member of your company yet.
175
+ """
176
+
177
+ plan: Required[CreateInvoiceInputWithProductAndEmailAddressPlan]
178
+ """The properties of the plan to create for this invoice."""
179
+
180
+ product: Required[CreateInvoiceInputWithProductAndEmailAddressProduct]
181
+ """The properties of the product to create for this invoice.
182
+
183
+ Include this if you want to create an invoice for a new product.
184
+ """
185
+
186
+ charge_buyer_fee: Optional[bool]
187
+ """Whether or not to charge the customer a buyer fee."""
188
+
189
+ customer_name: Optional[str]
190
+ """The name of the customer to create this invoice for.
191
+
192
+ This is required if you want to create an invoice for a customer who does not
193
+ have a member of your company yet.
194
+ """
195
+
196
+ payment_token_id: Optional[str]
197
+ """The payment token ID to use for this invoice.
198
+
199
+ If using charge_automatically, you must provide a payment_token.
200
+ """
201
+
202
+
203
+ class CreateInvoiceInputWithProductAndEmailAddressPlanCustomField(TypedDict, total=False):
204
+ field_type: Required[Literal["text"]]
205
+ """The type of the custom field."""
206
+
207
+ name: Required[str]
208
+ """The name of the custom field."""
209
+
210
+ id: Optional[str]
211
+ """The ID of the custom field (if being updated)"""
212
+
213
+ order: Optional[int]
214
+ """The order of the field."""
215
+
216
+ placeholder: Optional[str]
217
+ """The placeholder value of the field."""
218
+
219
+ required: Optional[bool]
220
+ """Whether or not the field is required."""
221
+
222
+
223
+ class CreateInvoiceInputWithProductAndEmailAddressPlan(TypedDict, total=False):
224
+ billing_period: Optional[int]
225
+ """The interval at which the plan charges (renewal plans)."""
226
+
227
+ custom_fields: Optional[Iterable[CreateInvoiceInputWithProductAndEmailAddressPlanCustomField]]
228
+ """An array of custom field objects."""
229
+
230
+ description: Optional[str]
231
+ """The description of the plan."""
232
+
233
+ expiration_days: Optional[int]
234
+ """The interval at which the plan charges (expiration plans)."""
235
+
236
+ initial_price: Optional[float]
237
+ """An additional amount charged upon first purchase.
238
+
239
+ Use only if a one time payment OR you want to charge an additional amount on top
240
+ of the renewal price. Provided as a number in dollars. Eg: 10.43 for $10.43
241
+ """
242
+
243
+ internal_notes: Optional[str]
244
+ """A personal description or notes section for the business."""
245
+
246
+ plan_type: Optional[PlanType]
247
+ """The type of plan that can be attached to a product"""
248
+
249
+ release_method: Optional[ReleaseMethod]
250
+ """The methods of how a plan can be released."""
251
+
252
+ renewal_price: Optional[float]
253
+ """The amount the customer is charged every billing period.
254
+
255
+ Use only if a recurring payment. Provided as a number in dollars. Eg: 10.43 for
256
+ $10.43
257
+ """
258
+
259
+ stock: Optional[int]
260
+ """The number of units available for purchase."""
261
+
262
+ trial_period_days: Optional[int]
263
+ """The number of free trial days added before a renewal plan."""
264
+
265
+ unlimited_stock: Optional[bool]
266
+ """Limits/doesn't limit the number of units available for purchase."""
267
+
268
+ visibility: Optional[Visibility]
269
+ """Visibility of a resource"""
270
+
271
+
272
+ class CreateInvoiceInputWithProductAndEmailAddressProduct(TypedDict, total=False):
273
+ title: Required[str]
274
+ """The title of the product."""
275
+
276
+ product_tax_code_id: Optional[str]
277
+ """The ID of the product tax code to apply to this product."""
278
+
279
+
280
+ class CreateInvoiceInputWithProductIDAndMemberID(TypedDict, total=False):
281
+ collection_method: Required[CollectionMethod]
282
+ """The method of collection for this invoice.
283
+
284
+ If using charge_automatically, you must provide a payment_token.
285
+ """
286
+
287
+ company_id: Required[str]
288
+ """The company ID to create this invoice for."""
289
+
290
+ due_date: Required[Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]]
291
+ """The date the invoice is due, if applicable."""
292
+
293
+ member_id: Required[str]
294
+ """The member ID to create this invoice for.
295
+
296
+ Include this if you want to create an invoice for an existing member. If you do
297
+ not have a member ID, you must provide an email_address and customer_name.
298
+ """
299
+
300
+ plan: Required[CreateInvoiceInputWithProductIDAndMemberIDPlan]
301
+ """The properties of the plan to create for this invoice."""
302
+
303
+ product_id: Required[str]
304
+ """The product ID to create this invoice for.
305
+
306
+ Include this if you want to create an invoice for an existing product.
307
+ """
308
+
309
+ charge_buyer_fee: Optional[bool]
310
+ """Whether or not to charge the customer a buyer fee."""
311
+
312
+ customer_name: Optional[str]
313
+ """The name of the customer to create this invoice for.
314
+
315
+ This is required if you want to create an invoice for a customer who does not
316
+ have a member of your company yet.
317
+ """
318
+
319
+ payment_token_id: Optional[str]
320
+ """The payment token ID to use for this invoice.
321
+
322
+ If using charge_automatically, you must provide a payment_token.
323
+ """
324
+
325
+
326
+ class CreateInvoiceInputWithProductIDAndMemberIDPlanCustomField(TypedDict, total=False):
327
+ field_type: Required[Literal["text"]]
328
+ """The type of the custom field."""
329
+
330
+ name: Required[str]
331
+ """The name of the custom field."""
332
+
333
+ id: Optional[str]
334
+ """The ID of the custom field (if being updated)"""
335
+
336
+ order: Optional[int]
337
+ """The order of the field."""
338
+
339
+ placeholder: Optional[str]
340
+ """The placeholder value of the field."""
341
+
342
+ required: Optional[bool]
343
+ """Whether or not the field is required."""
344
+
345
+
346
+ class CreateInvoiceInputWithProductIDAndMemberIDPlan(TypedDict, total=False):
347
+ billing_period: Optional[int]
348
+ """The interval at which the plan charges (renewal plans)."""
349
+
350
+ custom_fields: Optional[Iterable[CreateInvoiceInputWithProductIDAndMemberIDPlanCustomField]]
351
+ """An array of custom field objects."""
352
+
353
+ description: Optional[str]
354
+ """The description of the plan."""
355
+
356
+ expiration_days: Optional[int]
357
+ """The interval at which the plan charges (expiration plans)."""
358
+
359
+ initial_price: Optional[float]
360
+ """An additional amount charged upon first purchase.
361
+
362
+ Use only if a one time payment OR you want to charge an additional amount on top
363
+ of the renewal price. Provided as a number in dollars. Eg: 10.43 for $10.43
364
+ """
365
+
366
+ internal_notes: Optional[str]
367
+ """A personal description or notes section for the business."""
368
+
369
+ plan_type: Optional[PlanType]
370
+ """The type of plan that can be attached to a product"""
371
+
372
+ release_method: Optional[ReleaseMethod]
373
+ """The methods of how a plan can be released."""
374
+
375
+ renewal_price: Optional[float]
376
+ """The amount the customer is charged every billing period.
377
+
378
+ Use only if a recurring payment. Provided as a number in dollars. Eg: 10.43 for
379
+ $10.43
380
+ """
381
+
382
+ stock: Optional[int]
383
+ """The number of units available for purchase."""
384
+
385
+ trial_period_days: Optional[int]
386
+ """The number of free trial days added before a renewal plan."""
387
+
388
+ unlimited_stock: Optional[bool]
389
+ """Limits/doesn't limit the number of units available for purchase."""
390
+
391
+ visibility: Optional[Visibility]
392
+ """Visibility of a resource"""
393
+
394
+
395
+ class CreateInvoiceInputWithProductIDAndEmailAddress(TypedDict, total=False):
396
+ collection_method: Required[CollectionMethod]
397
+ """The method of collection for this invoice.
398
+
399
+ If using charge_automatically, you must provide a payment_token.
400
+ """
401
+
402
+ company_id: Required[str]
403
+ """The company ID to create this invoice for."""
404
+
405
+ due_date: Required[Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]]
406
+ """The date the invoice is due, if applicable."""
407
+
408
+ email_address: Required[str]
409
+ """The email address to create this invoice for.
410
+
411
+ This is required if you want to create an invoice for a user who does not have a
412
+ member of your company yet.
413
+ """
414
+
415
+ plan: Required[CreateInvoiceInputWithProductIDAndEmailAddressPlan]
416
+ """The properties of the plan to create for this invoice."""
417
+
418
+ product_id: Required[str]
419
+ """The product ID to create this invoice for.
420
+
421
+ Include this if you want to create an invoice for an existing product.
422
+ """
423
+
424
+ charge_buyer_fee: Optional[bool]
425
+ """Whether or not to charge the customer a buyer fee."""
426
+
427
+ customer_name: Optional[str]
428
+ """The name of the customer to create this invoice for.
429
+
430
+ This is required if you want to create an invoice for a customer who does not
431
+ have a member of your company yet.
432
+ """
433
+
434
+ payment_token_id: Optional[str]
435
+ """The payment token ID to use for this invoice.
436
+
437
+ If using charge_automatically, you must provide a payment_token.
438
+ """
439
+
440
+
441
+ class CreateInvoiceInputWithProductIDAndEmailAddressPlanCustomField(TypedDict, total=False):
442
+ field_type: Required[Literal["text"]]
443
+ """The type of the custom field."""
444
+
445
+ name: Required[str]
446
+ """The name of the custom field."""
447
+
448
+ id: Optional[str]
449
+ """The ID of the custom field (if being updated)"""
450
+
451
+ order: Optional[int]
452
+ """The order of the field."""
453
+
454
+ placeholder: Optional[str]
455
+ """The placeholder value of the field."""
456
+
457
+ required: Optional[bool]
458
+ """Whether or not the field is required."""
459
+
460
+
461
+ class CreateInvoiceInputWithProductIDAndEmailAddressPlan(TypedDict, total=False):
462
+ billing_period: Optional[int]
463
+ """The interval at which the plan charges (renewal plans)."""
464
+
465
+ custom_fields: Optional[Iterable[CreateInvoiceInputWithProductIDAndEmailAddressPlanCustomField]]
466
+ """An array of custom field objects."""
467
+
468
+ description: Optional[str]
469
+ """The description of the plan."""
470
+
471
+ expiration_days: Optional[int]
472
+ """The interval at which the plan charges (expiration plans)."""
473
+
474
+ initial_price: Optional[float]
475
+ """An additional amount charged upon first purchase.
476
+
477
+ Use only if a one time payment OR you want to charge an additional amount on top
478
+ of the renewal price. Provided as a number in dollars. Eg: 10.43 for $10.43
479
+ """
480
+
481
+ internal_notes: Optional[str]
482
+ """A personal description or notes section for the business."""
483
+
484
+ plan_type: Optional[PlanType]
485
+ """The type of plan that can be attached to a product"""
486
+
487
+ release_method: Optional[ReleaseMethod]
488
+ """The methods of how a plan can be released."""
489
+
490
+ renewal_price: Optional[float]
491
+ """The amount the customer is charged every billing period.
492
+
493
+ Use only if a recurring payment. Provided as a number in dollars. Eg: 10.43 for
494
+ $10.43
495
+ """
496
+
497
+ stock: Optional[int]
498
+ """The number of units available for purchase."""
499
+
500
+ trial_period_days: Optional[int]
501
+ """The number of free trial days added before a renewal plan."""
502
+
503
+ unlimited_stock: Optional[bool]
504
+ """Limits/doesn't limit the number of units available for purchase."""
505
+
506
+ visibility: Optional[Visibility]
507
+ """Visibility of a resource"""
508
+
509
+
510
+ InvoiceCreateParams: TypeAlias = Union[
511
+ CreateInvoiceInputWithProductAndMemberID,
512
+ CreateInvoiceInputWithProductAndEmailAddress,
513
+ CreateInvoiceInputWithProductIDAndMemberID,
514
+ CreateInvoiceInputWithProductIDAndEmailAddress,
515
+ ]
@@ -0,0 +1,26 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from datetime import datetime
4
+ from typing_extensions import Literal
5
+
6
+ from .._models import BaseModel
7
+ from .shared.invoice import Invoice
8
+
9
+ __all__ = ["InvoiceCreatedWebhookEvent"]
10
+
11
+
12
+ class InvoiceCreatedWebhookEvent(BaseModel):
13
+ id: str
14
+ """A unique ID for every single webhook request"""
15
+
16
+ api_version: Literal["v1"]
17
+ """The API version for this webhook"""
18
+
19
+ data: Invoice
20
+ """A statement that defines an amount due by a customer."""
21
+
22
+ timestamp: datetime
23
+ """The timestamp in ISO 8601 format that the webhook was sent at on the server"""
24
+
25
+ type: Literal["invoice.created"]
26
+ """The webhook event type"""
@@ -0,0 +1,53 @@
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 List, Union, Optional
6
+ from datetime import datetime
7
+ from typing_extensions import Literal, Required, Annotated, TypedDict
8
+
9
+ from .._types import SequenceNotStr
10
+ from .._utils import PropertyInfo
11
+ from .shared.direction import Direction
12
+ from .shared.invoice_status import InvoiceStatus
13
+ from .shared.collection_method import CollectionMethod
14
+
15
+ __all__ = ["InvoiceListParams"]
16
+
17
+
18
+ class InvoiceListParams(TypedDict, total=False):
19
+ company_id: Required[str]
20
+ """The ID of the company to list invoices for"""
21
+
22
+ after: Optional[str]
23
+ """Returns the elements in the list that come after the specified cursor."""
24
+
25
+ before: Optional[str]
26
+ """Returns the elements in the list that come before the specified cursor."""
27
+
28
+ collection_methods: Optional[List[CollectionMethod]]
29
+ """Filter invoices by their collection method"""
30
+
31
+ created_after: Annotated[Union[str, datetime, None], PropertyInfo(format="iso8601")]
32
+ """The minimum creation date to filter by"""
33
+
34
+ created_before: Annotated[Union[str, datetime, None], PropertyInfo(format="iso8601")]
35
+ """The maximum creation date to filter by"""
36
+
37
+ direction: Optional[Direction]
38
+ """The direction of the sort."""
39
+
40
+ first: Optional[int]
41
+ """Returns the first _n_ elements from the list."""
42
+
43
+ last: Optional[int]
44
+ """Returns the last _n_ elements from the list."""
45
+
46
+ order: Optional[Literal["id", "created_at", "due_date"]]
47
+ """Which columns can be used to sort."""
48
+
49
+ product_ids: Optional[SequenceNotStr[str]]
50
+ """Return only invoices created for these specific product ids"""
51
+
52
+ statuses: Optional[List[InvoiceStatus]]
53
+ """The statuses to filter the invoices by"""