onlyfans 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (338) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +323 -0
  3. data/README.md +9 -4
  4. data/lib/onlyfans/client.rb +11 -3
  5. data/lib/onlyfans/internal/transport/base_client.rb +4 -1
  6. data/lib/onlyfans/models/analytics/financial/profitability_get_history_response.rb +114 -36
  7. data/lib/onlyfans/models/analytics/financial/profitability_get_profitability_response.rb +112 -46
  8. data/lib/onlyfans/models/authenticate_start_params.rb +1 -0
  9. data/lib/onlyfans/models/chat_list_media_params.rb +6 -2
  10. data/lib/onlyfans/models/chat_list_params.rb +8 -3
  11. data/lib/onlyfans/models/chats/message_list_params.rb +6 -6
  12. data/lib/onlyfans/models/chats/message_send_params.rb +41 -6
  13. data/lib/onlyfans/models/client_session_create_params.rb +1 -0
  14. data/lib/onlyfans/models/data_export_create_params.rb +36 -21
  15. data/lib/onlyfans/models/data_export_list_params.rb +5 -0
  16. data/lib/onlyfans/models/data_export_list_response.rb +7 -1
  17. data/lib/onlyfans/models/data_export_retrieve_response.rb +7 -1
  18. data/lib/onlyfans/models/engagement/message_get_message_buyers_params.rb +2 -2
  19. data/lib/onlyfans/models/engagement/message_get_top_message_params.rb +3 -3
  20. data/lib/onlyfans/models/engagement/messages/direct_message_chart_params.rb +2 -2
  21. data/lib/onlyfans/models/engagement/messages/direct_message_list_params.rb +3 -3
  22. data/lib/onlyfans/models/engagement/messages/mass_message_chart_params.rb +2 -2
  23. data/lib/onlyfans/models/engagement/messages/mass_message_list_params.rb +3 -3
  24. data/lib/onlyfans/models/fan_list_active_params.rb +55 -13
  25. data/lib/onlyfans/models/fan_list_all_params.rb +55 -13
  26. data/lib/onlyfans/models/fan_list_expired_params.rb +55 -13
  27. data/lib/onlyfans/models/fan_list_latest_params.rb +8 -8
  28. data/lib/onlyfans/models/fan_list_top_params.rb +6 -6
  29. data/lib/onlyfans/models/fans/summary_get_summary_response.rb +49 -2
  30. data/lib/onlyfans/models/following_list_active_params.rb +79 -1
  31. data/lib/onlyfans/models/following_list_all_params.rb +79 -1
  32. data/lib/onlyfans/models/following_list_expired_params.rb +79 -1
  33. data/lib/onlyfans/models/link_tag_list_params.rb +4 -3
  34. data/lib/onlyfans/models/mass_messaging_retrieve_overview_params.rb +3 -3
  35. data/lib/onlyfans/models/mass_messaging_send_params.rb +44 -6
  36. data/lib/onlyfans/models/mass_messaging_update_params.rb +34 -6
  37. data/lib/onlyfans/models/media/upload_get_status_response.rb +54 -27
  38. data/lib/onlyfans/models/media/vault/list_list_params.rb +14 -1
  39. data/lib/onlyfans/models/media/vault/list_list_response.rb +420 -202
  40. data/lib/onlyfans/models/media/vault/list_update_params.rb +11 -1
  41. data/lib/onlyfans/models/media/vault_upload_params.rb +3 -1
  42. data/lib/onlyfans/models/media_upload_params.rb +3 -1
  43. data/lib/onlyfans/models/notification_list_params.rb +3 -3
  44. data/lib/onlyfans/models/post_create_params.rb +29 -1
  45. data/lib/onlyfans/models/post_update_params.rb +29 -1
  46. data/lib/onlyfans/models/queue_list_params.rb +36 -15
  47. data/lib/onlyfans/models/release_form_list_taggable_users_response.rb +8 -8
  48. data/lib/onlyfans/models/shared_tracking_link_list_params.rb +75 -10
  49. data/lib/onlyfans/models/shared_trial_link_list_params.rb +26 -10
  50. data/lib/onlyfans/models/smart_link_create_response.rb +2 -2
  51. data/lib/onlyfans/models/smart_link_list_clicks_response.rb +19 -1
  52. data/lib/onlyfans/models/smart_link_list_conversions_params.rb +1 -0
  53. data/lib/onlyfans/models/smart_link_list_conversions_response.rb +19 -1
  54. data/lib/onlyfans/models/smart_link_list_fans_params.rb +21 -1
  55. data/lib/onlyfans/models/smart_link_list_fans_response.rb +99 -3
  56. data/lib/onlyfans/models/smart_link_list_params.rb +27 -9
  57. data/lib/onlyfans/models/smart_link_postback_create_params.rb +66 -4
  58. data/lib/onlyfans/models/smart_link_postback_create_response.rb +48 -1
  59. data/lib/onlyfans/models/smart_link_postback_list_response.rb +48 -1
  60. data/lib/onlyfans/models/smart_link_postback_retrieve_response.rb +48 -1
  61. data/lib/onlyfans/models/smart_link_postback_update_params.rb +65 -1
  62. data/lib/onlyfans/models/smart_link_postback_update_response.rb +48 -1
  63. data/lib/onlyfans/models/statistic_calculate_total_transactions_params.rb +5 -5
  64. data/lib/onlyfans/models/statistic_get_subscriber_metrics_params.rb +25 -1
  65. data/lib/onlyfans/models/statistics/reach_get_profile_visitors_params.rb +2 -2
  66. data/lib/onlyfans/models/statistics/statement_get_earnings_params.rb +10 -10
  67. data/lib/onlyfans/models/stored_list_tracking_links_response.rb +7 -1
  68. data/lib/onlyfans/models/stored_list_trial_links_response.rb +7 -1
  69. data/lib/onlyfans/models/story_create_params.rb +293 -6
  70. data/lib/onlyfans/models/story_create_response.rb +330 -7
  71. data/lib/onlyfans/models/tracking_link_get_stats_response.rb +7 -1
  72. data/lib/onlyfans/models/tracking_link_list_params.rb +58 -30
  73. data/lib/onlyfans/models/tracking_link_list_response.rb +7 -1
  74. data/lib/onlyfans/models/tracking_link_list_spenders_response.rb +7 -1
  75. data/lib/onlyfans/models/tracking_link_retrieve_response.rb +7 -1
  76. data/lib/onlyfans/models/transaction_list_params.rb +2 -2
  77. data/lib/onlyfans/models/trial_link_list_params.rb +44 -27
  78. data/lib/onlyfans/models/trial_link_list_response.rb +7 -1
  79. data/lib/onlyfans/models/trial_link_list_spenders_response.rb +7 -1
  80. data/lib/onlyfans/models/trial_link_retrieve_response.rb +7 -1
  81. data/lib/onlyfans/models/trial_link_retrieve_stats_response.rb +7 -1
  82. data/lib/onlyfans/models/user_list_list_params.rb +21 -1
  83. data/lib/onlyfans/models/user_lists/user_add_params.rb +18 -1
  84. data/lib/onlyfans/models/user_lists/user_add_response.rb +246 -88
  85. data/lib/onlyfans/models/webhook_create_params.rb +11 -7
  86. data/lib/onlyfans/models/webhook_update_params.rb +11 -7
  87. data/lib/onlyfans/models.rb +0 -2
  88. data/lib/onlyfans/resources/analytics/financial/profitability.rb +4 -4
  89. data/lib/onlyfans/resources/chats/messages.rb +47 -8
  90. data/lib/onlyfans/resources/chats.rb +7 -4
  91. data/lib/onlyfans/resources/data_exports.rb +1 -1
  92. data/lib/onlyfans/resources/engagement/messages/direct_messages.rb +2 -2
  93. data/lib/onlyfans/resources/engagement/messages/mass_messages.rb +2 -2
  94. data/lib/onlyfans/resources/engagement/messages.rb +2 -2
  95. data/lib/onlyfans/resources/fans.rb +43 -10
  96. data/lib/onlyfans/resources/following.rb +58 -12
  97. data/lib/onlyfans/resources/link_tags.rb +4 -4
  98. data/lib/onlyfans/resources/mass_messaging.rb +18 -9
  99. data/lib/onlyfans/resources/media/uploads.rb +6 -1
  100. data/lib/onlyfans/resources/media/vault/lists.rb +30 -5
  101. data/lib/onlyfans/resources/media.rb +14 -8
  102. data/lib/onlyfans/resources/messages.rb +0 -39
  103. data/lib/onlyfans/resources/notifications.rb +1 -1
  104. data/lib/onlyfans/resources/posts.rb +6 -2
  105. data/lib/onlyfans/resources/queue.rb +9 -6
  106. data/lib/onlyfans/resources/release_forms.rb +2 -1
  107. data/lib/onlyfans/resources/shared_tracking_links.rb +12 -5
  108. data/lib/onlyfans/resources/shared_trial_links.rb +6 -5
  109. data/lib/onlyfans/resources/smart_link_postbacks.rb +18 -3
  110. data/lib/onlyfans/resources/smart_links.rb +13 -4
  111. data/lib/onlyfans/resources/statistics/reach.rb +1 -1
  112. data/lib/onlyfans/resources/statistics/statements.rb +3 -3
  113. data/lib/onlyfans/resources/statistics.rb +5 -3
  114. data/lib/onlyfans/resources/stories.rb +13 -6
  115. data/lib/onlyfans/resources/tracking_links/tags.rb +5 -1
  116. data/lib/onlyfans/resources/tracking_links.rb +21 -11
  117. data/lib/onlyfans/resources/transactions.rb +1 -1
  118. data/lib/onlyfans/resources/trial_links/tags.rb +5 -1
  119. data/lib/onlyfans/resources/trial_links.rb +22 -10
  120. data/lib/onlyfans/resources/user_lists/users.rb +7 -2
  121. data/lib/onlyfans/resources/user_lists.rb +5 -2
  122. data/lib/onlyfans/resources/users.rb +4 -1
  123. data/lib/onlyfans/resources/webhooks.rb +6 -4
  124. data/lib/onlyfans/version.rb +1 -1
  125. data/lib/onlyfans.rb +0 -3
  126. data/rbi/onlyfans/client.rbi +11 -3
  127. data/rbi/onlyfans/models/analytics/financial/profitability_get_history_response.rbi +203 -63
  128. data/rbi/onlyfans/models/analytics/financial/profitability_get_profitability_response.rbi +201 -79
  129. data/rbi/onlyfans/models/authenticate_start_params.rbi +5 -0
  130. data/rbi/onlyfans/models/chat_list_media_params.rbi +4 -2
  131. data/rbi/onlyfans/models/chat_list_params.rbi +6 -3
  132. data/rbi/onlyfans/models/chats/message_list_params.rbi +8 -8
  133. data/rbi/onlyfans/models/chats/message_send_params.rbi +88 -6
  134. data/rbi/onlyfans/models/client_session_create_params.rbi +5 -0
  135. data/rbi/onlyfans/models/data_export_create_params.rbi +69 -37
  136. data/rbi/onlyfans/models/data_export_list_params.rbi +18 -0
  137. data/rbi/onlyfans/models/data_export_list_response.rbi +9 -0
  138. data/rbi/onlyfans/models/data_export_retrieve_response.rbi +9 -0
  139. data/rbi/onlyfans/models/engagement/message_get_message_buyers_params.rbi +2 -2
  140. data/rbi/onlyfans/models/engagement/message_get_top_message_params.rbi +4 -4
  141. data/rbi/onlyfans/models/engagement/messages/direct_message_chart_params.rbi +2 -2
  142. data/rbi/onlyfans/models/engagement/messages/direct_message_list_params.rbi +4 -4
  143. data/rbi/onlyfans/models/engagement/messages/mass_message_chart_params.rbi +2 -2
  144. data/rbi/onlyfans/models/engagement/messages/mass_message_list_params.rbi +4 -4
  145. data/rbi/onlyfans/models/fan_list_active_params.rbi +84 -13
  146. data/rbi/onlyfans/models/fan_list_all_params.rbi +84 -13
  147. data/rbi/onlyfans/models/fan_list_expired_params.rbi +84 -13
  148. data/rbi/onlyfans/models/fan_list_latest_params.rbi +10 -10
  149. data/rbi/onlyfans/models/fan_list_top_params.rbi +8 -8
  150. data/rbi/onlyfans/models/fans/summary_get_summary_response.rbi +96 -0
  151. data/rbi/onlyfans/models/following_list_active_params.rbi +160 -0
  152. data/rbi/onlyfans/models/following_list_all_params.rbi +155 -0
  153. data/rbi/onlyfans/models/following_list_expired_params.rbi +160 -0
  154. data/rbi/onlyfans/models/link_tag_list_params.rbi +5 -3
  155. data/rbi/onlyfans/models/mass_messaging_retrieve_overview_params.rbi +4 -4
  156. data/rbi/onlyfans/models/mass_messaging_send_params.rbi +91 -6
  157. data/rbi/onlyfans/models/mass_messaging_update_params.rbi +76 -6
  158. data/rbi/onlyfans/models/media/upload_get_status_response.rbi +79 -33
  159. data/rbi/onlyfans/models/media/vault/list_list_params.rbi +15 -0
  160. data/rbi/onlyfans/models/media/vault/list_list_response.rbi +972 -428
  161. data/rbi/onlyfans/models/media/vault/list_update_params.rbi +13 -1
  162. data/rbi/onlyfans/models/media/vault_upload_params.rbi +6 -2
  163. data/rbi/onlyfans/models/media_upload_params.rbi +6 -2
  164. data/rbi/onlyfans/models/notification_list_params.rbi +3 -3
  165. data/rbi/onlyfans/models/post_create_params.rbi +66 -0
  166. data/rbi/onlyfans/models/post_update_params.rbi +66 -0
  167. data/rbi/onlyfans/models/queue_list_params.rbi +59 -16
  168. data/rbi/onlyfans/models/release_form_list_taggable_users_response.rbi +12 -12
  169. data/rbi/onlyfans/models/shared_tracking_link_list_params.rbi +198 -11
  170. data/rbi/onlyfans/models/shared_trial_link_list_params.rbi +64 -11
  171. data/rbi/onlyfans/models/smart_link_create_response.rbi +6 -3
  172. data/rbi/onlyfans/models/smart_link_list_clicks_response.rbi +21 -3
  173. data/rbi/onlyfans/models/smart_link_list_conversions_params.rbi +5 -0
  174. data/rbi/onlyfans/models/smart_link_list_conversions_response.rbi +21 -3
  175. data/rbi/onlyfans/models/smart_link_list_fans_params.rbi +24 -0
  176. data/rbi/onlyfans/models/smart_link_list_fans_response.rbi +205 -3
  177. data/rbi/onlyfans/models/smart_link_list_params.rbi +45 -8
  178. data/rbi/onlyfans/models/smart_link_postback_create_params.rbi +139 -4
  179. data/rbi/onlyfans/models/smart_link_postback_create_response.rbi +96 -0
  180. data/rbi/onlyfans/models/smart_link_postback_list_response.rbi +96 -0
  181. data/rbi/onlyfans/models/smart_link_postback_retrieve_response.rbi +96 -0
  182. data/rbi/onlyfans/models/smart_link_postback_update_params.rbi +133 -0
  183. data/rbi/onlyfans/models/smart_link_postback_update_response.rbi +96 -0
  184. data/rbi/onlyfans/models/statistic_calculate_total_transactions_params.rbi +12 -6
  185. data/rbi/onlyfans/models/statistic_get_subscriber_metrics_params.rbi +63 -0
  186. data/rbi/onlyfans/models/statistics/reach_get_profile_visitors_params.rbi +2 -2
  187. data/rbi/onlyfans/models/statistics/statement_get_earnings_params.rbi +10 -13
  188. data/rbi/onlyfans/models/stored_list_tracking_links_response.rbi +9 -0
  189. data/rbi/onlyfans/models/stored_list_trial_links_response.rbi +9 -0
  190. data/rbi/onlyfans/models/story_create_params.rbi +548 -4
  191. data/rbi/onlyfans/models/story_create_response.rbi +670 -8
  192. data/rbi/onlyfans/models/tracking_link_get_stats_response.rbi +9 -0
  193. data/rbi/onlyfans/models/tracking_link_list_params.rbi +144 -45
  194. data/rbi/onlyfans/models/tracking_link_list_response.rbi +9 -0
  195. data/rbi/onlyfans/models/tracking_link_list_spenders_response.rbi +17 -5
  196. data/rbi/onlyfans/models/tracking_link_retrieve_response.rbi +9 -0
  197. data/rbi/onlyfans/models/transaction_list_params.rbi +2 -2
  198. data/rbi/onlyfans/models/trial_link_list_params.rbi +66 -33
  199. data/rbi/onlyfans/models/trial_link_list_response.rbi +9 -0
  200. data/rbi/onlyfans/models/trial_link_list_spenders_response.rbi +17 -5
  201. data/rbi/onlyfans/models/trial_link_retrieve_response.rbi +9 -0
  202. data/rbi/onlyfans/models/trial_link_retrieve_stats_response.rbi +9 -0
  203. data/rbi/onlyfans/models/user_list_list_params.rbi +33 -0
  204. data/rbi/onlyfans/models/user_lists/user_add_params.rbi +23 -0
  205. data/rbi/onlyfans/models/user_lists/user_add_response.rbi +596 -181
  206. data/rbi/onlyfans/models/webhook_create_params.rbi +16 -10
  207. data/rbi/onlyfans/models/webhook_update_params.rbi +16 -10
  208. data/rbi/onlyfans/models.rbi +0 -2
  209. data/rbi/onlyfans/resources/analytics/financial/profitability.rbi +2 -6
  210. data/rbi/onlyfans/resources/chats/messages.rbi +53 -10
  211. data/rbi/onlyfans/resources/chats.rbi +6 -5
  212. data/rbi/onlyfans/resources/data_exports.rbi +26 -17
  213. data/rbi/onlyfans/resources/engagement/messages/direct_messages.rbi +3 -3
  214. data/rbi/onlyfans/resources/engagement/messages/mass_messages.rbi +3 -3
  215. data/rbi/onlyfans/resources/engagement/messages.rbi +3 -3
  216. data/rbi/onlyfans/resources/fans.rbi +50 -17
  217. data/rbi/onlyfans/resources/following.rbi +122 -4
  218. data/rbi/onlyfans/resources/link_tags.rbi +4 -4
  219. data/rbi/onlyfans/resources/mass_messaging.rbi +32 -10
  220. data/rbi/onlyfans/resources/media/uploads.rbi +5 -0
  221. data/rbi/onlyfans/resources/media/vault/lists.rbi +28 -3
  222. data/rbi/onlyfans/resources/media/vault.rbi +3 -1
  223. data/rbi/onlyfans/resources/media.rbi +16 -7
  224. data/rbi/onlyfans/resources/messages.rbi +0 -29
  225. data/rbi/onlyfans/resources/notifications.rbi +1 -1
  226. data/rbi/onlyfans/resources/posts.rbi +14 -0
  227. data/rbi/onlyfans/resources/queue.rbi +15 -8
  228. data/rbi/onlyfans/resources/release_forms.rbi +2 -1
  229. data/rbi/onlyfans/resources/shared_tracking_links.rbi +21 -5
  230. data/rbi/onlyfans/resources/shared_trial_links.rbi +8 -5
  231. data/rbi/onlyfans/resources/smart_link_postbacks.rbi +27 -2
  232. data/rbi/onlyfans/resources/smart_links.rbi +12 -3
  233. data/rbi/onlyfans/resources/statistics/reach.rbi +1 -1
  234. data/rbi/onlyfans/resources/statistics/statements.rbi +4 -4
  235. data/rbi/onlyfans/resources/statistics.rbi +9 -2
  236. data/rbi/onlyfans/resources/stories.rbi +16 -3
  237. data/rbi/onlyfans/resources/tracking_links/tags.rbi +5 -1
  238. data/rbi/onlyfans/resources/tracking_links.rbi +30 -19
  239. data/rbi/onlyfans/resources/transactions.rbi +1 -1
  240. data/rbi/onlyfans/resources/trial_links/tags.rbi +5 -1
  241. data/rbi/onlyfans/resources/trial_links.rbi +29 -14
  242. data/rbi/onlyfans/resources/user_lists/users.rbi +10 -1
  243. data/rbi/onlyfans/resources/user_lists.rbi +6 -1
  244. data/rbi/onlyfans/resources/users.rbi +2 -1
  245. data/rbi/onlyfans/resources/webhooks.rbi +16 -10
  246. data/sig/onlyfans/models/analytics/financial/profitability_get_history_response.rbs +129 -40
  247. data/sig/onlyfans/models/analytics/financial/profitability_get_profitability_response.rbs +125 -50
  248. data/sig/onlyfans/models/authenticate_start_params.rbs +2 -1
  249. data/sig/onlyfans/models/chats/message_send_params.rbs +34 -6
  250. data/sig/onlyfans/models/client_session_create_params.rbs +2 -1
  251. data/sig/onlyfans/models/data_export_create_params.rbs +4 -0
  252. data/sig/onlyfans/models/data_export_list_params.rbs +10 -0
  253. data/sig/onlyfans/models/data_export_list_response.rbs +7 -0
  254. data/sig/onlyfans/models/data_export_retrieve_response.rbs +7 -0
  255. data/sig/onlyfans/models/fan_list_active_params.rbs +7 -0
  256. data/sig/onlyfans/models/fan_list_all_params.rbs +7 -0
  257. data/sig/onlyfans/models/fan_list_expired_params.rbs +7 -0
  258. data/sig/onlyfans/models/fans/summary_get_summary_response.rbs +53 -0
  259. data/sig/onlyfans/models/following_list_active_params.rbs +35 -1
  260. data/sig/onlyfans/models/following_list_all_params.rbs +35 -1
  261. data/sig/onlyfans/models/following_list_expired_params.rbs +35 -1
  262. data/sig/onlyfans/models/link_tag_list_params.rbs +2 -1
  263. data/sig/onlyfans/models/mass_messaging_send_params.rbs +33 -5
  264. data/sig/onlyfans/models/mass_messaging_update_params.rbs +26 -5
  265. data/sig/onlyfans/models/media/upload_get_status_response.rbs +65 -39
  266. data/sig/onlyfans/models/media/vault/list_list_params.rbs +13 -1
  267. data/sig/onlyfans/models/media/vault/list_list_response.rbs +519 -235
  268. data/sig/onlyfans/models/media/vault/list_update_params.rbs +5 -1
  269. data/sig/onlyfans/models/post_create_params.rbs +21 -0
  270. data/sig/onlyfans/models/post_update_params.rbs +21 -0
  271. data/sig/onlyfans/models/queue_list_params.rbs +28 -6
  272. data/sig/onlyfans/models/release_form_list_taggable_users_response.rbs +7 -10
  273. data/sig/onlyfans/models/shared_tracking_link_list_params.rbs +78 -4
  274. data/sig/onlyfans/models/shared_trial_link_list_params.rbs +31 -4
  275. data/sig/onlyfans/models/smart_link_create_response.rbs +6 -4
  276. data/sig/onlyfans/models/smart_link_list_clicks_response.rbs +18 -3
  277. data/sig/onlyfans/models/smart_link_list_conversions_params.rbs +2 -0
  278. data/sig/onlyfans/models/smart_link_list_conversions_response.rbs +18 -3
  279. data/sig/onlyfans/models/smart_link_list_fans_params.rbs +15 -1
  280. data/sig/onlyfans/models/smart_link_list_fans_response.rbs +125 -3
  281. data/sig/onlyfans/models/smart_link_list_params.rbs +27 -6
  282. data/sig/onlyfans/models/smart_link_postback_create_params.rbs +48 -0
  283. data/sig/onlyfans/models/smart_link_postback_create_response.rbs +53 -0
  284. data/sig/onlyfans/models/smart_link_postback_list_response.rbs +53 -0
  285. data/sig/onlyfans/models/smart_link_postback_retrieve_response.rbs +53 -0
  286. data/sig/onlyfans/models/smart_link_postback_update_params.rbs +48 -0
  287. data/sig/onlyfans/models/smart_link_postback_update_response.rbs +53 -0
  288. data/sig/onlyfans/models/statistic_calculate_total_transactions_params.rbs +8 -4
  289. data/sig/onlyfans/models/statistic_get_subscriber_metrics_params.rbs +23 -1
  290. data/sig/onlyfans/models/statistics/statement_get_earnings_params.rbs +5 -7
  291. data/sig/onlyfans/models/stored_list_tracking_links_response.rbs +7 -0
  292. data/sig/onlyfans/models/stored_list_trial_links_response.rbs +7 -0
  293. data/sig/onlyfans/models/story_create_params.rbs +271 -1
  294. data/sig/onlyfans/models/story_create_response.rbs +419 -9
  295. data/sig/onlyfans/models/tracking_link_get_stats_response.rbs +7 -0
  296. data/sig/onlyfans/models/tracking_link_list_params.rbs +75 -26
  297. data/sig/onlyfans/models/tracking_link_list_response.rbs +7 -0
  298. data/sig/onlyfans/models/tracking_link_list_spenders_response.rbs +16 -3
  299. data/sig/onlyfans/models/tracking_link_retrieve_response.rbs +7 -0
  300. data/sig/onlyfans/models/trial_link_list_params.rbs +42 -18
  301. data/sig/onlyfans/models/trial_link_list_response.rbs +7 -0
  302. data/sig/onlyfans/models/trial_link_list_spenders_response.rbs +16 -3
  303. data/sig/onlyfans/models/trial_link_retrieve_response.rbs +7 -0
  304. data/sig/onlyfans/models/trial_link_retrieve_stats_response.rbs +7 -0
  305. data/sig/onlyfans/models/user_list_list_params.rbs +24 -1
  306. data/sig/onlyfans/models/user_lists/user_add_params.rbs +12 -1
  307. data/sig/onlyfans/models/user_lists/user_add_response.rbs +300 -101
  308. data/sig/onlyfans/models.rbs +0 -2
  309. data/sig/onlyfans/resources/analytics/financial/profitability.rbs +2 -2
  310. data/sig/onlyfans/resources/chats/messages.rbs +3 -1
  311. data/sig/onlyfans/resources/following.rbs +6 -0
  312. data/sig/onlyfans/resources/mass_messaging.rbs +5 -2
  313. data/sig/onlyfans/resources/media/vault/lists.rbs +3 -1
  314. data/sig/onlyfans/resources/media.rbs +1 -1
  315. data/sig/onlyfans/resources/messages.rbs +0 -9
  316. data/sig/onlyfans/resources/posts.rbs +2 -0
  317. data/sig/onlyfans/resources/queue.rbs +2 -1
  318. data/sig/onlyfans/resources/shared_tracking_links.rbs +5 -1
  319. data/sig/onlyfans/resources/shared_trial_links.rbs +2 -1
  320. data/sig/onlyfans/resources/smart_link_postbacks.rbs +6 -0
  321. data/sig/onlyfans/resources/smart_links.rbs +4 -1
  322. data/sig/onlyfans/resources/statistics/statements.rbs +1 -1
  323. data/sig/onlyfans/resources/statistics.rbs +3 -2
  324. data/sig/onlyfans/resources/stories.rbs +4 -0
  325. data/sig/onlyfans/resources/tracking_links.rbs +7 -6
  326. data/sig/onlyfans/resources/trial_links.rbs +7 -5
  327. data/sig/onlyfans/resources/user_lists/users.rbs +2 -1
  328. data/sig/onlyfans/resources/user_lists.rbs +1 -0
  329. metadata +9 -15
  330. data/lib/onlyfans/models/media_download_response.rb +0 -7
  331. data/lib/onlyfans/models/message_attach_tags_params.rb +0 -52
  332. data/lib/onlyfans/models/message_attach_tags_response.rb +0 -125
  333. data/rbi/onlyfans/models/media_download_response.rbi +0 -7
  334. data/rbi/onlyfans/models/message_attach_tags_params.rbi +0 -80
  335. data/rbi/onlyfans/models/message_attach_tags_response.rbi +0 -308
  336. data/sig/onlyfans/models/media_download_response.rbs +0 -5
  337. data/sig/onlyfans/models/message_attach_tags_params.rbs +0 -52
  338. data/sig/onlyfans/models/message_attach_tags_response.rbs +0 -164
@@ -11,8 +11,9 @@ module Onlyfans
11
11
  T.any(Onlyfans::WebhookCreateParams, Onlyfans::Internal::AnyHash)
12
12
  end
13
13
 
14
- # The account scope for the webhook. Use "global" for all accounts, "inclusive"
15
- # for only selected accounts, or "exclusive" for all except selected accounts.
14
+ # The account scope for the webhook (OnlyFans and Fansly webhooks alike). Use
15
+ # "global" for all accounts, "inclusive" for only selected accounts, or
16
+ # "exclusive" for all except selected accounts.
16
17
  sig { returns(String) }
17
18
  attr_accessor :account_scope
18
19
 
@@ -21,12 +22,14 @@ module Onlyfans
21
22
  attr_accessor :endpoint_url
22
23
 
23
24
  # An array of webhook events to subscribe to. For all options, refer to our **List
24
- # Available Events** endpoint.
25
+ # Available Events** endpoint. A webhook is single-platform: subscribe to either
26
+ # OnlyFans events or Fansly (`fansly.*`) events, never both in one webhook.
25
27
  sig { returns(T::Array[String]) }
26
28
  attr_accessor :events
27
29
 
28
- # An array of account IDs to apply the scope to. Required unless account_scope is
29
- # "global".
30
+ # An array of account IDs to apply the scope to. Use OnlyFans account IDs
31
+ # (`acct_...`) for OnlyFans webhooks and Fansly account IDs (`fansly_acct_...`)
32
+ # for Fansly webhooks. Required unless account_scope is "global".
30
33
  sig { returns(T.nilable(T::Array[String])) }
31
34
  attr_reader :account_ids
32
35
 
@@ -48,16 +51,19 @@ module Onlyfans
48
51
  ).returns(T.attached_class)
49
52
  end
50
53
  def self.new(
51
- # The account scope for the webhook. Use "global" for all accounts, "inclusive"
52
- # for only selected accounts, or "exclusive" for all except selected accounts.
54
+ # The account scope for the webhook (OnlyFans and Fansly webhooks alike). Use
55
+ # "global" for all accounts, "inclusive" for only selected accounts, or
56
+ # "exclusive" for all except selected accounts.
53
57
  account_scope:,
54
58
  # The URL of your webhook endpoint.
55
59
  endpoint_url:,
56
60
  # An array of webhook events to subscribe to. For all options, refer to our **List
57
- # Available Events** endpoint.
61
+ # Available Events** endpoint. A webhook is single-platform: subscribe to either
62
+ # OnlyFans events or Fansly (`fansly.*`) events, never both in one webhook.
58
63
  events:,
59
- # An array of account IDs to apply the scope to. Required unless account_scope is
60
- # "global".
64
+ # An array of account IDs to apply the scope to. Use OnlyFans account IDs
65
+ # (`acct_...`) for OnlyFans webhooks and Fansly account IDs (`fansly_acct_...`)
66
+ # for Fansly webhooks. Required unless account_scope is "global".
61
67
  account_ids: nil,
62
68
  # Optionally, add a signing secret to protect your webhook.
63
69
  signing_secret: nil,
@@ -14,8 +14,9 @@ module Onlyfans
14
14
  sig { returns(String) }
15
15
  attr_accessor :webhook_id
16
16
 
17
- # The account scope for the webhook. Use "global" for all accounts, "inclusive"
18
- # for only selected accounts, or "exclusive" for all except selected accounts.
17
+ # The account scope for the webhook (OnlyFans and Fansly webhooks alike). Use
18
+ # "global" for all accounts, "inclusive" for only selected accounts, or
19
+ # "exclusive" for all except selected accounts.
19
20
  sig { returns(String) }
20
21
  attr_accessor :account_scope
21
22
 
@@ -24,12 +25,14 @@ module Onlyfans
24
25
  attr_accessor :endpoint_url
25
26
 
26
27
  # An array of webhook events to subscribe to. For all options, refer to our **List
27
- # Available Events** endpoint.
28
+ # Available Events** endpoint. A webhook is single-platform: subscribe to either
29
+ # OnlyFans events or Fansly (`fansly.*`) events, never both in one webhook.
28
30
  sig { returns(T::Array[String]) }
29
31
  attr_accessor :events
30
32
 
31
- # An array of account IDs to apply the scope to. Required unless account_scope is
32
- # "global".
33
+ # An array of account IDs to apply the scope to. Use OnlyFans account IDs
34
+ # (`acct_...`) for OnlyFans webhooks and Fansly account IDs (`fansly_acct_...`)
35
+ # for Fansly webhooks. Required unless account_scope is "global".
33
36
  sig { returns(T.nilable(T::Array[String])) }
34
37
  attr_reader :account_ids
35
38
 
@@ -54,16 +57,19 @@ module Onlyfans
54
57
  end
55
58
  def self.new(
56
59
  webhook_id:,
57
- # The account scope for the webhook. Use "global" for all accounts, "inclusive"
58
- # for only selected accounts, or "exclusive" for all except selected accounts.
60
+ # The account scope for the webhook (OnlyFans and Fansly webhooks alike). Use
61
+ # "global" for all accounts, "inclusive" for only selected accounts, or
62
+ # "exclusive" for all except selected accounts.
59
63
  account_scope:,
60
64
  # The URL of your webhook endpoint.
61
65
  endpoint_url:,
62
66
  # An array of webhook events to subscribe to. For all options, refer to our **List
63
- # Available Events** endpoint.
67
+ # Available Events** endpoint. A webhook is single-platform: subscribe to either
68
+ # OnlyFans events or Fansly (`fansly.*`) events, never both in one webhook.
64
69
  events:,
65
- # An array of account IDs to apply the scope to. Required unless account_scope is
66
- # "global".
70
+ # An array of account IDs to apply the scope to. Use OnlyFans account IDs
71
+ # (`acct_...`) for OnlyFans webhooks and Fansly account IDs (`fansly_acct_...`)
72
+ # for Fansly webhooks. Required unless account_scope is "global".
67
73
  account_ids: nil,
68
74
  # Optionally, enabled/disable the webhook. This will stop/resume the sending of
69
75
  # events, without having to delete the webhook.
@@ -132,8 +132,6 @@ module Onlyfans
132
132
 
133
133
  MeRetrieveParams = Onlyfans::Models::MeRetrieveParams
134
134
 
135
- MessageAttachTagsParams = Onlyfans::Models::MessageAttachTagsParams
136
-
137
135
  NotificationGetCountsParams = Onlyfans::Models::NotificationGetCountsParams
138
136
 
139
137
  NotificationListParams = Onlyfans::Models::NotificationListParams
@@ -14,9 +14,7 @@ module Onlyfans
14
14
  months: Integer,
15
15
  request_options: Onlyfans::RequestOptions::OrHash
16
16
  ).returns(
17
- T::Array[
18
- Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponseItem
19
- ]
17
+ Onlyfans::Models::Analytics::Financial::ProfitabilityGetHistoryResponse
20
18
  )
21
19
  end
22
20
  def get_history(
@@ -40,9 +38,7 @@ module Onlyfans
40
38
  year: Integer,
41
39
  request_options: Onlyfans::RequestOptions::OrHash
42
40
  ).returns(
43
- T::Array[
44
- Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponseItem
45
- ]
41
+ Onlyfans::Models::Analytics::Financial::ProfitabilityGetProfitabilityResponse
46
42
  )
47
43
  end
48
44
  def get_profitability(
@@ -25,7 +25,10 @@ module Onlyfans
25
25
  )
26
26
  end
27
27
 
28
- # Get messages from a specific chat.
28
+ # Get messages from a specific chat. Use `filter=pinned` or
29
+ # [List Pinned Chat Messages](https://docs.onlyfansapi.com/api-reference/chat-messages/list-pinned-chat-messages)
30
+ # to retrieve only pinned messages. Follow `_pagination.next_page` until it is
31
+ # null; a short page can still have more results.
29
32
  sig do
30
33
  params(
31
34
  chat_id: String,
@@ -46,9 +49,9 @@ module Onlyfans
46
49
  account:,
47
50
  # Query param: Filter by certain messages. Currently, only pins are filterable.
48
51
  filter: nil,
49
- # Query param: Use for pagination when `order=desc` (newest to oldest). Include
50
- # this message ID as the first message in the results. Used to retrieve messages
51
- # from e.g. the Search Chat Messages endpoint IDs.
52
+ # Query param: Use for pagination when `order=desc` (newest to oldest). Pass the
53
+ # last message ID from the previous page to retrieve older messages, excluding
54
+ # that cursor message.
52
55
  first_id: nil,
53
56
  # Query param: Use for pagination when `order=asc` (oldest to newest). Include
54
57
  # this message ID as the first message in the results. WARNING! The response list
@@ -59,7 +62,7 @@ module Onlyfans
59
62
  limit: nil,
60
63
  # Query param: Sort order for messages (desc or asc)
61
64
  order: nil,
62
- # Query param: Whether to skip user details (all or none)
65
+ # Query param: Whether to skip user details (`all` or `none`).
63
66
  skip_users: nil,
64
67
  request_options: {}
65
68
  )
@@ -106,7 +109,10 @@ module Onlyfans
106
109
  )
107
110
  end
108
111
 
109
- # Pin a message from a chat.
112
+ # Pin a message from a chat. Requires API-key write permission. No request body is
113
+ # needed. Use
114
+ # [List Pinned Chat Messages](https://docs.onlyfansapi.com/api-reference/chat-messages/list-pinned-chat-messages)
115
+ # to read the current pins.
110
116
  sig do
111
117
  params(
112
118
  message_id: String,
@@ -148,20 +154,47 @@ module Onlyfans
148
154
  end
149
155
 
150
156
  # Send a new message to a chat.
157
+ #
158
+ # **Idempotency.** Pass an `Idempotency-Key` header to make retries safe. The
159
+ # first request with a given key is executed normally and its response is stored
160
+ # for **24 hours**; any later request with the same key returns that stored
161
+ # response, plus an `Idempotent-Replayed: true` header, without contacting
162
+ # OnlyFans and without consuming credits. The replayed body is the original
163
+ # response with its `_meta._credits` block rewritten to show `used: 0` and your
164
+ # current balance.
165
+ #
166
+ # Keys are scoped to your team, this endpoint and the account in the URL, so the
167
+ # same value can be reused safely against a different account. Use a fresh, unique
168
+ # value (a UUID works well) for each message you send; it must be 1-255 printable
169
+ # ASCII characters.
170
+ #
171
+ # - `400 IDEMPOTENCY_KEY_INVALID` — the header value is empty, too long, or
172
+ # contains non-ASCII characters.
173
+ # - `409 IDEMPOTENCY_CONFLICT` — an earlier request with this key is still
174
+ # running. Retry once it finishes.
175
+ # - `422 IDEMPOTENCY_KEY_MISMATCH` — this key was already used with a different
176
+ # request body or chat.
177
+ #
178
+ # Responses with a `5xx` status (and `408`/`429`) are never stored, so a failed
179
+ # send can be retried with the same key. The header is optional: omit it and the
180
+ # endpoint behaves exactly as before.
151
181
  sig do
152
182
  params(
153
183
  chat_id: String,
154
184
  account: String,
185
+ block_banned_words:
186
+ Onlyfans::Chats::MessageSendParams::BlockBannedWords::OrSymbol,
155
187
  giphy_id: String,
156
188
  locked_text: T::Boolean,
157
189
  media_files: T::Array[T.anything],
158
190
  previews: T::Array[T.anything],
159
- price: Integer,
191
+ price: Float,
160
192
  reply_to_message_id: Integer,
161
193
  rf_guest: String,
162
194
  rf_partner: String,
163
195
  rf_tag: String,
164
196
  text: String,
197
+ idempotency_key: String,
165
198
  request_options: Onlyfans::RequestOptions::OrHash
166
199
  ).returns(Onlyfans::Models::Chats::MessageSendResponse)
167
200
  end
@@ -170,6 +203,11 @@ module Onlyfans
170
203
  chat_id,
171
204
  # Path param: The Account ID
172
205
  account:,
206
+ # Body param: Screen `text` for OnlyFans banned words and block the send if any
207
+ # are found (returns a 422 listing the offending words). `strict_ban` blocks all
208
+ # tiers, `risky` blocks Risky + Replace/soften, `replace_soften` blocks
209
+ # Replace/soften only. Omit to disable screening.
210
+ block_banned_words: nil,
173
211
  # Body param: The ID of the Giphy GIF to attach to the message. Get IDs from the
174
212
  # Giphy listing endpoints (`/giphy/trending`, `/giphy/search`).
175
213
  giphy_id: nil,
@@ -182,8 +220,8 @@ module Onlyfans
182
220
  # integer indices referencing uploaded files in `mediaFiles`. Will be shown if
183
221
  # `price` is provided.
184
222
  previews: nil,
185
- # Body param: Price for paid content (0 or between 3-200). In case this is not
186
- # zero, **mediaFiles** is required
223
+ # Body param: Price for paid content in USD (0 or between 3-200). In case this is
224
+ # not zero, **mediaFiles** is required
187
225
  price: nil,
188
226
  # Body param: Mark this message as a reply to another (can be either your own, or
189
227
  # the recipient's)
@@ -196,6 +234,8 @@ module Onlyfans
196
234
  rf_tag: nil,
197
235
  # Body param: The message text content. Required unless a media file is present.
198
236
  text: nil,
237
+ # Header param
238
+ idempotency_key: nil,
199
239
  request_options: {}
200
240
  )
201
241
  end
@@ -220,7 +260,10 @@ module Onlyfans
220
260
  )
221
261
  end
222
262
 
223
- # Unpin a message from a chat.
263
+ # Unpin a message from a chat. Requires API-key delete permission; a read_write
264
+ # key cannot unpin. No request body is needed. Use
265
+ # [List Pinned Chat Messages](https://docs.onlyfansapi.com/api-reference/chat-messages/list-pinned-chat-messages)
266
+ # to read the current pins.
224
267
  sig do
225
268
  params(
226
269
  message_id: String,
@@ -35,7 +35,8 @@ module Onlyfans
35
35
  order: nil,
36
36
  # Search query to filter chats
37
37
  query: nil,
38
- # Whether to skip user details in response (all or none). Default = all
38
+ # Whether to skip user details in the response (`all` or `none`). Defaults to
39
+ # `all`.
39
40
  skip_users: nil,
40
41
  request_options: {}
41
42
  )
@@ -98,8 +99,8 @@ module Onlyfans
98
99
  limit: nil,
99
100
  # Query param: Number of medias to skip for pagination
100
101
  offset: nil,
101
- # Query param: Whether to skip user details in response (all or none). Default =
102
- # all
102
+ # Query param: Whether to skip user details in the response (`all` or `none`).
103
+ # Defaults to `all`.
103
104
  skip_users: nil,
104
105
  # Query param: Filter by specific media types. Keep empty to return all.
105
106
  type: nil,
@@ -160,8 +161,8 @@ module Onlyfans
160
161
  end
161
162
 
162
163
  # Calling this endpoint will show the target fan a "Model is typing..." note in
163
- # the chat for ~4 seconds. If you want to continue showing the indicator call this
164
- # endpoint multiple times. Free - no credits charged.
164
+ # the chat for ~4 seconds. Duplicate calls for the same account and chat are
165
+ # coalesced during that window.
165
166
  sig do
166
167
  params(
167
168
  chat_id: String,
@@ -23,15 +23,20 @@ module Onlyfans
23
23
  # The end date for the export (ISO 8601 format).
24
24
  end_date:,
25
25
  # The output file format. Supported formats vary by export type: `csv` or `xlsx`
26
- # for transactions, chat_messages, trial_links, tracking_links, smart_links,
27
- # payouts, chargebacks, public_profiles, fans, followings; `zip` for media_vault.
26
+ # for transactions, chat_messages, fansly_chat_messages, trial_links,
27
+ # tracking_links, smart_links, payouts, chargebacks, public_profiles, fans,
28
+ # followings, profile_visitors; `zip` for media_vault.
28
29
  file_type:,
29
30
  # The start date for the export (ISO 8601 format).
30
31
  start_date:,
31
- # The type of data to export
32
+ # The type of data to export. Use `fansly_chat_messages` to export Fansly chat
33
+ # messages (all other types are OnlyFans). `profile_visitors` returns one row per
34
+ # account per day, scraped one day at a time so the daily numbers are not
35
+ # aggregated away by OnlyFans.
32
36
  type:,
33
37
  # Array of account prefixed IDs to export data from. Not required for
34
- # `public_profiles` type.
38
+ # `public_profiles` type. For `fansly_chat_messages`, pass Fansly account prefixed
39
+ # IDs (`fansly_acct_...`); all other types take OnlyFans account IDs.
35
40
  account_ids: nil,
36
41
  # When true, automatically starts the export after creation.
37
42
  auto_start: nil,
@@ -42,19 +47,23 @@ module Onlyfans
42
47
  # account, max 10,000,000), `maxChats` (optional per-account chat scrape limit),
43
48
  # `skipMassMessages` (optional, bool), `chatIds` (optional array of numeric
44
49
  # fan/chat IDs; filters output and can drastically reduce totals). For
45
- # `media_vault`: `mediaType` (required, one of: `all`, `photo`, `gif`, `video`,
46
- # `audio`). For `fans`: `type` (required, one of: `all`, `active`, `expired`,
47
- # `latest`). For `followings`: `type` (required, one of: `all`, `active`,
48
- # `expired`). For `public_profiles`: `query` (optional, full-text search),
49
- # `gender` (optional, filter: male, female, trans, couple), `minSubscribePrice`
50
- # (optional, USD), `maxSubscribePrice` (optional, USD), `location` (optional),
51
- # `minPostsCount` (optional, minimum posts), `minPhotosCount` (optional, minimum
52
- # photos), `minVideosCount` (optional, minimum videos), `minSubscribersCount`
53
- # (optional, minimum subscribers), `minJoinDate` (optional, ISO 8601 date),
54
- # `minLastSeenAt` (optional, ISO 8601 date), `createdAtFrom` (optional, ISO 8601
55
- # date, profile added to DB after), `createdAtTo` (optional, ISO 8601 date,
56
- # profile added to DB before), `instagram` (optional), `twitter` (optional),
57
- # `tiktok` (optional), `maxResults` (optional, limit results).
50
+ # `fansly_chat_messages`: `maxMessages` (required per account, max 10,000,000),
51
+ # `maxChats` (optional per-account chat scrape limit), `chatIds` (optional array
52
+ # of Fansly group ID strings; filters output and can drastically reduce totals).
53
+ # For `media_vault`: `mediaType` (required, one of: `all`, `photo`, `gif`,
54
+ # `video`, `audio`). For `fans`: `type` (required, one of: `all`, `active`,
55
+ # `expired`, `latest`). For `followings`: `type` (required, one of: `all`,
56
+ # `active`, `expired`). For `public_profiles`: `query` (optional, full-text
57
+ # search), `gender` (optional, filter: male, female, trans, couple),
58
+ # `minSubscribePrice` (optional, USD), `maxSubscribePrice` (optional, USD),
59
+ # `location` (optional), `minPostsCount` (optional, minimum posts),
60
+ # `minPhotosCount` (optional, minimum photos), `minVideosCount` (optional, minimum
61
+ # videos), `minSubscribersCount` (optional, minimum subscribers),
62
+ # `maxSubscribersCount` (optional, maximum subscribers), `minJoinDate` (optional,
63
+ # ISO 8601 date), `minLastSeenAt` (optional, ISO 8601 date), `createdAtFrom`
64
+ # (optional, ISO 8601 date, profile added to DB after), `createdAtTo` (optional,
65
+ # ISO 8601 date, profile added to DB before), `instagram` (optional), `twitter`
66
+ # (optional), `tiktok` (optional), `maxResults` (optional, limit results).
58
67
  options: nil,
59
68
  request_options: {}
60
69
  )
@@ -22,8 +22,8 @@ module Onlyfans
22
22
  def list(
23
23
  # The Account ID
24
24
  account,
25
- # The latest message to retrieve. Keep empty to get all. MUST BE DATE AFTER
26
- # `startDate`. This is also used for pagination.
25
+ # The latest message to retrieve. Keep empty to get all. It must be after
26
+ # `startDate` and is also used for pagination.
27
27
  end_date: nil,
28
28
  # Number of messages to return (default = 10)
29
29
  limit: nil,
@@ -53,7 +53,7 @@ module Onlyfans
53
53
  def chart(
54
54
  # The Account ID
55
55
  account,
56
- # End of the chart window in `Y-m-d H:i:s` format. Must be after `startDate`.
56
+ # End of the chart window in `Y-m-d H:i:s` format. It must be after `startDate`.
57
57
  end_date: nil,
58
58
  # Start of the chart window in `Y-m-d H:i:s` format.
59
59
  start_date: nil,
@@ -21,8 +21,8 @@ module Onlyfans
21
21
  def list(
22
22
  # The Account ID
23
23
  account,
24
- # The latest message to retrieve. Keep empty to get all. MUST BE DATE AFTER
25
- # `startDate`. This is also used for pagination.
24
+ # The latest message to retrieve. Keep empty to get all. It must be after
25
+ # `startDate` and is also used for pagination.
26
26
  end_date: nil,
27
27
  # Number of messages to return (default = 10)
28
28
  limit: nil,
@@ -50,7 +50,7 @@ module Onlyfans
50
50
  def chart(
51
51
  # The Account ID
52
52
  account,
53
- # End of the chart window in `Y-m-d H:i:s` format. Must be after `startDate`.
53
+ # End of the chart window in `Y-m-d H:i:s` format. It must be after `startDate`.
54
54
  end_date: nil,
55
55
  # Start of the chart window in `Y-m-d H:i:s` format.
56
56
  start_date: nil,
@@ -38,7 +38,7 @@ module Onlyfans
38
38
  marker: nil,
39
39
  # Query param: Offset for pagination (default = 0)
40
40
  offset: nil,
41
- # Query param: Optional flag for subsequent pages (example: all)
41
+ # Query param: Optional flag for subsequent pages (example: all).
42
42
  skip_users: nil,
43
43
  # Query param: Skip duplicate users in results (0/1). Default = 1
44
44
  skip_users_dups: nil,
@@ -58,8 +58,8 @@ module Onlyfans
58
58
  def get_top_message(
59
59
  # The Account ID
60
60
  account,
61
- # The end date for the period. Keep empty to retrieve until now. MUST BE DATE
62
- # AFTER `startDate`.
61
+ # The end date for the period. Keep empty to retrieve until now. It must be after
62
+ # `startDate`.
63
63
  end_date: nil,
64
64
  # The start date for the period. Keep empty to retrieve from the model start date.
65
65
  start_date: nil,
@@ -30,7 +30,19 @@ module Onlyfans
30
30
  )
31
31
  end
32
32
 
33
- # Get a paginated list of fans for an Account. Newest fans are first.
33
+ # Get a paginated list of fans for an Account. Newest fans are first. Paginate by
34
+ # following `_pagination.next_page` until it is null (`data.hasMore` is the
35
+ # authoritative flag). Do NOT use the page's item count to detect the last page —
36
+ # OnlyFans occasionally returns fewer than `limit` items (e.g. 19 for limit=20) on
37
+ # a non-final page because it filters entries server-side; no fans are skipped. To
38
+ # track progress, GET `/{account}/me` returns data.subscribersCount (the current
39
+ # active-subscriber count) as a total.
40
+ #
41
+ # Supports `filter[max_total_spent]` (e.g. `filter[max_total_spent]=0` for fans
42
+ # who have never spent), which OnlyFans itself cannot do. Those requests are
43
+ # answered from OnlyFansAPI's own fan index rather than proxied, so the page is
44
+ # limited to fans we have already indexed for this account — see `data._source` in
45
+ # the response.
34
46
  sig do
35
47
  params(
36
48
  account: String,
@@ -46,8 +58,8 @@ module Onlyfans
46
58
  # The Account ID
47
59
  account,
48
60
  filter: nil,
49
- # Number of fans to return (1-50). Must be at least 1. Must not be greater
50
- # than 20.
61
+ # Number of fans to return (1-20). OnlyFans does not allow more than 20 per page.
62
+ # Must be at least 1. Must not be greater than 20.
51
63
  limit: nil,
52
64
  # Number of fans to skip. Must be at least 0.
53
65
  offset: nil,
@@ -59,7 +71,17 @@ module Onlyfans
59
71
  )
60
72
  end
61
73
 
62
- # Get a paginated list of fans for an Account. Newest fans are first.
74
+ # Get a paginated list of fans for an Account. Newest fans are first. Paginate by
75
+ # following `_pagination.next_page` until it is null (`data.hasMore` is the
76
+ # authoritative flag). Do NOT use the page's item count to detect the last page —
77
+ # OnlyFans occasionally returns fewer than `limit` items (e.g. 19 for limit=20) on
78
+ # a non-final page because it filters entries server-side; no fans are skipped.
79
+ #
80
+ # Supports `filter[max_total_spent]` (e.g. `filter[max_total_spent]=0` for fans
81
+ # who have never spent), which OnlyFans itself cannot do. Those requests are
82
+ # answered from OnlyFansAPI's own fan index rather than proxied, so the page is
83
+ # limited to fans we have already indexed for this account — see `data._source` in
84
+ # the response.
63
85
  sig do
64
86
  params(
65
87
  account: String,
@@ -75,8 +97,8 @@ module Onlyfans
75
97
  # The Account ID
76
98
  account,
77
99
  filter: nil,
78
- # Number of fans to return (1-50). Must be at least 1. Must not be greater
79
- # than 20.
100
+ # Number of fans to return (1-20). OnlyFans does not allow more than 20 per page.
101
+ # Must be at least 1. Must not be greater than 20.
80
102
  limit: nil,
81
103
  # Number of fans to skip. Must be at least 0.
82
104
  offset: nil,
@@ -89,6 +111,17 @@ module Onlyfans
89
111
  end
90
112
 
91
113
  # Get a paginated list of expired fans for an Account. Newest fans are first.
114
+ # Paginate by following `_pagination.next_page` until it is null (`data.hasMore`
115
+ # is the authoritative flag). Do NOT use the page's item count to detect the last
116
+ # page — OnlyFans occasionally returns fewer than `limit` items (e.g. 19 for
117
+ # limit=20) on a non-final page because it filters entries server-side; no fans
118
+ # are skipped.
119
+ #
120
+ # Supports `filter[max_total_spent]` (e.g. `filter[max_total_spent]=0` for fans
121
+ # who have never spent), which OnlyFans itself cannot do. Those requests are
122
+ # answered from OnlyFansAPI's own fan index rather than proxied, so the page is
123
+ # limited to fans we have already indexed for this account — see `data._source` in
124
+ # the response.
92
125
  sig do
93
126
  params(
94
127
  account: String,
@@ -104,8 +137,8 @@ module Onlyfans
104
137
  # The Account ID
105
138
  account,
106
139
  filter: nil,
107
- # Number of fans to return (1-50). Must be at least 1. Must not be greater
108
- # than 20.
140
+ # Number of fans to return (1-20). OnlyFans does not allow more than 20 per page.
141
+ # Must be at least 1. Must not be greater than 20.
109
142
  limit: nil,
110
143
  # Number of fans to skip. Must be at least 0.
111
144
  offset: nil,
@@ -133,16 +166,16 @@ module Onlyfans
133
166
  def list_latest(
134
167
  # The Account ID
135
168
  account,
136
- # End date for filtering (required with start_date). This field is required when
137
- # <code>start_date</code> is present.
169
+ # End date for filtering (required with start_date). Must be a valid date. Must
170
+ # not be greater than 255 characters.
138
171
  end_date: nil,
139
172
  # Number of fans to return (1-50). Must be at least 1. Must not be greater
140
- # than 100.
173
+ # than 50.
141
174
  limit: nil,
142
175
  # Number of fans to skip. Must be at least 0.
143
176
  offset: nil,
144
- # Start date for filtering (required with end_date). This field is required when
145
- # <code>end_date</code> is present.
177
+ # Start date for filtering (required with end_date). Must be a valid date. Must
178
+ # not be greater than 255 characters.
146
179
  start_date: nil,
147
180
  # Filter by type: total, renew, or new.
148
181
  type: nil,
@@ -166,11 +199,11 @@ module Onlyfans
166
199
  account,
167
200
  # Sort by: total (default), subscribes, tips, messages, post, streams.
168
201
  by: nil,
169
- # End date for filtering (required with start_date). This field is required when
170
- # <code>start_date</code> is present.
202
+ # End date for filtering (required with start_date). Must be a valid date. Must
203
+ # not be greater than 255 characters.
171
204
  end_date: nil,
172
- # Start date for filtering (required with end_date). This field is required when
173
- # <code>end_date</code> is present.
205
+ # Start date for filtering (required with end_date). Must be a valid date. Must
206
+ # not be greater than 255 characters.
174
207
  start_date: nil,
175
208
  request_options: {}
176
209
  )