whop_sdk 0.0.2 → 0.0.4

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 (338) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +51 -0
  3. data/README.md +1 -1
  4. data/lib/whop_sdk/client.rb +24 -0
  5. data/lib/whop_sdk/internal/transport/pooled_net_requester.rb +30 -24
  6. data/lib/whop_sdk/models/app_build_create_params.rb +53 -29
  7. data/lib/whop_sdk/models/app_update_params.rb +53 -29
  8. data/lib/whop_sdk/models/assessment_question_types.rb +18 -0
  9. data/lib/whop_sdk/models/billing_reasons.rb +20 -0
  10. data/lib/whop_sdk/models/card_brands.rb +30 -0
  11. data/lib/whop_sdk/models/checkout_configuration.rb +10 -7
  12. data/lib/whop_sdk/models/checkout_configuration_create_params.rb +251 -38
  13. data/lib/whop_sdk/models/checkout_configuration_list_response.rb +10 -7
  14. data/lib/whop_sdk/models/company.rb +13 -1
  15. data/lib/whop_sdk/models/company_create_params.rb +46 -0
  16. data/lib/whop_sdk/models/company_list_params.rb +62 -0
  17. data/lib/whop_sdk/models/company_list_response.rb +175 -0
  18. data/lib/whop_sdk/models/course.rb +230 -0
  19. data/lib/whop_sdk/models/course_chapter.rb +72 -0
  20. data/lib/whop_sdk/models/course_chapter_create_params.rb +30 -0
  21. data/lib/whop_sdk/models/course_chapter_delete_params.rb +14 -0
  22. data/lib/whop_sdk/models/course_chapter_delete_response.rb +8 -0
  23. data/lib/whop_sdk/models/course_chapter_list_params.rb +54 -0
  24. data/lib/whop_sdk/models/course_chapter_list_response.rb +35 -0
  25. data/lib/whop_sdk/models/course_chapter_retrieve_params.rb +14 -0
  26. data/lib/whop_sdk/models/course_chapter_update_params.rb +22 -0
  27. data/lib/whop_sdk/models/course_create_params.rb +127 -0
  28. data/lib/whop_sdk/models/course_delete_params.rb +14 -0
  29. data/lib/whop_sdk/models/course_delete_response.rb +8 -0
  30. data/lib/whop_sdk/models/course_lesson_create_params.rb +54 -0
  31. data/lib/whop_sdk/models/course_lesson_delete_params.rb +14 -0
  32. data/lib/whop_sdk/models/course_lesson_delete_response.rb +8 -0
  33. data/lib/whop_sdk/models/course_lesson_list_params.rb +62 -0
  34. data/lib/whop_sdk/models/course_lesson_list_response.rb +71 -0
  35. data/lib/whop_sdk/models/course_lesson_retrieve_params.rb +14 -0
  36. data/lib/whop_sdk/models/course_lesson_update_params.rb +399 -0
  37. data/lib/whop_sdk/models/course_list_params.rb +62 -0
  38. data/lib/whop_sdk/models/course_list_response.rb +148 -0
  39. data/lib/whop_sdk/models/course_retrieve_params.rb +14 -0
  40. data/lib/whop_sdk/models/course_student_list_params.rb +62 -0
  41. data/lib/whop_sdk/models/course_student_list_response.rb +97 -0
  42. data/lib/whop_sdk/models/course_student_retrieve_params.rb +14 -0
  43. data/lib/whop_sdk/models/course_student_retrieve_response.rb +149 -0
  44. data/lib/whop_sdk/models/course_update_params.rb +221 -0
  45. data/lib/whop_sdk/models/experience_duplicate_params.rb +22 -0
  46. data/lib/whop_sdk/models/experience_update_params.rb +53 -29
  47. data/lib/whop_sdk/models/forum_post.rb +17 -1
  48. data/lib/whop_sdk/models/forum_post_create_params.rb +51 -27
  49. data/lib/whop_sdk/models/forum_post_list_response.rb +17 -1
  50. data/lib/whop_sdk/models/forum_post_update_params.rb +104 -0
  51. data/lib/whop_sdk/models/invoice.rb +6 -2
  52. data/lib/whop_sdk/models/invoice_create_params.rb +48 -32
  53. data/lib/whop_sdk/models/invoice_list_item.rb +6 -2
  54. data/lib/whop_sdk/models/languages.rb +36 -0
  55. data/lib/whop_sdk/models/ledger_account_retrieve_response.rb +9 -0
  56. data/lib/whop_sdk/models/lesson.rb +373 -0
  57. data/lib/whop_sdk/models/lesson_types.rb +20 -0
  58. data/lib/whop_sdk/models/lesson_visibilities.rb +17 -0
  59. data/lib/whop_sdk/models/member_list_params.rb +9 -1
  60. data/lib/whop_sdk/models/membership.rb +31 -1
  61. data/lib/whop_sdk/models/membership_list_params.rb +16 -8
  62. data/lib/whop_sdk/models/membership_list_response.rb +31 -1
  63. data/lib/whop_sdk/models/message_create_params.rb +51 -27
  64. data/lib/whop_sdk/models/message_update_params.rb +92 -0
  65. data/lib/whop_sdk/models/payment.rb +34 -22
  66. data/lib/whop_sdk/models/payment_list_params.rb +3 -18
  67. data/lib/whop_sdk/models/payment_list_response.rb +34 -22
  68. data/lib/whop_sdk/models/payment_method_types.rb +99 -0
  69. data/lib/whop_sdk/models/plan.rb +72 -1
  70. data/lib/whop_sdk/models/plan_create_params.rb +133 -24
  71. data/lib/whop_sdk/models/plan_list_response.rb +75 -1
  72. data/lib/whop_sdk/models/plan_update_params.rb +131 -22
  73. data/lib/whop_sdk/models/product.rb +11 -1
  74. data/lib/whop_sdk/models/product_create_params.rb +1 -45
  75. data/lib/whop_sdk/models/product_list_item.rb +14 -1
  76. data/lib/whop_sdk/models/product_update_params.rb +76 -23
  77. data/lib/whop_sdk/models/promo_code.rb +211 -0
  78. data/lib/whop_sdk/models/promo_code_create_params.rb +140 -0
  79. data/lib/whop_sdk/models/promo_code_delete_params.rb +14 -0
  80. data/lib/whop_sdk/models/promo_code_delete_response.rb +8 -0
  81. data/lib/whop_sdk/models/promo_code_list_params.rb +78 -0
  82. data/lib/whop_sdk/models/promo_code_list_response.rb +181 -0
  83. data/lib/whop_sdk/models/promo_code_retrieve_params.rb +14 -0
  84. data/lib/whop_sdk/models/promo_code_status.rb +17 -0
  85. data/lib/whop_sdk/models/promo_duration.rb +17 -0
  86. data/lib/whop_sdk/models/review_list_params.rb +70 -0
  87. data/lib/whop_sdk/models/review_list_response.rb +183 -0
  88. data/lib/whop_sdk/models/review_retrieve_params.rb +14 -0
  89. data/lib/whop_sdk/models/review_retrieve_response.rb +251 -0
  90. data/lib/whop_sdk/models/review_status.rb +17 -0
  91. data/lib/whop_sdk/models/transfer.rb +9 -1
  92. data/lib/whop_sdk/models/transfer_create_params.rb +9 -1
  93. data/lib/whop_sdk/models/transfer_list_response.rb +9 -1
  94. data/lib/whop_sdk/models.rb +84 -0
  95. data/lib/whop_sdk/resources/app_builds.rb +1 -1
  96. data/lib/whop_sdk/resources/apps.rb +1 -1
  97. data/lib/whop_sdk/resources/checkout_configurations.rb +8 -6
  98. data/lib/whop_sdk/resources/companies.rb +70 -0
  99. data/lib/whop_sdk/resources/course_chapters.rb +151 -0
  100. data/lib/whop_sdk/resources/course_lesson_interactions.rb +2 -2
  101. data/lib/whop_sdk/resources/course_lessons.rb +182 -0
  102. data/lib/whop_sdk/resources/course_students.rb +76 -0
  103. data/lib/whop_sdk/resources/courses.rb +185 -0
  104. data/lib/whop_sdk/resources/experiences.rb +34 -1
  105. data/lib/whop_sdk/resources/forum_posts.rb +34 -1
  106. data/lib/whop_sdk/resources/invoices.rb +11 -11
  107. data/lib/whop_sdk/resources/members.rb +3 -1
  108. data/lib/whop_sdk/resources/memberships.rb +6 -4
  109. data/lib/whop_sdk/resources/messages.rb +29 -1
  110. data/lib/whop_sdk/resources/payments.rb +1 -1
  111. data/lib/whop_sdk/resources/plans.rb +25 -5
  112. data/lib/whop_sdk/resources/products.rb +5 -7
  113. data/lib/whop_sdk/resources/promo_codes.rb +161 -0
  114. data/lib/whop_sdk/resources/reviews.rb +68 -0
  115. data/lib/whop_sdk/resources/transfers.rb +3 -1
  116. data/lib/whop_sdk/version.rb +1 -1
  117. data/lib/whop_sdk.rb +61 -1
  118. data/rbi/whop_sdk/client.rbi +18 -0
  119. data/rbi/whop_sdk/models/app_build_create_params.rbi +80 -40
  120. data/rbi/whop_sdk/models/app_update_params.rbi +86 -37
  121. data/rbi/whop_sdk/models/assessment_question_types.rbi +31 -0
  122. data/rbi/whop_sdk/models/billing_reasons.rbi +27 -0
  123. data/rbi/whop_sdk/models/card_brands.rbi +35 -0
  124. data/rbi/whop_sdk/models/checkout_configuration.rbi +4 -2
  125. data/rbi/whop_sdk/models/checkout_configuration_create_params.rbi +371 -62
  126. data/rbi/whop_sdk/models/checkout_configuration_list_response.rbi +4 -2
  127. data/rbi/whop_sdk/models/company.rbi +10 -0
  128. data/rbi/whop_sdk/models/company_create_params.rbi +67 -0
  129. data/rbi/whop_sdk/models/company_list_params.rbi +83 -0
  130. data/rbi/whop_sdk/models/company_list_response.rbi +235 -0
  131. data/rbi/whop_sdk/models/course.rbi +313 -0
  132. data/rbi/whop_sdk/models/course_chapter.rbi +101 -0
  133. data/rbi/whop_sdk/models/course_chapter_create_params.rbi +51 -0
  134. data/rbi/whop_sdk/models/course_chapter_delete_params.rbi +27 -0
  135. data/rbi/whop_sdk/models/course_chapter_delete_response.rbi +8 -0
  136. data/rbi/whop_sdk/models/course_chapter_list_params.rbi +75 -0
  137. data/rbi/whop_sdk/models/course_chapter_list_response.rbi +47 -0
  138. data/rbi/whop_sdk/models/course_chapter_retrieve_params.rbi +30 -0
  139. data/rbi/whop_sdk/models/course_chapter_update_params.rbi +40 -0
  140. data/rbi/whop_sdk/models/course_create_params.rbi +197 -0
  141. data/rbi/whop_sdk/models/course_delete_params.rbi +27 -0
  142. data/rbi/whop_sdk/models/course_delete_response.rbi +7 -0
  143. data/rbi/whop_sdk/models/course_lesson_create_params.rbi +75 -0
  144. data/rbi/whop_sdk/models/course_lesson_delete_params.rbi +27 -0
  145. data/rbi/whop_sdk/models/course_lesson_delete_response.rbi +8 -0
  146. data/rbi/whop_sdk/models/course_lesson_list_params.rbi +83 -0
  147. data/rbi/whop_sdk/models/course_lesson_list_response.rbi +91 -0
  148. data/rbi/whop_sdk/models/course_lesson_retrieve_params.rbi +27 -0
  149. data/rbi/whop_sdk/models/course_lesson_update_params.rbi +677 -0
  150. data/rbi/whop_sdk/models/course_list_params.rbi +83 -0
  151. data/rbi/whop_sdk/models/course_list_response.rbi +198 -0
  152. data/rbi/whop_sdk/models/course_retrieve_params.rbi +27 -0
  153. data/rbi/whop_sdk/models/course_student_list_params.rbi +83 -0
  154. data/rbi/whop_sdk/models/course_student_list_response.rbi +142 -0
  155. data/rbi/whop_sdk/models/course_student_retrieve_params.rbi +30 -0
  156. data/rbi/whop_sdk/models/course_student_retrieve_response.rbi +250 -0
  157. data/rbi/whop_sdk/models/course_update_params.rbi +339 -0
  158. data/rbi/whop_sdk/models/experience_duplicate_params.rbi +40 -0
  159. data/rbi/whop_sdk/models/experience_update_params.rbi +84 -38
  160. data/rbi/whop_sdk/models/forum_post.rbi +16 -0
  161. data/rbi/whop_sdk/models/forum_post_create_params.rbi +85 -32
  162. data/rbi/whop_sdk/models/forum_post_list_response.rbi +16 -0
  163. data/rbi/whop_sdk/models/forum_post_update_params.rbi +177 -0
  164. data/rbi/whop_sdk/models/invoice.rbi +4 -2
  165. data/rbi/whop_sdk/models/invoice_create_params.rbi +58 -44
  166. data/rbi/whop_sdk/models/invoice_list_item.rbi +4 -2
  167. data/rbi/whop_sdk/models/languages.rbi +40 -0
  168. data/rbi/whop_sdk/models/ledger_account_retrieve_response.rbi +45 -0
  169. data/rbi/whop_sdk/models/lesson.rbi +521 -0
  170. data/rbi/whop_sdk/models/lesson_types.rbi +25 -0
  171. data/rbi/whop_sdk/models/lesson_visibilities.rbi +23 -0
  172. data/rbi/whop_sdk/models/member_list_params.rbi +8 -0
  173. data/rbi/whop_sdk/models/membership.rbi +40 -0
  174. data/rbi/whop_sdk/models/membership_list_params.rbi +16 -8
  175. data/rbi/whop_sdk/models/membership_list_response.rbi +47 -0
  176. data/rbi/whop_sdk/models/message_create_params.rbi +85 -32
  177. data/rbi/whop_sdk/models/message_update_params.rbi +167 -0
  178. data/rbi/whop_sdk/models/payment.rbi +42 -25
  179. data/rbi/whop_sdk/models/payment_list_params.rbi +3 -63
  180. data/rbi/whop_sdk/models/payment_list_response.rbi +42 -25
  181. data/rbi/whop_sdk/models/payment_method_types.rbi +118 -0
  182. data/rbi/whop_sdk/models/plan.rbi +106 -0
  183. data/rbi/whop_sdk/models/plan_create_params.rbi +212 -34
  184. data/rbi/whop_sdk/models/plan_list_response.rbi +118 -0
  185. data/rbi/whop_sdk/models/plan_update_params.rbi +210 -32
  186. data/rbi/whop_sdk/models/product.rbi +12 -0
  187. data/rbi/whop_sdk/models/product_create_params.rbi +0 -74
  188. data/rbi/whop_sdk/models/product_list_item.rbi +12 -0
  189. data/rbi/whop_sdk/models/product_update_params.rbi +136 -33
  190. data/rbi/whop_sdk/models/promo_code.rbi +248 -0
  191. data/rbi/whop_sdk/models/promo_code_create_params.rbi +161 -0
  192. data/rbi/whop_sdk/models/promo_code_delete_params.rbi +27 -0
  193. data/rbi/whop_sdk/models/promo_code_delete_response.rbi +8 -0
  194. data/rbi/whop_sdk/models/promo_code_list_params.rbi +99 -0
  195. data/rbi/whop_sdk/models/promo_code_list_response.rbi +222 -0
  196. data/rbi/whop_sdk/models/promo_code_retrieve_params.rbi +27 -0
  197. data/rbi/whop_sdk/models/promo_code_status.rbi +21 -0
  198. data/rbi/whop_sdk/models/promo_duration.rbi +21 -0
  199. data/rbi/whop_sdk/models/review_list_params.rbi +91 -0
  200. data/rbi/whop_sdk/models/review_list_response.rbi +243 -0
  201. data/rbi/whop_sdk/models/review_retrieve_params.rbi +27 -0
  202. data/rbi/whop_sdk/models/review_retrieve_response.rbi +354 -0
  203. data/rbi/whop_sdk/models/review_status.rbi +21 -0
  204. data/rbi/whop_sdk/models/transfer.rbi +8 -0
  205. data/rbi/whop_sdk/models/transfer_create_params.rbi +8 -0
  206. data/rbi/whop_sdk/models/transfer_list_response.rbi +8 -0
  207. data/rbi/whop_sdk/models.rbi +84 -0
  208. data/rbi/whop_sdk/resources/app_builds.rbi +5 -1
  209. data/rbi/whop_sdk/resources/apps.rbi +7 -1
  210. data/rbi/whop_sdk/resources/checkout_configurations.rbi +8 -7
  211. data/rbi/whop_sdk/resources/companies.rbi +63 -0
  212. data/rbi/whop_sdk/resources/course_chapters.rbi +115 -0
  213. data/rbi/whop_sdk/resources/course_lesson_interactions.rbi +2 -2
  214. data/rbi/whop_sdk/resources/course_lessons.rbi +182 -0
  215. data/rbi/whop_sdk/resources/course_students.rbi +65 -0
  216. data/rbi/whop_sdk/resources/courses.rbi +172 -0
  217. data/rbi/whop_sdk/resources/experiences.rbi +32 -1
  218. data/rbi/whop_sdk/resources/forum_posts.rbi +40 -1
  219. data/rbi/whop_sdk/resources/invoices.rbi +18 -18
  220. data/rbi/whop_sdk/resources/members.rbi +3 -0
  221. data/rbi/whop_sdk/resources/memberships.rbi +6 -3
  222. data/rbi/whop_sdk/resources/messages.rbi +36 -1
  223. data/rbi/whop_sdk/resources/payments.rbi +1 -3
  224. data/rbi/whop_sdk/resources/plans.rbi +57 -3
  225. data/rbi/whop_sdk/resources/products.rbi +10 -8
  226. data/rbi/whop_sdk/resources/promo_codes.rbi +147 -0
  227. data/rbi/whop_sdk/resources/reviews.rbi +56 -0
  228. data/rbi/whop_sdk/resources/transfers.rbi +3 -0
  229. data/sig/whop_sdk/client.rbs +12 -0
  230. data/sig/whop_sdk/models/app_build_create_params.rbs +29 -10
  231. data/sig/whop_sdk/models/app_update_params.rbs +29 -10
  232. data/sig/whop_sdk/models/assessment_question_types.rbs +17 -0
  233. data/sig/whop_sdk/models/billing_reasons.rbs +24 -0
  234. data/sig/whop_sdk/models/card_brands.rbs +44 -0
  235. data/sig/whop_sdk/models/checkout_configuration_create_params.rbs +159 -21
  236. data/sig/whop_sdk/models/company.rbs +5 -0
  237. data/sig/whop_sdk/models/company_create_params.rbs +41 -0
  238. data/sig/whop_sdk/models/company_list_params.rbs +51 -0
  239. data/sig/whop_sdk/models/company_list_response.rbs +109 -0
  240. data/sig/whop_sdk/models/course.rbs +171 -0
  241. data/sig/whop_sdk/models/course_chapter.rbs +49 -0
  242. data/sig/whop_sdk/models/course_chapter_create_params.rbs +28 -0
  243. data/sig/whop_sdk/models/course_chapter_delete_params.rbs +15 -0
  244. data/sig/whop_sdk/models/course_chapter_delete_response.rbs +5 -0
  245. data/sig/whop_sdk/models/course_chapter_list_params.rbs +46 -0
  246. data/sig/whop_sdk/models/course_chapter_list_response.rbs +18 -0
  247. data/sig/whop_sdk/models/course_chapter_retrieve_params.rbs +15 -0
  248. data/sig/whop_sdk/models/course_chapter_update_params.rbs +23 -0
  249. data/sig/whop_sdk/models/course_create_params.rbs +87 -0
  250. data/sig/whop_sdk/models/course_delete_params.rbs +15 -0
  251. data/sig/whop_sdk/models/course_delete_response.rbs +5 -0
  252. data/sig/whop_sdk/models/course_lesson_create_params.rbs +46 -0
  253. data/sig/whop_sdk/models/course_lesson_delete_params.rbs +15 -0
  254. data/sig/whop_sdk/models/course_lesson_delete_response.rbs +5 -0
  255. data/sig/whop_sdk/models/course_lesson_list_params.rbs +51 -0
  256. data/sig/whop_sdk/models/course_lesson_list_response.rbs +50 -0
  257. data/sig/whop_sdk/models/course_lesson_retrieve_params.rbs +15 -0
  258. data/sig/whop_sdk/models/course_lesson_update_params.rbs +248 -0
  259. data/sig/whop_sdk/models/course_list_params.rbs +51 -0
  260. data/sig/whop_sdk/models/course_list_response.rbs +102 -0
  261. data/sig/whop_sdk/models/course_retrieve_params.rbs +15 -0
  262. data/sig/whop_sdk/models/course_student_list_params.rbs +51 -0
  263. data/sig/whop_sdk/models/course_student_list_response.rbs +64 -0
  264. data/sig/whop_sdk/models/course_student_retrieve_params.rbs +15 -0
  265. data/sig/whop_sdk/models/course_student_retrieve_response.rbs +106 -0
  266. data/sig/whop_sdk/models/course_update_params.rbs +156 -0
  267. data/sig/whop_sdk/models/experience_duplicate_params.rbs +23 -0
  268. data/sig/whop_sdk/models/experience_update_params.rbs +29 -10
  269. data/sig/whop_sdk/models/forum_post.rbs +10 -0
  270. data/sig/whop_sdk/models/forum_post_create_params.rbs +29 -10
  271. data/sig/whop_sdk/models/forum_post_list_response.rbs +10 -0
  272. data/sig/whop_sdk/models/forum_post_update_params.rbs +72 -0
  273. data/sig/whop_sdk/models/invoice_create_params.rbs +28 -18
  274. data/sig/whop_sdk/models/languages.rbs +56 -0
  275. data/sig/whop_sdk/models/ledger_account_retrieve_response.rbs +20 -1
  276. data/sig/whop_sdk/models/lesson.rbs +248 -0
  277. data/sig/whop_sdk/models/lesson_types.rbs +19 -0
  278. data/sig/whop_sdk/models/lesson_visibilities.rbs +14 -0
  279. data/sig/whop_sdk/models/member_list_params.rbs +6 -1
  280. data/sig/whop_sdk/models/membership.rbs +17 -0
  281. data/sig/whop_sdk/models/membership_list_params.rbs +11 -6
  282. data/sig/whop_sdk/models/membership_list_response.rbs +17 -0
  283. data/sig/whop_sdk/models/message_create_params.rbs +29 -10
  284. data/sig/whop_sdk/models/message_update_params.rbs +67 -0
  285. data/sig/whop_sdk/models/payment.rbs +17 -12
  286. data/sig/whop_sdk/models/payment_list_params.rbs +4 -25
  287. data/sig/whop_sdk/models/payment_list_response.rbs +17 -12
  288. data/sig/whop_sdk/models/payment_method_types.rbs +182 -0
  289. data/sig/whop_sdk/models/plan.rbs +47 -0
  290. data/sig/whop_sdk/models/plan_create_params.rbs +81 -10
  291. data/sig/whop_sdk/models/plan_list_response.rbs +47 -0
  292. data/sig/whop_sdk/models/plan_update_params.rbs +81 -10
  293. data/sig/whop_sdk/models/product.rbs +5 -0
  294. data/sig/whop_sdk/models/product_create_params.rbs +0 -22
  295. data/sig/whop_sdk/models/product_list_item.rbs +5 -0
  296. data/sig/whop_sdk/models/product_update_params.rbs +46 -10
  297. data/sig/whop_sdk/models/promo_code.rbs +134 -0
  298. data/sig/whop_sdk/models/promo_code_create_params.rbs +96 -0
  299. data/sig/whop_sdk/models/promo_code_delete_params.rbs +15 -0
  300. data/sig/whop_sdk/models/promo_code_delete_response.rbs +5 -0
  301. data/sig/whop_sdk/models/promo_code_list_params.rbs +61 -0
  302. data/sig/whop_sdk/models/promo_code_list_response.rbs +117 -0
  303. data/sig/whop_sdk/models/promo_code_retrieve_params.rbs +15 -0
  304. data/sig/whop_sdk/models/promo_code_status.rbs +15 -0
  305. data/sig/whop_sdk/models/promo_duration.rbs +15 -0
  306. data/sig/whop_sdk/models/review_list_params.rbs +56 -0
  307. data/sig/whop_sdk/models/review_list_response.rbs +116 -0
  308. data/sig/whop_sdk/models/review_retrieve_params.rbs +15 -0
  309. data/sig/whop_sdk/models/review_retrieve_response.rbs +152 -0
  310. data/sig/whop_sdk/models/review_status.rbs +15 -0
  311. data/sig/whop_sdk/models/transfer.rbs +5 -0
  312. data/sig/whop_sdk/models/transfer_create_params.rbs +5 -0
  313. data/sig/whop_sdk/models/transfer_list_response.rbs +5 -0
  314. data/sig/whop_sdk/models.rbs +84 -0
  315. data/sig/whop_sdk/resources/app_builds.rbs +1 -1
  316. data/sig/whop_sdk/resources/apps.rbs +1 -1
  317. data/sig/whop_sdk/resources/checkout_configurations.rbs +2 -2
  318. data/sig/whop_sdk/resources/companies.rbs +18 -0
  319. data/sig/whop_sdk/resources/course_chapters.rbs +35 -0
  320. data/sig/whop_sdk/resources/course_lessons.rbs +49 -0
  321. data/sig/whop_sdk/resources/course_students.rbs +22 -0
  322. data/sig/whop_sdk/resources/courses.rbs +49 -0
  323. data/sig/whop_sdk/resources/experiences.rbs +7 -1
  324. data/sig/whop_sdk/resources/forum_posts.rbs +10 -1
  325. data/sig/whop_sdk/resources/invoices.rbs +5 -5
  326. data/sig/whop_sdk/resources/members.rbs +1 -0
  327. data/sig/whop_sdk/resources/memberships.rbs +2 -1
  328. data/sig/whop_sdk/resources/messages.rbs +9 -1
  329. data/sig/whop_sdk/resources/payments.rbs +1 -1
  330. data/sig/whop_sdk/resources/plans.rbs +12 -2
  331. data/sig/whop_sdk/resources/products.rbs +2 -3
  332. data/sig/whop_sdk/resources/promo_codes.rbs +45 -0
  333. data/sig/whop_sdk/resources/reviews.rbs +23 -0
  334. data/sig/whop_sdk/resources/transfers.rbs +1 -0
  335. metadata +213 -5
  336. data/lib/whop_sdk/models/invoice_create_response.rb +0 -27
  337. data/rbi/whop_sdk/models/invoice_create_response.rbi +0 -49
  338. data/sig/whop_sdk/models/invoice_create_response.rbs +0 -19
@@ -34,13 +34,17 @@ module WhopSDK
34
34
  attr_accessor :expiration_days
35
35
 
36
36
  # An image for the plan. This will be visible on the product page to customers.
37
- sig { returns(T.nilable(WhopSDK::PlanUpdateParams::Image)) }
38
- attr_reader :image
39
-
40
37
  sig do
41
- params(image: T.nilable(WhopSDK::PlanUpdateParams::Image::OrHash)).void
38
+ returns(
39
+ T.nilable(
40
+ T.any(
41
+ WhopSDK::PlanUpdateParams::Image::AttachmentInputWithDirectUploadID,
42
+ WhopSDK::PlanUpdateParams::Image::AttachmentInputWithID
43
+ )
44
+ )
45
+ )
42
46
  end
43
- attr_writer :image
47
+ attr_accessor :image
44
48
 
45
49
  # An additional amount charged upon first purchase.
46
50
  sig { returns(T.nilable(Float)) }
@@ -59,10 +63,43 @@ module WhopSDK
59
63
  sig { returns(T.nilable(WhopSDK::TaxType::OrSymbol)) }
60
64
  attr_accessor :override_tax_type
61
65
 
66
+ # The explicit payment method configuration for the plan. If sent as null, the
67
+ # custom configuration will be removed.
68
+ sig do
69
+ returns(
70
+ T.nilable(WhopSDK::PlanUpdateParams::PaymentMethodConfiguration)
71
+ )
72
+ end
73
+ attr_reader :payment_method_configuration
74
+
75
+ sig do
76
+ params(
77
+ payment_method_configuration:
78
+ T.nilable(
79
+ WhopSDK::PlanUpdateParams::PaymentMethodConfiguration::OrHash
80
+ )
81
+ ).void
82
+ end
83
+ attr_writer :payment_method_configuration
84
+
62
85
  # The amount the customer is charged every billing period.
63
86
  sig { returns(T.nilable(Float)) }
64
87
  attr_accessor :renewal_price
65
88
 
89
+ # The number of units available for purchase.
90
+ sig { returns(T.nilable(Integer)) }
91
+ attr_accessor :stock
92
+
93
+ # The price to display with a strikethrough for the initial price. Provided as a
94
+ # number in dollars. Eg: 19.99 for $19.99
95
+ sig { returns(T.nilable(Float)) }
96
+ attr_accessor :strike_through_initial_price
97
+
98
+ # The price to display with a strikethrough for the renewal price. Provided as a
99
+ # number in dollars. Eg: 19.99 for $19.99
100
+ sig { returns(T.nilable(Float)) }
101
+ attr_accessor :strike_through_renewal_price
102
+
66
103
  # The title of the plan. This will be visible on the product page to customers.
67
104
  sig { returns(T.nilable(String)) }
68
105
  attr_accessor :title
@@ -71,6 +108,10 @@ module WhopSDK
71
108
  sig { returns(T.nilable(Integer)) }
72
109
  attr_accessor :trial_period_days
73
110
 
111
+ # Limits/doesn't limit the number of units available for purchase.
112
+ sig { returns(T.nilable(T::Boolean)) }
113
+ attr_accessor :unlimited_stock
114
+
74
115
  # Visibility of a resource
75
116
  sig { returns(T.nilable(WhopSDK::Visibility::OrSymbol)) }
76
117
  attr_accessor :visibility
@@ -83,14 +124,28 @@ module WhopSDK
83
124
  T.nilable(T::Array[WhopSDK::PlanUpdateParams::CustomField::OrHash]),
84
125
  description: T.nilable(String),
85
126
  expiration_days: T.nilable(Integer),
86
- image: T.nilable(WhopSDK::PlanUpdateParams::Image::OrHash),
127
+ image:
128
+ T.nilable(
129
+ T.any(
130
+ WhopSDK::PlanUpdateParams::Image::AttachmentInputWithDirectUploadID::OrHash,
131
+ WhopSDK::PlanUpdateParams::Image::AttachmentInputWithID::OrHash
132
+ )
133
+ ),
87
134
  initial_price: T.nilable(Float),
88
135
  internal_notes: T.nilable(String),
89
136
  offer_cancel_discount: T.nilable(T::Boolean),
90
137
  override_tax_type: T.nilable(WhopSDK::TaxType::OrSymbol),
138
+ payment_method_configuration:
139
+ T.nilable(
140
+ WhopSDK::PlanUpdateParams::PaymentMethodConfiguration::OrHash
141
+ ),
91
142
  renewal_price: T.nilable(Float),
143
+ stock: T.nilable(Integer),
144
+ strike_through_initial_price: T.nilable(Float),
145
+ strike_through_renewal_price: T.nilable(Float),
92
146
  title: T.nilable(String),
93
147
  trial_period_days: T.nilable(Integer),
148
+ unlimited_stock: T.nilable(T::Boolean),
94
149
  visibility: T.nilable(WhopSDK::Visibility::OrSymbol),
95
150
  request_options: WhopSDK::RequestOptions::OrHash
96
151
  ).returns(T.attached_class)
@@ -117,12 +172,25 @@ module WhopSDK
117
172
  # Whether or not the tax is included in a plan's price (or if it hasn't been set
118
173
  # up)
119
174
  override_tax_type: nil,
175
+ # The explicit payment method configuration for the plan. If sent as null, the
176
+ # custom configuration will be removed.
177
+ payment_method_configuration: nil,
120
178
  # The amount the customer is charged every billing period.
121
179
  renewal_price: nil,
180
+ # The number of units available for purchase.
181
+ stock: nil,
182
+ # The price to display with a strikethrough for the initial price. Provided as a
183
+ # number in dollars. Eg: 19.99 for $19.99
184
+ strike_through_initial_price: nil,
185
+ # The price to display with a strikethrough for the renewal price. Provided as a
186
+ # number in dollars. Eg: 19.99 for $19.99
187
+ strike_through_renewal_price: nil,
122
188
  # The title of the plan. This will be visible on the product page to customers.
123
189
  title: nil,
124
190
  # The number of free trial days added before a renewal plan.
125
191
  trial_period_days: nil,
192
+ # Limits/doesn't limit the number of units available for purchase.
193
+ unlimited_stock: nil,
126
194
  # Visibility of a resource
127
195
  visibility: nil,
128
196
  request_options: {}
@@ -138,14 +206,26 @@ module WhopSDK
138
206
  T.nilable(T::Array[WhopSDK::PlanUpdateParams::CustomField]),
139
207
  description: T.nilable(String),
140
208
  expiration_days: T.nilable(Integer),
141
- image: T.nilable(WhopSDK::PlanUpdateParams::Image),
209
+ image:
210
+ T.nilable(
211
+ T.any(
212
+ WhopSDK::PlanUpdateParams::Image::AttachmentInputWithDirectUploadID,
213
+ WhopSDK::PlanUpdateParams::Image::AttachmentInputWithID
214
+ )
215
+ ),
142
216
  initial_price: T.nilable(Float),
143
217
  internal_notes: T.nilable(String),
144
218
  offer_cancel_discount: T.nilable(T::Boolean),
145
219
  override_tax_type: T.nilable(WhopSDK::TaxType::OrSymbol),
220
+ payment_method_configuration:
221
+ T.nilable(WhopSDK::PlanUpdateParams::PaymentMethodConfiguration),
146
222
  renewal_price: T.nilable(Float),
223
+ stock: T.nilable(Integer),
224
+ strike_through_initial_price: T.nilable(Float),
225
+ strike_through_renewal_price: T.nilable(Float),
147
226
  title: T.nilable(String),
148
227
  trial_period_days: T.nilable(Integer),
228
+ unlimited_stock: T.nilable(T::Boolean),
149
229
  visibility: T.nilable(WhopSDK::Visibility::OrSymbol),
150
230
  request_options: WhopSDK::RequestOptions
151
231
  }
@@ -229,46 +309,144 @@ module WhopSDK
229
309
  end
230
310
  end
231
311
 
232
- class Image < WhopSDK::Internal::Type::BaseModel
233
- OrHash =
312
+ # An image for the plan. This will be visible on the product page to customers.
313
+ module Image
314
+ extend WhopSDK::Internal::Type::Union
315
+
316
+ Variants =
234
317
  T.type_alias do
235
- T.any(WhopSDK::PlanUpdateParams::Image, WhopSDK::Internal::AnyHash)
318
+ T.any(
319
+ WhopSDK::PlanUpdateParams::Image::AttachmentInputWithDirectUploadID,
320
+ WhopSDK::PlanUpdateParams::Image::AttachmentInputWithID
321
+ )
236
322
  end
237
323
 
238
- # The ID of an existing attachment object. Use this when updating a resource and
239
- # keeping a subset of the attachments. Don't use this unless you know what you're
240
- # doing.
241
- sig { returns(T.nilable(String)) }
242
- attr_accessor :id
324
+ class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
325
+ OrHash =
326
+ T.type_alias do
327
+ T.any(
328
+ WhopSDK::PlanUpdateParams::Image::AttachmentInputWithDirectUploadID,
329
+ WhopSDK::Internal::AnyHash
330
+ )
331
+ end
243
332
 
244
- # This ID should be used the first time you upload an attachment. It is the ID of
245
- # the direct upload that was created when uploading the file to S3 via the
246
- # mediaDirectUpload mutation.
247
- sig { returns(T.nilable(String)) }
248
- attr_accessor :direct_upload_id
333
+ # This ID should be used the first time you upload an attachment. It is the ID of
334
+ # the direct upload that was created when uploading the file to S3 via the
335
+ # mediaDirectUpload mutation.
336
+ sig { returns(String) }
337
+ attr_accessor :direct_upload_id
338
+
339
+ # Input for an attachment
340
+ sig { params(direct_upload_id: String).returns(T.attached_class) }
341
+ def self.new(
342
+ # This ID should be used the first time you upload an attachment. It is the ID of
343
+ # the direct upload that was created when uploading the file to S3 via the
344
+ # mediaDirectUpload mutation.
345
+ direct_upload_id:
346
+ )
347
+ end
348
+
349
+ sig { override.returns({ direct_upload_id: String }) }
350
+ def to_hash
351
+ end
352
+ end
353
+
354
+ class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
355
+ OrHash =
356
+ T.type_alias do
357
+ T.any(
358
+ WhopSDK::PlanUpdateParams::Image::AttachmentInputWithID,
359
+ WhopSDK::Internal::AnyHash
360
+ )
361
+ end
362
+
363
+ # The ID of an existing attachment object. Use this when updating a resource and
364
+ # keeping a subset of the attachments. Don't use this unless you know what you're
365
+ # doing.
366
+ sig { returns(String) }
367
+ attr_accessor :id
368
+
369
+ # Input for an attachment
370
+ sig { params(id: String).returns(T.attached_class) }
371
+ def self.new(
372
+ # The ID of an existing attachment object. Use this when updating a resource and
373
+ # keeping a subset of the attachments. Don't use this unless you know what you're
374
+ # doing.
375
+ id:
376
+ )
377
+ end
378
+
379
+ sig { override.returns({ id: String }) }
380
+ def to_hash
381
+ end
382
+ end
249
383
 
250
- # An image for the plan. This will be visible on the product page to customers.
384
+ sig do
385
+ override.returns(T::Array[WhopSDK::PlanUpdateParams::Image::Variants])
386
+ end
387
+ def self.variants
388
+ end
389
+ end
390
+
391
+ class PaymentMethodConfiguration < WhopSDK::Internal::Type::BaseModel
392
+ OrHash =
393
+ T.type_alias do
394
+ T.any(
395
+ WhopSDK::PlanUpdateParams::PaymentMethodConfiguration,
396
+ WhopSDK::Internal::AnyHash
397
+ )
398
+ end
399
+
400
+ # An array of payment method identifiers that are explicitly disabled. Only
401
+ # applies if the include_platform_defaults is true.
402
+ sig { returns(T::Array[WhopSDK::PaymentMethodTypes::OrSymbol]) }
403
+ attr_accessor :disabled
404
+
405
+ # An array of payment method identifiers that are explicitly enabled. This means
406
+ # these payment methods will be shown on checkout. Example use case is to only
407
+ # enable a specific payment method like cashapp, or extending the platform
408
+ # defaults with additional methods.
409
+ sig { returns(T::Array[WhopSDK::PaymentMethodTypes::OrSymbol]) }
410
+ attr_accessor :enabled
411
+
412
+ # Whether Whop's platform default payment method enablement settings are included
413
+ # in this configuration. The full list of default payment methods can be found in
414
+ # the documentation at docs.whop.com/payments.
415
+ sig { returns(T::Boolean) }
416
+ attr_accessor :include_platform_defaults
417
+
418
+ # The explicit payment method configuration for the plan. If sent as null, the
419
+ # custom configuration will be removed.
251
420
  sig do
252
421
  params(
253
- id: T.nilable(String),
254
- direct_upload_id: T.nilable(String)
422
+ disabled: T::Array[WhopSDK::PaymentMethodTypes::OrSymbol],
423
+ enabled: T::Array[WhopSDK::PaymentMethodTypes::OrSymbol],
424
+ include_platform_defaults: T::Boolean
255
425
  ).returns(T.attached_class)
256
426
  end
257
427
  def self.new(
258
- # The ID of an existing attachment object. Use this when updating a resource and
259
- # keeping a subset of the attachments. Don't use this unless you know what you're
260
- # doing.
261
- id: nil,
262
- # This ID should be used the first time you upload an attachment. It is the ID of
263
- # the direct upload that was created when uploading the file to S3 via the
264
- # mediaDirectUpload mutation.
265
- direct_upload_id: nil
428
+ # An array of payment method identifiers that are explicitly disabled. Only
429
+ # applies if the include_platform_defaults is true.
430
+ disabled:,
431
+ # An array of payment method identifiers that are explicitly enabled. This means
432
+ # these payment methods will be shown on checkout. Example use case is to only
433
+ # enable a specific payment method like cashapp, or extending the platform
434
+ # defaults with additional methods.
435
+ enabled:,
436
+ # Whether Whop's platform default payment method enablement settings are included
437
+ # in this configuration. The full list of default payment methods can be found in
438
+ # the documentation at docs.whop.com/payments.
439
+ include_platform_defaults:
266
440
  )
267
441
  end
268
442
 
269
443
  sig do
270
444
  override.returns(
271
- { id: T.nilable(String), direct_upload_id: T.nilable(String) }
445
+ {
446
+ disabled: T::Array[WhopSDK::PaymentMethodTypes::OrSymbol],
447
+ enabled: T::Array[WhopSDK::PaymentMethodTypes::OrSymbol],
448
+ include_platform_defaults: T::Boolean
449
+ }
272
450
  )
273
451
  end
274
452
  def to_hash
@@ -41,6 +41,12 @@ module WhopSDK
41
41
  sig { returns(T.nilable(String)) }
42
42
  attr_accessor :description
43
43
 
44
+ # A unique identifier used to create or update products. When provided on product
45
+ # creation endpoints, we’ll look up an existing product by this identifier — if it
46
+ # exists, we’ll update it; if not, we’ll create a new one.
47
+ sig { returns(T.nilable(String)) }
48
+ attr_accessor :external_identifier
49
+
44
50
  # The percentage of a transaction a user is eligible to earn from the whop
45
51
  # marketplace global affiliate program.
46
52
  sig { returns(T.nilable(Float)) }
@@ -124,6 +130,7 @@ module WhopSDK
124
130
  custom_cta_url: T.nilable(String),
125
131
  custom_statement_descriptor: T.nilable(String),
126
132
  description: T.nilable(String),
133
+ external_identifier: T.nilable(String),
127
134
  global_affiliate_percentage: T.nilable(Float),
128
135
  global_affiliate_status: WhopSDK::GlobalAffiliateStatus::OrSymbol,
129
136
  headline: T.nilable(String),
@@ -158,6 +165,10 @@ module WhopSDK
158
165
  custom_statement_descriptor:,
159
166
  # A short description of what the company offers or does.
160
167
  description:,
168
+ # A unique identifier used to create or update products. When provided on product
169
+ # creation endpoints, we’ll look up an existing product by this identifier — if it
170
+ # exists, we’ll update it; if not, we’ll create a new one.
171
+ external_identifier:,
161
172
  # The percentage of a transaction a user is eligible to earn from the whop
162
173
  # marketplace global affiliate program.
163
174
  global_affiliate_percentage:,
@@ -204,6 +215,7 @@ module WhopSDK
204
215
  custom_cta_url: T.nilable(String),
205
216
  custom_statement_descriptor: T.nilable(String),
206
217
  description: T.nilable(String),
218
+ external_identifier: T.nilable(String),
207
219
  global_affiliate_percentage: T.nilable(Float),
208
220
  global_affiliate_status:
209
221
  WhopSDK::GlobalAffiliateStatus::TaggedSymbol,
@@ -19,22 +19,6 @@ module WhopSDK
19
19
  sig { returns(String) }
20
20
  attr_accessor :title
21
21
 
22
- # The different types an access pass can be.
23
- sig { returns(T.nilable(WhopSDK::AccessPassType::OrSymbol)) }
24
- attr_accessor :access_pass_type
25
-
26
- # A banner image for the product in png, jpeg format
27
- sig { returns(T.nilable(WhopSDK::ProductCreateParams::BannerImage)) }
28
- attr_reader :banner_image
29
-
30
- sig do
31
- params(
32
- banner_image:
33
- T.nilable(WhopSDK::ProductCreateParams::BannerImage::OrHash)
34
- ).void
35
- end
36
- attr_writer :banner_image
37
-
38
22
  # The different business types a company can be.
39
23
  sig { returns(T.nilable(WhopSDK::BusinessTypes::OrSymbol)) }
40
24
  attr_accessor :business_type
@@ -129,9 +113,6 @@ module WhopSDK
129
113
  params(
130
114
  company_id: String,
131
115
  title: String,
132
- access_pass_type: T.nilable(WhopSDK::AccessPassType::OrSymbol),
133
- banner_image:
134
- T.nilable(WhopSDK::ProductCreateParams::BannerImage::OrHash),
135
116
  business_type: T.nilable(WhopSDK::BusinessTypes::OrSymbol),
136
117
  collect_shipping_address: T.nilable(T::Boolean),
137
118
  custom_cta: T.nilable(WhopSDK::CustomCta::OrSymbol),
@@ -165,10 +146,6 @@ module WhopSDK
165
146
  company_id:,
166
147
  # The title of the product.
167
148
  title:,
168
- # The different types an access pass can be.
169
- access_pass_type: nil,
170
- # A banner image for the product in png, jpeg format
171
- banner_image: nil,
172
149
  # The different business types a company can be.
173
150
  business_type: nil,
174
151
  # Whether or not to collect shipping information at checkout from the customer.
@@ -218,8 +195,6 @@ module WhopSDK
218
195
  {
219
196
  company_id: String,
220
197
  title: String,
221
- access_pass_type: T.nilable(WhopSDK::AccessPassType::OrSymbol),
222
- banner_image: T.nilable(WhopSDK::ProductCreateParams::BannerImage),
223
198
  business_type: T.nilable(WhopSDK::BusinessTypes::OrSymbol),
224
199
  collect_shipping_address: T.nilable(T::Boolean),
225
200
  custom_cta: T.nilable(WhopSDK::CustomCta::OrSymbol),
@@ -251,55 +226,6 @@ module WhopSDK
251
226
  def to_hash
252
227
  end
253
228
 
254
- class BannerImage < WhopSDK::Internal::Type::BaseModel
255
- OrHash =
256
- T.type_alias do
257
- T.any(
258
- WhopSDK::ProductCreateParams::BannerImage,
259
- WhopSDK::Internal::AnyHash
260
- )
261
- end
262
-
263
- # The ID of an existing attachment object. Use this when updating a resource and
264
- # keeping a subset of the attachments. Don't use this unless you know what you're
265
- # doing.
266
- sig { returns(T.nilable(String)) }
267
- attr_accessor :id
268
-
269
- # This ID should be used the first time you upload an attachment. It is the ID of
270
- # the direct upload that was created when uploading the file to S3 via the
271
- # mediaDirectUpload mutation.
272
- sig { returns(T.nilable(String)) }
273
- attr_accessor :direct_upload_id
274
-
275
- # A banner image for the product in png, jpeg format
276
- sig do
277
- params(
278
- id: T.nilable(String),
279
- direct_upload_id: T.nilable(String)
280
- ).returns(T.attached_class)
281
- end
282
- def self.new(
283
- # The ID of an existing attachment object. Use this when updating a resource and
284
- # keeping a subset of the attachments. Don't use this unless you know what you're
285
- # doing.
286
- id: nil,
287
- # This ID should be used the first time you upload an attachment. It is the ID of
288
- # the direct upload that was created when uploading the file to S3 via the
289
- # mediaDirectUpload mutation.
290
- direct_upload_id: nil
291
- )
292
- end
293
-
294
- sig do
295
- override.returns(
296
- { id: T.nilable(String), direct_upload_id: T.nilable(String) }
297
- )
298
- end
299
- def to_hash
300
- end
301
- end
302
-
303
229
  class PlanOptions < WhopSDK::Internal::Type::BaseModel
304
230
  OrHash =
305
231
  T.type_alias do
@@ -20,6 +20,12 @@ module WhopSDK
20
20
  sig { returns(Time) }
21
21
  attr_accessor :created_at
22
22
 
23
+ # A unique identifier used to create or update products. When provided on product
24
+ # creation endpoints, we’ll look up an existing product by this identifier — if it
25
+ # exists, we’ll update it; if not, we’ll create a new one.
26
+ sig { returns(T.nilable(String)) }
27
+ attr_accessor :external_identifier
28
+
23
29
  # The headline of the product.
24
30
  sig { returns(T.nilable(String)) }
25
31
  attr_accessor :headline
@@ -62,6 +68,7 @@ module WhopSDK
62
68
  id: String,
63
69
  business_type: T.nilable(WhopSDK::BusinessTypes::OrSymbol),
64
70
  created_at: Time,
71
+ external_identifier: T.nilable(String),
65
72
  headline: T.nilable(String),
66
73
  industry_type: T.nilable(WhopSDK::IndustryTypes::OrSymbol),
67
74
  member_count: Integer,
@@ -80,6 +87,10 @@ module WhopSDK
80
87
  business_type:,
81
88
  # When the product was created.
82
89
  created_at:,
90
+ # A unique identifier used to create or update products. When provided on product
91
+ # creation endpoints, we’ll look up an existing product by this identifier — if it
92
+ # exists, we’ll update it; if not, we’ll create a new one.
93
+ external_identifier:,
83
94
  # The headline of the product.
84
95
  headline:,
85
96
  # The different industry types a company can be in.
@@ -107,6 +118,7 @@ module WhopSDK
107
118
  id: String,
108
119
  business_type: T.nilable(WhopSDK::BusinessTypes::TaggedSymbol),
109
120
  created_at: Time,
121
+ external_identifier: T.nilable(String),
110
122
  headline: T.nilable(String),
111
123
  industry_type: T.nilable(WhopSDK::IndustryTypes::TaggedSymbol),
112
124
  member_count: Integer,