@whop/sdk 0.0.26 → 0.0.28

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 (463) hide show
  1. package/CHANGELOG.md +78 -0
  2. package/client.d.mts +10 -9
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +10 -9
  5. package/client.d.ts.map +1 -1
  6. package/client.js +16 -2
  7. package/client.js.map +1 -1
  8. package/client.mjs +16 -2
  9. package/client.mjs.map +1 -1
  10. package/package.json +3 -3
  11. package/resources/access-tokens.d.mts +34 -54
  12. package/resources/access-tokens.d.mts.map +1 -1
  13. package/resources/access-tokens.d.ts +34 -54
  14. package/resources/access-tokens.d.ts.map +1 -1
  15. package/resources/access-tokens.js +6 -8
  16. package/resources/access-tokens.js.map +1 -1
  17. package/resources/access-tokens.mjs +6 -8
  18. package/resources/access-tokens.mjs.map +1 -1
  19. package/resources/account-links.d.mts +15 -13
  20. package/resources/account-links.d.mts.map +1 -1
  21. package/resources/account-links.d.ts +15 -13
  22. package/resources/account-links.d.ts.map +1 -1
  23. package/resources/account-links.js +2 -3
  24. package/resources/account-links.js.map +1 -1
  25. package/resources/account-links.mjs +2 -3
  26. package/resources/account-links.mjs.map +1 -1
  27. package/resources/ai-chats.d.mts +70 -30
  28. package/resources/ai-chats.d.mts.map +1 -1
  29. package/resources/ai-chats.d.ts +70 -30
  30. package/resources/ai-chats.d.ts.map +1 -1
  31. package/resources/ai-chats.js +6 -6
  32. package/resources/ai-chats.js.map +1 -1
  33. package/resources/ai-chats.mjs +6 -6
  34. package/resources/ai-chats.mjs.map +1 -1
  35. package/resources/app-builds.d.mts +37 -35
  36. package/resources/app-builds.d.mts.map +1 -1
  37. package/resources/app-builds.d.ts +37 -35
  38. package/resources/app-builds.d.ts.map +1 -1
  39. package/resources/app-builds.js +7 -4
  40. package/resources/app-builds.js.map +1 -1
  41. package/resources/app-builds.mjs +7 -4
  42. package/resources/app-builds.mjs.map +1 -1
  43. package/resources/apps.d.mts +86 -60
  44. package/resources/apps.d.mts.map +1 -1
  45. package/resources/apps.d.ts +86 -60
  46. package/resources/apps.d.ts.map +1 -1
  47. package/resources/apps.js +7 -4
  48. package/resources/apps.js.map +1 -1
  49. package/resources/apps.mjs +7 -4
  50. package/resources/apps.mjs.map +1 -1
  51. package/resources/authorized-users.d.mts +38 -32
  52. package/resources/authorized-users.d.mts.map +1 -1
  53. package/resources/authorized-users.d.ts +38 -32
  54. package/resources/authorized-users.d.ts.map +1 -1
  55. package/resources/authorized-users.js +3 -2
  56. package/resources/authorized-users.js.map +1 -1
  57. package/resources/authorized-users.mjs +3 -2
  58. package/resources/authorized-users.mjs.map +1 -1
  59. package/resources/chat-channels.d.mts +28 -20
  60. package/resources/chat-channels.d.mts.map +1 -1
  61. package/resources/chat-channels.d.ts +28 -20
  62. package/resources/chat-channels.d.ts.map +1 -1
  63. package/resources/chat-channels.js +5 -3
  64. package/resources/chat-channels.js.map +1 -1
  65. package/resources/chat-channels.mjs +5 -3
  66. package/resources/chat-channels.mjs.map +1 -1
  67. package/resources/checkout-configurations.d.mts +75 -58
  68. package/resources/checkout-configurations.d.mts.map +1 -1
  69. package/resources/checkout-configurations.d.ts +75 -58
  70. package/resources/checkout-configurations.d.ts.map +1 -1
  71. package/resources/checkout-configurations.js +3 -2
  72. package/resources/checkout-configurations.js.map +1 -1
  73. package/resources/checkout-configurations.mjs +3 -2
  74. package/resources/checkout-configurations.mjs.map +1 -1
  75. package/resources/companies.d.mts +88 -56
  76. package/resources/companies.d.mts.map +1 -1
  77. package/resources/companies.d.ts +88 -56
  78. package/resources/companies.d.ts.map +1 -1
  79. package/resources/companies.js +9 -7
  80. package/resources/companies.js.map +1 -1
  81. package/resources/companies.mjs +9 -7
  82. package/resources/companies.mjs.map +1 -1
  83. package/resources/company-token-transactions.d.mts +90 -67
  84. package/resources/company-token-transactions.d.mts.map +1 -1
  85. package/resources/company-token-transactions.d.ts +90 -67
  86. package/resources/company-token-transactions.d.ts.map +1 -1
  87. package/resources/company-token-transactions.js +6 -3
  88. package/resources/company-token-transactions.js.map +1 -1
  89. package/resources/company-token-transactions.mjs +6 -3
  90. package/resources/company-token-transactions.mjs.map +1 -1
  91. package/resources/course-chapters.d.mts +27 -22
  92. package/resources/course-chapters.d.mts.map +1 -1
  93. package/resources/course-chapters.d.ts +27 -22
  94. package/resources/course-chapters.d.ts.map +1 -1
  95. package/resources/course-chapters.js +5 -5
  96. package/resources/course-chapters.mjs +5 -5
  97. package/resources/course-lesson-interactions.d.mts +7 -6
  98. package/resources/course-lesson-interactions.d.mts.map +1 -1
  99. package/resources/course-lesson-interactions.d.ts +7 -6
  100. package/resources/course-lesson-interactions.d.ts.map +1 -1
  101. package/resources/course-lesson-interactions.js +3 -2
  102. package/resources/course-lesson-interactions.js.map +1 -1
  103. package/resources/course-lesson-interactions.mjs +3 -2
  104. package/resources/course-lesson-interactions.mjs.map +1 -1
  105. package/resources/course-lessons.d.mts +141 -99
  106. package/resources/course-lessons.d.mts.map +1 -1
  107. package/resources/course-lessons.d.ts +141 -99
  108. package/resources/course-lessons.d.ts.map +1 -1
  109. package/resources/course-lessons.js +12 -8
  110. package/resources/course-lessons.js.map +1 -1
  111. package/resources/course-lessons.mjs +12 -8
  112. package/resources/course-lessons.mjs.map +1 -1
  113. package/resources/course-students.d.mts +44 -35
  114. package/resources/course-students.d.mts.map +1 -1
  115. package/resources/course-students.d.ts +44 -35
  116. package/resources/course-students.d.ts.map +1 -1
  117. package/resources/course-students.js +3 -2
  118. package/resources/course-students.js.map +1 -1
  119. package/resources/course-students.mjs +3 -2
  120. package/resources/course-students.mjs.map +1 -1
  121. package/resources/courses.d.mts +140 -99
  122. package/resources/courses.d.mts.map +1 -1
  123. package/resources/courses.d.ts +140 -99
  124. package/resources/courses.d.ts.map +1 -1
  125. package/resources/courses.js +9 -5
  126. package/resources/courses.js.map +1 -1
  127. package/resources/courses.mjs +9 -5
  128. package/resources/courses.mjs.map +1 -1
  129. package/resources/disputes.d.mts +176 -120
  130. package/resources/disputes.d.mts.map +1 -1
  131. package/resources/disputes.d.ts +176 -120
  132. package/resources/disputes.d.ts.map +1 -1
  133. package/resources/disputes.js +4 -2
  134. package/resources/disputes.js.map +1 -1
  135. package/resources/disputes.mjs +4 -2
  136. package/resources/disputes.mjs.map +1 -1
  137. package/resources/dm-channels.d.mts +29 -16
  138. package/resources/dm-channels.d.mts.map +1 -1
  139. package/resources/dm-channels.d.ts +29 -16
  140. package/resources/dm-channels.d.ts.map +1 -1
  141. package/resources/dm-channels.js +9 -5
  142. package/resources/dm-channels.js.map +1 -1
  143. package/resources/dm-channels.mjs +9 -5
  144. package/resources/dm-channels.mjs.map +1 -1
  145. package/resources/dm-members.d.mts +30 -21
  146. package/resources/dm-members.d.mts.map +1 -1
  147. package/resources/dm-members.d.ts +30 -21
  148. package/resources/dm-members.d.ts.map +1 -1
  149. package/resources/dm-members.js +9 -5
  150. package/resources/dm-members.js.map +1 -1
  151. package/resources/dm-members.mjs +9 -5
  152. package/resources/dm-members.mjs.map +1 -1
  153. package/resources/entries.d.mts +35 -27
  154. package/resources/entries.d.mts.map +1 -1
  155. package/resources/entries.d.ts +35 -27
  156. package/resources/entries.d.ts.map +1 -1
  157. package/resources/entries.js +7 -4
  158. package/resources/entries.js.map +1 -1
  159. package/resources/entries.mjs +7 -4
  160. package/resources/entries.mjs.map +1 -1
  161. package/resources/experiences.d.mts +58 -49
  162. package/resources/experiences.d.mts.map +1 -1
  163. package/resources/experiences.d.ts +58 -49
  164. package/resources/experiences.d.ts.map +1 -1
  165. package/resources/experiences.js +6 -5
  166. package/resources/experiences.js.map +1 -1
  167. package/resources/experiences.mjs +6 -5
  168. package/resources/experiences.mjs.map +1 -1
  169. package/resources/fee-markups.d.mts +38 -27
  170. package/resources/fee-markups.d.mts.map +1 -1
  171. package/resources/fee-markups.d.ts +38 -27
  172. package/resources/fee-markups.d.ts.map +1 -1
  173. package/resources/fee-markups.js +6 -3
  174. package/resources/fee-markups.js.map +1 -1
  175. package/resources/fee-markups.mjs +6 -3
  176. package/resources/fee-markups.mjs.map +1 -1
  177. package/resources/files.d.mts +23 -19
  178. package/resources/files.d.mts.map +1 -1
  179. package/resources/files.d.ts +23 -19
  180. package/resources/files.d.ts.map +1 -1
  181. package/resources/files.js +3 -2
  182. package/resources/files.js.map +1 -1
  183. package/resources/files.mjs +3 -2
  184. package/resources/files.mjs.map +1 -1
  185. package/resources/forum-posts.d.mts +68 -45
  186. package/resources/forum-posts.d.mts.map +1 -1
  187. package/resources/forum-posts.d.ts +68 -45
  188. package/resources/forum-posts.d.ts.map +1 -1
  189. package/resources/forum-posts.js +8 -4
  190. package/resources/forum-posts.js.map +1 -1
  191. package/resources/forum-posts.mjs +8 -4
  192. package/resources/forum-posts.mjs.map +1 -1
  193. package/resources/forums.d.mts +21 -13
  194. package/resources/forums.d.mts.map +1 -1
  195. package/resources/forums.d.ts +21 -13
  196. package/resources/forums.d.ts.map +1 -1
  197. package/resources/forums.js +5 -3
  198. package/resources/forums.js.map +1 -1
  199. package/resources/forums.mjs +5 -3
  200. package/resources/forums.mjs.map +1 -1
  201. package/resources/index.d.mts +3 -3
  202. package/resources/index.d.mts.map +1 -1
  203. package/resources/index.d.ts +3 -3
  204. package/resources/index.d.ts.map +1 -1
  205. package/resources/index.js.map +1 -1
  206. package/resources/index.mjs.map +1 -1
  207. package/resources/invoices.d.mts +136 -100
  208. package/resources/invoices.d.mts.map +1 -1
  209. package/resources/invoices.d.ts +136 -100
  210. package/resources/invoices.d.ts.map +1 -1
  211. package/resources/invoices.js +7 -4
  212. package/resources/invoices.js.map +1 -1
  213. package/resources/invoices.mjs +7 -4
  214. package/resources/invoices.mjs.map +1 -1
  215. package/resources/leads.d.mts +76 -54
  216. package/resources/leads.d.mts.map +1 -1
  217. package/resources/leads.d.ts +76 -54
  218. package/resources/leads.d.ts.map +1 -1
  219. package/resources/leads.js +6 -4
  220. package/resources/leads.js.map +1 -1
  221. package/resources/leads.mjs +6 -4
  222. package/resources/leads.mjs.map +1 -1
  223. package/resources/ledger-accounts.d.mts +19 -15
  224. package/resources/ledger-accounts.d.mts.map +1 -1
  225. package/resources/ledger-accounts.d.ts +19 -15
  226. package/resources/ledger-accounts.d.ts.map +1 -1
  227. package/resources/ledger-accounts.js +1 -1
  228. package/resources/ledger-accounts.mjs +1 -1
  229. package/resources/members.d.mts +27 -28
  230. package/resources/members.d.mts.map +1 -1
  231. package/resources/members.d.ts +27 -28
  232. package/resources/members.d.ts.map +1 -1
  233. package/resources/members.js +3 -2
  234. package/resources/members.js.map +1 -1
  235. package/resources/members.mjs +3 -2
  236. package/resources/members.mjs.map +1 -1
  237. package/resources/memberships.d.mts +85 -62
  238. package/resources/memberships.d.mts.map +1 -1
  239. package/resources/memberships.d.ts +85 -62
  240. package/resources/memberships.d.ts.map +1 -1
  241. package/resources/memberships.js +12 -8
  242. package/resources/memberships.js.map +1 -1
  243. package/resources/memberships.mjs +12 -8
  244. package/resources/memberships.mjs.map +1 -1
  245. package/resources/messages.d.mts +53 -35
  246. package/resources/messages.d.mts.map +1 -1
  247. package/resources/messages.d.ts +53 -35
  248. package/resources/messages.d.ts.map +1 -1
  249. package/resources/messages.js +9 -5
  250. package/resources/messages.js.map +1 -1
  251. package/resources/messages.mjs +9 -5
  252. package/resources/messages.mjs.map +1 -1
  253. package/resources/notifications.d.mts +33 -25
  254. package/resources/notifications.d.mts.map +1 -1
  255. package/resources/notifications.d.ts +33 -25
  256. package/resources/notifications.d.ts.map +1 -1
  257. package/resources/notifications.js +2 -1
  258. package/resources/notifications.js.map +1 -1
  259. package/resources/notifications.mjs +2 -1
  260. package/resources/notifications.mjs.map +1 -1
  261. package/resources/payment-methods.d.mts +212 -114
  262. package/resources/payment-methods.d.mts.map +1 -1
  263. package/resources/payment-methods.d.ts +212 -114
  264. package/resources/payment-methods.d.ts.map +1 -1
  265. package/resources/payment-methods.js +5 -10
  266. package/resources/payment-methods.js.map +1 -1
  267. package/resources/payment-methods.mjs +5 -10
  268. package/resources/payment-methods.mjs.map +1 -1
  269. package/resources/payments.d.mts +96 -56
  270. package/resources/payments.d.mts.map +1 -1
  271. package/resources/payments.d.ts +96 -56
  272. package/resources/payments.d.ts.map +1 -1
  273. package/resources/payments.js +23 -10
  274. package/resources/payments.js.map +1 -1
  275. package/resources/payments.mjs +23 -10
  276. package/resources/payments.mjs.map +1 -1
  277. package/resources/payout-methods.d.mts +50 -35
  278. package/resources/payout-methods.d.mts.map +1 -1
  279. package/resources/payout-methods.d.ts +50 -35
  280. package/resources/payout-methods.d.ts.map +1 -1
  281. package/resources/payout-methods.js +3 -2
  282. package/resources/payout-methods.js.map +1 -1
  283. package/resources/payout-methods.mjs +3 -2
  284. package/resources/payout-methods.mjs.map +1 -1
  285. package/resources/plans.d.mts +136 -95
  286. package/resources/plans.d.mts.map +1 -1
  287. package/resources/plans.d.ts +136 -95
  288. package/resources/plans.d.ts.map +1 -1
  289. package/resources/plans.js +9 -5
  290. package/resources/plans.js.map +1 -1
  291. package/resources/plans.mjs +9 -5
  292. package/resources/plans.mjs.map +1 -1
  293. package/resources/products.d.mts +80 -67
  294. package/resources/products.d.mts.map +1 -1
  295. package/resources/products.d.ts +80 -67
  296. package/resources/products.d.ts.map +1 -1
  297. package/resources/products.js +7 -5
  298. package/resources/products.js.map +1 -1
  299. package/resources/products.mjs +7 -5
  300. package/resources/products.mjs.map +1 -1
  301. package/resources/promo-codes.d.mts +60 -40
  302. package/resources/promo-codes.d.mts.map +1 -1
  303. package/resources/promo-codes.d.ts +60 -40
  304. package/resources/promo-codes.d.ts.map +1 -1
  305. package/resources/promo-codes.js +7 -4
  306. package/resources/promo-codes.js.map +1 -1
  307. package/resources/promo-codes.mjs +7 -4
  308. package/resources/promo-codes.mjs.map +1 -1
  309. package/resources/reactions.d.mts +25 -19
  310. package/resources/reactions.d.mts.map +1 -1
  311. package/resources/reactions.d.ts +25 -19
  312. package/resources/reactions.d.ts.map +1 -1
  313. package/resources/reactions.js +7 -4
  314. package/resources/reactions.js.map +1 -1
  315. package/resources/reactions.mjs +7 -4
  316. package/resources/reactions.mjs.map +1 -1
  317. package/resources/refunds.d.mts +57 -39
  318. package/resources/refunds.d.mts.map +1 -1
  319. package/resources/refunds.d.ts +57 -39
  320. package/resources/refunds.d.ts.map +1 -1
  321. package/resources/refunds.js +3 -2
  322. package/resources/refunds.js.map +1 -1
  323. package/resources/refunds.mjs +3 -2
  324. package/resources/refunds.mjs.map +1 -1
  325. package/resources/reviews.d.mts +76 -60
  326. package/resources/reviews.d.mts.map +1 -1
  327. package/resources/reviews.d.ts +76 -60
  328. package/resources/reviews.d.ts.map +1 -1
  329. package/resources/reviews.js +3 -2
  330. package/resources/reviews.js.map +1 -1
  331. package/resources/reviews.mjs +3 -2
  332. package/resources/reviews.mjs.map +1 -1
  333. package/resources/setup-intents.d.mts +77 -61
  334. package/resources/setup-intents.d.mts.map +1 -1
  335. package/resources/setup-intents.d.ts +77 -61
  336. package/resources/setup-intents.d.ts.map +1 -1
  337. package/resources/setup-intents.js +4 -10
  338. package/resources/setup-intents.js.map +1 -1
  339. package/resources/setup-intents.mjs +4 -10
  340. package/resources/setup-intents.mjs.map +1 -1
  341. package/resources/shared.d.mts +854 -509
  342. package/resources/shared.d.mts.map +1 -1
  343. package/resources/shared.d.ts +854 -509
  344. package/resources/shared.d.ts.map +1 -1
  345. package/resources/shipments.d.mts +30 -21
  346. package/resources/shipments.d.mts.map +1 -1
  347. package/resources/shipments.d.ts +30 -21
  348. package/resources/shipments.d.ts.map +1 -1
  349. package/resources/shipments.js +5 -3
  350. package/resources/shipments.js.map +1 -1
  351. package/resources/shipments.mjs +5 -3
  352. package/resources/shipments.mjs.map +1 -1
  353. package/resources/support-channels.d.mts +28 -20
  354. package/resources/support-channels.d.mts.map +1 -1
  355. package/resources/support-channels.d.ts +28 -20
  356. package/resources/support-channels.d.ts.map +1 -1
  357. package/resources/support-channels.js +5 -4
  358. package/resources/support-channels.js.map +1 -1
  359. package/resources/support-channels.mjs +5 -4
  360. package/resources/support-channels.mjs.map +1 -1
  361. package/resources/topups.d.mts +13 -9
  362. package/resources/topups.d.mts.map +1 -1
  363. package/resources/topups.d.ts +13 -9
  364. package/resources/topups.d.ts.map +1 -1
  365. package/resources/topups.js +2 -1
  366. package/resources/topups.js.map +1 -1
  367. package/resources/topups.mjs +2 -1
  368. package/resources/topups.mjs.map +1 -1
  369. package/resources/transfers.d.mts +37 -28
  370. package/resources/transfers.d.mts.map +1 -1
  371. package/resources/transfers.d.ts +37 -28
  372. package/resources/transfers.d.ts.map +1 -1
  373. package/resources/transfers.js +5 -3
  374. package/resources/transfers.js.map +1 -1
  375. package/resources/transfers.mjs +5 -3
  376. package/resources/transfers.mjs.map +1 -1
  377. package/resources/users.d.mts +60 -18
  378. package/resources/users.d.mts.map +1 -1
  379. package/resources/users.d.ts +60 -18
  380. package/resources/users.d.ts.map +1 -1
  381. package/resources/users.js +13 -2
  382. package/resources/users.js.map +1 -1
  383. package/resources/users.mjs +13 -2
  384. package/resources/users.mjs.map +1 -1
  385. package/resources/verifications.d.mts +7 -5
  386. package/resources/verifications.d.mts.map +1 -1
  387. package/resources/verifications.d.ts +7 -5
  388. package/resources/verifications.d.ts.map +1 -1
  389. package/resources/verifications.js +1 -1
  390. package/resources/verifications.mjs +1 -1
  391. package/resources/webhooks.d.mts +188 -133
  392. package/resources/webhooks.d.mts.map +1 -1
  393. package/resources/webhooks.d.ts +188 -133
  394. package/resources/webhooks.d.ts.map +1 -1
  395. package/resources/webhooks.js +3 -2
  396. package/resources/webhooks.js.map +1 -1
  397. package/resources/webhooks.mjs +3 -2
  398. package/resources/webhooks.mjs.map +1 -1
  399. package/resources/withdrawals.d.mts +60 -47
  400. package/resources/withdrawals.d.mts.map +1 -1
  401. package/resources/withdrawals.d.ts +60 -47
  402. package/resources/withdrawals.d.ts.map +1 -1
  403. package/resources/withdrawals.js +3 -2
  404. package/resources/withdrawals.js.map +1 -1
  405. package/resources/withdrawals.mjs +3 -2
  406. package/resources/withdrawals.mjs.map +1 -1
  407. package/src/client.ts +33 -11
  408. package/src/resources/access-tokens.ts +37 -59
  409. package/src/resources/account-links.ts +15 -13
  410. package/src/resources/ai-chats.ts +76 -30
  411. package/src/resources/app-builds.ts +37 -35
  412. package/src/resources/apps.ts +89 -60
  413. package/src/resources/authorized-users.ts +38 -32
  414. package/src/resources/chat-channels.ts +28 -20
  415. package/src/resources/checkout-configurations.ts +76 -58
  416. package/src/resources/companies.ts +94 -57
  417. package/src/resources/company-token-transactions.ts +91 -68
  418. package/src/resources/course-chapters.ts +27 -22
  419. package/src/resources/course-lesson-interactions.ts +7 -6
  420. package/src/resources/course-lessons.ts +141 -99
  421. package/src/resources/course-students.ts +44 -35
  422. package/src/resources/courses.ts +140 -99
  423. package/src/resources/disputes.ts +176 -120
  424. package/src/resources/dm-channels.ts +29 -16
  425. package/src/resources/dm-members.ts +30 -21
  426. package/src/resources/entries.ts +35 -27
  427. package/src/resources/experiences.ts +58 -49
  428. package/src/resources/fee-markups.ts +38 -27
  429. package/src/resources/files.ts +23 -19
  430. package/src/resources/forum-posts.ts +69 -45
  431. package/src/resources/forums.ts +21 -13
  432. package/src/resources/index.ts +4 -2
  433. package/src/resources/invoices.ts +140 -100
  434. package/src/resources/leads.ts +76 -54
  435. package/src/resources/ledger-accounts.ts +19 -15
  436. package/src/resources/members.ts +27 -28
  437. package/src/resources/memberships.ts +86 -62
  438. package/src/resources/messages.ts +53 -35
  439. package/src/resources/notifications.ts +33 -25
  440. package/src/resources/payment-methods.ts +212 -114
  441. package/src/resources/payments.ts +103 -55
  442. package/src/resources/payout-methods.ts +50 -35
  443. package/src/resources/plans.ts +136 -95
  444. package/src/resources/products.ts +219 -70
  445. package/src/resources/promo-codes.ts +60 -40
  446. package/src/resources/reactions.ts +25 -19
  447. package/src/resources/refunds.ts +59 -39
  448. package/src/resources/reviews.ts +76 -60
  449. package/src/resources/setup-intents.ts +77 -61
  450. package/src/resources/shared.ts +2797 -508
  451. package/src/resources/shipments.ts +30 -21
  452. package/src/resources/support-channels.ts +28 -20
  453. package/src/resources/topups.ts +13 -9
  454. package/src/resources/transfers.ts +37 -28
  455. package/src/resources/users.ts +72 -18
  456. package/src/resources/verifications.ts +7 -5
  457. package/src/resources/webhooks.ts +188 -133
  458. package/src/resources/withdrawals.ts +60 -46
  459. package/src/version.ts +1 -1
  460. package/version.d.mts +1 -1
  461. package/version.d.ts +1 -1
  462. package/version.js +1 -1
  463. package/version.mjs +1 -1
@@ -1,6 +1,7 @@
1
1
  import * as Shared from "./shared.js";
2
2
  import * as AppsAPI from "./apps.js";
3
3
  import * as CheckoutConfigurationsAPI from "./checkout-configurations.js";
4
+ import * as DisputesAPI from "./disputes.js";
4
5
  import * as MembershipsAPI from "./memberships.js";
5
6
  import * as PaymentsAPI from "./payments.js";
6
7
  import { CursorPage } from "../core/pagination.js";
@@ -14,97 +15,110 @@ export type AccessLevel = 'no_access' | 'admin' | 'customer';
14
15
  */
15
16
  export type AccessPassType = 'regular' | 'app' | 'experience_upsell' | 'api_only';
16
17
  /**
17
- * An object representing an app
18
+ * An app is an integration built on Whop. Apps can serve consumers as experiences
19
+ * within products, or serve companies as business tools.
18
20
  */
19
21
  export interface App {
20
22
  /**
21
- * The ID of the app
23
+ * The unique identifier for the app.
22
24
  */
23
25
  id: string;
24
26
  /**
25
- * The API key for the app
27
+ * The API key used to authenticate requests on behalf of this app. Null if no API
28
+ * key has been generated. Requires the 'developer:manage_api_key' permission.
26
29
  */
27
30
  api_key: App.APIKey | null;
28
31
  /**
29
- * The type of end-user an app is built for
32
+ * The target audience classification for this app (e.g., 'b2b_app', 'b2c_app',
33
+ * 'company_app', 'component').
30
34
  */
31
35
  app_type: AppsAPI.AppType;
32
36
  /**
33
- * The base url of the app
37
+ * The production base URL where the app is hosted. Null if no base URL is
38
+ * configured.
34
39
  */
35
40
  base_url: string | null;
36
41
  /**
37
- * The company that owns the app
42
+ * The company that owns and publishes this app.
38
43
  */
39
44
  company: App.Company;
40
45
  /**
41
- * The creator of the app
46
+ * The user who created and owns the company that published this app.
42
47
  */
43
48
  creator: App.Creator;
44
49
  /**
45
- * The path part for a specific view of the app. This is the template part of the
46
- * url after the base domain. Eg: /experiences/[experienceId]
50
+ * The URL path template for a specific view of this app, appended to the base
51
+ * domain (e.g., '/experiences/[experienceId]'). Null if the specified view type is
52
+ * not configured.
47
53
  */
48
54
  dashboard_path: string | null;
49
55
  /**
50
- * The description of the app
56
+ * A written description of what this app does, displayed on the app store listing
57
+ * page. Null if no description has been set.
51
58
  */
52
59
  description: string | null;
53
60
  /**
54
- * The path part for a specific view of the app. This is the template part of the
55
- * url after the base domain. Eg: /experiences/[experienceId]
61
+ * The URL path template for a specific view of this app, appended to the base
62
+ * domain (e.g., '/experiences/[experienceId]'). Null if the specified view type is
63
+ * not configured.
56
64
  */
57
65
  discover_path: string | null;
58
66
  /**
59
- * The unique part of the proxied domain for this app. Used to generate the base
60
- * url used to display the app inside the whop platform. Refers to the id part in
61
- * the final url: https://{domain_id}.apps.whop.com
67
+ * The unique subdomain identifier for this app's proxied URL on the Whop platform.
68
+ * Forms the URL pattern https://{domain_id}.apps.whop.com.
62
69
  */
63
70
  domain_id: string;
64
71
  /**
65
- * The path part for a specific view of the app. This is the template part of the
66
- * url after the base domain. Eg: /experiences/[experienceId]
72
+ * The URL path template for a specific view of this app, appended to the base
73
+ * domain (e.g., '/experiences/[experienceId]'). Null if the specified view type is
74
+ * not configured.
67
75
  */
68
76
  experience_path: string | null;
69
77
  /**
70
- * The icon for the app. This icon is shown on discovery, on the product page, on
71
- * checkout, and as a default icon for the experiences.
78
+ * The icon image for this app, displayed on the app store, product pages,
79
+ * checkout, and as the default icon for experiences using this app.
72
80
  */
73
81
  icon: App.Icon | null;
74
82
  /**
75
- * The name of the app
83
+ * The display name of this app shown on the app store and in experience
84
+ * navigation. Maximum 30 characters.
76
85
  */
77
86
  name: string;
78
87
  /**
79
- * The set of permissions that an app requests to be granted when a user installs
80
- * the app.
88
+ * The whitelisted OAuth callback URLs that users are redirected to after
89
+ * authorizing the app.
90
+ */
91
+ redirect_uris: Array<string>;
92
+ /**
93
+ * The list of permissions this app requests when installed, including both
94
+ * required and optional permissions with justifications.
81
95
  */
82
96
  requested_permissions: Array<App.RequestedPermission>;
83
97
  /**
84
- * A collection of stats for the app.
98
+ * Aggregate usage statistics for this app, including daily, weekly, and monthly
99
+ * active user counts.
85
100
  */
86
101
  stats: App.Stats | null;
87
102
  /**
88
- * If the status is live, the app is visible on Whop discovery. In order to be
89
- * live, you need to set the name, icon, and description. Being unlisted or hidden
90
- * means it's not visible on Whop but you can still install the app via direct
91
- * link. To remove the app from whop discovery, you should set the status to
92
- * unlisted.
103
+ * The current visibility status of this app on the Whop app store. 'live' means
104
+ * publicly discoverable, 'unlisted' means accessible only via direct link, and
105
+ * 'hidden' means not visible anywhere.
93
106
  */
94
107
  status: AppStatuses;
95
108
  /**
96
- * Whether this app has been verified by Whop. Verified apps are endorsed by whop
97
- * and are shown in the 'featured apps' section of the app store.
109
+ * Whether this app has been verified by Whop. Verified apps are endorsed by Whop
110
+ * and displayed in the featured apps section of the app store.
98
111
  */
99
112
  verified: boolean;
100
113
  }
101
114
  export declare namespace App {
102
115
  /**
103
- * The API key for the app
116
+ * The API key used to authenticate requests on behalf of this app. Null if no API
117
+ * key has been generated. Requires the 'developer:manage_api_key' permission.
104
118
  */
105
119
  interface APIKey {
106
120
  /**
107
- * The ID of this API key
121
+ * The unique identifier for the private api key.
108
122
  */
109
123
  id: string;
110
124
  /**
@@ -112,48 +126,48 @@ export declare namespace App {
112
126
  */
113
127
  token: string;
114
128
  /**
115
- * When this API key was created at
129
+ * The datetime the private api key was created.
116
130
  */
117
131
  created_at: string;
118
132
  }
119
133
  /**
120
- * The company that owns the app
134
+ * The company that owns and publishes this app.
121
135
  */
122
136
  interface Company {
123
137
  /**
124
- * The ID (tag) of the company.
138
+ * The unique identifier for the company.
125
139
  */
126
140
  id: string;
127
141
  /**
128
- * The title of the company.
142
+ * The display name of the company shown to customers.
129
143
  */
130
144
  title: string;
131
145
  }
132
146
  /**
133
- * The creator of the app
147
+ * The user who created and owns the company that published this app.
134
148
  */
135
149
  interface Creator {
136
150
  /**
137
- * The internal ID of the user.
151
+ * The unique identifier for the user.
138
152
  */
139
153
  id: string;
140
154
  /**
141
- * The name of the user from their Whop account.
155
+ * The user's display name shown on their public profile.
142
156
  */
143
157
  name: string | null;
144
158
  /**
145
- * The username of the user from their Whop account.
159
+ * The user's unique username shown on their public profile.
146
160
  */
147
161
  username: string;
148
162
  }
149
163
  /**
150
- * The icon for the app. This icon is shown on discovery, on the product page, on
151
- * checkout, and as a default icon for the experiences.
164
+ * The icon image for this app, displayed on the app store, product pages,
165
+ * checkout, and as the default icon for experiences using this app.
152
166
  */
153
167
  interface Icon {
154
168
  /**
155
- * This is the URL you use to render optimized attachments on the client. This
156
- * should be used for apps.
169
+ * A pre-optimized URL for rendering this attachment on the client. This should be
170
+ * used for displaying attachments in apps.
157
171
  */
158
172
  url: string | null;
159
173
  }
@@ -191,71 +205,73 @@ export declare namespace App {
191
205
  }
192
206
  }
193
207
  /**
194
- * A collection of stats for the app.
208
+ * Aggregate usage statistics for this app, including daily, weekly, and monthly
209
+ * active user counts.
195
210
  */
196
211
  interface Stats {
197
212
  /**
198
- * This is the number of users that have spent time in this app in the last 24
199
- * hours.
213
+ * The number of unique users who have spent time in this app in the last 24 hours.
214
+ * Returns 0 if no usage data is available.
200
215
  */
201
216
  dau: number;
202
217
  /**
203
- * This is the number of users that have spent time in this app in the last 28
204
- * days.
218
+ * The number of unique users who have spent time in this app in the last 28 days.
219
+ * Returns 0 if no usage data is available.
205
220
  */
206
221
  mau: number;
207
222
  /**
208
- * This how much time, in seconds, users have spent in this app in the last 24
209
- * hours.
223
+ * The total time, in seconds, that all users have spent in this app over the last
224
+ * 24 hours. Returns 0 if no usage data is available.
210
225
  */
211
226
  time_spent_last24_hours: number;
212
227
  /**
213
- * This is the number of users that have spent time in this app in the last 7 days.
228
+ * The number of unique users who have spent time in this app in the last 7 days.
229
+ * Returns 0 if no usage data is available.
214
230
  */
215
231
  wau: number;
216
232
  }
217
233
  }
218
234
  /**
219
- * An App Build object representing a build of an application
235
+ * A versioned build artifact for a Whop React Native App, submitted for review and
236
+ * deployment to a specific platform.
220
237
  */
221
238
  export interface AppBuild {
222
239
  /**
223
- * The ID of the app build. It will look like apbu_xxxxx.
240
+ * The unique identifier for the app build.
224
241
  */
225
242
  id: string;
226
243
  /**
227
- * This is generated by the client and used to verify the integrity of the file
228
- * that is submitted. It is a SHA256 hash of the app build file.
244
+ * A SHA-256 hash of the uploaded build file, generated by the client and used to
245
+ * verify file integrity.
229
246
  */
230
247
  checksum: string;
231
248
  /**
232
- * When this app build was created.
249
+ * The datetime the app build was created.
233
250
  */
234
251
  created_at: string;
235
252
  /**
236
- * The URL to download the app build .zip file.
253
+ * A URL to download the app build as a .zip archive.
237
254
  */
238
255
  file_url: string;
239
256
  /**
240
- * Whether this app build is currently being used in production.
257
+ * Whether this build is the currently active production build for its platform.
241
258
  */
242
259
  is_production: boolean;
243
260
  /**
244
- * The platform of the app build (ios, android, web)
261
+ * The target platform for this build.
245
262
  */
246
263
  platform: AppBuildPlatforms;
247
264
  /**
248
- * The review message for the app build, if any. This is populated when the build
249
- * is rejected and there is a reason specified by the reviewer.
265
+ * Feedback from the reviewer explaining why the build was rejected. Null if the
266
+ * build has not been reviewed or was approved.
250
267
  */
251
268
  review_message: string | null;
252
269
  /**
253
- * The status of the app build (draft, approved, rejected, pending, etc)
270
+ * The current review status of this build.
254
271
  */
255
272
  status: AppBuildStatuses;
256
273
  /**
257
- * The supported app view types for the app build. These are the views that the
258
- * developer has specified that this build supports.
274
+ * The list of view types this build supports, as declared by the developer.
259
275
  */
260
276
  supported_app_view_types: Array<AppViewType>;
261
277
  }
@@ -282,9 +298,10 @@ export type AuthorizedUserRoles = 'owner' | 'admin' | 'sales_manager' | 'moderat
282
298
  /**
283
299
  * The different business types a company can be.
284
300
  */
285
- export type BusinessTypes = 'education_program' | 'coaching' | 'software' | 'paid_group' | 'newsletter' | 'agency' | 'physical_products' | 'brick_and_mortar' | 'events' | 'coaching_and_courses' | 'other' | 'saas' | 'course' | 'community';
301
+ export type BusinessTypes = 'education_program' | 'coaching' | 'software' | 'paid_group' | 'newsletter' | 'agency' | 'physical_products' | 'brick_and_mortar' | 'events' | 'coaching_and_courses' | 'other' | 'services' | 'gig_economy' | 'marketplace' | 'telehealth' | 'class_action_settlement' | 'physical_product' | 'saas' | 'course' | 'community';
286
302
  /**
287
- * Represents a Chat feed
303
+ * A real-time chat feed attached to an experience, with configurable moderation
304
+ * and posting permissions.
288
305
  */
289
306
  export interface ChatChannel {
290
307
  /**
@@ -292,58 +309,59 @@ export interface ChatChannel {
292
309
  */
293
310
  id: string;
294
311
  /**
295
- * Whether or not media is banned in this chat
312
+ * Whether media uploads such as images and videos are blocked in this chat.
296
313
  */
297
314
  ban_media: boolean;
298
315
  /**
299
- * Whether or not URLs are banned in this chat
316
+ * Whether URL links are blocked from being posted in this chat.
300
317
  */
301
318
  ban_urls: boolean;
302
319
  /**
303
- * List of banned words in this chat
320
+ * A list of words that are automatically filtered from messages in this chat.
304
321
  */
305
322
  banned_words: Array<string>;
306
323
  /**
307
- * The experience for this chat
324
+ * The experience this chat feed is attached to.
308
325
  */
309
326
  experience: ChatChannel.Experience;
310
327
  /**
311
- * The number of seconds a user needs to wait before posting again, if any
328
+ * The minimum number of seconds a user must wait between consecutive messages.
329
+ * Null if no cooldown is enforced.
312
330
  */
313
331
  user_posts_cooldown_seconds: number | null;
314
332
  /**
315
- * Who can post on this chat
333
+ * The permission level controlling which users can send messages in this chat.
316
334
  */
317
335
  who_can_post: WhoCanPost;
318
336
  /**
319
- * Who can react on this chat
337
+ * The permission level controlling which users can add reactions in this chat.
320
338
  */
321
339
  who_can_react: WhoCanReact;
322
340
  }
323
341
  export declare namespace ChatChannel {
324
342
  /**
325
- * The experience for this chat
343
+ * The experience this chat feed is attached to.
326
344
  */
327
345
  interface Experience {
328
346
  /**
329
- * The unique ID representing this experience
347
+ * The unique identifier for the experience.
330
348
  */
331
349
  id: string;
332
350
  /**
333
- * The written name of the description.
351
+ * The display name of this experience shown to users in the product navigation.
352
+ * Maximum 255 characters.
334
353
  */
335
354
  name: string;
336
355
  }
337
356
  }
338
357
  /**
339
- * A checkout configuration object.
340
- * Can be used to create a reusable custom configuration for a checkout, including attaching plans, affiliates and custom metadata to the checkout.
341
- * This configuration can be re-used by multiple users.
342
- * All successful payments and memberships resulting from a checkout will contain the passed metadata.
358
+ * A checkout configuration is a reusable configuration for a checkout, including
359
+ * the plan, affiliate, and custom metadata. Payments and memberships created from
360
+ * a checkout session inherit its metadata.
343
361
  */
344
362
  export interface CheckoutConfiguration {
345
363
  /**
346
- * The ID of the checkout configuration
364
+ * The unique identifier for the checkout session.
347
365
  */
348
366
  id: string;
349
367
  /**
@@ -419,43 +437,54 @@ export declare namespace CheckoutConfiguration {
419
437
  */
420
438
  interface Plan {
421
439
  /**
422
- * The internal ID of the plan.
440
+ * The unique identifier for the plan.
423
441
  */
424
442
  id: string;
425
443
  /**
426
- * The interval at which the plan charges (renewal plans).
444
+ * The number of days between each recurring charge. Null for one-time plans. For
445
+ * example, 30 for monthly or 365 for annual billing.
427
446
  */
428
447
  billing_period: number | null;
429
448
  /**
430
- * The respective currency identifier for the plan.
449
+ * The currency used for all prices on this plan (e.g., 'usd', 'eur'). All monetary
450
+ * amounts on the plan are denominated in this currency.
431
451
  */
432
452
  currency: Shared.Currency;
433
453
  /**
434
- * The interval at which the plan charges (expiration plans).
454
+ * The number of days until the membership expires (for expiration-based plans).
455
+ * For example, 365 for a one-year access pass.
435
456
  */
436
457
  expiration_days: number | null;
437
458
  /**
438
- * The price a person has to pay for a plan on the initial purchase.
459
+ * The initial purchase price in the plan's base_currency (e.g., 49.99 for $49.99).
460
+ * For one-time plans, this is the full price. For renewal plans, this is charged
461
+ * on top of the first renewal_price.
439
462
  */
440
463
  initial_price: number;
441
464
  /**
442
- * Indicates if the plan is a one time payment or recurring.
465
+ * The billing model for this plan: 'renewal' for recurring subscriptions or
466
+ * 'one_time' for single payments.
443
467
  */
444
468
  plan_type: Shared.PlanType;
445
469
  /**
446
- * This is the release method the business uses to sell this plan.
470
+ * The method used to sell this plan: 'buy_now' for immediate purchase or
471
+ * 'waitlist' for waitlist-based access.
447
472
  */
448
473
  release_method: Shared.ReleaseMethod;
449
474
  /**
450
- * The price a person has to pay for a plan on the renewal purchase.
475
+ * The recurring price charged every billing_period in the plan's base_currency
476
+ * (e.g., 9.99 for $9.99/period). Zero for one-time plans.
451
477
  */
452
478
  renewal_price: number;
453
479
  /**
454
- * The number of free trial days added before a renewal plan.
480
+ * The number of free trial days before the first charge on a renewal plan. Null if
481
+ * no trial is configured or the current user has already used a trial for this
482
+ * plan.
455
483
  */
456
484
  trial_period_days: number | null;
457
485
  /**
458
- * Shows or hides the plan from public/business view.
486
+ * Controls whether the plan is visible to customers. When set to 'hidden', the
487
+ * plan is only accessible via direct link.
459
488
  */
460
489
  visibility: Shared.Visibility;
461
490
  }
@@ -465,11 +494,12 @@ export declare namespace CheckoutConfiguration {
465
494
  */
466
495
  export type CollectionMethod = 'send_invoice' | 'charge_automatically';
467
496
  /**
468
- * An object representing a (sanitized) company.
497
+ * A company is a seller on Whop. Companies own products, manage members, and
498
+ * receive payouts.
469
499
  */
470
500
  export interface Company {
471
501
  /**
472
- * The ID (tag) of the company.
502
+ * The unique identifier for the company.
473
503
  */
474
504
  id: string;
475
505
  /**
@@ -477,11 +507,12 @@ export interface Company {
477
507
  */
478
508
  business_type: BusinessTypes | null;
479
509
  /**
480
- * When the company was created (signed up)
510
+ * The datetime the company was created.
481
511
  */
482
512
  created_at: string;
483
513
  /**
484
- * The creator pitch for the company.
514
+ * A promotional pitch written by the company creator, displayed to potential
515
+ * customers on the store page.
485
516
  */
486
517
  description: string | null;
487
518
  /**
@@ -493,46 +524,50 @@ export interface Company {
493
524
  */
494
525
  logo: Company.Logo | null;
495
526
  /**
496
- * The number of members in the company.
527
+ * The total number of users who currently hold active memberships across all of
528
+ * this company's products.
497
529
  */
498
530
  member_count: number;
499
531
  /**
500
- * A key-value store of data for the account, created/updated by the platform that
501
- * made the account.
532
+ * A key-value JSON object of custom metadata for this company, managed by the
533
+ * platform that created the account.
502
534
  */
503
535
  metadata: {
504
536
  [key: string]: unknown;
505
537
  } | null;
506
538
  /**
507
- * The user who owns this company
539
+ * The user who owns and has full administrative control over this company.
508
540
  */
509
541
  owner_user: Company.OwnerUser;
510
542
  /**
511
- * The number of reviews that have been published for the company.
543
+ * The total number of published customer reviews across all products for this
544
+ * company.
512
545
  */
513
546
  published_reviews_count: number;
514
547
  /**
515
- * The slug/route of the company on the Whop site.
548
+ * The URL slug for the company's store page (e.g., 'pickaxe' in whop.com/pickaxe).
516
549
  */
517
550
  route: string;
518
551
  /**
519
- * Whether Whop sends transactional emails to customers on behalf of this company.
552
+ * Whether Whop sends transactional emails (receipts, updates) to customers on
553
+ * behalf of this company.
520
554
  */
521
555
  send_customer_emails: boolean;
522
556
  /**
523
- * The social media accounts of the company
557
+ * The list of social media accounts and external links associated with this
558
+ * company.
524
559
  */
525
560
  social_links: Array<Company.SocialLink>;
526
561
  /**
527
- * The title of the company.
562
+ * The display name of the company shown to customers.
528
563
  */
529
564
  title: string;
530
565
  /**
531
- * The time the company was last updated.
566
+ * The datetime the company was last updated.
532
567
  */
533
568
  updated_at: string;
534
569
  /**
535
- * If the company is Whop Verified
570
+ * Whether this company has been verified by Whop's trust and safety team.
536
571
  */
537
572
  verified: boolean;
538
573
  }
@@ -542,25 +577,25 @@ export declare namespace Company {
542
577
  */
543
578
  interface Logo {
544
579
  /**
545
- * This is the URL you use to render optimized attachments on the client. This
546
- * should be used for apps.
580
+ * A pre-optimized URL for rendering this attachment on the client. This should be
581
+ * used for displaying attachments in apps.
547
582
  */
548
583
  url: string | null;
549
584
  }
550
585
  /**
551
- * The user who owns this company
586
+ * The user who owns and has full administrative control over this company.
552
587
  */
553
588
  interface OwnerUser {
554
589
  /**
555
- * The internal ID of the user.
590
+ * The unique identifier for the user.
556
591
  */
557
592
  id: string;
558
593
  /**
559
- * The name of the user from their Whop account.
594
+ * The user's display name shown on their public profile.
560
595
  */
561
596
  name: string | null;
562
597
  /**
563
- * The username of the user from their Whop account.
598
+ * The user's unique username shown on their public profile.
564
599
  */
565
600
  username: string;
566
601
  }
@@ -569,11 +604,11 @@ export declare namespace Company {
569
604
  */
570
605
  interface SocialLink {
571
606
  /**
572
- * The ID
607
+ * The unique identifier for the social link.
573
608
  */
574
609
  id: string;
575
610
  /**
576
- * The URL
611
+ * The URL of the social media profile or external link.
577
612
  */
578
613
  url: string;
579
614
  /**
@@ -583,177 +618,179 @@ export declare namespace Company {
583
618
  }
584
619
  }
585
620
  /**
586
- * A lesson interaction tracking user progress in courses
621
+ * A record of a user's progress on a specific lesson, tracking whether they have
622
+ * completed it.
587
623
  */
588
624
  export interface CourseLessonInteraction {
589
625
  /**
590
- * The ID of the lesson interaction
626
+ * The unique identifier for the lesson interaction.
591
627
  */
592
628
  id: string;
593
629
  /**
594
- * Whether the lesson has been completed by the user
630
+ * Whether the user has finished this lesson.
595
631
  */
596
632
  completed: boolean;
597
633
  /**
598
- * The course for this lesson interaction
634
+ * The course that contains the tracked lesson.
599
635
  */
600
636
  course: CourseLessonInteraction.Course;
601
637
  /**
602
- * When the interaction was created
638
+ * The datetime the lesson interaction was created.
603
639
  */
604
640
  created_at: string;
605
641
  /**
606
- * The lesson this interaction is for
642
+ * The lesson that this progress record belongs to.
607
643
  */
608
644
  lesson: CourseLessonInteraction.Lesson;
609
645
  /**
610
- * The user who interacted with the lesson
646
+ * The user whose progress is being tracked.
611
647
  */
612
648
  user: CourseLessonInteraction.User;
613
649
  }
614
650
  export declare namespace CourseLessonInteraction {
615
651
  /**
616
- * The course for this lesson interaction
652
+ * The course that contains the tracked lesson.
617
653
  */
618
654
  interface Course {
619
655
  /**
620
- * The ID of the course. Looks like cors_XXX
656
+ * The unique identifier for the course.
621
657
  */
622
658
  id: string;
623
659
  /**
624
- * The experience that the course belongs to
660
+ * The parent experience that this course belongs to.
625
661
  */
626
662
  experience: Course.Experience;
627
663
  /**
628
- * The title of the course
664
+ * The display name of the course shown to students. Null if no title has been set.
629
665
  */
630
666
  title: string | null;
631
667
  }
632
668
  namespace Course {
633
669
  /**
634
- * The experience that the course belongs to
670
+ * The parent experience that this course belongs to.
635
671
  */
636
672
  interface Experience {
637
673
  /**
638
- * The unique ID representing this experience
674
+ * The unique identifier for the experience.
639
675
  */
640
676
  id: string;
641
677
  }
642
678
  }
643
679
  /**
644
- * The lesson this interaction is for
680
+ * The lesson that this progress record belongs to.
645
681
  */
646
682
  interface Lesson {
647
683
  /**
648
- * The ID of the lesson
684
+ * The unique identifier for the lesson.
649
685
  */
650
686
  id: string;
651
687
  /**
652
- * The chapter this lesson belongs to
688
+ * The parent chapter that contains this lesson.
653
689
  */
654
690
  chapter: Lesson.Chapter;
655
691
  /**
656
- * The title of the lesson
692
+ * The display name of the lesson shown to students. Maximum 120 characters.
657
693
  */
658
694
  title: string;
659
695
  }
660
696
  namespace Lesson {
661
697
  /**
662
- * The chapter this lesson belongs to
698
+ * The parent chapter that contains this lesson.
663
699
  */
664
700
  interface Chapter {
665
701
  /**
666
- * The ID of the chapter. Looks like chap_XXX
702
+ * The unique identifier for the chapter.
667
703
  */
668
704
  id: string;
669
705
  }
670
706
  }
671
707
  /**
672
- * The user who interacted with the lesson
708
+ * The user whose progress is being tracked.
673
709
  */
674
710
  interface User {
675
711
  /**
676
- * The internal ID of the user.
712
+ * The unique identifier for the user.
677
713
  */
678
714
  id: string;
679
715
  /**
680
- * The name of the user from their Whop account.
716
+ * The user's display name shown on their public profile.
681
717
  */
682
718
  name: string | null;
683
719
  /**
684
- * The username of the user from their Whop account.
720
+ * The user's unique username shown on their public profile.
685
721
  */
686
722
  username: string;
687
723
  }
688
724
  }
689
725
  /**
690
- * A lesson interaction tracking user progress in courses
726
+ * A record of a user's progress on a specific lesson, tracking whether they have
727
+ * completed it.
691
728
  */
692
729
  export interface CourseLessonInteractionListItem {
693
730
  /**
694
- * The ID of the lesson interaction
731
+ * The unique identifier for the lesson interaction.
695
732
  */
696
733
  id: string;
697
734
  /**
698
- * Whether the lesson has been completed by the user
735
+ * Whether the user has finished this lesson.
699
736
  */
700
737
  completed: boolean;
701
738
  /**
702
- * When the interaction was created
739
+ * The datetime the lesson interaction was created.
703
740
  */
704
741
  created_at: string;
705
742
  /**
706
- * The lesson this interaction is for
743
+ * The lesson that this progress record belongs to.
707
744
  */
708
745
  lesson: CourseLessonInteractionListItem.Lesson;
709
746
  /**
710
- * The user who interacted with the lesson
747
+ * The user whose progress is being tracked.
711
748
  */
712
749
  user: CourseLessonInteractionListItem.User;
713
750
  }
714
751
  export declare namespace CourseLessonInteractionListItem {
715
752
  /**
716
- * The lesson this interaction is for
753
+ * The lesson that this progress record belongs to.
717
754
  */
718
755
  interface Lesson {
719
756
  /**
720
- * The ID of the lesson
757
+ * The unique identifier for the lesson.
721
758
  */
722
759
  id: string;
723
760
  /**
724
- * The chapter this lesson belongs to
761
+ * The parent chapter that contains this lesson.
725
762
  */
726
763
  chapter: Lesson.Chapter;
727
764
  /**
728
- * The title of the lesson
765
+ * The display name of the lesson shown to students. Maximum 120 characters.
729
766
  */
730
767
  title: string;
731
768
  }
732
769
  namespace Lesson {
733
770
  /**
734
- * The chapter this lesson belongs to
771
+ * The parent chapter that contains this lesson.
735
772
  */
736
773
  interface Chapter {
737
774
  /**
738
- * The ID of the chapter. Looks like chap_XXX
775
+ * The unique identifier for the chapter.
739
776
  */
740
777
  id: string;
741
778
  }
742
779
  }
743
780
  /**
744
- * The user who interacted with the lesson
781
+ * The user whose progress is being tracked.
745
782
  */
746
783
  interface User {
747
784
  /**
748
- * The internal ID of the user.
785
+ * The unique identifier for the user.
749
786
  */
750
787
  id: string;
751
788
  /**
752
- * The name of the user from their Whop account.
789
+ * The user's display name shown on their public profile.
753
790
  */
754
791
  name: string | null;
755
792
  /**
756
- * The username of the user from their Whop account.
793
+ * The user's unique username shown on their public profile.
757
794
  */
758
795
  username: string;
759
796
  }
@@ -779,35 +816,38 @@ export type DmsPostTypes = 'regular' | 'system' | 'automated';
779
816
  */
780
817
  export type EmailNotificationPreferences = 'all_admin_posts' | 'only_weekly_summary' | 'none';
781
818
  /**
782
- * An object representing an entry in a waitlist.
819
+ * An entry represents a user's signup for a waitlisted plan.
783
820
  */
784
821
  export interface Entry {
785
822
  /**
786
- * The internal ID of the entry.
823
+ * The unique identifier for the entry.
787
824
  */
788
825
  id: string;
789
826
  /**
790
- * When the entry was created.
827
+ * The datetime the entry was created.
791
828
  */
792
829
  created_at: string | null;
793
830
  /**
794
- * Responses collected from the user when submitting their entry.
831
+ * The list of responses collected from the user when submitting their waitlist
832
+ * entry.
795
833
  */
796
834
  custom_field_responses: Array<Entry.CustomFieldResponse> | null;
797
835
  /**
798
- * The waitlist plan the entry if for.
836
+ * The waitlisted plan that this entry is a signup for.
799
837
  */
800
838
  plan: Entry.Plan | null;
801
839
  /**
802
- * The product tied to this entry, if there is one.
840
+ * The product associated with this entry's waitlisted plan. Null if the plan is
841
+ * not tied to a product.
803
842
  */
804
843
  product: Entry.Product | null;
805
844
  /**
806
- * The status of the entry.
845
+ * The current status of the waitlist entry (e.g., drafted, pending, approved,
846
+ * denied).
807
847
  */
808
848
  status: EntryStatus;
809
849
  /**
810
- * The user who created the entry.
850
+ * The user who submitted this waitlist entry.
811
851
  */
812
852
  user: Entry.User;
813
853
  }
@@ -817,7 +857,7 @@ export declare namespace Entry {
817
857
  */
818
858
  interface CustomFieldResponse {
819
859
  /**
820
- * The ID of the custom field item
860
+ * The unique identifier for the custom field response.
821
861
  */
822
862
  id: string;
823
863
  /**
@@ -830,45 +870,48 @@ export declare namespace Entry {
830
870
  question: string;
831
871
  }
832
872
  /**
833
- * The waitlist plan the entry if for.
873
+ * The waitlisted plan that this entry is a signup for.
834
874
  */
835
875
  interface Plan {
836
876
  /**
837
- * The internal ID of the plan.
877
+ * The unique identifier for the plan.
838
878
  */
839
879
  id: string;
840
880
  }
841
881
  /**
842
- * The product tied to this entry, if there is one.
882
+ * The product associated with this entry's waitlisted plan. Null if the plan is
883
+ * not tied to a product.
843
884
  */
844
885
  interface Product {
845
886
  /**
846
- * The internal ID of the public product.
887
+ * The unique identifier for the product.
847
888
  */
848
889
  id: string;
849
890
  /**
850
- * The title of the product. Use for Whop 4.0.
891
+ * The display name of the product shown to customers on the product page and in
892
+ * search results.
851
893
  */
852
894
  title: string;
853
895
  }
854
896
  /**
855
- * The user who created the entry.
897
+ * The user who submitted this waitlist entry.
856
898
  */
857
899
  interface User {
858
900
  /**
859
- * The internal ID of the user.
901
+ * The unique identifier for the user.
860
902
  */
861
903
  id: string;
862
904
  /**
863
- * The email of the user
905
+ * The user's email address. Requires the member:email:read permission to access.
906
+ * Null if not authorized.
864
907
  */
865
908
  email: string | null;
866
909
  /**
867
- * The name of the user from their Whop account.
910
+ * The user's display name shown on their public profile.
868
911
  */
869
912
  name: string | null;
870
913
  /**
871
- * The username of the user from their Whop account.
914
+ * The user's unique username shown on their public profile.
872
915
  */
873
916
  username: string;
874
917
  }
@@ -878,15 +921,16 @@ export declare namespace Entry {
878
921
  */
879
922
  export type EntryStatus = 'drafted' | 'pending' | 'approved' | 'denied' | 'any';
880
923
  /**
881
- * An object representing an experience belonging to a company.
924
+ * An experience is a feature or content module within a product, such as a chat,
925
+ * course, or custom app.
882
926
  */
883
927
  export interface Experience {
884
928
  /**
885
- * The unique ID representing this experience
929
+ * The unique identifier for the experience.
886
930
  */
887
931
  id: string;
888
932
  /**
889
- * The experience interface for this experience.
933
+ * The app that powers this experience, defining its interface and behavior.
890
934
  */
891
935
  app: Experience.App;
892
936
  /**
@@ -894,60 +938,65 @@ export interface Experience {
894
938
  */
895
939
  company: Experience.Company;
896
940
  /**
897
- * The timestamp of when this experience was created.
941
+ * The datetime the experience was created.
898
942
  */
899
943
  created_at: string;
900
944
  /**
901
- * The logo for the experience.
945
+ * The custom logo image for this experience. Null if no custom logo has been
946
+ * uploaded.
902
947
  */
903
948
  image: Experience.Image | null;
904
949
  /**
905
- * Whether the experience is visible to the public
950
+ * Whether this experience is publicly visible to all users, including those
951
+ * without a membership.
906
952
  */
907
953
  is_public: boolean;
908
954
  /**
909
- * The written name of the description.
955
+ * The display name of this experience shown to users in the product navigation.
956
+ * Maximum 255 characters.
910
957
  */
911
958
  name: string;
912
959
  /**
913
- * The order of the experience in the section
960
+ * The sort position of this experience within its section. Lower values appear
961
+ * first. Null if no position has been set.
914
962
  */
915
963
  order: string | null;
916
964
  /**
917
- * The products that this experience is attached to. This defines which set of
918
- * customers have access and can view this experience. If empty, this experience is
919
- * only visible to authorized users of the company
965
+ * The list of products this experience is attached to, which determines which
966
+ * customers have access. Empty if the experience is only visible to authorized
967
+ * company team members.
920
968
  */
921
969
  products: Array<Experience.Product>;
922
970
  }
923
971
  export declare namespace Experience {
924
972
  /**
925
- * The experience interface for this experience.
973
+ * The app that powers this experience, defining its interface and behavior.
926
974
  */
927
975
  interface App {
928
976
  /**
929
- * The ID of the app
977
+ * The unique identifier for the app.
930
978
  */
931
979
  id: string;
932
980
  /**
933
- * The icon for the app. This icon is shown on discovery, on the product page, on
934
- * checkout, and as a default icon for the experiences.
981
+ * The icon image for this app, displayed on the app store, product pages,
982
+ * checkout, and as the default icon for experiences using this app.
935
983
  */
936
984
  icon: App.Icon | null;
937
985
  /**
938
- * The name of the app
986
+ * The display name of this app shown on the app store and in experience
987
+ * navigation. Maximum 30 characters.
939
988
  */
940
989
  name: string;
941
990
  }
942
991
  namespace App {
943
992
  /**
944
- * The icon for the app. This icon is shown on discovery, on the product page, on
945
- * checkout, and as a default icon for the experiences.
993
+ * The icon image for this app, displayed on the app store, product pages,
994
+ * checkout, and as the default icon for experiences using this app.
946
995
  */
947
996
  interface Icon {
948
997
  /**
949
- * This is the URL you use to render optimized attachments on the client. This
950
- * should be used for apps.
998
+ * A pre-optimized URL for rendering this attachment on the client. This should be
999
+ * used for displaying attachments in apps.
951
1000
  */
952
1001
  url: string | null;
953
1002
  }
@@ -957,48 +1006,53 @@ export declare namespace Experience {
957
1006
  */
958
1007
  interface Company {
959
1008
  /**
960
- * The ID (tag) of the company.
1009
+ * The unique identifier for the company.
961
1010
  */
962
1011
  id: string;
963
1012
  /**
964
- * The slug/route of the company on the Whop site.
1013
+ * The URL slug for the company's store page (e.g., 'pickaxe' in whop.com/pickaxe).
965
1014
  */
966
1015
  route: string;
967
1016
  /**
968
- * The title of the company.
1017
+ * The display name of the company shown to customers.
969
1018
  */
970
1019
  title: string;
971
1020
  }
972
1021
  /**
973
- * The logo for the experience.
1022
+ * The custom logo image for this experience. Null if no custom logo has been
1023
+ * uploaded.
974
1024
  */
975
1025
  interface Image {
976
1026
  /**
977
- * This is the URL you use to render optimized attachments on the client. This
978
- * should be used for apps.
1027
+ * A pre-optimized URL for rendering this attachment on the client. This should be
1028
+ * used for displaying attachments in apps.
979
1029
  */
980
1030
  url: string | null;
981
1031
  }
982
1032
  /**
983
- * Represents a product on whop. Use products to sell anything on the platform.
1033
+ * A product is a digital good or service sold on Whop. Products contain plans for
1034
+ * pricing and experiences for content delivery.
984
1035
  */
985
1036
  interface Product {
986
1037
  /**
987
- * The internal ID of the public product.
1038
+ * The unique identifier for the product.
988
1039
  */
989
1040
  id: string;
990
1041
  /**
991
- * The route of the product.
1042
+ * The URL slug used in the product's public link (e.g., 'my-product' in
1043
+ * whop.com/company/my-product).
992
1044
  */
993
1045
  route: string;
994
1046
  /**
995
- * The title of the product. Use for Whop 4.0.
1047
+ * The display name of the product shown to customers on the product page and in
1048
+ * search results.
996
1049
  */
997
1050
  title: string;
998
1051
  }
999
1052
  }
1000
1053
  /**
1001
- * Represents a forum feed
1054
+ * A discussion forum where members can create posts, comment, and react, belonging
1055
+ * to an experience.
1002
1056
  */
1003
1057
  export interface Forum {
1004
1058
  /**
@@ -1006,115 +1060,127 @@ export interface Forum {
1006
1060
  */
1007
1061
  id: string;
1008
1062
  /**
1009
- * The email notification preference for this forum
1063
+ * The email notification setting that controls which posts trigger email alerts.
1064
+ * One of: all_admin_posts, only_weekly_summary, none.
1010
1065
  */
1011
1066
  email_notification_preference: EmailNotificationPreferences;
1012
1067
  /**
1013
- * The experience for this forum
1068
+ * The parent experience that this forum belongs to.
1014
1069
  */
1015
1070
  experience: Forum.Experience;
1016
1071
  /**
1017
- * Who can comment on this forum
1072
+ * The permission level controlling who can comment on posts. One of: everyone,
1073
+ * admins.
1018
1074
  */
1019
1075
  who_can_comment: WhoCanCommentTypes;
1020
1076
  /**
1021
- * Who can post on this forum
1077
+ * The permission level controlling who can create new posts. One of: everyone,
1078
+ * admins.
1022
1079
  */
1023
1080
  who_can_post: WhoCanPostTypes;
1024
1081
  }
1025
1082
  export declare namespace Forum {
1026
1083
  /**
1027
- * The experience for this forum
1084
+ * The parent experience that this forum belongs to.
1028
1085
  */
1029
1086
  interface Experience {
1030
1087
  /**
1031
- * The unique ID representing this experience
1088
+ * The unique identifier for the experience.
1032
1089
  */
1033
1090
  id: string;
1034
1091
  /**
1035
- * The written name of the description.
1092
+ * The display name of this experience shown to users in the product navigation.
1093
+ * Maximum 255 characters.
1036
1094
  */
1037
1095
  name: string;
1038
1096
  }
1039
1097
  }
1040
1098
  /**
1041
- * Represents a post in forum
1099
+ * A post or comment in a forum feed, supporting rich text, attachments, polls, and
1100
+ * reactions.
1042
1101
  */
1043
1102
  export interface ForumPost {
1044
1103
  /**
1045
- * The unique identifier of the resource.
1104
+ * Represents a unique identifier that is Base64 obfuscated. It is often used to
1105
+ * refetch an object or as key for a cache. The ID type appears in a JSON response
1106
+ * as a String; however, it is not intended to be human-readable. When expected as
1107
+ * an input type, any string (such as `"VXNlci0xMA=="`) or integer (such as `4`)
1108
+ * input value will be accepted as an ID.
1046
1109
  */
1047
1110
  id: string;
1048
1111
  /**
1049
- * The amount of comments on this post
1112
+ * The total number of direct comments on this post.
1050
1113
  */
1051
1114
  comment_count: number;
1052
1115
  /**
1053
- * The content of the forum post in Markdown format
1116
+ * The body of the forum post in Markdown format. Null if the post is paywalled and
1117
+ * the current user does not have access.
1054
1118
  */
1055
1119
  content: string | null;
1056
1120
  /**
1057
- * The timestamp when the post was created
1121
+ * The time this post was created, as a Unix timestamp.
1058
1122
  */
1059
1123
  created_at: string;
1060
1124
  /**
1061
- * Whether the forum post has been edited
1125
+ * Whether this post has been edited after its initial creation.
1062
1126
  */
1063
1127
  is_edited: boolean;
1064
1128
  /**
1065
- * Whether this forum post is pinned
1129
+ * Whether this post is pinned to the top of the forum feed.
1066
1130
  */
1067
1131
  is_pinned: boolean;
1068
1132
  /**
1069
- * Whether the user that sent the post is an admin of the company
1133
+ * Whether the author of this post is an admin of the company that owns the forum.
1070
1134
  */
1071
1135
  is_poster_admin: boolean;
1072
1136
  /**
1073
- * The number of likes this post has received
1137
+ * The total number of like reactions this post has received.
1074
1138
  */
1075
1139
  like_count: number | null;
1076
1140
  /**
1077
- * The ID of the parent forum post, if applicable
1141
+ * The unique identifier of the parent post. Null if this is a top-level post.
1078
1142
  */
1079
1143
  parent_id: string | null;
1080
1144
  /**
1081
- * The title of the forum post
1145
+ * The headline of the forum post. Null if the post has no title.
1082
1146
  */
1083
1147
  title: string | null;
1084
1148
  /**
1085
- * The timestamp when the post was last updated
1149
+ * The time this post was last updated, as a Unix timestamp.
1086
1150
  */
1087
1151
  updated_at: string;
1088
1152
  /**
1089
- * The user who created this forum post
1153
+ * The user who authored this forum post.
1090
1154
  */
1091
1155
  user: ForumPost.User;
1092
1156
  /**
1093
- * The number of times this message has been viewed
1157
+ * The total number of times this post has been viewed by users.
1094
1158
  */
1095
1159
  view_count: number | null;
1096
1160
  }
1097
1161
  export declare namespace ForumPost {
1098
1162
  /**
1099
- * The user who created this forum post
1163
+ * The user who authored this forum post.
1100
1164
  */
1101
1165
  interface User {
1102
1166
  /**
1103
- * The internal ID of the user.
1167
+ * The unique identifier for the user.
1104
1168
  */
1105
1169
  id: string;
1106
1170
  /**
1107
- * The name of the user from their Whop account.
1171
+ * The user's display name shown on their public profile.
1108
1172
  */
1109
1173
  name: string | null;
1110
1174
  /**
1111
- * The username of the user from their Whop account.
1175
+ * The user's unique username shown on their public profile.
1112
1176
  */
1113
1177
  username: string;
1114
1178
  }
1115
1179
  }
1116
1180
  /**
1117
- * The friendly status of a receipt
1181
+ * The friendly status of a payment. This is a derived status that provides a
1182
+ * human-readable summary of the payment state, combining the underlying status and
1183
+ * substatus fields.
1118
1184
  */
1119
1185
  export type FriendlyReceiptStatus = 'succeeded' | 'pending' | 'failed' | 'past_due' | 'canceled' | 'price_too_low' | 'uncollectible' | 'refunded' | 'auto_refunded' | 'partially_refunded' | 'dispute_warning' | 'dispute_needs_response' | 'dispute_warning_needs_response' | 'resolution_needs_response' | 'dispute_under_review' | 'dispute_warning_under_review' | 'resolution_under_review' | 'dispute_won' | 'dispute_warning_closed' | 'resolution_won' | 'dispute_lost' | 'dispute_closed' | 'resolution_lost' | 'drafted' | 'incomplete' | 'unresolved' | 'open_dispute' | 'open_resolution';
1120
1186
  /**
@@ -1124,60 +1190,66 @@ export type GlobalAffiliateStatus = 'enabled' | 'disabled';
1124
1190
  /**
1125
1191
  * The different industry types a company can be in.
1126
1192
  */
1127
- export type IndustryTypes = 'trading' | 'sports_betting' | 'reselling' | 'fitness' | 'amazon_fba' | 'real_estate' | 'kindle_book_publishing' | 'dating' | 'agencies' | 'health_and_wellness' | 'social_media' | 'sales' | 'business' | 'ecommerce' | 'video_games' | 'home_services' | 'ai' | 'public_speaking' | 'personal_finance' | 'careers' | 'travel' | 'clipping' | 'spirituality' | 'vas' | 'personal_development' | 'software' | 'other' | 'marketing_agency' | 'sales_agency' | 'ai_agency' | 'design_agency' | 'coaching_agency' | 'development_agency' | 'recruiting_agency' | 'customer_support_agency' | 'clipping_agency' | 'clothing' | 'supplements' | 'beauty_and_personal_care' | 'fitness_gear' | 'accessories' | 'home_goods' | 'electronics_and_gadgets' | 'food_and_beverages' | 'gym' | 'restaurant' | 'retail_store' | 'coffee_shop' | 'salon_spa' | 'medical_dentist_office' | 'hotel_lodging' | 'auto_repair_shop' | 'masterminds' | 'webinars' | 'bootcamps' | 'convention' | 'concerts' | 'meetups' | 'parties';
1193
+ export type IndustryTypes = 'trading' | 'sports_betting' | 'reselling' | 'fitness' | 'amazon_fba' | 'real_estate' | 'kindle_book_publishing' | 'dating' | 'agencies' | 'health_and_wellness' | 'social_media' | 'sales' | 'business' | 'ecommerce' | 'video_games' | 'home_services' | 'ai' | 'public_speaking' | 'personal_finance' | 'careers' | 'travel' | 'clipping' | 'spirituality' | 'vas' | 'personal_development' | 'software' | 'other' | 'marketing_agency' | 'sales_agency' | 'ai_agency' | 'design_agency' | 'coaching_agency' | 'development_agency' | 'recruiting_agency' | 'customer_support_agency' | 'clipping_agency' | 'clothing' | 'supplements' | 'beauty_and_personal_care' | 'fitness_gear' | 'accessories' | 'home_goods' | 'electronics_and_gadgets' | 'food_and_beverages' | 'gym' | 'restaurant' | 'retail_store' | 'coffee_shop' | 'salon_spa' | 'medical_dentist_office' | 'hotel_lodging' | 'auto_repair_shop' | 'masterminds' | 'webinars' | 'bootcamps' | 'convention' | 'concerts' | 'meetups' | 'parties' | 'forex_trading' | 'stock_trading' | 'options_trading' | 'crypto_trading' | 'futures_trading' | 'day_trading' | 'swing_trading' | 'algorithmic_trading' | 'prop_firm_trading' | 'value_investing' | 'real_estate_investing' | 'alternative_investments' | 'penny_stock_trading' | 'dividend_investing' | 'index_fund_investing' | 'gold_precious_metals' | 'venture_capital_education' | 'private_equity_education' | 'technical_analysis' | 'forex_scalping' | 'ict_smc_trading' | 'personalized_investment_advice' | 'sports_betting_picks' | 'fantasy_sports' | 'horse_racing' | 'poker_coaching' | 'esports_betting' | 'sports_analytics' | 'nfl_betting' | 'nba_betting' | 'mlb_betting' | 'soccer_betting' | 'mma_ufc_betting' | 'bodybuilding_coaching' | 'strength_training' | 'weight_loss_coaching' | 'athletic_performance' | 'yoga_instruction' | 'martial_arts_instruction' | 'running_coaching' | 'calisthenics' | 'flexibility_mobility' | 'nutrition_coaching' | 'swimming_coaching' | 'cycling_coaching' | 'boxing_coaching' | 'mma_coaching' | 'jiu_jitsu_coaching' | 'wrestling_coaching' | 'gymnastics_coaching' | 'pilates_instruction' | 'sports_nutrition' | 'body_recomposition' | 'golf_coaching' | 'tennis_coaching' | 'basketball_training' | 'soccer_training' | 'mental_health_coaching' | 'life_coaching' | 'biohacking' | 'holistic_health' | 'addiction_recovery_coaching' | 'breathwork' | 'meditation_mindfulness' | 'gut_health_coaching' | 'longevity_coaching' | 'womens_health_coaching' | 'mens_health_coaching' | 'fertility_wellness' | 'stress_management' | 'grief_coaching' | 'trauma_recovery_coaching' | 'adhd_coaching' | 'biomarker_health_coaching' | 'fitness_newsletter' | 'mental_health_newsletter' | 'longevity_newsletter' | 'medical_newsletter' | 'biohacking_newsletter' | 'womens_health_newsletter' | 'mens_health_newsletter' | 'pharma_biotech_newsletter' | 'ecommerce_education' | 'amazon_fba_coaching' | 'dropshipping_coaching' | 'print_on_demand_coaching' | 'retail_arbitrage' | 'wholesale_coaching' | 'startup_coaching' | 'business_strategy' | 'agency_building' | 'smma_coaching' | 'consulting_business' | 'saas_entrepreneurship' | 'local_business_coaching' | 'cleaning_business_coaching' | 'trucking_business_coaching' | 'vending_machine_business' | 'atm_business_coaching' | 'car_wash_business' | 'airbnb_business_coaching' | 'private_label_coaching' | 'etsy_coaching' | 'merch_business_coaching' | 'licensing_business' | 'business_acquisition' | 'women_entrepreneurship' | 'affiliate_marketing_education' | 'coaching_business_coaching' | 'dark_pattern_subscriptions' | 'income_guarantee_scheme' | 'lifetime_access_offers' | 'mlm_pyramid_scheme' | 'negative_option_billing' | 'startup_newsletter' | 'ecommerce_newsletter' | 'marketing_newsletter' | 'sales_newsletter' | 'small_business_newsletter' | 'leadership_newsletter' | 'agency_newsletter' | 'saas_newsletter' | 'hr_people_newsletter' | 'legal_business_newsletter' | 'real_estate_business_newsletter' | 'solopreneur_newsletter' | 'high_ticket_sales' | 'b2b_sales_coaching' | 'door_to_door_sales' | 'sales_funnel_coaching' | 'appointment_setting_coaching' | 'insurance_sales_coaching' | 'car_sales_coaching' | 'retail_sales_coaching' | 'solar_sales_coaching' | 'facebook_ads' | 'google_ads' | 'tiktok_marketing' | 'youtube_marketing' | 'instagram_growth' | 'seo_coaching' | 'email_marketing_coaching' | 'copywriting_coaching' | 'affiliate_marketing' | 'local_seo' | 'ai_marketing' | 'webinar_marketing' | 'event_marketing' | 'saas_marketing_coaching' | 'video_editing_education' | 'photography_coaching' | 'music_production' | 'ui_ux_design_education' | 'clipping_education' | 'ugc_creation' | '3d_modeling_education' | 'dj_education' | 'youtube_automation' | 'blog_monetization' | 'wedding_photography_education' | 'calligraphy_lettering' | 'illustration_education' | 'fashion_design_education' | 'interior_design_education' | 'influencer_education' | 'ai_content_creator_education' | 'web_development_education' | 'ai_ml_education' | 'data_science_education' | 'cybersecurity_education' | 'cloud_computing_education' | 'blockchain_education' | 'no_code_education' | 'automation_education' | 'game_development_education' | 'prompt_engineering' | 'python_programming' | 'javascript_programming' | 'react_development' | 'database_engineering' | 'aws_certification' | 'data_engineering' | 'robotics_education' | 'vr_ar_development' | 'linux_sysadmin' | 'wordpress_development' | 'ai_agent_building' | 'real_estate_wholesaling' | 'house_flipping' | 'property_development' | 'rental_property' | 'airbnb_str' | 'commercial_real_estate' | 'land_investing' | 'section_8_housing' | 'mobile_home_investing' | 'multifamily_investing' | 'self_storage_investing' | 'property_management_education' | 'vacation_rental_management' | 'credit_repair_education' | 'budgeting_coaching' | 'tax_strategy_education' | 'wealth_building' | 'student_loan_strategy' | 'credit_card_optimization' | 'career_coaching' | 'executive_coaching' | 'management_coaching' | 'tech_career_coaching' | 'medical_career_coaching' | 'trade_skills_education' | 'va_training' | 'bookkeeping_education' | 'data_career_coaching' | 'cybersecurity_career' | 'consulting_career' | 'investment_banking_career' | 'law_career_coaching' | 'nursing_career_coaching' | 'teaching_career_coaching' | 'personal_branding_career' | 'mens_dating_coaching' | 'womens_dating_coaching' | 'relationship_coaching' | 'marriage_coaching' | 'communication_coaching' | 'masculinity_coaching' | 'femininity_coaching' | 'breakup_recovery' | 'manifestation_coaching' | 'astrology_coaching' | 'energy_healing' | 'spiritual_coaching' | 'faith_based_coaching' | 'psychic_development' | 'numerology_coaching' | 'chakra_healing' | 'shamanic_healing' | 'biblical_coaching' | 'islamic_coaching' | 'productivity_coaching' | 'public_speaking_coaching' | 'mindset_coaching' | 'stoicism_philosophy' | 'mens_self_improvement' | 'womens_self_improvement' | 'leadership_development' | 'anger_management' | 'neurolinguistic_programming' | 'kindle_publishing' | 'amazon_kdp' | 'self_publishing' | 'audiobook_publishing' | 'course_creation' | 'digital_product_creation' | 'ghostwriting_business' | 'template_creation' | 'ai_book_publishing' | 'language_learning' | 'tutoring' | 'college_admissions_coaching' | 'cpa_exam_prep' | 'bar_exam_prep' | 'real_estate_exam_prep' | 'medical_board_prep' | 'pmp_certification_prep' | 'aws_certification_prep' | 'comptia_certification' | 'ap_exam_prep' | 'graduate_school_prep' | 'scholarship_coaching' | 'homeschool_education' | 'stem_education' | 'financial_certification' | 'coding_bootcamp_prep' | 'cooking_culinary' | 'travel_coaching' | 'parenting_coaching' | 'pet_training' | 'gardening_education' | 'diy_crafts' | 'survival_prepping' | 'baking_pastry' | 'wine_sommelier' | 'beer_brewing' | 'mixology_bartending' | 'woodworking' | 'pottery_ceramics' | 'knitting_crocheting' | 'jewelry_making' | 'aquarium_fishkeeping' | 'bird_watching' | 'astronomy_education' | 'magic_illusion' | 'car_restoration' | 'motorcycle_riding' | 'sailing_boating' | 'scuba_diving' | 'rock_climbing' | 'skiing_snowboarding' | 'surfing_education' | 'homesteading' | 'tiny_house_living' | 'van_life' | 'fashion_styling' | 'floral_design' | 'travel_planning_service' | 'esports_coaching' | 'game_specific_coaching' | 'legal_education' | 'music_theory' | 'music_business' | 'acting_coaching' | 'dance_instruction' | 'voice_acting' | 'english_coaching' | 'spanish_coaching' | 'mandarin_coaching' | 'french_coaching' | 'german_coaching' | 'japanese_coaching' | 'korean_coaching' | 'arabic_coaching' | 'sign_language_education' | 'accent_reduction' | 'business_english' | 'smma' | 'performance_marketing_agency' | 'seo_agency' | 'content_marketing_agency' | 'email_marketing_agency' | 'influencer_marketing_agency' | 'pr_agency' | 'branding_agency' | 'video_marketing_agency' | 'amazon_marketing_agency' | 'podcast_production_agency' | 'tiktok_agency' | 'linkedin_agency' | 'local_marketing_agency' | 'dental_marketing_agency' | 'real_estate_marketing_agency' | 'restaurant_marketing_agency' | 'ecommerce_marketing_agency' | 'b2b_marketing_agency' | 'growth_marketing_agency' | 'affiliate_management_agency' | 'conversion_optimization_agency' | 'event_marketing_agency' | 'click_farm_service' | 'data_scraping_service' | 'lead_list_sales' | 'social_media_bot_farm' | 'lead_generation_agency' | 'cold_email_agency' | 'cold_calling_agency' | 'sales_outsourcing' | 'crm_implementation' | 'appointment_setting_agency' | 'sales_training_agency' | 'revenue_operations_agency' | 'inbound_teleservices' | 'outbound_telemarketing' | 'ai_chatbot_agency' | 'ai_automation_agency' | 'ai_consulting' | 'workflow_automation_agency' | 'data_analytics_agency' | 'ai_voice_agent_agency' | 'ai_content_agency' | 'machine_learning_agency' | 'computer_vision_agency' | 'web_design_agency' | 'graphic_design_agency' | 'ui_ux_agency' | 'motion_design_agency' | 'product_design_agency' | 'logo_design_agency' | 'presentation_design_agency' | '3d_visualization_agency' | 'fashion_design_agency' | 'web_development_agency' | 'mobile_app_agency' | 'saas_development_agency' | 'ecommerce_development' | 'blockchain_development_agency' | 'game_development_agency' | 'devops_agency' | 'ai_development_agency' | 'wordpress_agency' | 'shopify_agency' | 'api_integration_agency' | 'cybersecurity_agency' | 'data_engineering_agency' | 'vr_ar_development_agency' | 'hacking_tools_malware' | 'stalkerware_monitoring' | 'tech_recruiting_agency' | 'executive_recruiting' | 'staffing_agency' | 'remote_staffing' | 'healthcare_recruiting' | 'va_placement_agency' | 'sales_recruiting' | 'creative_recruiting' | 'finance_recruiting' | 'legal_recruiting' | 'construction_staffing' | 'hospitality_staffing' | 'customer_support_outsourcing' | 'live_chat_agency' | 'technical_support_agency' | 'call_center_agency' | 'multilingual_support_agency' | 'community_management_agency' | 'video_clipping_agency' | 'ugc_agency' | 'content_writing_agency' | 'translation_agency' | 'social_media_management' | 'ghostwriting_agency' | 'podcast_editing_agency' | 'thumbnail_design_agency' | 'scriptwriting_agency' | 'seo_content_agency' | 'technical_writing_agency' | 'management_consulting' | 'financial_consulting' | 'hr_consulting' | 'operations_consulting' | 'it_consulting' | 'sustainability_consulting' | 'legal_consulting' | 'compliance_consulting' | 'supply_chain_consulting' | 'change_management_consulting' | 'digital_transformation_consulting' | 'healthcare_consulting' | 'real_estate_consulting' | 'franchise_consulting' | 'export_trade_consulting' | 'nonprofit_consulting' | 'education_consulting' | 'cannabis_consulting' | 'restaurant_consulting' | 'm_and_a_consulting' | 'pricing_strategy_consulting' | 'brand_strategy_consulting' | 'saas_marketing_consulting' | 'done_for_you_services' | 'prop_firm_passing_service' | 'trading_account_management' | 'done_for_you_trading' | 'accounting_bookkeeping' | 'tax_preparation' | 'legal_services' | 'notary_services' | 'insurance_brokerage' | 'financial_planning_service' | 'real_estate_services' | 'property_management' | 'mortgage_brokerage' | 'immigration_services' | 'patent_trademark_services' | 'business_formation_services' | 'shell_company_formation' | 'payroll_services' | 'audit_services' | 'forensic_accounting' | 'actuarial_services' | 'appraisal_services' | 'mediation_arbitration' | 'background_check_services' | 'bail_bond_services' | 'bnpl_service' | 'check_cashing_service' | 'cloud_mining_schemes' | 'consumer_lending' | 'credit_repair_service' | 'crowdfunding_platform' | 'crypto_exchange_brokerage' | 'debt_collection_agency' | 'debt_relief_settlement' | 'document_falsification' | 'escrow_service' | 'essay_mill_paper_mill' | 'fake_id_services' | 'fake_reference_services' | 'foreign_exchange_service' | 'government_service_facilitation' | 'immigration_services_unlicensed' | 'licensed_legal_services' | 'payment_facilitation' | 'personalized_tax_services' | 'prediction_market_exchange' | 'private_investigation' | 'repossession_services' | 'stablecoin_issuance' | 'standalone_tipping' | 'token_sales_ico' | 'tokenized_rwa' | 'unlicensed_legal_services' | 'yield_staking_products' | 'photography_service' | 'videography_service' | 'music_production_service' | 'voice_over_service' | 'event_photography' | 'drone_services' | 'commercial_photography' | 'portrait_photography_service' | 'real_estate_photography' | 'food_photography_service' | 'live_event_production' | 'podcast_production_service' | 'record_label' | 'book_publishing_house' | 'news_media_outlet' | 'radio_broadcasting' | 'tv_production_company' | 'film_studio' | 'magazine_publisher' | 'music_licensing_agency' | 'talent_management_agency' | 'advertising_network' | 'ad_tech_platform' | 'cleaning_service' | 'landscaping_service' | 'plumbing_service' | 'electrical_service' | 'hvac_service' | 'roofing_service' | 'painting_service' | 'moving_service' | 'handyman_service' | 'pest_control' | 'pool_service' | 'solar_installation' | 'home_renovation' | 'pressure_washing' | 'junk_removal' | 'garage_door_service' | 'fencing_service' | 'concrete_masonry' | 'tree_service' | 'window_cleaning' | 'gutter_service' | 'flooring_service' | 'cabinet_countertop' | 'home_inspection' | 'septic_service' | 'waterproofing_service' | 'insulation_service' | 'chimney_service' | 'locksmith_service' | 'glass_window_service' | 'epoxy_coating' | 'private_security_guard_service' | 'armored_car_transport' | 'executive_protection_bodyguard' | 'event_security_service' | 'alarm_system_installation' | 'cctv_installation' | 'private_investigation_agency' | 'background_check_provider' | 'locksmith_commercial' | 'bounty_hunter_bail_enforcement' | 'personal_styling' | 'personal_chef' | 'personal_assistant_service' | 'tutoring_service' | 'pet_services' | 'wedding_planning' | 'concierge_service' | 'personal_training_service' | 'nanny_service' | 'elder_care_service' | 'errand_service' | 'life_organization' | 'relocation_service' | 'adult_dating_services' | 'escort_services' | 'hotel_accommodation_bookings' | 'mail_order_spouse' | 'psychic_fortune_telling' | 'timeshare_sales' | 'freight_brokerage' | 'courier_service' | 'warehousing_service' | 'last_mile_delivery' | 'auto_transport' | 'international_shipping' | 'cold_chain_logistics' | 'commercial_airline_tickets' | 'cruise_line_bookings' | 'contract_manufacturing' | 'cnc_machining_service' | '3d_printing_service_commercial' | 'plastic_injection_molding' | 'metal_fabrication' | 'pcba_assembly' | 'chemical_manufacturing' | 'textile_manufacturing' | 'food_processing_facility' | 'packaging_manufacturing' | 'industrial_automation_integrator' | 'mining_and_extraction' | 'oil_and_gas_services' | 'renewable_energy_generation' | 'waste_management_recycling' | 'hazardous_waste_disposal' | 'aerospace_defense_contracting' | 'personal_training_studio' | 'nutrition_consulting' | 'mental_health_counseling' | 'physical_therapy_service' | 'occupational_therapy_service' | 'speech_therapy_service' | 'chiropractic_service' | 'acupuncture_service' | 'massage_therapy_service' | 'midwifery_doula' | 'lactation_consulting' | 'dietitian_service' | 'addiction_recovery_services' | 'dtc_lab_testing' | 'iv_therapy_infusion' | 'medspa_aesthetic_services' | 'prescription_delivery_services' | 'registered_dietitian_services' | 'unlicensed_therapy_counseling' | 'streetwear' | 'athleisure' | 'luxury_fashion' | 'kids_clothing' | 'custom_apparel' | 'workwear' | 'swimwear' | 'lingerie_intimates' | 'vintage_clothing' | 'plus_size_fashion' | 'maternity_clothing' | 'sleepwear_loungewear' | 'denim_brand' | 'outerwear_jackets' | 'socks_hosiery' | 'costumes_cosplay' | 'scrubs_medical_apparel' | 'dance_performance_wear' | 'hunting_camo_apparel' | 'protein_supplements' | 'vitamins_minerals' | 'pre_workout' | 'nootropics' | 'herbal_supplements' | 'weight_management_supplements' | 'gut_health' | 'cbd_products' | 'mushroom_supplements' | 'collagen_supplements' | 'testosterone_boosters' | 'sleep_supplements' | 'immune_support' | 'joint_bone_health' | 'greens_powder' | 'creatine_supplements' | 'electrolyte_hydration' | 'prenatal_supplements' | 'kids_supplements' | 'pet_supplements' | 'ayurvedic_supplements' | 'keto_supplements' | 'cannabis_thc_products' | 'cbd_hemp_products_compliant' | 'delta8_thc_products' | 'dietary_supplements' | 'drug_precursor_chemicals' | 'illegal_drugs' | 'kratom_kava_products' | 'medical_treatment_claims_product' | 'nutraceutical_products' | 'otc_medication_sales' | 'performance_enhancing_drugs' | 'research_chemicals_dangerous' | 'research_peptides' | 'sexual_enhancement_products' | 'tobacco_products' | 'unlicensed_rx_sales' | 'skincare' | 'haircare' | 'cosmetics_makeup' | 'mens_grooming' | 'fragrance' | 'oral_care' | 'sunscreen_spf' | 'hair_growth_products' | 'body_care' | 'deodorant' | 'lip_care' | 'acne_treatment' | 'men_skincare' | 'baby_skincare' | 'tattoo_aftercare' | 'intimate_care' | 'home_gym_equipment' | 'yoga_equipment' | 'combat_sports_gear' | 'outdoor_fitness_gear' | 'wearable_fitness' | 'recovery_equipment' | 'weightlifting_equipment' | 'cardio_equipment' | 'gymnastics_equipment' | 'swimming_gear' | 'jump_rope_equipment' | 'grip_strength_tools' | 'sauna_cold_plunge' | 'posture_correctors' | 'jewelry' | 'sunglasses_eyewear' | 'bags_wallets' | 'hats_headwear' | 'phone_accessories' | 'travel_accessories' | 'scarves_wraps' | 'belts' | 'hair_accessories' | 'tech_accessories' | 'keychains_charms' | 'custom_engraved_accessories' | 'cannabis_accessories_non_drug' | 'drug_paraphernalia' | 'high_value_goods_over_500' | 'precious_metals_stones' | 'replica_counterfeit_goods' | 'home_decor' | 'candles_scents' | 'kitchenware' | 'bedding_linens' | 'smart_home' | 'cleaning_products' | 'outdoor_furniture' | 'organization_storage' | 'wall_art_prints' | 'rugs_carpets' | 'lighting_fixtures' | 'planters_garden_decor' | 'bathroom_accessories' | 'luxury_home_goods' | 'seasonal_holiday_decor' | 'pet_home_products' | 'home_fragrance_diffusers' | 'hazardous_chemicals_b2c' | 'pre_orders_delayed_delivery' | 'audio_equipment' | 'camera_equipment' | 'gaming_hardware' | 'drones_robotics' | 'ev_accessories' | 'charging_power' | 'smart_wearables' | 'home_security_devices' | '3d_printers' | 'projectors_displays' | 'streaming_devices' | 'vr_headsets' | 'e_readers' | 'portable_tech' | 'hardware_wallets' | 'regulated_medical_devices' | 'signal_jamming_devices' | 'spy_cameras_hidden_recording' | 'specialty_coffee_tea' | 'health_food' | 'snacks_treats' | 'sauces_condiments' | 'alcohol_spirits' | 'meal_kits' | 'baked_goods' | 'beverages' | 'pet_food_treats' | 'protein_bars_snacks' | 'jerky_meat_snacks' | 'chocolate_confections' | 'honey_sweeteners' | 'olive_oil_vinegar' | 'hot_sauce' | 'dried_fruit_nuts' | 'baby_food' | 'plant_based_food' | 'gluten_free_food' | 'keto_food_products' | 'subscription_food_box' | 'kombucha_fermented' | 'alcohol_sales' | 'baby_products' | 'kids_toys' | 'kids_educational' | 'baby_clothing_accessories' | 'nursery_decor' | 'kids_outdoor_play' | 'kids_books' | 'baby_safety_products' | 'kids_arts_crafts' | 'camping_hiking' | 'fishing_gear' | 'hunting_gear' | 'cycling_gear' | 'water_sports_gear' | 'golf_equipment' | 'snow_sports_gear' | 'climbing_gear' | 'archery_equipment' | 'skateboarding_gear' | 'pickleball_equipment' | 'tennis_equipment' | 'equestrian_gear' | 'tactical_gear' | 'overlanding_gear' | 'explosives_fireworks' | 'firearms_sales' | 'self_defense_products' | 'weapon_components' | 'craft_kits' | 'sewing_textiles' | 'stationery' | 'scrapbooking_supplies' | 'beading_jewelry_supplies' | 'pottery_supplies' | 'printmaking_supplies' | 'car_accessories' | 'detailing_products' | 'motorcycle_gear' | 'truck_accessories' | 'off_road_parts' | 'car_audio_electronics' | 'performance_parts' | 'car_care_products' | 'ev_charging_accessories' | 'auto_repair_service' | 'auto_body_shop' | 'car_dealership' | 'car_wash' | 'tire_shop' | 'oil_change_shop' | 'auto_parts_store' | 'motorcycle_shop' | 'ev_charging_station' | 'transmission_shop' | 'muffler_exhaust_shop' | 'auto_glass_shop' | 'auto_upholstery_shop' | 'car_audio_shop' | 'smog_emissions_shop' | 'truck_repair_shop' | 'rv_repair_shop' | 'boat_repair_shop' | 'used_car_lot' | 'auto_auction' | 'dog_products' | 'cat_products' | 'aquarium_supplies' | 'bird_supplies' | 'reptile_supplies' | 'horse_supplies' | 'pet_apparel' | 'pet_tech' | 'pet_grooming_products' | 'hand_tools' | 'power_tools_and_accessories' | 'hardware_and_fasteners' | 'workshop_equipment_and_storage' | 'safety_and_work_gear' | 'painting_and_building_supplies' | 'office_supplies' | 'desk_accessories' | 'printing_supplies' | 'shipping_packaging' | 'reusable_products' | 'solar_powered_products' | 'handmade_goods_marketplace' | 'vintage_resale_marketplace' | 'electronics_marketplace' | 'auto_parts_marketplace' | 'luxury_goods_marketplace' | 'collectibles_marketplace' | 'nft_digital_marketplace' | 'wholesale_marketplace' | 'local_goods_marketplace' | 'sneaker_marketplace' | 'book_marketplace' | 'furniture_marketplace' | 'musical_instrument_marketplace' | 'art_marketplace' | 'ticket_marketplace' | 'industrial_equipment_marketplace' | 'craft_supply_marketplace' | 'baby_kids_marketplace' | 'outdoor_gear_marketplace' | 'pet_marketplace' | 'sustainable_goods_marketplace' | '3d_weapon_files' | 'cultural_artifacts_looted' | 'dropshipping_operations' | 'endangered_animal_products' | 'human_body_parts_tissue' | 'nft_marketplace' | 'penny_auction' | 'primary_event_ticketing' | 'freelancer_marketplace' | 'home_services_marketplace' | 'tutoring_marketplace' | 'legal_services_marketplace' | 'healthcare_marketplace' | 'wedding_services_marketplace' | 'creative_services_marketplace' | 'beauty_services_marketplace' | 'fitness_trainer_marketplace' | 'pet_services_marketplace' | 'childcare_marketplace' | 'elder_care_marketplace' | 'translation_marketplace' | 'coaching_marketplace' | 'therapy_marketplace' | 'photography_marketplace' | 'dj_entertainment_marketplace' | 'auto_services_marketplace' | 'freelance_marketplace_operator' | 'equipment_rental_marketplace' | 'vehicle_rental_marketplace' | 'space_rental_marketplace' | 'vacation_rental_marketplace' | 'clothing_rental_marketplace' | 'camera_gear_rental' | 'rv_camper_rental' | 'boat_rental_marketplace' | 'storage_rental_marketplace' | 'office_coworking_rental' | 'parking_rental_marketplace' | 'restaurant_marketplace' | 'grocery_marketplace' | 'catering_marketplace' | 'homemade_food_marketplace' | 'meal_prep_marketplace' | 'bakery_marketplace' | 'farm_produce_marketplace' | 'chef_booking_marketplace' | 'course_marketplace' | 'template_marketplace' | 'stock_media_marketplace' | 'music_beats_marketplace' | 'ebook_marketplace' | 'plugin_theme_marketplace' | '3d_model_marketplace' | 'prompt_marketplace' | 'code_snippet_marketplace' | 'game_account_selling' | 'game_cheats_hacks' | 'pirated_digital_content' | 'unauthorized_ingame_currency' | 'weapon_blueprint_distribution' | 'saas_marketplace' | 'agency_marketplace' | 'manufacturing_marketplace' | 'logistics_marketplace' | 'commercial_real_estate_marketplace' | 'business_for_sale_marketplace' | 'food_delivery' | 'grocery_delivery' | 'package_delivery' | 'moving_labor' | 'alcohol_delivery' | 'pharmacy_delivery' | 'flower_delivery_gig' | 'furniture_delivery_gig' | 'catering_delivery' | 'rideshare' | 'chauffeur_service' | 'bike_scooter_rental' | 'boat_charter_gig' | 'moving_truck_rental_gig' | 'assembly_installation' | 'waiting_line_service' | 'personal_shopping' | 'grocery_shopping_gig' | 'gift_wrapping_gig' | 'notary_gig' | 'laundry_gig' | 'car_wash_gig' | 'cleaning_gig' | 'lawn_care_gig' | 'handyman_gig' | 'pet_care_gig' | 'childcare_gig' | 'elder_care_gig' | 'painting_gig' | 'snow_removal_gig' | 'pool_cleaning_gig' | 'organizing_gig' | 'pressure_washing_gig' | 'junk_removal_gig' | 'freelance_design_gig' | 'freelance_writing_gig' | 'freelance_dev_gig' | 'music_performance_gig' | 'event_staffing_gig' | 'model_talent_gig' | 'photography_gig' | 'videography_gig' | 'voiceover_gig' | 'illustration_gig' | 'social_media_gig' | 'dj_gig' | 'face_painting_gig' | 'consulting_gig' | 'accounting_gig' | 'legal_gig' | 'healthcare_gig' | 'teaching_gig' | 'translation_gig' | 'data_entry_gig' | 'research_gig' | 'virtual_assistant_gig' | 'sales_gig' | 'recruiting_gig' | 'mystery_shopping' | 'focus_group_gig' | 'product_testing_gig' | 'drone_pilot_gig' | 'fitness_instruction_gig' | 'tour_guide_gig' | 'forex_signals_group' | 'stock_signals_group' | 'crypto_signals_group' | 'options_alerts_group' | 'futures_signals_group' | 'trading_education_group' | 'investing_community' | 'prediction_markets_group' | 'nft_alpha_group' | 'penny_stock_group' | 'dividend_investing_group' | 'real_estate_investing_group' | 'prop_firm_group' | 'sports_picks_group' | 'dfs_group' | 'horse_racing_group' | 'esports_picks_group' | 'nfl_picks_group' | 'nba_picks_group' | 'soccer_picks_group' | 'mlb_picks_group' | 'mma_picks_group' | 'prop_bets_group' | 'fantasy_sports_free_to_play' | 'licensed_gambling_operations' | 'unlicensed_gambling' | 'ecommerce_community' | 'agency_community' | 'saas_community' | 'saas_marketing_community' | 'real_estate_community' | 'sales_community' | 'affiliate_community' | 'reselling_community' | 'amazon_seller_community' | 'dropshipping_community' | 'freelancer_community' | 'startup_founder_community' | 'ceo_executive_community' | 'women_business_community' | 'marketing_community' | 'ai_business_community' | 'content_business_community' | 'local_business_community' | 'private_equity_community' | 'wholesaling_community' | 'coaching_business_community' | 'make_money_online_community' | 'fitness_accountability' | 'nutrition_community' | 'weight_loss_group' | 'bodybuilding_community' | 'running_community' | 'martial_arts_community' | 'mental_health_group' | 'biohacking_community' | 'addiction_support_group' | 'yoga_community' | 'crossfit_community' | 'longevity_community' | 'womens_fitness_community' | 'postpartum_fitness_group' | 'chronic_illness_support' | 'content_creator_community' | 'video_editing_community' | 'music_producer_community' | 'photography_community' | 'writing_community' | 'design_community' | 'youtube_creator_community' | 'tiktok_creator_community' | 'podcast_community' | 'filmmaker_community' | 'developer_community' | 'ai_community' | 'cybersecurity_community' | 'no_code_community' | 'indie_hacker_community' | 'devops_community' | 'data_science_community' | 'product_community' | 'open_source_community' | 'dating_community' | 'personal_development_community' | 'spirituality_community' | 'parenting_community' | 'travel_community' | 'networking_community' | 'faith_community' | 'mens_community' | 'womens_community' | 'expat_community' | 'adult_community_nsfw' | 'hate_violence_communities' | 'personal_fundraising' | 'political_fundraising' | 'political_organizations' | 'pornographic_content' | 'registered_501c3' | 'religious_organization' | 'unregistered_charities' | 'gaming_community' | 'car_enthusiast_community' | 'sneakerhead_community' | 'watch_collector_community' | 'wine_enthusiast_community' | 'cigar_community' | 'cooking_community' | 'gardening_community' | 'fishing_community' | 'hunting_community' | 'diy_maker_community' | 'golf_community' | 'sweepstakes_raffles' | 'forex_trading_bot' | 'stock_trading_platform' | 'crypto_trading_bot' | 'futures_trading_bot' | 'options_flow_tool' | 'portfolio_tracker' | 'financial_modeling_software' | 'accounting_software' | 'invoicing_software' | 'tax_software' | 'risk_management_software' | 'prop_trading_platform' | 'backtesting_software' | 'market_data_feed' | 'banking_software' | 'lending_platform' | 'insurance_software' | 'crypto_trading_tools_software' | 'non_custodial_wallet_tools' | 'ai_outreach_tool' | 'ai_chatbot_software' | 'ai_writing_tool' | 'ai_image_generator' | 'ai_video_tool' | 'ai_voice_tool' | 'ai_data_analysis' | 'ai_code_assistant' | 'ai_meeting_assistant' | 'workflow_automation_software' | 'ai_sales_tool' | 'ai_customer_support' | 'ai_recruiting_tool' | 'ai_translation_tool' | 'ai_music_tool' | 'ai_presentation_tool' | 'ai_research_tool' | 'ai_seo_tool' | 'ai_social_media_tool' | 'ai_phone_agent' | 'ai_legal_tool' | 'ai_healthcare_tool' | 'llm_api_platform' | 'ai_agent_platform' | 'generative_ai_platform' | 'celebrity_impersonation' | 'deepfake_service' | 'crm_software' | 'email_marketing_software' | 'sms_marketing_software' | 'seo_tool' | 'landing_page_builder' | 'ad_management_tool' | 'affiliate_tracking' | 'review_management' | 'analytics_dashboard' | 'lead_gen_software' | 'link_in_bio_tool' | 'influencer_platform' | 'webinar_platform' | 'ab_testing_tool' | 'chatbot_marketing' | 'video_sales_tool' | 'proposal_software' | 'competitive_intelligence' | 'social_listening_tool' | 'whatsapp_marketing_tool' | 'ecommerce_platform' | 'product_research_tool' | 'price_tracker' | 'shipping_software' | 'print_on_demand_software' | 'marketplace_seller_tool' | 'product_review_software' | 'returns_management' | 'product_feed_management' | 'checkout_optimization' | 'wholesale_ordering' | 'project_management_software' | 'team_communication' | 'video_conferencing' | 'document_collaboration' | 'time_tracking_software' | 'scheduling_software' | 'hr_software' | 'knowledge_base_software' | 'form_survey_builder' | 'note_taking_app' | 'task_management' | 'contract_management' | 'expense_management' | 'okr_goal_tracking' | 'employee_engagement' | 'onboarding_software' | 'applicant_tracking' | 'asset_management' | 'facility_management' | 'visitor_management' | 'api_management' | 'hosting_platform' | 'database_tool' | 'devops_tool' | 'monitoring_tool' | 'testing_tool' | 'code_editor' | 'no_code_builder' | 'cdn_platform' | 'error_tracking' | 'documentation_tool' | 'webhook_tool' | 'community_platform' | 'event_management_software' | 'webinar_software' | 'school_management' | 'newsletter_platform' | 'podcast_hosting' | 'forum_software' | 'virtual_classroom' | 'telehealth_platform' | 'ehr_software' | 'practice_management' | 'mental_health_app' | 'fitness_app' | 'nutrition_tracking_app' | 'wellness_app' | 'patient_engagement' | 'medical_billing_software' | 'pharmacy_management' | 'lab_management' | 'clinical_trial_software' | 'dental_software' | 'veterinary_software' | 'health_data_platform' | 'real_estate_crm' | 'property_management_software' | 'deal_analysis_tool' | 'mls_search_tool' | 'virtual_tour_software' | 'real_estate_marketing_software' | 'construction_management' | 'home_valuation_tool' | 'restaurant_pos' | 'salon_software' | 'gym_management_software' | 'auto_shop_software' | 'legal_practice_software' | 'church_management' | 'nonprofit_software' | 'logistics_software' | 'agriculture_software' | 'field_service_software' | 'marina_management' | 'hotel_pms' | 'childcare_management' | 'cleaning_business_software' | 'roofing_software' | 'landscaping_software' | 'pest_control_software' | 'tattoo_studio_software' | 'cannabis_software' | 'vpn_software' | 'password_manager' | 'cybersecurity_software' | 'identity_verification' | 'backup_recovery' | 'endpoint_protection' | 'email_security' | 'access_management' | 'compliance_software' | 'data_privacy_tool' | 'vpn_services' | 'game_mod_tool' | 'streaming_tool' | 'game_server_hosting' | 'music_software' | 'video_editing_software' | 'photo_editing_software' | 'animation_software' | 'audio_editing_software' | 'screen_recording_software' | 'fantasy_sports_paid_entry' | 'iptv_pirated_streaming' | 'loot_boxes_gacha' | 'skill_contests_free_entry' | 'skill_contests_paid_entry' | 'business_phone_system' | 'customer_messaging' | 'digital_key_reselling' | 'streaming_account_reselling' | 'primary_care_telehealth' | 'urgent_care_telehealth' | 'pediatric_telehealth' | 'geriatric_telehealth' | 'family_medicine_telehealth' | 'internal_medicine_telehealth' | 'preventive_care_telehealth' | 'licensed_online_pharmacy' | 'telemedicine_practitioner_services' | 'dermatology_telehealth' | 'acne_telehealth' | 'psoriasis_eczema_telehealth' | 'skin_cancer_screening_tele' | 'cosmetic_dermatology_tele' | 'therapy_telehealth' | 'psychiatry_telehealth' | 'addiction_telehealth' | 'couples_therapy_telehealth' | 'child_psychology_telehealth' | 'eating_disorder_telehealth' | 'ptsd_trauma_telehealth' | 'adhd_telehealth' | 'anxiety_depression_telehealth' | 'ocd_telehealth' | 'grief_counseling_telehealth' | 'anger_management_telehealth' | 'family_therapy_telehealth' | 'group_therapy_telehealth' | 'licensed_psychedelic_therapy' | 'womens_health_telehealth' | 'mens_health_telehealth' | 'sexual_health_telehealth' | 'fertility_telehealth' | 'hormone_therapy_telehealth' | 'menopause_telehealth' | 'prenatal_telehealth' | 'postpartum_telehealth' | 'erectile_dysfunction_tele' | 'hair_loss_telehealth' | 'birth_control_telehealth' | 'sti_testing_telehealth' | 'dental_telehealth' | 'orthodontics_telehealth' | 'optometry_telehealth' | 'oral_surgery_consultation' | 'vision_therapy_telehealth' | 'cardiology_telehealth' | 'endocrinology_telehealth' | 'neurology_telehealth' | 'orthopedic_telehealth' | 'allergy_telehealth' | 'ent_telehealth' | 'rheumatology_telehealth' | 'gastroenterology_telehealth' | 'infectious_disease_telehealth' | 'pulmonology_telehealth' | 'nephrology_telehealth' | 'oncology_telehealth' | 'hematology_telehealth' | 'urology_telehealth' | 'weight_management_telehealth' | 'glp1_weight_loss_tele' | 'diabetes_management_tele' | 'metabolic_health_tele' | 'bariatric_telehealth' | 'physical_therapy_telehealth' | 'occupational_therapy_tele' | 'speech_therapy_telehealth' | 'pain_management_telehealth' | 'cardiac_rehab_telehealth' | 'pelvic_floor_telehealth' | 'vestibular_telehealth' | 'sleep_medicine_telehealth' | 'chronic_disease_management' | 'chronic_pain_telehealth' | 'migraine_telehealth' | 'asthma_copd_telehealth' | 'nutrition_telehealth' | 'naturopathic_telehealth' | 'functional_medicine_telehealth' | 'acupuncture_telehealth' | 'health_coaching_telehealth' | 'integrative_medicine_tele' | 'ayurvedic_telehealth' | 'genetic_counseling_telehealth' | 'pharmacogenomics_tele' | 'rare_disease_telehealth' | 'second_opinion_telehealth' | 'vet_telehealth' | 'pet_behavior_telehealth' | 'exotic_pet_telehealth' | 'equine_telehealth' | 'veterinary_services' | 'class_action_settlement' | 'mastermind_event' | 'webinar_event' | 'bootcamp_event' | 'convention_expo' | 'conference_summit' | 'workshop_seminar' | 'hackathon' | 'pitch_competition' | 'training_certification_event' | 'product_launch_event' | 'investor_demo_day' | 'industry_awards_event' | 'panel_discussion_event' | 'virtual_summit' | 'corporate_training_event' | 'meetup_event' | 'dinner_event' | 'alumni_event' | 'community_gathering' | 'singles_event' | 'professional_happy_hour' | 'women_networking_event' | 'founders_dinner' | 'industry_mixer' | 'concert_event' | 'party_event' | 'comedy_show' | 'theater_performance' | 'film_screening' | 'art_exhibition' | 'food_festival' | 'music_festival' | 'cultural_festival' | 'fashion_show' | 'drag_show' | 'magic_show' | 'dance_performance' | 'poetry_spoken_word' | 'trivia_night' | 'wine_tasting_event' | 'beer_festival' | 'car_show' | 'fitness_challenge_event' | 'marathon_race' | 'tournament_event' | 'fight_event' | 'yoga_retreat_event' | 'outdoor_adventure_event' | 'esports_tournament' | 'obstacle_course_race' | 'cycling_event' | 'swim_meet' | 'golf_tournament' | 'pickleball_tournament' | 'crossfit_competition' | 'martial_arts_tournament' | 'surfing_competition' | 'wellness_retreat' | 'spiritual_retreat' | 'couples_retreat' | 'plant_medicine_retreat' | 'luxury_experience_event' | 'detox_retreat' | 'silent_retreat' | 'creative_retreat' | 'leadership_retreat' | 'mens_retreat' | 'womens_retreat' | 'digital_detox_retreat' | 'fundraiser_event' | 'awareness_event' | 'volunteer_event' | 'charity_auction' | 'benefit_concert' | 'charity_run_walk' | 'environmental_cleanup' | 'family_festival' | 'kids_event' | 'holiday_event' | 'farmers_market_event' | 'block_party' | 'graduation_ceremony' | 'memorial_event' | 'stock_market_newsletter' | 'crypto_newsletter' | 'personal_finance_newsletter' | 'real_estate_newsletter' | 'fintech_newsletter' | 'venture_capital_newsletter' | 'options_trading_newsletter' | 'forex_newsletter' | 'macro_economics_newsletter' | 'alternative_investing_newsletter' | 'tax_strategy_newsletter' | 'ai_newsletter' | 'tech_industry_newsletter' | 'cybersecurity_newsletter' | 'developer_newsletter' | 'product_newsletter' | 'devops_newsletter' | 'open_source_newsletter' | 'robotics_newsletter' | 'climate_tech_newsletter' | 'travel_newsletter' | 'fashion_newsletter' | 'parenting_newsletter' | 'sports_newsletter' | 'gaming_newsletter' | 'music_entertainment_newsletter' | 'book_reading_newsletter' | 'dating_relationships_newsletter' | 'home_design_newsletter' | 'pet_newsletter' | 'wine_spirits_newsletter' | 'automotive_newsletter' | 'political_newsletter' | 'geopolitics_newsletter' | 'media_journalism_newsletter' | 'defense_security_newsletter' | 'legal_policy_newsletter' | 'design_newsletter' | 'education_newsletter' | 'science_newsletter' | 'philosophy_newsletter' | 'sustainability_newsletter' | 'architecture_newsletter' | 'history_newsletter' | 'psychology_newsletter' | 'career_newsletter' | 'spirituality_newsletter' | 'self_improvement_newsletter' | 'productivity_newsletter' | 'faith_newsletter' | 'gym_facility' | 'crossfit_box' | 'yoga_studio' | 'pilates_studio' | 'martial_arts_gym' | 'boxing_gym' | 'climbing_gym' | 'dance_studio' | 'swimming_pool' | 'sports_facility' | 'golf_course' | 'bowling_alley' | 'skating_rink' | 'trampoline_park' | 'tennis_club' | 'pickleball_facility' | 'gymnastics_center' | 'spin_studio' | 'barre_studio' | 'personal_training_studio_bm' | 'recovery_studio' | 'indoor_soccer' | 'batting_cage' | 'shooting_range' | 'archery_range' | 'equestrian_center' | 'fine_dining' | 'fast_casual_restaurant' | 'fast_food' | 'food_truck' | 'bar_lounge' | 'brewery_taproom' | 'winery_tasting' | 'coffee_shop_cafe' | 'bakery' | 'juice_smoothie_bar' | 'pizza_shop' | 'sushi_restaurant' | 'ethnic_restaurant' | 'catering_kitchen' | 'ghost_kitchen' | 'ice_cream_shop' | 'donut_shop' | 'deli_sandwich_shop' | 'steakhouse' | 'seafood_restaurant' | 'bbq_restaurant' | 'mexican_restaurant' | 'italian_restaurant' | 'chinese_restaurant' | 'indian_restaurant' | 'thai_restaurant' | 'korean_restaurant' | 'mediterranean_restaurant' | 'vegan_vegetarian_restaurant' | 'brunch_restaurant' | 'ramen_noodle_shop' | 'poke_bowl_shop' | 'bubble_tea_shop' | 'wine_bar' | 'cocktail_bar' | 'sports_bar' | 'hookah_lounge' | 'distillery' | 'butcher_shop' | 'cheese_shop' | 'farmers_market_stall' | 'food_hall_vendor' | 'commercial_farming' | 'livestock_ranching' | 'hydroponic_vertical_farming' | 'forestry_logging' | 'aquaculture_fisheries' | 'vineyard_winery_production' | 'cannabis_cultivation' | 'hemp_farming' | 'grain_production' | 'agricultural_cooperative' | 'fertilizer_pesticide_sales' | 'farm_equipment_sales' | 'boutique_store' | 'clothing_store' | 'shoe_store' | 'jewelry_store' | 'electronics_store' | 'bookstore' | 'pet_store' | 'toy_store' | 'sporting_goods_store' | 'thrift_store' | 'smoke_shop' | 'cannabis_dispensary' | 'convenience_store' | 'grocery_store' | 'liquor_store' | 'florist' | 'gift_shop' | 'furniture_store' | 'home_improvement_store' | 'art_gallery_retail' | 'music_instrument_store' | 'outdoor_recreation_store' | 'phone_repair_store' | 'watch_store' | 'bridal_shop' | 'maternity_store' | 'kids_store' | 'sneaker_store' | 'vintage_store' | 'comic_book_store' | 'record_store' | 'craft_supply_store' | 'fabric_store' | 'health_food_store' | 'vitamin_supplement_store' | 'optical_store' | 'mattress_store' | 'appliance_store' | 'kitchen_bath_store' | 'tile_flooring_store' | 'paint_store' | 'garden_center' | 'gun_store' | 'pawn_shop' | 'dollar_store' | 'hair_salon' | 'nail_salon' | 'day_spa' | 'med_spa' | 'massage_studio' | 'tattoo_parlor' | 'tanning_salon' | 'beauty_supply_store' | 'lash_brow_studio' | 'waxing_studio' | 'sauna_bathhouse' | 'cryotherapy_studio' | 'float_sensory_studio' | 'iv_therapy_lounge' | 'teeth_whitening_studio' | 'microblading_studio' | 'spray_tan_studio' | 'blowout_bar' | 'mens_barbershop' | 'kids_salon' | 'medical_office' | 'dental_office' | 'chiropractic_office' | 'physical_therapy_clinic' | 'optometry_office' | 'dermatology_clinic' | 'urgent_care_clinic' | 'pharmacy' | 'veterinary_clinic' | 'mental_health_clinic' | 'fertility_clinic' | 'acupuncture_clinic' | 'hearing_aid_center' | 'orthopedic_clinic' | 'pediatric_clinic' | 'cosmetic_surgery_center' | 'allergy_clinic' | 'pain_management_clinic' | 'dialysis_center' | 'imaging_center' | 'lab_testing_center' | 'sleep_clinic' | 'weight_loss_clinic' | 'hormone_therapy_clinic' | 'addiction_treatment_center' | 'rehabilitation_center' | 'occupational_therapy_clinic' | 'speech_therapy_clinic' | 'wound_care_center' | 'funeral_home_mortuary' | 'crematory_service' | 'cemetery_memorial_park' | 'casket_urn_retailer' | 'pet_cremation_service' | 'biohazard_cleanup' | 'estate_liquidation' | 'hotel' | 'motel' | 'boutique_hotel' | 'bed_and_breakfast' | 'hostel' | 'resort' | 'campground_rv' | 'vacation_rental_property' | 'extended_stay' | 'glamping_site' | 'cabin_rental' | 'eco_lodge' | 'retreat_center' | 'tutoring_center' | 'daycare_center' | 'preschool' | 'learning_center' | 'music_school' | 'art_school' | 'driving_school' | 'language_school' | 'trade_school' | 'coding_bootcamp_location' | 'montessori_school' | 'after_school_program' | 'swim_school' | 'cooking_school' | 'test_prep_center' | 'special_needs_center' | 'adult_education_center' | 'flight_school' | 'cosmetology_school' | 'movie_theater' | 'escape_room' | 'arcade' | 'mini_golf' | 'laser_tag' | 'go_kart' | 'amusement_park' | 'museum' | 'zoo_aquarium' | 'theater_venue' | 'nightclub' | 'karaoke_bar' | 'comedy_club' | 'live_music_venue' | 'axe_throwing' | 'virtual_reality_arcade' | 'board_game_cafe' | 'cat_cafe' | 'haunted_house' | 'water_park' | 'indoor_playground' | 'trampoline_park_entertainment' | 'concert_venue' | 'drive_in_theater' | 'billiards_hall' | 'dart_bar' | 'batting_cage_entertainment' | 'indoor_skydiving' | 'law_office' | 'real_estate_office' | 'insurance_office' | 'accounting_office' | 'bank_credit_union' | 'printing_shop' | 'shipping_center' | 'dry_cleaner' | 'laundromat' | 'storage_facility' | 'coworking_space' | 'check_cashing' | 'title_company' | 'travel_agency_storefront' | 'staffing_office' | 'financial_advisor_office' | 'immigration_office' | 'bail_bonds_office' | 'pet_grooming' | 'dog_daycare' | 'pet_boarding' | 'dog_training_facility' | 'pet_spa' | 'aquatic_pet_store' | 'pet_bakery' | 'pet_photography_studio' | 'plumbing_showroom' | 'hvac_showroom' | 'solar_showroom' | 'kitchen_design_showroom' | 'bath_design_showroom' | 'window_door_showroom' | 'pool_spa_showroom' | 'fireplace_showroom' | 'countertop_showroom' | 'nonprofit_organization' | 'charity_foundation' | 'political_campaign' | 'community_organization' | 'environmental_nonprofit' | 'education_nonprofit' | 'health_nonprofit' | 'animal_welfare_nonprofit' | 'arts_culture_nonprofit' | 'social_justice_nonprofit' | 'veterans_nonprofit' | 'youth_nonprofit' | 'disaster_relief_nonprofit' | 'food_bank' | 'housing_nonprofit' | 'government_agency' | 'public_utility' | 'public_library' | 'public_school' | 'municipal_service' | 'military_installation' | 'embassy_consulate' | 'niche_service' | 'niche_product' | 'hybrid_business' | 'other_general' | 'holding_company' | 'family_office' | 'cooperative' | 'social_enterprise' | 'incubator_accelerator' | 'coworking_community' | 'media_company' | 'research_lab';
1128
1194
  /**
1129
- * A statement that defines an amount due by a customer.
1195
+ * An invoice represents an itemized bill sent by a company to a customer for a
1196
+ * specific product and plan, tracking the amount owed, due date, and payment
1197
+ * status.
1130
1198
  */
1131
1199
  export interface Invoice {
1132
1200
  /**
1133
- * The ID of the invoice.
1201
+ * The unique identifier for the invoice.
1134
1202
  */
1135
1203
  id: string;
1136
1204
  /**
1137
- * The date the invoice was created.
1205
+ * The datetime the invoice was created.
1138
1206
  */
1139
1207
  created_at: string;
1140
1208
  /**
1141
- * The plan that the invoice was created for.
1209
+ * The plan that this invoice charges for.
1142
1210
  */
1143
1211
  current_plan: Invoice.CurrentPlan;
1144
1212
  /**
1145
- * The date the invoice is due.
1213
+ * The deadline by which payment is expected. Null if the invoice is collected
1214
+ * automatically.
1146
1215
  */
1147
1216
  due_date: string | null;
1148
1217
  /**
1149
- * The email address that the invoice was created for.
1218
+ * The email address of the customer this invoice is addressed to. Null if no email
1219
+ * is on file.
1150
1220
  */
1151
1221
  email_address: string | null;
1152
1222
  /**
1153
- * A signed token that allows fetching the invoice data publically without being
1154
- * authenticated.
1223
+ * A signed token that allows fetching invoice data publicly without
1224
+ * authentication.
1155
1225
  */
1156
1226
  fetch_invoice_token: string;
1157
1227
  /**
1158
- * The number of the invoice.
1228
+ * The sequential invoice number for display purposes.
1159
1229
  */
1160
1230
  number: string;
1161
1231
  /**
1162
- * The status of the invoice.
1232
+ * The current payment status of the invoice, such as draft, open, paid, or void.
1163
1233
  */
1164
1234
  status: InvoiceStatus;
1165
1235
  /**
1166
- * The user that the invoice was created for.
1236
+ * The user this invoice is addressed to. Null if the user account has been
1237
+ * removed.
1167
1238
  */
1168
1239
  user: Invoice.User | null;
1169
1240
  }
1170
1241
  export declare namespace Invoice {
1171
1242
  /**
1172
- * The plan that the invoice was created for.
1243
+ * The plan that this invoice charges for.
1173
1244
  */
1174
1245
  interface CurrentPlan {
1175
1246
  /**
1176
- * The internal ID of the plan.
1247
+ * The unique identifier for the plan.
1177
1248
  */
1178
1249
  id: string;
1179
1250
  /**
1180
- * The respective currency identifier for the plan.
1251
+ * The currency used for all prices on this plan (e.g., 'usd', 'eur'). All monetary
1252
+ * amounts on the plan are denominated in this currency.
1181
1253
  */
1182
1254
  currency: Shared.Currency;
1183
1255
  /**
@@ -1186,76 +1258,83 @@ export declare namespace Invoice {
1186
1258
  formatted_price: string;
1187
1259
  }
1188
1260
  /**
1189
- * The user that the invoice was created for.
1261
+ * The user this invoice is addressed to. Null if the user account has been
1262
+ * removed.
1190
1263
  */
1191
1264
  interface User {
1192
1265
  /**
1193
- * The internal ID of the user.
1266
+ * The unique identifier for the user.
1194
1267
  */
1195
1268
  id: string;
1196
1269
  /**
1197
- * The name of the user from their Whop account.
1270
+ * The user's display name shown on their public profile.
1198
1271
  */
1199
1272
  name: string | null;
1200
1273
  /**
1201
- * The username of the user from their Whop account.
1274
+ * The user's unique username shown on their public profile.
1202
1275
  */
1203
1276
  username: string;
1204
1277
  }
1205
1278
  }
1206
1279
  /**
1207
- * A statement that defines an amount due by a customer.
1280
+ * An invoice represents an itemized bill sent by a company to a customer for a
1281
+ * specific product and plan, tracking the amount owed, due date, and payment
1282
+ * status.
1208
1283
  */
1209
1284
  export interface InvoiceListItem {
1210
1285
  /**
1211
- * The ID of the invoice.
1286
+ * The unique identifier for the invoice.
1212
1287
  */
1213
1288
  id: string;
1214
1289
  /**
1215
- * The date the invoice was created.
1290
+ * The datetime the invoice was created.
1216
1291
  */
1217
1292
  created_at: string;
1218
1293
  /**
1219
- * The plan that the invoice was created for.
1294
+ * The plan that this invoice charges for.
1220
1295
  */
1221
1296
  current_plan: InvoiceListItem.CurrentPlan;
1222
1297
  /**
1223
- * The date the invoice is due.
1298
+ * The deadline by which payment is expected. Null if the invoice is collected
1299
+ * automatically.
1224
1300
  */
1225
1301
  due_date: string | null;
1226
1302
  /**
1227
- * The email address that the invoice was created for.
1303
+ * The email address of the customer this invoice is addressed to. Null if no email
1304
+ * is on file.
1228
1305
  */
1229
1306
  email_address: string | null;
1230
1307
  /**
1231
- * A signed token that allows fetching the invoice data publically without being
1232
- * authenticated.
1308
+ * A signed token that allows fetching invoice data publicly without
1309
+ * authentication.
1233
1310
  */
1234
1311
  fetch_invoice_token: string;
1235
1312
  /**
1236
- * The number of the invoice.
1313
+ * The sequential invoice number for display purposes.
1237
1314
  */
1238
1315
  number: string;
1239
1316
  /**
1240
- * The status of the invoice.
1317
+ * The current payment status of the invoice, such as draft, open, paid, or void.
1241
1318
  */
1242
1319
  status: InvoiceStatus;
1243
1320
  /**
1244
- * The user that the invoice was created for.
1321
+ * The user this invoice is addressed to. Null if the user account has been
1322
+ * removed.
1245
1323
  */
1246
1324
  user: InvoiceListItem.User | null;
1247
1325
  }
1248
1326
  export declare namespace InvoiceListItem {
1249
1327
  /**
1250
- * The plan that the invoice was created for.
1328
+ * The plan that this invoice charges for.
1251
1329
  */
1252
1330
  interface CurrentPlan {
1253
1331
  /**
1254
- * The internal ID of the plan.
1332
+ * The unique identifier for the plan.
1255
1333
  */
1256
1334
  id: string;
1257
1335
  /**
1258
- * The respective currency identifier for the plan.
1336
+ * The currency used for all prices on this plan (e.g., 'usd', 'eur'). All monetary
1337
+ * amounts on the plan are denominated in this currency.
1259
1338
  */
1260
1339
  currency: Shared.Currency;
1261
1340
  /**
@@ -1264,19 +1343,20 @@ export declare namespace InvoiceListItem {
1264
1343
  formatted_price: string;
1265
1344
  }
1266
1345
  /**
1267
- * The user that the invoice was created for.
1346
+ * The user this invoice is addressed to. Null if the user account has been
1347
+ * removed.
1268
1348
  */
1269
1349
  interface User {
1270
1350
  /**
1271
- * The internal ID of the user.
1351
+ * The unique identifier for the user.
1272
1352
  */
1273
1353
  id: string;
1274
1354
  /**
1275
- * The name of the user from their Whop account.
1355
+ * The user's display name shown on their public profile.
1276
1356
  */
1277
1357
  name: string | null;
1278
1358
  /**
1279
- * The username of the user from their Whop account.
1359
+ * The user's unique username shown on their public profile.
1280
1360
  */
1281
1361
  username: string;
1282
1362
  }
@@ -1284,7 +1364,7 @@ export declare namespace InvoiceListItem {
1284
1364
  /**
1285
1365
  * The different statuses an invoice can be in
1286
1366
  */
1287
- export type InvoiceStatus = 'open' | 'paid' | 'past_due' | 'void';
1367
+ export type InvoiceStatus = 'draft' | 'open' | 'paid' | 'past_due' | 'void';
1288
1368
  /**
1289
1369
  * The different most recent actions a member can have.
1290
1370
  */
@@ -1294,17 +1374,17 @@ export type MemberMostRecentActions = 'canceling' | 'churned' | 'finished_split_
1294
1374
  */
1295
1375
  export type MemberStatuses = 'drafted' | 'joined' | 'left';
1296
1376
  /**
1297
- * A membership represents a purchase between a User and a Company for a specific
1298
- * Product.
1377
+ * A membership represents an active relationship between a user and a product. It
1378
+ * tracks the user's access, billing status, and renewal schedule.
1299
1379
  */
1300
1380
  export interface Membership {
1301
1381
  /**
1302
- * The ID of the membership
1382
+ * The unique identifier for the membership.
1303
1383
  */
1304
1384
  id: string;
1305
1385
  /**
1306
- * Whether this Membership is set to cancel at the end of the current billing
1307
- * cycle. Only applies for memberships that have a renewal plan.
1386
+ * Whether this membership is set to cancel at the end of the current billing
1387
+ * cycle. Only applies to memberships with a recurring plan.
1308
1388
  */
1309
1389
  cancel_at_period_end: boolean;
1310
1390
  /**
@@ -1313,19 +1393,21 @@ export interface Membership {
1313
1393
  */
1314
1394
  cancel_option: MembershipsAPI.CancelOptions | null;
1315
1395
  /**
1316
- * The epoch timestamp of when the customer initiated a cancellation.
1396
+ * The time the customer initiated cancellation of this membership. As a Unix
1397
+ * timestamp. Null if the membership has not been canceled.
1317
1398
  */
1318
1399
  canceled_at: string | null;
1319
1400
  /**
1320
- * The reason that the member canceled the membership (filled out by the member).
1401
+ * Free-text explanation provided by the customer when canceling. Null if the
1402
+ * customer did not provide a reason.
1321
1403
  */
1322
1404
  cancellation_reason: string | null;
1323
1405
  /**
1324
- * The Company this Membership belongs to.
1406
+ * The company this membership belongs to.
1325
1407
  */
1326
1408
  company: Membership.Company;
1327
1409
  /**
1328
- * The timestamp, in seconds, that this Membership was created at.
1410
+ * The datetime the membership was created.
1329
1411
  */
1330
1412
  created_at: string;
1331
1413
  /**
@@ -1333,78 +1415,90 @@ export interface Membership {
1333
1415
  */
1334
1416
  currency: Currency | null;
1335
1417
  /**
1336
- * The responses to custom checkout questions for this membership.
1418
+ * The customer's responses to custom checkout questions configured on the product
1419
+ * at the time of purchase.
1337
1420
  */
1338
1421
  custom_field_responses: Array<Membership.CustomFieldResponse>;
1339
1422
  /**
1340
- * The license key for this Membership. This is only present if the membership
1341
- * grants access to an instance of the Whop Software app.
1423
+ * The time the user first joined the company associated with this membership. As a
1424
+ * Unix timestamp. Null if the member record does not exist.
1425
+ */
1426
+ joined_at: string | null;
1427
+ /**
1428
+ * The software license key associated with this membership. Only present if the
1429
+ * product includes a Whop Software Licensing experience. Null otherwise.
1342
1430
  */
1343
1431
  license_key: string | null;
1344
1432
  /**
1345
- * The URL for the customer to manage their membership.
1433
+ * The URL where the customer can view and manage this membership, including
1434
+ * cancellation and plan changes. Null if no member record exists.
1346
1435
  */
1347
1436
  manage_url: string | null;
1348
1437
  /**
1349
- * The Member that this Membership belongs to.
1438
+ * The member record linking the user to the company for this membership. Null if
1439
+ * the member record has not been created yet.
1350
1440
  */
1351
1441
  member: Membership.Member | null;
1352
1442
  /**
1353
- * A JSON object used to store software licensing information. Ex. HWID
1443
+ * Custom key-value pairs for the membership (commonly used for software licensing,
1444
+ * e.g., HWID). Max 50 keys, 500 chars per key, 5000 chars per value.
1354
1445
  */
1355
1446
  metadata: {
1356
1447
  [key: string]: unknown;
1357
1448
  };
1358
1449
  /**
1359
- * Whether the membership's payments are currently paused.
1450
+ * Whether recurring payment collection for this membership is temporarily paused
1451
+ * by the company.
1360
1452
  */
1361
1453
  payment_collection_paused: boolean;
1362
1454
  /**
1363
- * The Plan this Membership is for.
1455
+ * The plan the customer purchased to create this membership.
1364
1456
  */
1365
1457
  plan: Membership.Plan;
1366
1458
  /**
1367
- * The Product this Membership grants access to.
1459
+ * The product this membership grants access to.
1368
1460
  */
1369
1461
  product: Membership.Product;
1370
1462
  /**
1371
- * The Promo Code that is currently applied to this Membership.
1463
+ * The promotional code currently applied to this membership's billing. Null if no
1464
+ * promo code is active.
1372
1465
  */
1373
1466
  promo_code: Membership.PromoCode | null;
1374
1467
  /**
1375
- * The timestamp in seconds at which the current billing cycle for this
1376
- * subscription ends. Only applies for memberships that have a renewal plan.
1468
+ * The end of the current billing period for this recurring membership. As a Unix
1469
+ * timestamp. Null if the membership is not recurring.
1377
1470
  */
1378
1471
  renewal_period_end: string | null;
1379
1472
  /**
1380
- * The timestamp in seconds at which the current billing cycle for this
1381
- * subscription start. Only applies for memberships that have a renewal plan.
1473
+ * The start of the current billing period for this recurring membership. As a Unix
1474
+ * timestamp. Null if the membership is not recurring.
1382
1475
  */
1383
1476
  renewal_period_start: string | null;
1384
1477
  /**
1385
- * The status of the membership.
1478
+ * The current lifecycle status of the membership (e.g., active, trialing,
1479
+ * past_due, canceled, expired, completed).
1386
1480
  */
1387
1481
  status: MembershipStatus;
1388
1482
  /**
1389
- * A timestamp of when the membership was last updated
1483
+ * The datetime the membership was last updated.
1390
1484
  */
1391
1485
  updated_at: string;
1392
1486
  /**
1393
- * The user this membership belongs to
1487
+ * The user who owns this membership. Null if the user account has been deleted.
1394
1488
  */
1395
1489
  user: Membership.User | null;
1396
1490
  }
1397
1491
  export declare namespace Membership {
1398
1492
  /**
1399
- * The Company this Membership belongs to.
1493
+ * The company this membership belongs to.
1400
1494
  */
1401
1495
  interface Company {
1402
1496
  /**
1403
- * The ID (tag) of the company.
1497
+ * The unique identifier for the company.
1404
1498
  */
1405
1499
  id: string;
1406
1500
  /**
1407
- * The title of the company.
1501
+ * The display name of the company shown to customers.
1408
1502
  */
1409
1503
  title: string;
1410
1504
  }
@@ -1413,7 +1507,7 @@ export declare namespace Membership {
1413
1507
  */
1414
1508
  interface CustomFieldResponse {
1415
1509
  /**
1416
- * The ID of the custom field item
1510
+ * The unique identifier for the custom field response.
1417
1511
  */
1418
1512
  id: string;
1419
1513
  /**
@@ -1426,63 +1520,67 @@ export declare namespace Membership {
1426
1520
  question: string;
1427
1521
  }
1428
1522
  /**
1429
- * The Member that this Membership belongs to.
1523
+ * The member record linking the user to the company for this membership. Null if
1524
+ * the member record has not been created yet.
1430
1525
  */
1431
1526
  interface Member {
1432
1527
  /**
1433
- * The ID of the member
1528
+ * The unique identifier for the member.
1434
1529
  */
1435
1530
  id: string;
1436
1531
  }
1437
1532
  /**
1438
- * The Plan this Membership is for.
1533
+ * The plan the customer purchased to create this membership.
1439
1534
  */
1440
1535
  interface Plan {
1441
1536
  /**
1442
- * The internal ID of the plan.
1537
+ * The unique identifier for the plan.
1443
1538
  */
1444
1539
  id: string;
1445
1540
  }
1446
1541
  /**
1447
- * The Product this Membership grants access to.
1542
+ * The product this membership grants access to.
1448
1543
  */
1449
1544
  interface Product {
1450
1545
  /**
1451
- * The internal ID of the public product.
1546
+ * The unique identifier for the product.
1452
1547
  */
1453
1548
  id: string;
1454
1549
  /**
1455
- * The title of the product. Use for Whop 4.0.
1550
+ * The display name of the product shown to customers on the product page and in
1551
+ * search results.
1456
1552
  */
1457
1553
  title: string;
1458
1554
  }
1459
1555
  /**
1460
- * The Promo Code that is currently applied to this Membership.
1556
+ * The promotional code currently applied to this membership's billing. Null if no
1557
+ * promo code is active.
1461
1558
  */
1462
1559
  interface PromoCode {
1463
1560
  /**
1464
- * The ID of the promo.
1561
+ * The unique identifier for the promo code.
1465
1562
  */
1466
1563
  id: string;
1467
1564
  }
1468
1565
  /**
1469
- * The user this membership belongs to
1566
+ * The user who owns this membership. Null if the user account has been deleted.
1470
1567
  */
1471
1568
  interface User {
1472
1569
  /**
1473
- * The internal ID of the user.
1570
+ * The unique identifier for the user.
1474
1571
  */
1475
1572
  id: string;
1476
1573
  /**
1477
- * The email of the user
1574
+ * The user's email address. Requires the member:email:read permission to access.
1575
+ * Null if not authorized.
1478
1576
  */
1479
1577
  email: string | null;
1480
1578
  /**
1481
- * The name of the user from their Whop account.
1579
+ * The user's display name shown on their public profile.
1482
1580
  */
1483
1581
  name: string | null;
1484
1582
  /**
1485
- * The username of the user from their Whop account.
1583
+ * The user's unique username shown on their public profile.
1486
1584
  */
1487
1585
  username: string;
1488
1586
  }
@@ -1492,65 +1590,74 @@ export declare namespace Membership {
1492
1590
  */
1493
1591
  export type MembershipStatus = 'trialing' | 'active' | 'past_due' | 'completed' | 'canceled' | 'expired' | 'unresolved' | 'drafted' | 'canceling';
1494
1592
  /**
1495
- * Represents a message in a DM channel
1593
+ * A message sent within an experience chat, direct message, or group chat.
1496
1594
  */
1497
1595
  export interface Message {
1498
1596
  /**
1499
- * The unique identifier of the resource.
1597
+ * Represents a unique identifier that is Base64 obfuscated. It is often used to
1598
+ * refetch an object or as key for a cache. The ID type appears in a JSON response
1599
+ * as a String; however, it is not intended to be human-readable. When expected as
1600
+ * an input type, any string (such as `"VXNlci0xMA=="`) or integer (such as `4`)
1601
+ * input value will be accepted as an ID.
1500
1602
  */
1501
1603
  id: string;
1502
1604
  /**
1503
- * The content of the message in Markdown format
1605
+ * The message content formatted as Markdown. Null if the message has no text
1606
+ * content.
1504
1607
  */
1505
1608
  content: string | null;
1506
1609
  /**
1507
- * The timestamp when the post was created
1610
+ * The timestamp when this message was originally created.
1508
1611
  */
1509
1612
  created_at: string;
1510
1613
  /**
1511
- * Whether the message has been edited
1614
+ * Whether the message content has been edited after it was originally sent.
1512
1615
  */
1513
1616
  is_edited: boolean;
1514
1617
  /**
1515
- * Whether this message is pinned
1618
+ * Whether this message is pinned to the top of the channel for easy access.
1516
1619
  */
1517
1620
  is_pinned: boolean;
1518
1621
  /**
1519
- * The type of post
1622
+ * The classification of this message: regular, system, or automated.
1520
1623
  */
1521
1624
  message_type: DmsPostTypes;
1522
1625
  /**
1523
- * The poll for this message
1626
+ * A poll attached to this message. Null if the message does not contain a poll.
1524
1627
  */
1525
1628
  poll: Message.Poll | null;
1526
1629
  /**
1527
- * The reaction counts for this message
1630
+ * Aggregated reaction counts on this message, filtered to a specific reaction
1631
+ * type.
1528
1632
  */
1529
1633
  poll_votes: Array<Message.PollVote>;
1530
1634
  /**
1531
- * The reaction counts for this message
1635
+ * Aggregated reaction counts on this message, filtered to a specific reaction
1636
+ * type.
1532
1637
  */
1533
1638
  reaction_counts: Array<Message.ReactionCount>;
1534
1639
  /**
1535
- * The ID of the message this is replying to, if applicable
1640
+ * The unique identifier of the message this post is replying to. Null if this is
1641
+ * not a reply.
1536
1642
  */
1537
1643
  replying_to_message_id: string | null;
1538
1644
  /**
1539
- * The timestamp when the post was last updated
1645
+ * The timestamp when this message was last modified.
1540
1646
  */
1541
1647
  updated_at: string;
1542
1648
  /**
1543
- * The user who sent this message
1649
+ * The user who authored this message.
1544
1650
  */
1545
1651
  user: Message.User;
1546
1652
  /**
1547
- * The number of times this message has been viewed
1653
+ * The number of unique views this message has received. Null if view tracking is
1654
+ * not enabled for this channel.
1548
1655
  */
1549
1656
  view_count: number | null;
1550
1657
  }
1551
1658
  export declare namespace Message {
1552
1659
  /**
1553
- * The poll for this message
1660
+ * A poll attached to this message. Null if the message does not contain a poll.
1554
1661
  */
1555
1662
  interface Poll {
1556
1663
  /**
@@ -1564,7 +1671,7 @@ export declare namespace Message {
1564
1671
  */
1565
1672
  interface Option {
1566
1673
  /**
1567
- * The ID of the poll option
1674
+ * The unique identifier for the poll option.
1568
1675
  */
1569
1676
  id: string;
1570
1677
  /**
@@ -1600,19 +1707,19 @@ export declare namespace Message {
1600
1707
  emoji: string | null;
1601
1708
  }
1602
1709
  /**
1603
- * The user who sent this message
1710
+ * The user who authored this message.
1604
1711
  */
1605
1712
  interface User {
1606
1713
  /**
1607
- * The internal ID of the user.
1714
+ * The unique identifier for the user.
1608
1715
  */
1609
1716
  id: string;
1610
1717
  /**
1611
- * The name of the user from their Whop account.
1718
+ * The user's display name shown on their public profile.
1612
1719
  */
1613
1720
  name: string | null;
1614
1721
  /**
1615
- * The username of the user from their Whop account.
1722
+ * The user's unique username shown on their public profile.
1616
1723
  */
1617
1724
  username: string;
1618
1725
  }
@@ -1639,11 +1746,12 @@ export interface PageInfo {
1639
1746
  start_cursor: string | null;
1640
1747
  }
1641
1748
  /**
1642
- * An object representing a receipt for a membership.
1749
+ * A payment represents a completed or attempted charge. Payments track the amount,
1750
+ * status, currency, and payment method used.
1643
1751
  */
1644
1752
  export interface Payment {
1645
1753
  /**
1646
- * The payment ID
1754
+ * The unique identifier for the payment.
1647
1755
  */
1648
1756
  id: string;
1649
1757
  /**
@@ -1671,7 +1779,8 @@ export interface Payment {
1671
1779
  */
1672
1780
  card_brand: PaymentsAPI.CardBrands | null;
1673
1781
  /**
1674
- * The last 4 digits of the card used to make the payment.
1782
+ * The last four digits of the card used to make this payment. Null if the payment
1783
+ * was not made with a card.
1675
1784
  */
1676
1785
  card_last4: string | null;
1677
1786
  /**
@@ -1679,7 +1788,7 @@ export interface Payment {
1679
1788
  */
1680
1789
  company: Payment.Company | null;
1681
1790
  /**
1682
- * The datetime the payment was created
1791
+ * The datetime the payment was created.
1683
1792
  */
1684
1793
  created_at: string;
1685
1794
  /**
@@ -1690,10 +1799,25 @@ export interface Payment {
1690
1799
  * When an alert came in that this transaction will be disputed
1691
1800
  */
1692
1801
  dispute_alerted_at: string | null;
1802
+ /**
1803
+ * The disputes attached to this payment. Null if the actor in context does not
1804
+ * have the payment:dispute:read permission.
1805
+ */
1806
+ disputes: Array<Payment.Dispute> | null;
1693
1807
  /**
1694
1808
  * If the payment failed, the reason for the failure.
1695
1809
  */
1696
1810
  failure_message: string | null;
1811
+ /**
1812
+ * The number of financing installments for the payment. Present if the payment is
1813
+ * a financing payment (e.g. Splitit, Klarna, etc.).
1814
+ */
1815
+ financing_installments_count: number | null;
1816
+ /**
1817
+ * The financing transactions attached to this payment. Present if the payment is a
1818
+ * financing payment (e.g. Splitit, Klarna, etc.).
1819
+ */
1820
+ financing_transactions: Array<Payment.FinancingTransaction>;
1697
1821
  /**
1698
1822
  * The time of the last payment attempt.
1699
1823
  */
@@ -1718,11 +1842,13 @@ export interface Payment {
1718
1842
  */
1719
1843
  next_payment_attempt: string | null;
1720
1844
  /**
1721
- * The datetime the payment was paid
1845
+ * The time at which this payment was successfully collected. Null if the payment
1846
+ * has not yet succeeded. As a Unix timestamp.
1722
1847
  */
1723
1848
  paid_at: string | null;
1724
1849
  /**
1725
- * The payment method used for the payment, if available.
1850
+ * The tokenized payment method reference used for this payment. Null if no token
1851
+ * was used.
1726
1852
  */
1727
1853
  payment_method: Payment.PaymentMethod | null;
1728
1854
  /**
@@ -1758,6 +1884,12 @@ export interface Payment {
1758
1884
  * When the payment was refunded (if applicable).
1759
1885
  */
1760
1886
  refunded_at: string | null;
1887
+ /**
1888
+ * The resolution center cases opened by the customer on this payment. Null if the
1889
+ * actor in context does not have the payment:resolution_center_case:read
1890
+ * permission.
1891
+ */
1892
+ resolutions: Array<Payment.Resolution> | null;
1761
1893
  /**
1762
1894
  * True when the payment status is `open` and its membership is in one of the
1763
1895
  * retry-eligible states (`active`, `trialing`, `completed`, or `past_due`);
@@ -1816,7 +1948,7 @@ export declare namespace Payment {
1816
1948
  */
1817
1949
  amount_refunded: number;
1818
1950
  /**
1819
- * When the application fee was created.
1951
+ * The datetime the application fee was created.
1820
1952
  */
1821
1953
  created_at: string;
1822
1954
  /**
@@ -1862,7 +1994,7 @@ export declare namespace Payment {
1862
1994
  */
1863
1995
  interface Company {
1864
1996
  /**
1865
- * The ID of the company
1997
+ * The unique identifier for the company.
1866
1998
  */
1867
1999
  id: string;
1868
2000
  /**
@@ -1874,12 +2006,79 @@ export declare namespace Payment {
1874
2006
  */
1875
2007
  title: string;
1876
2008
  }
2009
+ /**
2010
+ * A dispute is a chargeback or payment challenge filed against a company,
2011
+ * including evidence and response status.
2012
+ */
2013
+ interface Dispute {
2014
+ /**
2015
+ * The unique identifier for the dispute.
2016
+ */
2017
+ id: string;
2018
+ /**
2019
+ * The disputed amount in the specified currency, formatted as a decimal.
2020
+ */
2021
+ amount: number;
2022
+ /**
2023
+ * The three-letter ISO currency code for the disputed amount.
2024
+ */
2025
+ currency: Shared.Currency;
2026
+ /**
2027
+ * Whether the dispute evidence can still be edited and submitted. Returns true
2028
+ * only when the dispute status requires a response.
2029
+ */
2030
+ editable: boolean | null;
2031
+ /**
2032
+ * The deadline by which dispute evidence must be submitted. Null if no response
2033
+ * deadline is set.
2034
+ */
2035
+ needs_response_by: string | null;
2036
+ /**
2037
+ * Additional freeform notes submitted by the company as part of the dispute
2038
+ * evidence.
2039
+ */
2040
+ notes: string | null;
2041
+ /**
2042
+ * A human-readable reason for the dispute.
2043
+ */
2044
+ reason: string | null;
2045
+ /**
2046
+ * The current status of the dispute lifecycle, such as needs_response,
2047
+ * under_review, won, or lost.
2048
+ */
2049
+ status: DisputesAPI.DisputeStatuses;
2050
+ }
2051
+ /**
2052
+ * A payment transaction.
2053
+ */
2054
+ interface FinancingTransaction {
2055
+ /**
2056
+ * The unique identifier for the payment transaction.
2057
+ */
2058
+ id: string;
2059
+ /**
2060
+ * The amount of the payment transaction.
2061
+ */
2062
+ amount: number;
2063
+ /**
2064
+ * The date and time the payment transaction was created.
2065
+ */
2066
+ created_at: string;
2067
+ /**
2068
+ * The status of the payment transaction.
2069
+ */
2070
+ status: 'succeeded' | 'declined' | 'error' | 'pending' | 'created' | 'expired' | 'won' | 'rejected' | 'lost' | 'prevented';
2071
+ /**
2072
+ * The type of the payment transaction.
2073
+ */
2074
+ transaction_type: 'purchase' | 'authorize' | 'capture' | 'refund' | 'cancel' | 'verify' | 'chargeback' | 'three_d_secure' | 'fraud_screening' | 'authorization' | 'installment';
2075
+ }
1877
2076
  /**
1878
2077
  * The member attached to this payment.
1879
2078
  */
1880
2079
  interface Member {
1881
2080
  /**
1882
- * The ID of the member
2081
+ * The unique identifier for the company member.
1883
2082
  */
1884
2083
  id: string;
1885
2084
  /**
@@ -1892,7 +2091,7 @@ export declare namespace Payment {
1892
2091
  */
1893
2092
  interface Membership {
1894
2093
  /**
1895
- * The internal ID of the membership.
2094
+ * The unique identifier for the membership.
1896
2095
  */
1897
2096
  id: string;
1898
2097
  /**
@@ -1901,11 +2100,12 @@ export declare namespace Payment {
1901
2100
  status: Shared.MembershipStatus;
1902
2101
  }
1903
2102
  /**
1904
- * The payment method used for the payment, if available.
2103
+ * The tokenized payment method reference used for this payment. Null if no token
2104
+ * was used.
1905
2105
  */
1906
2106
  interface PaymentMethod {
1907
2107
  /**
1908
- * The ID of the payment method
2108
+ * The unique identifier for the payment token.
1909
2109
  */
1910
2110
  id: string;
1911
2111
  /**
@@ -1913,7 +2113,7 @@ export declare namespace Payment {
1913
2113
  */
1914
2114
  card: PaymentMethod.Card | null;
1915
2115
  /**
1916
- * The date and time the payment method was created
2116
+ * The datetime the payment token was created.
1917
2117
  */
1918
2118
  created_at: string;
1919
2119
  /**
@@ -1931,15 +2131,16 @@ export declare namespace Payment {
1931
2131
  */
1932
2132
  brand: PaymentsAPI.CardBrands | null;
1933
2133
  /**
1934
- * Card expiration month, like 03 for March.
2134
+ * The two-digit expiration month of the card (1-12). Null if not available.
1935
2135
  */
1936
2136
  exp_month: number | null;
1937
2137
  /**
1938
- * Card expiration year, like 27 for 2027.
2138
+ * The two-digit expiration year of the card (e.g., 27 for 2027). Null if not
2139
+ * available.
1939
2140
  */
1940
2141
  exp_year: number | null;
1941
2142
  /**
1942
- * Last four digits of the card.
2143
+ * The last four digits of the card number. Null if not available.
1943
2144
  */
1944
2145
  last4: string | null;
1945
2146
  }
@@ -1949,7 +2150,7 @@ export declare namespace Payment {
1949
2150
  */
1950
2151
  interface Plan {
1951
2152
  /**
1952
- * The internal ID of the plan.
2153
+ * The unique identifier for the plan.
1953
2154
  */
1954
2155
  id: string;
1955
2156
  }
@@ -1958,15 +2159,17 @@ export declare namespace Payment {
1958
2159
  */
1959
2160
  interface Product {
1960
2161
  /**
1961
- * The internal ID of the public product.
2162
+ * The unique identifier for the product.
1962
2163
  */
1963
2164
  id: string;
1964
2165
  /**
1965
- * The route of the product.
2166
+ * The URL slug used in the product's public link (e.g., 'my-product' in
2167
+ * whop.com/company/my-product).
1966
2168
  */
1967
2169
  route: string;
1968
2170
  /**
1969
- * The title of the product. Use for Whop 4.0.
2171
+ * The display name of the product shown to customers on the product page and in
2172
+ * search results.
1970
2173
  */
1971
2174
  title: string;
1972
2175
  }
@@ -1975,11 +2178,13 @@ export declare namespace Payment {
1975
2178
  */
1976
2179
  interface PromoCode {
1977
2180
  /**
1978
- * The ID of the promo.
2181
+ * The unique identifier for the promo code.
1979
2182
  */
1980
2183
  id: string;
1981
2184
  /**
1982
- * The amount off (% or flat amount) for the promo.
2185
+ * The discount amount. Interpretation depends on promo_type: if 'percentage', this
2186
+ * is the percentage (e.g., 20 means 20% off); if 'flat_amount', this is dollars
2187
+ * off (e.g., 10.00 means $10.00 off).
1983
2188
  */
1984
2189
  amount_off: number;
1985
2190
  /**
@@ -1999,154 +2204,227 @@ export declare namespace Payment {
1999
2204
  */
2000
2205
  promo_type: Shared.PromoType;
2001
2206
  }
2207
+ /**
2208
+ * A resolution is a dispute or support case between a buyer and seller, tracking
2209
+ * the issue, status, and outcome.
2210
+ */
2211
+ interface Resolution {
2212
+ /**
2213
+ * The unique identifier for the resolution.
2214
+ */
2215
+ id: string;
2216
+ /**
2217
+ * Whether the customer has filed an appeal after the initial resolution decision.
2218
+ */
2219
+ customer_appealed: boolean;
2220
+ /**
2221
+ * The list of actions currently available to the customer.
2222
+ */
2223
+ customer_response_actions: Array<'respond' | 'appeal' | 'withdraw'>;
2224
+ /**
2225
+ * The deadline by which the next response is required. Null if no deadline is
2226
+ * currently active. As a Unix timestamp.
2227
+ */
2228
+ due_date: string | null;
2229
+ /**
2230
+ * The category of the dispute.
2231
+ */
2232
+ issue: 'forgot_to_cancel' | 'item_not_received' | 'significantly_not_as_described' | 'unauthorized_transaction' | 'product_unacceptable';
2233
+ /**
2234
+ * Whether the merchant has filed an appeal after the initial resolution decision.
2235
+ */
2236
+ merchant_appealed: boolean;
2237
+ /**
2238
+ * The list of actions currently available to the merchant.
2239
+ */
2240
+ merchant_response_actions: Array<'accept' | 'deny' | 'request_more_info' | 'appeal' | 'respond'>;
2241
+ /**
2242
+ * The list of actions currently available to the Whop platform for moderating this
2243
+ * resolution.
2244
+ */
2245
+ platform_response_actions: Array<'request_buyer_info' | 'request_merchant_info' | 'merchant_wins' | 'platform_refund' | 'merchant_refund'>;
2246
+ /**
2247
+ * The current status of the resolution case, indicating which party needs to
2248
+ * respond or if the case is closed.
2249
+ */
2250
+ status: 'merchant_response_needed' | 'customer_response_needed' | 'merchant_info_needed' | 'customer_info_needed' | 'under_platform_review' | 'customer_won' | 'merchant_won' | 'customer_withdrew';
2251
+ }
2002
2252
  /**
2003
2253
  * The user that made this payment.
2004
2254
  */
2005
2255
  interface User {
2006
2256
  /**
2007
- * The internal ID of the user.
2257
+ * The unique identifier for the user.
2008
2258
  */
2009
2259
  id: string;
2010
2260
  /**
2011
- * The email of the user
2261
+ * The user's email address. Requires the member:email:read permission to access.
2262
+ * Null if not authorized.
2012
2263
  */
2013
2264
  email: string | null;
2014
2265
  /**
2015
- * The name of the user from their Whop account.
2266
+ * The user's display name shown on their public profile.
2016
2267
  */
2017
2268
  name: string | null;
2018
2269
  /**
2019
- * The username of the user from their Whop account.
2270
+ * The user's unique username shown on their public profile.
2020
2271
  */
2021
2272
  username: string;
2022
2273
  }
2023
2274
  }
2024
2275
  /**
2025
- * A plan for an product. Plans define the core parameters that define a checkout
2026
- * and payment on whop. Use plans to create different ways to price your products
2027
- * (Eg renewal / one_time)
2276
+ * A plan defines pricing and billing terms for a checkout. Plans can optionally
2277
+ * belong to a product, where they represent different pricing options such as
2278
+ * one-time payments, recurring subscriptions, or free trials.
2028
2279
  */
2029
2280
  export interface Plan {
2030
2281
  /**
2031
- * The internal ID of the plan.
2282
+ * The unique identifier for the plan.
2032
2283
  */
2033
2284
  id: string;
2034
2285
  /**
2035
- * The interval at which the plan charges (renewal plans).
2286
+ * The number of days between each recurring charge. Null for one-time plans. For
2287
+ * example, 30 for monthly or 365 for annual billing.
2036
2288
  */
2037
2289
  billing_period: number | null;
2038
2290
  /**
2039
- * Whether or not the plan collects tax.
2291
+ * Whether tax is collected on purchases of this plan, based on the company's tax
2292
+ * configuration.
2040
2293
  */
2041
2294
  collect_tax: boolean;
2042
2295
  /**
2043
- * The company for the plan.
2296
+ * The company that sells this plan. Null for standalone invoice plans not linked
2297
+ * to a company.
2044
2298
  */
2045
2299
  company: Plan.Company | null;
2046
2300
  /**
2047
- * When the plan was created.
2301
+ * The datetime the plan was created.
2048
2302
  */
2049
2303
  created_at: string;
2050
2304
  /**
2051
- * The respective currency identifier for the plan.
2305
+ * The currency used for all prices on this plan (e.g., 'usd', 'eur'). All monetary
2306
+ * amounts on the plan are denominated in this currency.
2052
2307
  */
2053
2308
  currency: Currency;
2054
2309
  /**
2055
- * The custom fields for the plan.
2310
+ * Custom input fields displayed on the checkout form that collect additional
2311
+ * information from the buyer.
2056
2312
  */
2057
2313
  custom_fields: Array<Plan.CustomField>;
2058
2314
  /**
2059
- * The description of the plan.
2315
+ * A text description of the plan visible to customers. Maximum 500 characters.
2316
+ * Null if no description is set.
2060
2317
  */
2061
2318
  description: string | null;
2062
2319
  /**
2063
- * The interval at which the plan charges (expiration plans).
2320
+ * The number of days until the membership expires (for expiration-based plans).
2321
+ * For example, 365 for a one-year access pass.
2064
2322
  */
2065
2323
  expiration_days: number | null;
2066
2324
  /**
2067
- * The price a person has to pay for a plan on the initial purchase.
2325
+ * The initial purchase price in the plan's base_currency (e.g., 49.99 for $49.99).
2326
+ * For one-time plans, this is the full price. For renewal plans, this is charged
2327
+ * on top of the first renewal_price.
2068
2328
  */
2069
2329
  initial_price: number;
2070
2330
  /**
2071
- * A personal description or notes section for the business.
2331
+ * Private notes visible only to the company owner and team members. Not shown to
2332
+ * customers. Null if no notes have been added.
2072
2333
  */
2073
2334
  internal_notes: string | null;
2074
2335
  /**
2075
- * The invoice associated with this plan.
2336
+ * The invoice this plan was generated for. Null if the plan was not created for a
2337
+ * specific invoice.
2076
2338
  */
2077
2339
  invoice: Plan.Invoice | null;
2078
2340
  /**
2079
- * The number of members for the plan.
2341
+ * The number of users who currently hold an active membership through this plan.
2342
+ * Only visible to authorized team members.
2080
2343
  */
2081
2344
  member_count: number | null;
2082
2345
  /**
2083
- * The explicit payment method configuration for the plan, if any.
2346
+ * The explicit payment method configuration specifying which payment methods are
2347
+ * enabled or disabled for this plan. Null if the plan uses default settings.
2084
2348
  */
2085
2349
  payment_method_configuration: Plan.PaymentMethodConfiguration | null;
2086
2350
  /**
2087
- * Indicates if the plan is a one time payment or recurring.
2351
+ * The billing model for this plan: 'renewal' for recurring subscriptions or
2352
+ * 'one_time' for single payments.
2088
2353
  */
2089
2354
  plan_type: PlanType;
2090
2355
  /**
2091
- * The product that this plan belongs to.
2356
+ * The product that this plan belongs to. Null for standalone one-off purchases not
2357
+ * linked to a product.
2092
2358
  */
2093
2359
  product: Plan.Product | null;
2094
2360
  /**
2095
- * The direct link to purchase the product.
2361
+ * The full URL where customers can purchase this plan directly, bypassing the
2362
+ * product page.
2096
2363
  */
2097
2364
  purchase_url: string;
2098
2365
  /**
2099
- * This is the release method the business uses to sell this plan.
2366
+ * The method used to sell this plan: 'buy_now' for immediate purchase or
2367
+ * 'waitlist' for waitlist-based access.
2100
2368
  */
2101
2369
  release_method: ReleaseMethod;
2102
2370
  /**
2103
- * The price a person has to pay for a plan on the renewal purchase.
2371
+ * The recurring price charged every billing_period in the plan's base_currency
2372
+ * (e.g., 9.99 for $9.99/period). Zero for one-time plans.
2104
2373
  */
2105
2374
  renewal_price: number;
2106
2375
  /**
2107
- * The number of payments required before pausing the subscription.
2376
+ * The total number of installment payments required before the subscription
2377
+ * pauses. Null if split pay is not configured. Must be greater than 1.
2108
2378
  */
2109
2379
  split_pay_required_payments: number | null;
2110
2380
  /**
2111
- * The number of units available for purchase. Only displayed to authorized actors
2381
+ * The number of units available for purchase. Only visible to authorized team
2382
+ * members. Null if the requester lacks permission.
2112
2383
  */
2113
2384
  stock: number | null;
2114
2385
  /**
2115
- * The tax type for the plan.
2386
+ * How tax is handled for this plan: 'inclusive' (tax included in price),
2387
+ * 'exclusive' (tax added at checkout), or 'unspecified' (tax not configured).
2116
2388
  */
2117
2389
  tax_type: TaxType;
2118
2390
  /**
2119
- * The title of the plan. This will be visible on the product page to customers.
2391
+ * The display name of the plan shown to customers on the product page and at
2392
+ * checkout. Maximum 30 characters. Null if no title has been set.
2120
2393
  */
2121
2394
  title: string | null;
2122
2395
  /**
2123
- * The number of free trial days added before a renewal plan.
2396
+ * The number of free trial days before the first charge on a renewal plan. Null if
2397
+ * no trial is configured or the current user has already used a trial for this
2398
+ * plan.
2124
2399
  */
2125
2400
  trial_period_days: number | null;
2126
2401
  /**
2127
- * Limits/doesn't limit the number of units available for purchase.
2402
+ * When true, the plan has unlimited stock (stock field is ignored). When false,
2403
+ * purchases are limited by the stock field.
2128
2404
  */
2129
2405
  unlimited_stock: boolean;
2130
2406
  /**
2131
- * When the plan was last updated.
2407
+ * The datetime the plan was last updated.
2132
2408
  */
2133
2409
  updated_at: string;
2134
2410
  /**
2135
- * Shows or hides the plan from public/business view.
2411
+ * Controls whether the plan is visible to customers. When set to 'hidden', the
2412
+ * plan is only accessible via direct link.
2136
2413
  */
2137
2414
  visibility: Visibility;
2138
2415
  }
2139
2416
  export declare namespace Plan {
2140
2417
  /**
2141
- * The company for the plan.
2418
+ * The company that sells this plan. Null for standalone invoice plans not linked
2419
+ * to a company.
2142
2420
  */
2143
2421
  interface Company {
2144
2422
  /**
2145
- * The ID (tag) of the company.
2423
+ * The unique identifier for the company.
2146
2424
  */
2147
2425
  id: string;
2148
2426
  /**
2149
- * The title of the company.
2427
+ * The display name of the company shown to customers.
2150
2428
  */
2151
2429
  title: string;
2152
2430
  }
@@ -2155,7 +2433,7 @@ export declare namespace Plan {
2155
2433
  */
2156
2434
  interface CustomField {
2157
2435
  /**
2158
- * The internal ID of the given custom field
2436
+ * The unique identifier for the custom field.
2159
2437
  */
2160
2438
  id: string;
2161
2439
  /**
@@ -2180,16 +2458,18 @@ export declare namespace Plan {
2180
2458
  required: boolean;
2181
2459
  }
2182
2460
  /**
2183
- * The invoice associated with this plan.
2461
+ * The invoice this plan was generated for. Null if the plan was not created for a
2462
+ * specific invoice.
2184
2463
  */
2185
2464
  interface Invoice {
2186
2465
  /**
2187
- * The ID of the invoice.
2466
+ * The unique identifier for the invoice.
2188
2467
  */
2189
2468
  id: string;
2190
2469
  }
2191
2470
  /**
2192
- * The explicit payment method configuration for the plan, if any.
2471
+ * The explicit payment method configuration specifying which payment methods are
2472
+ * enabled or disabled for this plan. Null if the plan uses default settings.
2193
2473
  */
2194
2474
  interface PaymentMethodConfiguration {
2195
2475
  /**
@@ -2212,15 +2492,17 @@ export declare namespace Plan {
2212
2492
  include_platform_defaults: boolean;
2213
2493
  }
2214
2494
  /**
2215
- * The product that this plan belongs to.
2495
+ * The product that this plan belongs to. Null for standalone one-off purchases not
2496
+ * linked to a product.
2216
2497
  */
2217
2498
  interface Product {
2218
2499
  /**
2219
- * The internal ID of the public product.
2500
+ * The unique identifier for the product.
2220
2501
  */
2221
2502
  id: string;
2222
2503
  /**
2223
- * The title of the product. Use for Whop 4.0.
2504
+ * The display name of the product shown to customers on the product page and in
2505
+ * search results.
2224
2506
  */
2225
2507
  title: string;
2226
2508
  }
@@ -2230,11 +2512,12 @@ export declare namespace Plan {
2230
2512
  */
2231
2513
  export type PlanType = 'renewal' | 'one_time';
2232
2514
  /**
2233
- * Represents a product on whop. Use products to sell anything on the platform.
2515
+ * A product is a digital good or service sold on Whop. Products contain plans for
2516
+ * pricing and experiences for content delivery.
2234
2517
  */
2235
2518
  export interface Product {
2236
2519
  /**
2237
- * The internal ID of the public product.
2520
+ * The unique identifier for the product.
2238
2521
  */
2239
2522
  id: string;
2240
2523
  /**
@@ -2242,46 +2525,56 @@ export interface Product {
2242
2525
  */
2243
2526
  business_type: BusinessTypes | null;
2244
2527
  /**
2245
- * A short type of the company that this product belongs to.
2528
+ * The company this product belongs to.
2246
2529
  */
2247
2530
  company: Product.Company;
2248
2531
  /**
2249
- * When the product was created.
2532
+ * The datetime the product was created.
2250
2533
  */
2251
2534
  created_at: string;
2252
2535
  /**
2253
- * The custom call to action for the product.
2536
+ * The call-to-action button label displayed on the product's purchase page (e.g.,
2537
+ * 'join', 'buy', 'subscribe').
2254
2538
  */
2255
2539
  custom_cta: CustomCta;
2256
2540
  /**
2257
- * The custom call to action URL for the product, if any.
2541
+ * An optional URL that the call-to-action button links to instead of the default
2542
+ * checkout flow. Null if no custom URL is set.
2258
2543
  */
2259
2544
  custom_cta_url: string | null;
2260
2545
  /**
2261
- * The custom statement descriptor for the product.
2546
+ * A custom text label that appears on the customer's bank or credit card statement
2547
+ * for purchases of this product. Maximum 22 characters, including the required
2548
+ * prefix WHOP\*.
2262
2549
  */
2263
2550
  custom_statement_descriptor: string | null;
2264
2551
  /**
2265
- * A short description of what the company offers or does.
2552
+ * A brief summary of what the product offers, displayed on product pages and
2553
+ * search results.
2266
2554
  */
2267
2555
  description: string | null;
2268
2556
  /**
2269
- * A unique identifier used to create or update products. When provided on product
2270
- * creation endpoints, we’ll look up an existing product by this identifier if it
2271
- * exists, we’ll update it; if not, we’ll create a new one.
2557
+ * A unique identifier used to create or update products via the API. When provided
2558
+ * on product creation endpoints, an existing product with this identifier will be
2559
+ * updated instead of creating a new one.
2272
2560
  */
2273
2561
  external_identifier: string | null;
2274
2562
  /**
2275
- * The percentage of a transaction a user is eligible to earn from the whop
2276
- * marketplace global affiliate program.
2563
+ * The gallery images for this product, ordered by position.
2564
+ */
2565
+ gallery_images: Array<Product.GalleryImage>;
2566
+ /**
2567
+ * The commission rate (as a percentage) that affiliates earn on sales through the
2568
+ * Whop marketplace global affiliate program. Null if the program is not active.
2277
2569
  */
2278
2570
  global_affiliate_percentage: number | null;
2279
2571
  /**
2280
- * The status of the global affiliate program for this product.
2572
+ * The enrollment status of this product in the Whop marketplace global affiliate
2573
+ * program.
2281
2574
  */
2282
2575
  global_affiliate_status: GlobalAffiliateStatus;
2283
2576
  /**
2284
- * The headline of the product.
2577
+ * A short marketing headline displayed prominently on the product's product page.
2285
2578
  */
2286
2579
  headline: string | null;
2287
2580
  /**
@@ -2289,110 +2582,137 @@ export interface Product {
2289
2582
  */
2290
2583
  industry_type: IndustryTypes | null;
2291
2584
  /**
2292
- * The percentage of a transaction a user is eligible to earn from the whop
2293
- * marketplace member affiliate program.
2585
+ * The commission rate (as a percentage) that existing members earn when referring
2586
+ * new customers through the member affiliate program. Null if the program is not
2587
+ * active.
2294
2588
  */
2295
2589
  member_affiliate_percentage: number | null;
2296
2590
  /**
2297
- * The status of the member affiliate program for this product.
2591
+ * The enrollment status of this product in the member affiliate program.
2298
2592
  */
2299
2593
  member_affiliate_status: GlobalAffiliateStatus;
2300
2594
  /**
2301
- * The number of active users for this product.
2595
+ * The number of users who currently hold an active membership to this product.
2596
+ * Returns 0 if the company has disabled public member counts.
2302
2597
  */
2303
2598
  member_count: number;
2304
2599
  /**
2305
- * The user that owns the product (company owner).
2600
+ * The user who owns the company that sells this product.
2306
2601
  */
2307
2602
  owner_user: Product.OwnerUser;
2308
2603
  /**
2309
- * The product tax code for the product, if any.
2604
+ * The tax classification code applied to purchases of this product for sales tax
2605
+ * calculation. Null if no tax code is assigned.
2310
2606
  */
2311
2607
  product_tax_code: Product.ProductTaxCode | null;
2312
2608
  /**
2313
- * The number of reviews that have been published for the product.
2609
+ * The total number of published customer reviews for this product's company.
2314
2610
  */
2315
2611
  published_reviews_count: number;
2316
2612
  /**
2317
- * The route of the product.
2613
+ * The URL slug used in the product's public link (e.g., 'my-product' in
2614
+ * whop.com/company/my-product).
2318
2615
  */
2319
2616
  route: string;
2320
2617
  /**
2321
- * The title of the product. Use for Whop 4.0.
2618
+ * The display name of the product shown to customers on the product page and in
2619
+ * search results.
2322
2620
  */
2323
2621
  title: string;
2324
2622
  /**
2325
- * When the product was updated.
2623
+ * The datetime the product was last updated.
2326
2624
  */
2327
2625
  updated_at: string;
2328
2626
  /**
2329
- * Whether this product is Whop verified.
2627
+ * Whether this company has been verified by Whop's trust and safety team.
2330
2628
  */
2331
2629
  verified: boolean;
2332
2630
  /**
2333
- * This product will/will not be displayed publicly.
2631
+ * Controls whether the product is visible to customers. When set to 'hidden', the
2632
+ * product is only accessible via direct link.
2334
2633
  */
2335
2634
  visibility: Visibility;
2336
2635
  }
2337
2636
  export declare namespace Product {
2338
2637
  /**
2339
- * A short type of the company that this product belongs to.
2638
+ * The company this product belongs to.
2340
2639
  */
2341
2640
  interface Company {
2342
2641
  /**
2343
- * The ID (tag) of the company.
2642
+ * The unique identifier for the company.
2344
2643
  */
2345
2644
  id: string;
2346
2645
  /**
2347
- * The slug/route of the company on the Whop site.
2646
+ * The URL slug for the company's store page (e.g., 'pickaxe' in whop.com/pickaxe).
2348
2647
  */
2349
2648
  route: string;
2350
2649
  /**
2351
- * The title of the company.
2650
+ * The display name of the company shown to customers.
2352
2651
  */
2353
2652
  title: string;
2354
2653
  }
2355
2654
  /**
2356
- * The user that owns the product (company owner).
2655
+ * Represents an image attachment
2656
+ */
2657
+ interface GalleryImage {
2658
+ /**
2659
+ * Represents a unique identifier that is Base64 obfuscated. It is often used to
2660
+ * refetch an object or as key for a cache. The ID type appears in a JSON response
2661
+ * as a String; however, it is not intended to be human-readable. When expected as
2662
+ * an input type, any string (such as `"VXNlci0xMA=="`) or integer (such as `4`)
2663
+ * input value will be accepted as an ID.
2664
+ */
2665
+ id: string;
2666
+ /**
2667
+ * A pre-optimized URL for rendering this attachment on the client. This should be
2668
+ * used for displaying attachments in apps.
2669
+ */
2670
+ url: string | null;
2671
+ }
2672
+ /**
2673
+ * The user who owns the company that sells this product.
2357
2674
  */
2358
2675
  interface OwnerUser {
2359
2676
  /**
2360
- * The internal ID of the user.
2677
+ * The unique identifier for the user.
2361
2678
  */
2362
2679
  id: string;
2363
2680
  /**
2364
- * The name of the user from their Whop account.
2681
+ * The user's display name shown on their public profile.
2365
2682
  */
2366
2683
  name: string | null;
2367
2684
  /**
2368
- * The username of the user from their Whop account.
2685
+ * The user's unique username shown on their public profile.
2369
2686
  */
2370
2687
  username: string;
2371
2688
  }
2372
2689
  /**
2373
- * The product tax code for the product, if any.
2690
+ * The tax classification code applied to purchases of this product for sales tax
2691
+ * calculation. Null if no tax code is assigned.
2374
2692
  */
2375
2693
  interface ProductTaxCode {
2376
2694
  /**
2377
- * The internal ID of the product tax code.
2695
+ * The unique identifier for the product tax code.
2378
2696
  */
2379
2697
  id: string;
2380
2698
  /**
2381
- * The name of the product tax code.
2699
+ * The human-readable name of this tax classification (e.g., 'Digital - SaaS').
2382
2700
  */
2383
2701
  name: string;
2384
2702
  /**
2385
- * The type of product this tax code applies to.
2703
+ * The broad product category this tax code covers (e.g., physical goods, digital
2704
+ * services).
2386
2705
  */
2387
2706
  product_type: 'physical' | 'digital' | 'services';
2388
2707
  }
2389
2708
  }
2390
2709
  /**
2391
- * Represents a product on whop. Use products to sell anything on the platform.
2710
+ * A product is a digital good or service sold on Whop. Products contain plans for
2711
+ * pricing and experiences for content delivery.
2392
2712
  */
2393
2713
  export interface ProductListItem {
2394
2714
  /**
2395
- * The internal ID of the public product.
2715
+ * The unique identifier for the product.
2396
2716
  */
2397
2717
  id: string;
2398
2718
  /**
@@ -2400,17 +2720,17 @@ export interface ProductListItem {
2400
2720
  */
2401
2721
  business_type: BusinessTypes | null;
2402
2722
  /**
2403
- * When the product was created.
2723
+ * The datetime the product was created.
2404
2724
  */
2405
2725
  created_at: string;
2406
2726
  /**
2407
- * A unique identifier used to create or update products. When provided on product
2408
- * creation endpoints, we’ll look up an existing product by this identifier if it
2409
- * exists, we’ll update it; if not, we’ll create a new one.
2727
+ * A unique identifier used to create or update products via the API. When provided
2728
+ * on product creation endpoints, an existing product with this identifier will be
2729
+ * updated instead of creating a new one.
2410
2730
  */
2411
2731
  external_identifier: string | null;
2412
2732
  /**
2413
- * The headline of the product.
2733
+ * A short marketing headline displayed prominently on the product's product page.
2414
2734
  */
2415
2735
  headline: string | null;
2416
2736
  /**
@@ -2418,31 +2738,35 @@ export interface ProductListItem {
2418
2738
  */
2419
2739
  industry_type: IndustryTypes | null;
2420
2740
  /**
2421
- * The number of active users for this product.
2741
+ * The number of users who currently hold an active membership to this product.
2742
+ * Returns 0 if the company has disabled public member counts.
2422
2743
  */
2423
2744
  member_count: number;
2424
2745
  /**
2425
- * The number of reviews that have been published for the product.
2746
+ * The total number of published customer reviews for this product's company.
2426
2747
  */
2427
2748
  published_reviews_count: number;
2428
2749
  /**
2429
- * The route of the product.
2750
+ * The URL slug used in the product's public link (e.g., 'my-product' in
2751
+ * whop.com/company/my-product).
2430
2752
  */
2431
2753
  route: string;
2432
2754
  /**
2433
- * The title of the product. Use for Whop 4.0.
2755
+ * The display name of the product shown to customers on the product page and in
2756
+ * search results.
2434
2757
  */
2435
2758
  title: string;
2436
2759
  /**
2437
- * When the product was updated.
2760
+ * The datetime the product was last updated.
2438
2761
  */
2439
2762
  updated_at: string;
2440
2763
  /**
2441
- * Whether this product is Whop verified.
2764
+ * Whether this company has been verified by Whop's trust and safety team.
2442
2765
  */
2443
2766
  verified: boolean;
2444
2767
  /**
2445
- * This product will/will not be displayed publicly.
2768
+ * Controls whether the product is visible to customers. When set to 'hidden', the
2769
+ * product is only accessible via direct link.
2446
2770
  */
2447
2771
  visibility: Visibility;
2448
2772
  }
@@ -2451,7 +2775,7 @@ export interface ProductListItem {
2451
2775
  */
2452
2776
  export type PromoType = 'percentage' | 'flat_amount';
2453
2777
  /**
2454
- * Represents a reaction to a feed post
2778
+ * A single reaction left by a user on a feed post, such as a like or emoji.
2455
2779
  */
2456
2780
  export interface Reaction {
2457
2781
  /**
@@ -2459,33 +2783,34 @@ export interface Reaction {
2459
2783
  */
2460
2784
  id: string;
2461
2785
  /**
2462
- * The emoji that was used in shortcode format (:heart:)
2786
+ * The emoji used for this reaction in shortcode format. Null if the reaction type
2787
+ * is not emoji.
2463
2788
  */
2464
2789
  emoji: string | null;
2465
2790
  /**
2466
- * The ID of the post this reaction belongs to
2791
+ * The unique identifier of the post this reaction was left on.
2467
2792
  */
2468
2793
  resource_id: string;
2469
2794
  /**
2470
- * The user who reacted to the post
2795
+ * The user who left this reaction on the post.
2471
2796
  */
2472
2797
  user: Reaction.User;
2473
2798
  }
2474
2799
  export declare namespace Reaction {
2475
2800
  /**
2476
- * The user who reacted to the post
2801
+ * The user who left this reaction on the post.
2477
2802
  */
2478
2803
  interface User {
2479
2804
  /**
2480
- * The internal ID of the user.
2805
+ * The unique identifier for the user.
2481
2806
  */
2482
2807
  id: string;
2483
2808
  /**
2484
- * The name of the user from their Whop account.
2809
+ * The user's display name shown on their public profile.
2485
2810
  */
2486
2811
  name: string | null;
2487
2812
  /**
2488
- * The username of the user from their Whop account.
2813
+ * The user's unique username shown on their public profile.
2489
2814
  */
2490
2815
  username: string;
2491
2816
  }
@@ -2499,35 +2824,39 @@ export type ReceiptStatus = 'draft' | 'open' | 'paid' | 'pending' | 'uncollectib
2499
2824
  */
2500
2825
  export type ReleaseMethod = 'buy_now' | 'waitlist';
2501
2826
  /**
2502
- * A shipment
2827
+ * A physical shipment associated with a payment, including carrier details and
2828
+ * tracking information.
2503
2829
  */
2504
2830
  export interface Shipment {
2505
2831
  /**
2506
- * The ID of the shipment
2832
+ * The unique identifier for the shipment.
2507
2833
  */
2508
2834
  id: string;
2509
2835
  /**
2510
- * The carrier of the shipment
2836
+ * The shipping carrier responsible for delivering this shipment.
2511
2837
  */
2512
2838
  carrier: ShipmentCarrier;
2513
2839
  /**
2514
- * The date and time the shipment was created
2840
+ * The datetime the shipment was created.
2515
2841
  */
2516
2842
  created_at: string;
2517
2843
  /**
2518
- * The delivery estimate of the shipment
2844
+ * The estimated delivery date for this shipment. Null if the carrier has not
2845
+ * provided an estimate.
2519
2846
  */
2520
2847
  delivery_estimate: string | null;
2521
2848
  /**
2522
- * The payment of the shipment
2849
+ * The payment associated with this shipment. Null if the payment has been deleted
2850
+ * or is inaccessible.
2523
2851
  */
2524
2852
  payment: Shipment.Payment | null;
2525
2853
  /**
2526
- * The service of the shipment
2854
+ * The shipping service level used for this shipment. Null if the carrier does not
2855
+ * specify a service tier.
2527
2856
  */
2528
2857
  service: string | null;
2529
2858
  /**
2530
- * The status of the shipment
2859
+ * The current delivery status of this shipment.
2531
2860
  */
2532
2861
  status: ShipmentStatus;
2533
2862
  /**
@@ -2535,21 +2864,22 @@ export interface Shipment {
2535
2864
  */
2536
2865
  substatus: ShipmentSubstatus | null;
2537
2866
  /**
2538
- * The tracking code of the shipment
2867
+ * The carrier-assigned tracking number used to look up shipment progress.
2539
2868
  */
2540
2869
  tracking_code: string;
2541
2870
  /**
2542
- * The date and time the shipment was last updated
2871
+ * The datetime the shipment was last updated.
2543
2872
  */
2544
2873
  updated_at: string;
2545
2874
  }
2546
2875
  export declare namespace Shipment {
2547
2876
  /**
2548
- * The payment of the shipment
2877
+ * The payment associated with this shipment. Null if the payment has been deleted
2878
+ * or is inaccessible.
2549
2879
  */
2550
2880
  interface Payment {
2551
2881
  /**
2552
- * The payment ID
2882
+ * The unique identifier for the payment.
2553
2883
  */
2554
2884
  id: string;
2555
2885
  }
@@ -2567,7 +2897,8 @@ export type ShipmentStatus = 'unknown' | 'pre_transit' | 'in_transit' | 'out_for
2567
2897
  */
2568
2898
  export type ShipmentSubstatus = 'address_correction' | 'arrived_at_destination' | 'arrived_at_facility' | 'arrived_at_pickup_location' | 'awaiting_information' | 'substatus_cancelled' | 'damaged' | 'delayed' | 'delivery_exception' | 'departed_facility' | 'departed_origin_facility' | 'expired' | 'substatus_failure' | 'held' | 'substatus_in_transit' | 'label_created' | 'lost' | 'missorted' | 'substatus_out_for_delivery' | 'received_at_destination_facility' | 'received_at_origin_facility' | 'refused' | 'return' | 'status_update' | 'transferred_to_destination_carrier' | 'transit_exception' | 'substatus_unknown' | 'weather_delay';
2569
2899
  /**
2570
- * Represents a DM channel
2900
+ * A messaging channel that can be a one-on-one DM, group chat, company support
2901
+ * conversation, or platform-level direct message.
2571
2902
  */
2572
2903
  export interface SupportChannel {
2573
2904
  /**
@@ -2575,41 +2906,47 @@ export interface SupportChannel {
2575
2906
  */
2576
2907
  id: string;
2577
2908
  /**
2578
- * The bot ID if this is a support chat
2909
+ * The unique identifier of the company associated with this channel. Null if this
2910
+ * is not a support or company-scoped conversation.
2579
2911
  */
2580
2912
  company_id: string | null;
2581
2913
  /**
2582
- * The custom name of the DM channel, if any
2914
+ * A custom display name assigned to this channel by the user. Null if no custom
2915
+ * name has been set.
2583
2916
  */
2584
2917
  custom_name: string | null;
2585
2918
  /**
2586
- * The customer user if this is a support chat
2919
+ * The customer who initiated this support conversation. Null if this is not a
2920
+ * support chat.
2587
2921
  */
2588
2922
  customer_user: SupportChannel.CustomerUser | null;
2589
2923
  /**
2590
- * When the last message was sent
2924
+ * The timestamp when the most recent message was sent in this channel. Null if no
2925
+ * messages have been sent.
2591
2926
  */
2592
2927
  last_message_at: string | null;
2593
2928
  /**
2594
- * When the support ticket was resolved (null if unresolved)
2929
+ * The timestamp when the linked support ticket was marked as resolved. Null if
2930
+ * unresolved or not a support chat.
2595
2931
  */
2596
2932
  resolved_at: string | null;
2597
2933
  }
2598
2934
  export declare namespace SupportChannel {
2599
2935
  /**
2600
- * The customer user if this is a support chat
2936
+ * The customer who initiated this support conversation. Null if this is not a
2937
+ * support chat.
2601
2938
  */
2602
2939
  interface CustomerUser {
2603
2940
  /**
2604
- * The internal ID of the user.
2941
+ * The unique identifier for the user.
2605
2942
  */
2606
2943
  id: string;
2607
2944
  /**
2608
- * The name of the user from their Whop account.
2945
+ * The user's display name shown on their public profile.
2609
2946
  */
2610
2947
  name: string | null;
2611
2948
  /**
2612
- * The username of the user from their Whop account.
2949
+ * The user's unique username shown on their public profile.
2613
2950
  */
2614
2951
  username: string;
2615
2952
  }
@@ -2620,67 +2957,72 @@ export declare namespace SupportChannel {
2620
2957
  */
2621
2958
  export type TaxType = 'inclusive' | 'exclusive' | 'unspecified';
2622
2959
  /**
2623
- * Credit Transaction Transfer
2960
+ * A transfer of credit between two ledger accounts.
2624
2961
  */
2625
2962
  export interface Transfer {
2626
2963
  /**
2627
- * The unique identifier of the credit transaction transfer
2964
+ * The unique identifier for the credit transaction transfer.
2628
2965
  */
2629
2966
  id: string;
2630
2967
  /**
2631
- * The amount of the credit transaction transfer
2968
+ * The transfer amount in the currency specified by the currency field. For
2969
+ * example, 10.43 represents $10.43 USD.
2632
2970
  */
2633
2971
  amount: number;
2634
2972
  /**
2635
- * The timestamp when the credit transaction transfer was created
2973
+ * The datetime the credit transaction transfer was created.
2636
2974
  */
2637
2975
  created_at: string;
2638
2976
  /**
2639
- * The currency of the credit transaction transfer
2977
+ * The currency in which this transfer amount is denominated.
2640
2978
  */
2641
2979
  currency: Currency;
2642
2980
  /**
2643
- * The recipient of the credit transaction transfer
2981
+ * The entity receiving the transferred funds.
2644
2982
  */
2645
2983
  destination: Transfer.User | null | Transfer.Company | null;
2646
2984
  /**
2647
- * The ID of the destination ledger account
2985
+ * The unique identifier of the ledger account receiving the funds.
2648
2986
  */
2649
2987
  destination_ledger_account_id: string;
2650
2988
  /**
2651
- * The decimal fee of the credit transaction transfer
2989
+ * The flat fee amount deducted from this transfer, in the transfer's currency.
2990
+ * Null if no flat fee was applied.
2652
2991
  */
2653
2992
  fee_amount: number | null;
2654
2993
  /**
2655
- * A hash of metadata attached to the transfer
2994
+ * Custom key-value pairs attached to this transfer. Maximum 50 keys, 500
2995
+ * characters per key, 5000 characters per value.
2656
2996
  */
2657
2997
  metadata: {
2658
2998
  [key: string]: unknown;
2659
2999
  } | null;
2660
3000
  /**
2661
- * The notes of the credit transaction transfer
3001
+ * A free-text note attached to this transfer by the sender. Null if no note was
3002
+ * provided.
2662
3003
  */
2663
3004
  notes: string | null;
2664
3005
  /**
2665
- * The sender of the credit transaction transfer
3006
+ * The entity that sent the transferred funds.
2666
3007
  */
2667
3008
  origin: Transfer.User | null | Transfer.Company | null;
2668
3009
  /**
2669
- * The ID of the origin ledger account
3010
+ * The unique identifier of the ledger account that sent the funds.
2670
3011
  */
2671
3012
  origin_ledger_account_id: string;
2672
3013
  }
2673
3014
  export declare namespace Transfer {
2674
3015
  /**
2675
- * An object representing a (sanitized) user of the site.
3016
+ * A user account on Whop. Contains profile information, identity details, and
3017
+ * social connections.
2676
3018
  */
2677
3019
  interface User {
2678
3020
  /**
2679
- * The internal ID of the user.
3021
+ * The unique identifier for the user.
2680
3022
  */
2681
3023
  id: string;
2682
3024
  /**
2683
- * The name of the user from their Whop account.
3025
+ * The user's display name shown on their public profile.
2684
3026
  */
2685
3027
  name: string | null;
2686
3028
  /**
@@ -2688,24 +3030,25 @@ export declare namespace Transfer {
2688
3030
  */
2689
3031
  typename: 'User';
2690
3032
  /**
2691
- * The username of the user from their Whop account.
3033
+ * The user's unique username shown on their public profile.
2692
3034
  */
2693
3035
  username: string;
2694
3036
  }
2695
3037
  /**
2696
- * An object representing a (sanitized) company.
3038
+ * A company is a seller on Whop. Companies own products, manage members, and
3039
+ * receive payouts.
2697
3040
  */
2698
3041
  interface Company {
2699
3042
  /**
2700
- * The ID (tag) of the company.
3043
+ * The unique identifier for the company.
2701
3044
  */
2702
3045
  id: string;
2703
3046
  /**
2704
- * The slug/route of the company on the Whop site.
3047
+ * The URL slug for the company's store page (e.g., 'pickaxe' in whop.com/pickaxe).
2705
3048
  */
2706
3049
  route: string;
2707
3050
  /**
2708
- * The title of the company.
3051
+ * The display name of the company shown to customers.
2709
3052
  */
2710
3053
  title: string;
2711
3054
  /**
@@ -2714,15 +3057,16 @@ export declare namespace Transfer {
2714
3057
  typename: 'Company';
2715
3058
  }
2716
3059
  /**
2717
- * An object representing a (sanitized) user of the site.
3060
+ * A user account on Whop. Contains profile information, identity details, and
3061
+ * social connections.
2718
3062
  */
2719
3063
  interface User {
2720
3064
  /**
2721
- * The internal ID of the user.
3065
+ * The unique identifier for the user.
2722
3066
  */
2723
3067
  id: string;
2724
3068
  /**
2725
- * The name of the user from their Whop account.
3069
+ * The user's display name shown on their public profile.
2726
3070
  */
2727
3071
  name: string | null;
2728
3072
  /**
@@ -2730,24 +3074,25 @@ export declare namespace Transfer {
2730
3074
  */
2731
3075
  typename: 'User';
2732
3076
  /**
2733
- * The username of the user from their Whop account.
3077
+ * The user's unique username shown on their public profile.
2734
3078
  */
2735
3079
  username: string;
2736
3080
  }
2737
3081
  /**
2738
- * An object representing a (sanitized) company.
3082
+ * A company is a seller on Whop. Companies own products, manage members, and
3083
+ * receive payouts.
2739
3084
  */
2740
3085
  interface Company {
2741
3086
  /**
2742
- * The ID (tag) of the company.
3087
+ * The unique identifier for the company.
2743
3088
  */
2744
3089
  id: string;
2745
3090
  /**
2746
- * The slug/route of the company on the Whop site.
3091
+ * The URL slug for the company's store page (e.g., 'pickaxe' in whop.com/pickaxe).
2747
3092
  */
2748
3093
  route: string;
2749
3094
  /**
2750
- * The title of the company.
3095
+ * The display name of the company shown to customers.
2751
3096
  */
2752
3097
  title: string;
2753
3098
  /**