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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +323 -0
- data/README.md +9 -4
- data/lib/onlyfans/client.rb +11 -3
- data/lib/onlyfans/internal/transport/base_client.rb +4 -1
- data/lib/onlyfans/models/analytics/financial/profitability_get_history_response.rb +114 -36
- data/lib/onlyfans/models/analytics/financial/profitability_get_profitability_response.rb +112 -46
- data/lib/onlyfans/models/authenticate_start_params.rb +1 -0
- data/lib/onlyfans/models/chat_list_media_params.rb +6 -2
- data/lib/onlyfans/models/chat_list_params.rb +8 -3
- data/lib/onlyfans/models/chats/message_list_params.rb +6 -6
- data/lib/onlyfans/models/chats/message_send_params.rb +41 -6
- data/lib/onlyfans/models/client_session_create_params.rb +1 -0
- data/lib/onlyfans/models/data_export_create_params.rb +36 -21
- data/lib/onlyfans/models/data_export_list_params.rb +5 -0
- data/lib/onlyfans/models/data_export_list_response.rb +7 -1
- data/lib/onlyfans/models/data_export_retrieve_response.rb +7 -1
- data/lib/onlyfans/models/engagement/message_get_message_buyers_params.rb +2 -2
- data/lib/onlyfans/models/engagement/message_get_top_message_params.rb +3 -3
- data/lib/onlyfans/models/engagement/messages/direct_message_chart_params.rb +2 -2
- data/lib/onlyfans/models/engagement/messages/direct_message_list_params.rb +3 -3
- data/lib/onlyfans/models/engagement/messages/mass_message_chart_params.rb +2 -2
- data/lib/onlyfans/models/engagement/messages/mass_message_list_params.rb +3 -3
- data/lib/onlyfans/models/fan_list_active_params.rb +55 -13
- data/lib/onlyfans/models/fan_list_all_params.rb +55 -13
- data/lib/onlyfans/models/fan_list_expired_params.rb +55 -13
- data/lib/onlyfans/models/fan_list_latest_params.rb +8 -8
- data/lib/onlyfans/models/fan_list_top_params.rb +6 -6
- data/lib/onlyfans/models/fans/summary_get_summary_response.rb +49 -2
- data/lib/onlyfans/models/following_list_active_params.rb +79 -1
- data/lib/onlyfans/models/following_list_all_params.rb +79 -1
- data/lib/onlyfans/models/following_list_expired_params.rb +79 -1
- data/lib/onlyfans/models/link_tag_list_params.rb +4 -3
- data/lib/onlyfans/models/mass_messaging_retrieve_overview_params.rb +3 -3
- data/lib/onlyfans/models/mass_messaging_send_params.rb +44 -6
- data/lib/onlyfans/models/mass_messaging_update_params.rb +34 -6
- data/lib/onlyfans/models/media/upload_get_status_response.rb +54 -27
- data/lib/onlyfans/models/media/vault/list_list_params.rb +14 -1
- data/lib/onlyfans/models/media/vault/list_list_response.rb +420 -202
- data/lib/onlyfans/models/media/vault/list_update_params.rb +11 -1
- data/lib/onlyfans/models/media/vault_upload_params.rb +3 -1
- data/lib/onlyfans/models/media_upload_params.rb +3 -1
- data/lib/onlyfans/models/notification_list_params.rb +3 -3
- data/lib/onlyfans/models/post_create_params.rb +29 -1
- data/lib/onlyfans/models/post_update_params.rb +29 -1
- data/lib/onlyfans/models/queue_list_params.rb +36 -15
- data/lib/onlyfans/models/release_form_list_taggable_users_response.rb +8 -8
- data/lib/onlyfans/models/shared_tracking_link_list_params.rb +75 -10
- data/lib/onlyfans/models/shared_trial_link_list_params.rb +26 -10
- data/lib/onlyfans/models/smart_link_create_response.rb +2 -2
- data/lib/onlyfans/models/smart_link_list_clicks_response.rb +19 -1
- data/lib/onlyfans/models/smart_link_list_conversions_params.rb +1 -0
- data/lib/onlyfans/models/smart_link_list_conversions_response.rb +19 -1
- data/lib/onlyfans/models/smart_link_list_fans_params.rb +21 -1
- data/lib/onlyfans/models/smart_link_list_fans_response.rb +99 -3
- data/lib/onlyfans/models/smart_link_list_params.rb +27 -9
- data/lib/onlyfans/models/smart_link_postback_create_params.rb +66 -4
- data/lib/onlyfans/models/smart_link_postback_create_response.rb +48 -1
- data/lib/onlyfans/models/smart_link_postback_list_response.rb +48 -1
- data/lib/onlyfans/models/smart_link_postback_retrieve_response.rb +48 -1
- data/lib/onlyfans/models/smart_link_postback_update_params.rb +65 -1
- data/lib/onlyfans/models/smart_link_postback_update_response.rb +48 -1
- data/lib/onlyfans/models/statistic_calculate_total_transactions_params.rb +5 -5
- data/lib/onlyfans/models/statistic_get_subscriber_metrics_params.rb +25 -1
- data/lib/onlyfans/models/statistics/reach_get_profile_visitors_params.rb +2 -2
- data/lib/onlyfans/models/statistics/statement_get_earnings_params.rb +10 -10
- data/lib/onlyfans/models/stored_list_tracking_links_response.rb +7 -1
- data/lib/onlyfans/models/stored_list_trial_links_response.rb +7 -1
- data/lib/onlyfans/models/story_create_params.rb +293 -6
- data/lib/onlyfans/models/story_create_response.rb +330 -7
- data/lib/onlyfans/models/tracking_link_get_stats_response.rb +7 -1
- data/lib/onlyfans/models/tracking_link_list_params.rb +58 -30
- data/lib/onlyfans/models/tracking_link_list_response.rb +7 -1
- data/lib/onlyfans/models/tracking_link_list_spenders_response.rb +7 -1
- data/lib/onlyfans/models/tracking_link_retrieve_response.rb +7 -1
- data/lib/onlyfans/models/transaction_list_params.rb +2 -2
- data/lib/onlyfans/models/trial_link_list_params.rb +44 -27
- data/lib/onlyfans/models/trial_link_list_response.rb +7 -1
- data/lib/onlyfans/models/trial_link_list_spenders_response.rb +7 -1
- data/lib/onlyfans/models/trial_link_retrieve_response.rb +7 -1
- data/lib/onlyfans/models/trial_link_retrieve_stats_response.rb +7 -1
- data/lib/onlyfans/models/user_list_list_params.rb +21 -1
- data/lib/onlyfans/models/user_lists/user_add_params.rb +18 -1
- data/lib/onlyfans/models/user_lists/user_add_response.rb +246 -88
- data/lib/onlyfans/models/webhook_create_params.rb +11 -7
- data/lib/onlyfans/models/webhook_update_params.rb +11 -7
- data/lib/onlyfans/models.rb +0 -2
- data/lib/onlyfans/resources/analytics/financial/profitability.rb +4 -4
- data/lib/onlyfans/resources/chats/messages.rb +47 -8
- data/lib/onlyfans/resources/chats.rb +7 -4
- data/lib/onlyfans/resources/data_exports.rb +1 -1
- data/lib/onlyfans/resources/engagement/messages/direct_messages.rb +2 -2
- data/lib/onlyfans/resources/engagement/messages/mass_messages.rb +2 -2
- data/lib/onlyfans/resources/engagement/messages.rb +2 -2
- data/lib/onlyfans/resources/fans.rb +43 -10
- data/lib/onlyfans/resources/following.rb +58 -12
- data/lib/onlyfans/resources/link_tags.rb +4 -4
- data/lib/onlyfans/resources/mass_messaging.rb +18 -9
- data/lib/onlyfans/resources/media/uploads.rb +6 -1
- data/lib/onlyfans/resources/media/vault/lists.rb +30 -5
- data/lib/onlyfans/resources/media.rb +14 -8
- data/lib/onlyfans/resources/messages.rb +0 -39
- data/lib/onlyfans/resources/notifications.rb +1 -1
- data/lib/onlyfans/resources/posts.rb +6 -2
- data/lib/onlyfans/resources/queue.rb +9 -6
- data/lib/onlyfans/resources/release_forms.rb +2 -1
- data/lib/onlyfans/resources/shared_tracking_links.rb +12 -5
- data/lib/onlyfans/resources/shared_trial_links.rb +6 -5
- data/lib/onlyfans/resources/smart_link_postbacks.rb +18 -3
- data/lib/onlyfans/resources/smart_links.rb +13 -4
- data/lib/onlyfans/resources/statistics/reach.rb +1 -1
- data/lib/onlyfans/resources/statistics/statements.rb +3 -3
- data/lib/onlyfans/resources/statistics.rb +5 -3
- data/lib/onlyfans/resources/stories.rb +13 -6
- data/lib/onlyfans/resources/tracking_links/tags.rb +5 -1
- data/lib/onlyfans/resources/tracking_links.rb +21 -11
- data/lib/onlyfans/resources/transactions.rb +1 -1
- data/lib/onlyfans/resources/trial_links/tags.rb +5 -1
- data/lib/onlyfans/resources/trial_links.rb +22 -10
- data/lib/onlyfans/resources/user_lists/users.rb +7 -2
- data/lib/onlyfans/resources/user_lists.rb +5 -2
- data/lib/onlyfans/resources/users.rb +4 -1
- data/lib/onlyfans/resources/webhooks.rb +6 -4
- data/lib/onlyfans/version.rb +1 -1
- data/lib/onlyfans.rb +0 -3
- data/rbi/onlyfans/client.rbi +11 -3
- data/rbi/onlyfans/models/analytics/financial/profitability_get_history_response.rbi +203 -63
- data/rbi/onlyfans/models/analytics/financial/profitability_get_profitability_response.rbi +201 -79
- data/rbi/onlyfans/models/authenticate_start_params.rbi +5 -0
- data/rbi/onlyfans/models/chat_list_media_params.rbi +4 -2
- data/rbi/onlyfans/models/chat_list_params.rbi +6 -3
- data/rbi/onlyfans/models/chats/message_list_params.rbi +8 -8
- data/rbi/onlyfans/models/chats/message_send_params.rbi +88 -6
- data/rbi/onlyfans/models/client_session_create_params.rbi +5 -0
- data/rbi/onlyfans/models/data_export_create_params.rbi +69 -37
- data/rbi/onlyfans/models/data_export_list_params.rbi +18 -0
- data/rbi/onlyfans/models/data_export_list_response.rbi +9 -0
- data/rbi/onlyfans/models/data_export_retrieve_response.rbi +9 -0
- data/rbi/onlyfans/models/engagement/message_get_message_buyers_params.rbi +2 -2
- data/rbi/onlyfans/models/engagement/message_get_top_message_params.rbi +4 -4
- data/rbi/onlyfans/models/engagement/messages/direct_message_chart_params.rbi +2 -2
- data/rbi/onlyfans/models/engagement/messages/direct_message_list_params.rbi +4 -4
- data/rbi/onlyfans/models/engagement/messages/mass_message_chart_params.rbi +2 -2
- data/rbi/onlyfans/models/engagement/messages/mass_message_list_params.rbi +4 -4
- data/rbi/onlyfans/models/fan_list_active_params.rbi +84 -13
- data/rbi/onlyfans/models/fan_list_all_params.rbi +84 -13
- data/rbi/onlyfans/models/fan_list_expired_params.rbi +84 -13
- data/rbi/onlyfans/models/fan_list_latest_params.rbi +10 -10
- data/rbi/onlyfans/models/fan_list_top_params.rbi +8 -8
- data/rbi/onlyfans/models/fans/summary_get_summary_response.rbi +96 -0
- data/rbi/onlyfans/models/following_list_active_params.rbi +160 -0
- data/rbi/onlyfans/models/following_list_all_params.rbi +155 -0
- data/rbi/onlyfans/models/following_list_expired_params.rbi +160 -0
- data/rbi/onlyfans/models/link_tag_list_params.rbi +5 -3
- data/rbi/onlyfans/models/mass_messaging_retrieve_overview_params.rbi +4 -4
- data/rbi/onlyfans/models/mass_messaging_send_params.rbi +91 -6
- data/rbi/onlyfans/models/mass_messaging_update_params.rbi +76 -6
- data/rbi/onlyfans/models/media/upload_get_status_response.rbi +79 -33
- data/rbi/onlyfans/models/media/vault/list_list_params.rbi +15 -0
- data/rbi/onlyfans/models/media/vault/list_list_response.rbi +972 -428
- data/rbi/onlyfans/models/media/vault/list_update_params.rbi +13 -1
- data/rbi/onlyfans/models/media/vault_upload_params.rbi +6 -2
- data/rbi/onlyfans/models/media_upload_params.rbi +6 -2
- data/rbi/onlyfans/models/notification_list_params.rbi +3 -3
- data/rbi/onlyfans/models/post_create_params.rbi +66 -0
- data/rbi/onlyfans/models/post_update_params.rbi +66 -0
- data/rbi/onlyfans/models/queue_list_params.rbi +59 -16
- data/rbi/onlyfans/models/release_form_list_taggable_users_response.rbi +12 -12
- data/rbi/onlyfans/models/shared_tracking_link_list_params.rbi +198 -11
- data/rbi/onlyfans/models/shared_trial_link_list_params.rbi +64 -11
- data/rbi/onlyfans/models/smart_link_create_response.rbi +6 -3
- data/rbi/onlyfans/models/smart_link_list_clicks_response.rbi +21 -3
- data/rbi/onlyfans/models/smart_link_list_conversions_params.rbi +5 -0
- data/rbi/onlyfans/models/smart_link_list_conversions_response.rbi +21 -3
- data/rbi/onlyfans/models/smart_link_list_fans_params.rbi +24 -0
- data/rbi/onlyfans/models/smart_link_list_fans_response.rbi +205 -3
- data/rbi/onlyfans/models/smart_link_list_params.rbi +45 -8
- data/rbi/onlyfans/models/smart_link_postback_create_params.rbi +139 -4
- data/rbi/onlyfans/models/smart_link_postback_create_response.rbi +96 -0
- data/rbi/onlyfans/models/smart_link_postback_list_response.rbi +96 -0
- data/rbi/onlyfans/models/smart_link_postback_retrieve_response.rbi +96 -0
- data/rbi/onlyfans/models/smart_link_postback_update_params.rbi +133 -0
- data/rbi/onlyfans/models/smart_link_postback_update_response.rbi +96 -0
- data/rbi/onlyfans/models/statistic_calculate_total_transactions_params.rbi +12 -6
- data/rbi/onlyfans/models/statistic_get_subscriber_metrics_params.rbi +63 -0
- data/rbi/onlyfans/models/statistics/reach_get_profile_visitors_params.rbi +2 -2
- data/rbi/onlyfans/models/statistics/statement_get_earnings_params.rbi +10 -13
- data/rbi/onlyfans/models/stored_list_tracking_links_response.rbi +9 -0
- data/rbi/onlyfans/models/stored_list_trial_links_response.rbi +9 -0
- data/rbi/onlyfans/models/story_create_params.rbi +548 -4
- data/rbi/onlyfans/models/story_create_response.rbi +670 -8
- data/rbi/onlyfans/models/tracking_link_get_stats_response.rbi +9 -0
- data/rbi/onlyfans/models/tracking_link_list_params.rbi +144 -45
- data/rbi/onlyfans/models/tracking_link_list_response.rbi +9 -0
- data/rbi/onlyfans/models/tracking_link_list_spenders_response.rbi +17 -5
- data/rbi/onlyfans/models/tracking_link_retrieve_response.rbi +9 -0
- data/rbi/onlyfans/models/transaction_list_params.rbi +2 -2
- data/rbi/onlyfans/models/trial_link_list_params.rbi +66 -33
- data/rbi/onlyfans/models/trial_link_list_response.rbi +9 -0
- data/rbi/onlyfans/models/trial_link_list_spenders_response.rbi +17 -5
- data/rbi/onlyfans/models/trial_link_retrieve_response.rbi +9 -0
- data/rbi/onlyfans/models/trial_link_retrieve_stats_response.rbi +9 -0
- data/rbi/onlyfans/models/user_list_list_params.rbi +33 -0
- data/rbi/onlyfans/models/user_lists/user_add_params.rbi +23 -0
- data/rbi/onlyfans/models/user_lists/user_add_response.rbi +596 -181
- data/rbi/onlyfans/models/webhook_create_params.rbi +16 -10
- data/rbi/onlyfans/models/webhook_update_params.rbi +16 -10
- data/rbi/onlyfans/models.rbi +0 -2
- data/rbi/onlyfans/resources/analytics/financial/profitability.rbi +2 -6
- data/rbi/onlyfans/resources/chats/messages.rbi +53 -10
- data/rbi/onlyfans/resources/chats.rbi +6 -5
- data/rbi/onlyfans/resources/data_exports.rbi +26 -17
- data/rbi/onlyfans/resources/engagement/messages/direct_messages.rbi +3 -3
- data/rbi/onlyfans/resources/engagement/messages/mass_messages.rbi +3 -3
- data/rbi/onlyfans/resources/engagement/messages.rbi +3 -3
- data/rbi/onlyfans/resources/fans.rbi +50 -17
- data/rbi/onlyfans/resources/following.rbi +122 -4
- data/rbi/onlyfans/resources/link_tags.rbi +4 -4
- data/rbi/onlyfans/resources/mass_messaging.rbi +32 -10
- data/rbi/onlyfans/resources/media/uploads.rbi +5 -0
- data/rbi/onlyfans/resources/media/vault/lists.rbi +28 -3
- data/rbi/onlyfans/resources/media/vault.rbi +3 -1
- data/rbi/onlyfans/resources/media.rbi +16 -7
- data/rbi/onlyfans/resources/messages.rbi +0 -29
- data/rbi/onlyfans/resources/notifications.rbi +1 -1
- data/rbi/onlyfans/resources/posts.rbi +14 -0
- data/rbi/onlyfans/resources/queue.rbi +15 -8
- data/rbi/onlyfans/resources/release_forms.rbi +2 -1
- data/rbi/onlyfans/resources/shared_tracking_links.rbi +21 -5
- data/rbi/onlyfans/resources/shared_trial_links.rbi +8 -5
- data/rbi/onlyfans/resources/smart_link_postbacks.rbi +27 -2
- data/rbi/onlyfans/resources/smart_links.rbi +12 -3
- data/rbi/onlyfans/resources/statistics/reach.rbi +1 -1
- data/rbi/onlyfans/resources/statistics/statements.rbi +4 -4
- data/rbi/onlyfans/resources/statistics.rbi +9 -2
- data/rbi/onlyfans/resources/stories.rbi +16 -3
- data/rbi/onlyfans/resources/tracking_links/tags.rbi +5 -1
- data/rbi/onlyfans/resources/tracking_links.rbi +30 -19
- data/rbi/onlyfans/resources/transactions.rbi +1 -1
- data/rbi/onlyfans/resources/trial_links/tags.rbi +5 -1
- data/rbi/onlyfans/resources/trial_links.rbi +29 -14
- data/rbi/onlyfans/resources/user_lists/users.rbi +10 -1
- data/rbi/onlyfans/resources/user_lists.rbi +6 -1
- data/rbi/onlyfans/resources/users.rbi +2 -1
- data/rbi/onlyfans/resources/webhooks.rbi +16 -10
- data/sig/onlyfans/models/analytics/financial/profitability_get_history_response.rbs +129 -40
- data/sig/onlyfans/models/analytics/financial/profitability_get_profitability_response.rbs +125 -50
- data/sig/onlyfans/models/authenticate_start_params.rbs +2 -1
- data/sig/onlyfans/models/chats/message_send_params.rbs +34 -6
- data/sig/onlyfans/models/client_session_create_params.rbs +2 -1
- data/sig/onlyfans/models/data_export_create_params.rbs +4 -0
- data/sig/onlyfans/models/data_export_list_params.rbs +10 -0
- data/sig/onlyfans/models/data_export_list_response.rbs +7 -0
- data/sig/onlyfans/models/data_export_retrieve_response.rbs +7 -0
- data/sig/onlyfans/models/fan_list_active_params.rbs +7 -0
- data/sig/onlyfans/models/fan_list_all_params.rbs +7 -0
- data/sig/onlyfans/models/fan_list_expired_params.rbs +7 -0
- data/sig/onlyfans/models/fans/summary_get_summary_response.rbs +53 -0
- data/sig/onlyfans/models/following_list_active_params.rbs +35 -1
- data/sig/onlyfans/models/following_list_all_params.rbs +35 -1
- data/sig/onlyfans/models/following_list_expired_params.rbs +35 -1
- data/sig/onlyfans/models/link_tag_list_params.rbs +2 -1
- data/sig/onlyfans/models/mass_messaging_send_params.rbs +33 -5
- data/sig/onlyfans/models/mass_messaging_update_params.rbs +26 -5
- data/sig/onlyfans/models/media/upload_get_status_response.rbs +65 -39
- data/sig/onlyfans/models/media/vault/list_list_params.rbs +13 -1
- data/sig/onlyfans/models/media/vault/list_list_response.rbs +519 -235
- data/sig/onlyfans/models/media/vault/list_update_params.rbs +5 -1
- data/sig/onlyfans/models/post_create_params.rbs +21 -0
- data/sig/onlyfans/models/post_update_params.rbs +21 -0
- data/sig/onlyfans/models/queue_list_params.rbs +28 -6
- data/sig/onlyfans/models/release_form_list_taggable_users_response.rbs +7 -10
- data/sig/onlyfans/models/shared_tracking_link_list_params.rbs +78 -4
- data/sig/onlyfans/models/shared_trial_link_list_params.rbs +31 -4
- data/sig/onlyfans/models/smart_link_create_response.rbs +6 -4
- data/sig/onlyfans/models/smart_link_list_clicks_response.rbs +18 -3
- data/sig/onlyfans/models/smart_link_list_conversions_params.rbs +2 -0
- data/sig/onlyfans/models/smart_link_list_conversions_response.rbs +18 -3
- data/sig/onlyfans/models/smart_link_list_fans_params.rbs +15 -1
- data/sig/onlyfans/models/smart_link_list_fans_response.rbs +125 -3
- data/sig/onlyfans/models/smart_link_list_params.rbs +27 -6
- data/sig/onlyfans/models/smart_link_postback_create_params.rbs +48 -0
- data/sig/onlyfans/models/smart_link_postback_create_response.rbs +53 -0
- data/sig/onlyfans/models/smart_link_postback_list_response.rbs +53 -0
- data/sig/onlyfans/models/smart_link_postback_retrieve_response.rbs +53 -0
- data/sig/onlyfans/models/smart_link_postback_update_params.rbs +48 -0
- data/sig/onlyfans/models/smart_link_postback_update_response.rbs +53 -0
- data/sig/onlyfans/models/statistic_calculate_total_transactions_params.rbs +8 -4
- data/sig/onlyfans/models/statistic_get_subscriber_metrics_params.rbs +23 -1
- data/sig/onlyfans/models/statistics/statement_get_earnings_params.rbs +5 -7
- data/sig/onlyfans/models/stored_list_tracking_links_response.rbs +7 -0
- data/sig/onlyfans/models/stored_list_trial_links_response.rbs +7 -0
- data/sig/onlyfans/models/story_create_params.rbs +271 -1
- data/sig/onlyfans/models/story_create_response.rbs +419 -9
- data/sig/onlyfans/models/tracking_link_get_stats_response.rbs +7 -0
- data/sig/onlyfans/models/tracking_link_list_params.rbs +75 -26
- data/sig/onlyfans/models/tracking_link_list_response.rbs +7 -0
- data/sig/onlyfans/models/tracking_link_list_spenders_response.rbs +16 -3
- data/sig/onlyfans/models/tracking_link_retrieve_response.rbs +7 -0
- data/sig/onlyfans/models/trial_link_list_params.rbs +42 -18
- data/sig/onlyfans/models/trial_link_list_response.rbs +7 -0
- data/sig/onlyfans/models/trial_link_list_spenders_response.rbs +16 -3
- data/sig/onlyfans/models/trial_link_retrieve_response.rbs +7 -0
- data/sig/onlyfans/models/trial_link_retrieve_stats_response.rbs +7 -0
- data/sig/onlyfans/models/user_list_list_params.rbs +24 -1
- data/sig/onlyfans/models/user_lists/user_add_params.rbs +12 -1
- data/sig/onlyfans/models/user_lists/user_add_response.rbs +300 -101
- data/sig/onlyfans/models.rbs +0 -2
- data/sig/onlyfans/resources/analytics/financial/profitability.rbs +2 -2
- data/sig/onlyfans/resources/chats/messages.rbs +3 -1
- data/sig/onlyfans/resources/following.rbs +6 -0
- data/sig/onlyfans/resources/mass_messaging.rbs +5 -2
- data/sig/onlyfans/resources/media/vault/lists.rbs +3 -1
- data/sig/onlyfans/resources/media.rbs +1 -1
- data/sig/onlyfans/resources/messages.rbs +0 -9
- data/sig/onlyfans/resources/posts.rbs +2 -0
- data/sig/onlyfans/resources/queue.rbs +2 -1
- data/sig/onlyfans/resources/shared_tracking_links.rbs +5 -1
- data/sig/onlyfans/resources/shared_trial_links.rbs +2 -1
- data/sig/onlyfans/resources/smart_link_postbacks.rbs +6 -0
- data/sig/onlyfans/resources/smart_links.rbs +4 -1
- data/sig/onlyfans/resources/statistics/statements.rbs +1 -1
- data/sig/onlyfans/resources/statistics.rbs +3 -2
- data/sig/onlyfans/resources/stories.rbs +4 -0
- data/sig/onlyfans/resources/tracking_links.rbs +7 -6
- data/sig/onlyfans/resources/trial_links.rbs +7 -5
- data/sig/onlyfans/resources/user_lists/users.rbs +2 -1
- data/sig/onlyfans/resources/user_lists.rbs +1 -0
- metadata +9 -15
- data/lib/onlyfans/models/media_download_response.rb +0 -7
- data/lib/onlyfans/models/message_attach_tags_params.rb +0 -52
- data/lib/onlyfans/models/message_attach_tags_response.rb +0 -125
- data/rbi/onlyfans/models/media_download_response.rbi +0 -7
- data/rbi/onlyfans/models/message_attach_tags_params.rbi +0 -80
- data/rbi/onlyfans/models/message_attach_tags_response.rbi +0 -308
- data/sig/onlyfans/models/media_download_response.rbs +0 -5
- data/sig/onlyfans/models/message_attach_tags_params.rbs +0 -52
- data/sig/onlyfans/models/message_attach_tags_response.rbs +0 -164
|
@@ -4,7 +4,16 @@ module Onlyfans
|
|
|
4
4
|
module Resources
|
|
5
5
|
# APIs for managing OnlyFans followings (people you're subscribed to)
|
|
6
6
|
class Following
|
|
7
|
-
# Get a paginated list of followings for an Account.
|
|
7
|
+
# Get a paginated list of followings for an Account. By default OnlyFans returns
|
|
8
|
+
# this list newest-first, sorted by `subscribedByData.subscribeAt` descending. The
|
|
9
|
+
# expired list does not share this order, so do not assume it applies there. Pass
|
|
10
|
+
# `sort` (optionally with `sortDirection`) to reorder the list — see the parameter
|
|
11
|
+
# description for the caveat that OnlyFans persists the chosen order account-wide.
|
|
12
|
+
# An empty page is not the end of the list: OnlyFans applies `offset` to the whole
|
|
13
|
+
# following collection before filtering it down to the requested list, so a page
|
|
14
|
+
# can come back empty while more results follow. Keep following
|
|
15
|
+
# `_pagination.next_page` until it is `null` instead of stopping at the first
|
|
16
|
+
# empty page.
|
|
8
17
|
sig do
|
|
9
18
|
params(
|
|
10
19
|
account: String,
|
|
@@ -12,6 +21,11 @@ module Onlyfans
|
|
|
12
21
|
limit: Integer,
|
|
13
22
|
offset: Integer,
|
|
14
23
|
query: T.nilable(String),
|
|
24
|
+
sort: T.nilable(Onlyfans::FollowingListActiveParams::Sort::OrSymbol),
|
|
25
|
+
sort_direction:
|
|
26
|
+
T.nilable(
|
|
27
|
+
Onlyfans::FollowingListActiveParams::SortDirection::OrSymbol
|
|
28
|
+
),
|
|
15
29
|
request_options: Onlyfans::RequestOptions::OrHash
|
|
16
30
|
).returns(Onlyfans::Models::FollowingListActiveResponse)
|
|
17
31
|
end
|
|
@@ -26,11 +40,43 @@ module Onlyfans
|
|
|
26
40
|
offset: nil,
|
|
27
41
|
# Search within following name/username.
|
|
28
42
|
query: nil,
|
|
43
|
+
# Order the list by `last_activity` (the followed creator's last activity),
|
|
44
|
+
# `expire_date` (subscription expiry), `subscribe_date` (subscription start) or
|
|
45
|
+
# `is_expired` (expired first — OnlyFans only offers this one on the expired
|
|
46
|
+
# list). Omit it to keep whichever order is currently stored for the account.
|
|
47
|
+
# **Note:** OnlyFans persists this order account-wide, so it also applies to later
|
|
48
|
+
# requests that omit `sort` and to the creator's own onlyfans.com UI, until it is
|
|
49
|
+
# changed again. **Expired list:** OnlyFans applies `offset` to the whole
|
|
50
|
+
# following collection and only then filters it down to expired subscriptions, so
|
|
51
|
+
# ordering by expiry descending puts the still-active subscriptions first and
|
|
52
|
+
# moves the expired rows to the tail of the collection — the first several hundred
|
|
53
|
+
# offsets then come back empty. Use `sortDirection=asc` or `sort=is_expired` to
|
|
54
|
+
# get expired-first results. For that reason `sort=expire_date` on the expired
|
|
55
|
+
# list defaults to `asc` instead of `desc` when you do not pass `sortDirection`.
|
|
56
|
+
# Whatever order you pick, an empty page is **not** the end of the list: keep
|
|
57
|
+
# following `_pagination.next_page` until it is `null` rather than stopping at the
|
|
58
|
+
# first empty page. This field is required when <code>sortDirection</code> is
|
|
59
|
+
# present.
|
|
60
|
+
sort: nil,
|
|
61
|
+
# Direction for `sort`: `desc` (default) or `asc`. Requires `sort` to be set.
|
|
62
|
+
# Exception: `sort=expire_date` on the expired list defaults to `asc`, because
|
|
63
|
+
# `desc` moves the expired rows to the tail of the underlying collection and
|
|
64
|
+
# leaves the early pages empty. Passing `sortDirection` explicitly always wins.
|
|
65
|
+
sort_direction: nil,
|
|
29
66
|
request_options: {}
|
|
30
67
|
)
|
|
31
68
|
end
|
|
32
69
|
|
|
33
|
-
# Get a paginated list of followings for an Account.
|
|
70
|
+
# Get a paginated list of followings for an Account. By default OnlyFans returns
|
|
71
|
+
# this list newest-first, sorted by `subscribedByData.subscribeAt` descending. The
|
|
72
|
+
# expired list does not share this order, so do not assume it applies there. Pass
|
|
73
|
+
# `sort` (optionally with `sortDirection`) to reorder the list — see the parameter
|
|
74
|
+
# description for the caveat that OnlyFans persists the chosen order account-wide.
|
|
75
|
+
# An empty page is not the end of the list: OnlyFans applies `offset` to the whole
|
|
76
|
+
# following collection before filtering it down to the requested list, so a page
|
|
77
|
+
# can come back empty while more results follow. Keep following
|
|
78
|
+
# `_pagination.next_page` until it is `null` instead of stopping at the first
|
|
79
|
+
# empty page.
|
|
34
80
|
sig do
|
|
35
81
|
params(
|
|
36
82
|
account: String,
|
|
@@ -38,6 +84,11 @@ module Onlyfans
|
|
|
38
84
|
limit: Integer,
|
|
39
85
|
offset: Integer,
|
|
40
86
|
query: T.nilable(String),
|
|
87
|
+
sort: T.nilable(Onlyfans::FollowingListAllParams::Sort::OrSymbol),
|
|
88
|
+
sort_direction:
|
|
89
|
+
T.nilable(
|
|
90
|
+
Onlyfans::FollowingListAllParams::SortDirection::OrSymbol
|
|
91
|
+
),
|
|
41
92
|
request_options: Onlyfans::RequestOptions::OrHash
|
|
42
93
|
).returns(Onlyfans::Models::FollowingListAllResponse)
|
|
43
94
|
end
|
|
@@ -52,12 +103,51 @@ module Onlyfans
|
|
|
52
103
|
offset: nil,
|
|
53
104
|
# Search within following name/username.
|
|
54
105
|
query: nil,
|
|
106
|
+
# Order the list by `last_activity` (the followed creator's last activity),
|
|
107
|
+
# `expire_date` (subscription expiry), `subscribe_date` (subscription start) or
|
|
108
|
+
# `is_expired` (expired first — OnlyFans only offers this one on the expired
|
|
109
|
+
# list). Omit it to keep whichever order is currently stored for the account.
|
|
110
|
+
# **Note:** OnlyFans persists this order account-wide, so it also applies to later
|
|
111
|
+
# requests that omit `sort` and to the creator's own onlyfans.com UI, until it is
|
|
112
|
+
# changed again. **Expired list:** OnlyFans applies `offset` to the whole
|
|
113
|
+
# following collection and only then filters it down to expired subscriptions, so
|
|
114
|
+
# ordering by expiry descending puts the still-active subscriptions first and
|
|
115
|
+
# moves the expired rows to the tail of the collection — the first several hundred
|
|
116
|
+
# offsets then come back empty. Use `sortDirection=asc` or `sort=is_expired` to
|
|
117
|
+
# get expired-first results. For that reason `sort=expire_date` on the expired
|
|
118
|
+
# list defaults to `asc` instead of `desc` when you do not pass `sortDirection`.
|
|
119
|
+
# Whatever order you pick, an empty page is **not** the end of the list: keep
|
|
120
|
+
# following `_pagination.next_page` until it is `null` rather than stopping at the
|
|
121
|
+
# first empty page. This field is required when <code>sortDirection</code> is
|
|
122
|
+
# present.
|
|
123
|
+
sort: nil,
|
|
124
|
+
# Direction for `sort`: `desc` (default) or `asc`. Requires `sort` to be set.
|
|
125
|
+
# Exception: `sort=expire_date` on the expired list defaults to `asc`, because
|
|
126
|
+
# `desc` moves the expired rows to the tail of the underlying collection and
|
|
127
|
+
# leaves the early pages empty. Passing `sortDirection` explicitly always wins.
|
|
128
|
+
sort_direction: nil,
|
|
55
129
|
request_options: {}
|
|
56
130
|
)
|
|
57
131
|
end
|
|
58
132
|
|
|
59
|
-
# Get a paginated list of expired followings for an Account.
|
|
60
|
-
#
|
|
133
|
+
# Get a paginated list of expired followings for an Account. This list has no
|
|
134
|
+
# order guarantee. Unlike the all and active lists, it is sorted by neither
|
|
135
|
+
# `subscribedByData.subscribeAt` nor `subscribedByData.expiredAt`. To poll for new
|
|
136
|
+
# expirations, page through the full list each cycle (`limit=50`, follow
|
|
137
|
+
# `_pagination.next_page` until it is null) and diff it against your own store
|
|
138
|
+
# using `subscribedByData.expiredAt`. Do NOT stop early at the first entry you
|
|
139
|
+
# have already seen, as that can silently skip real expirations. An empty page is
|
|
140
|
+
# not the end of the list either: OnlyFans applies `offset` to the whole following
|
|
141
|
+
# collection and only then filters that window down to expired subscriptions, so
|
|
142
|
+
# early pages can come back empty while hundreds of expired rows still follow.
|
|
143
|
+
# Keep following `_pagination.next_page` until it is `null` instead of stopping at
|
|
144
|
+
# the first empty page. Pass `sort=expire_date` (optionally with `sortDirection`)
|
|
145
|
+
# to get a deterministic order instead — see the parameter description for the
|
|
146
|
+
# caveat that OnlyFans persists the chosen order account-wide. Ordering by expiry
|
|
147
|
+
# descending puts the still-active subscriptions first and moves the expired rows
|
|
148
|
+
# to the tail of the collection, so prefer `sortDirection=asc` or
|
|
149
|
+
# `sort=is_expired` for expired-first results; for that reason `sort=expire_date`
|
|
150
|
+
# defaults to `asc` on this list when no `sortDirection` is given.
|
|
61
151
|
sig do
|
|
62
152
|
params(
|
|
63
153
|
account: String,
|
|
@@ -65,6 +155,11 @@ module Onlyfans
|
|
|
65
155
|
limit: Integer,
|
|
66
156
|
offset: Integer,
|
|
67
157
|
query: T.nilable(String),
|
|
158
|
+
sort: T.nilable(Onlyfans::FollowingListExpiredParams::Sort::OrSymbol),
|
|
159
|
+
sort_direction:
|
|
160
|
+
T.nilable(
|
|
161
|
+
Onlyfans::FollowingListExpiredParams::SortDirection::OrSymbol
|
|
162
|
+
),
|
|
68
163
|
request_options: Onlyfans::RequestOptions::OrHash
|
|
69
164
|
).returns(Onlyfans::Models::FollowingListExpiredResponse)
|
|
70
165
|
end
|
|
@@ -79,6 +174,29 @@ module Onlyfans
|
|
|
79
174
|
offset: nil,
|
|
80
175
|
# Search within following name/username.
|
|
81
176
|
query: nil,
|
|
177
|
+
# Order the list by `last_activity` (the followed creator's last activity),
|
|
178
|
+
# `expire_date` (subscription expiry), `subscribe_date` (subscription start) or
|
|
179
|
+
# `is_expired` (expired first — OnlyFans only offers this one on the expired
|
|
180
|
+
# list). Omit it to keep whichever order is currently stored for the account.
|
|
181
|
+
# **Note:** OnlyFans persists this order account-wide, so it also applies to later
|
|
182
|
+
# requests that omit `sort` and to the creator's own onlyfans.com UI, until it is
|
|
183
|
+
# changed again. **Expired list:** OnlyFans applies `offset` to the whole
|
|
184
|
+
# following collection and only then filters it down to expired subscriptions, so
|
|
185
|
+
# ordering by expiry descending puts the still-active subscriptions first and
|
|
186
|
+
# moves the expired rows to the tail of the collection — the first several hundred
|
|
187
|
+
# offsets then come back empty. Use `sortDirection=asc` or `sort=is_expired` to
|
|
188
|
+
# get expired-first results. For that reason `sort=expire_date` on the expired
|
|
189
|
+
# list defaults to `asc` instead of `desc` when you do not pass `sortDirection`.
|
|
190
|
+
# Whatever order you pick, an empty page is **not** the end of the list: keep
|
|
191
|
+
# following `_pagination.next_page` until it is `null` rather than stopping at the
|
|
192
|
+
# first empty page. This field is required when <code>sortDirection</code> is
|
|
193
|
+
# present.
|
|
194
|
+
sort: nil,
|
|
195
|
+
# Direction for `sort`: `desc` (default) or `asc`. Requires `sort` to be set.
|
|
196
|
+
# Exception: `sort=expire_date` on the expired list defaults to `asc`, because
|
|
197
|
+
# `desc` moves the expired rows to the tail of the underlying collection and
|
|
198
|
+
# leaves the early pages empty. Passing `sortDirection` explicitly always wins.
|
|
199
|
+
sort_direction: nil,
|
|
82
200
|
request_options: {}
|
|
83
201
|
)
|
|
84
202
|
end
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
module Onlyfans
|
|
4
4
|
module Resources
|
|
5
|
-
# APIs for managing tags on free trial links and
|
|
5
|
+
# APIs for managing tags on free trial links, tracking links, and Smart Links
|
|
6
6
|
class LinkTags
|
|
7
|
-
# Get all existing tags that have been used on free trial links
|
|
8
|
-
#
|
|
7
|
+
# Get all existing tags that have been used on free trial links, tracking links,
|
|
8
|
+
# and/or Smart Links for this account. This is a free endpoint.
|
|
9
9
|
sig do
|
|
10
10
|
params(
|
|
11
11
|
type: Onlyfans::LinkTagListParams::Type::OrSymbol,
|
|
@@ -13,7 +13,7 @@ module Onlyfans
|
|
|
13
13
|
).returns(Onlyfans::Models::LinkTagListResponse)
|
|
14
14
|
end
|
|
15
15
|
def list(
|
|
16
|
-
# Filter by link type. If not provided, returns tags for
|
|
16
|
+
# Filter by link type. If not provided, returns tags for all types.
|
|
17
17
|
type: nil,
|
|
18
18
|
request_options: {}
|
|
19
19
|
)
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
module Onlyfans
|
|
4
4
|
module Resources
|
|
5
5
|
class MassMessaging
|
|
6
|
-
# Get the content of a mass message
|
|
6
|
+
# Get the content and settings of a mass message, including a message scheduled
|
|
7
|
+
# for later.
|
|
7
8
|
sig do
|
|
8
9
|
params(
|
|
9
10
|
id: String,
|
|
@@ -21,17 +22,20 @@ module Onlyfans
|
|
|
21
22
|
)
|
|
22
23
|
end
|
|
23
24
|
|
|
24
|
-
# Update
|
|
25
|
+
# Update the content, recipients, media, price, or scheduled send time of an
|
|
26
|
+
# existing mass message.
|
|
25
27
|
sig do
|
|
26
28
|
params(
|
|
27
29
|
id: String,
|
|
28
30
|
account: String,
|
|
29
31
|
text: String,
|
|
32
|
+
block_banned_words:
|
|
33
|
+
Onlyfans::MassMessagingUpdateParams::BlockBannedWords::OrSymbol,
|
|
30
34
|
giphy_id: String,
|
|
31
35
|
locked_text: T::Boolean,
|
|
32
36
|
media_files: T::Array[String],
|
|
33
37
|
previews: T::Array[String],
|
|
34
|
-
price:
|
|
38
|
+
price: Float,
|
|
35
39
|
scheduled_date: String,
|
|
36
40
|
user_ids: T::Array[String],
|
|
37
41
|
user_lists: T::Array[String],
|
|
@@ -46,6 +50,11 @@ module Onlyfans
|
|
|
46
50
|
account:,
|
|
47
51
|
# Body param: The message text content
|
|
48
52
|
text:,
|
|
53
|
+
# Body param: Screen `text` for OnlyFans banned words and block the update if any
|
|
54
|
+
# are found (returns a 422 listing the offending words). `strict_ban` blocks all
|
|
55
|
+
# tiers, `risky` blocks Risky + Replace/soften, `replace_soften` blocks
|
|
56
|
+
# Replace/soften only. Omit to disable screening.
|
|
57
|
+
block_banned_words: nil,
|
|
49
58
|
# Body param: The ID of the Giphy GIF to attach to the message. Get IDs from the
|
|
50
59
|
# Giphy listing endpoints (`/giphy/trending`, `/giphy/search`).
|
|
51
60
|
giphy_id: nil,
|
|
@@ -58,8 +67,8 @@ module Onlyfans
|
|
|
58
67
|
# if price is not 0). Will be shown if `price` is provided. All `previews` values
|
|
59
68
|
# must also exist in the `mediaFiles` array.
|
|
60
69
|
previews: nil,
|
|
61
|
-
# Body param: Price for paid content (0 or between 3-200). In case this is
|
|
62
|
-
# zero, **mediaFiles** is required
|
|
70
|
+
# Body param: Price for paid content in USD (0 or between 3-200). In case this is
|
|
71
|
+
# not zero, **mediaFiles** is required
|
|
63
72
|
price: nil,
|
|
64
73
|
# Body param: Schedule the chat message in the future (UTC timezone).
|
|
65
74
|
scheduled_date: nil,
|
|
@@ -71,7 +80,8 @@ module Onlyfans
|
|
|
71
80
|
)
|
|
72
81
|
end
|
|
73
82
|
|
|
74
|
-
# List
|
|
83
|
+
# List pending, scheduled, and recently sent mass messages. Use an item ID to
|
|
84
|
+
# retrieve, update, reschedule, delete, or unsend the message.
|
|
75
85
|
sig do
|
|
76
86
|
params(
|
|
77
87
|
account: String,
|
|
@@ -118,8 +128,8 @@ module Onlyfans
|
|
|
118
128
|
def retrieve_overview(
|
|
119
129
|
# The Account ID
|
|
120
130
|
account,
|
|
121
|
-
# The latest mass message to retrieve. Keep empty to get all.
|
|
122
|
-
# `startDate
|
|
131
|
+
# The latest mass message to retrieve. Keep empty to get all. It must be after
|
|
132
|
+
# `startDate` and is also used for pagination.
|
|
123
133
|
end_date: nil,
|
|
124
134
|
# Number of mass messages to return (default = 10)
|
|
125
135
|
limit: nil,
|
|
@@ -138,17 +148,20 @@ module Onlyfans
|
|
|
138
148
|
params(
|
|
139
149
|
account: String,
|
|
140
150
|
text: String,
|
|
151
|
+
block_banned_words:
|
|
152
|
+
Onlyfans::MassMessagingSendParams::BlockBannedWords::OrSymbol,
|
|
141
153
|
excluded_lists: T::Array[String],
|
|
142
154
|
giphy_id: String,
|
|
143
155
|
locked_text: T::Boolean,
|
|
144
156
|
media_files: T::Array[T.anything],
|
|
145
157
|
previews: T::Array[T.anything],
|
|
146
|
-
price:
|
|
158
|
+
price: Float,
|
|
147
159
|
rf_guest: String,
|
|
148
160
|
rf_partner: String,
|
|
149
161
|
rf_tag: String,
|
|
150
162
|
save_for_later: T::Boolean,
|
|
151
163
|
scheduled_date: String,
|
|
164
|
+
subscribed_within_last_days: Integer,
|
|
152
165
|
user_ids: T::Array[String],
|
|
153
166
|
user_lists: T::Array[String],
|
|
154
167
|
request_options: Onlyfans::RequestOptions::OrHash
|
|
@@ -159,6 +172,11 @@ module Onlyfans
|
|
|
159
172
|
account,
|
|
160
173
|
# The message text content
|
|
161
174
|
text:,
|
|
175
|
+
# Screen `text` for OnlyFans banned words and block the send if any are found
|
|
176
|
+
# (returns a 422 listing the offending words). `strict_ban` blocks all tiers,
|
|
177
|
+
# `risky` blocks Risky + Replace/soften, `replace_soften` blocks Replace/soften
|
|
178
|
+
# only. Omit to disable screening.
|
|
179
|
+
block_banned_words: nil,
|
|
162
180
|
# Array of user list IDs that the mass message will NOT be sent to.
|
|
163
181
|
excluded_lists: nil,
|
|
164
182
|
# The ID of the Giphy GIF to attach to the message. Get IDs from the Giphy listing
|
|
@@ -173,7 +191,7 @@ module Onlyfans
|
|
|
173
191
|
# referencing uploaded files in `mediaFiles`. Will be shown if `price` is
|
|
174
192
|
# provided.
|
|
175
193
|
previews: nil,
|
|
176
|
-
# Price for paid content (0 or between 3-200). In case this is not zero,
|
|
194
|
+
# Price for paid content in USD (0 or between 3-200). In case this is not zero,
|
|
177
195
|
# **mediaFiles** is required
|
|
178
196
|
price: nil,
|
|
179
197
|
# Array of OnlyFans Release Form Guest IDs to tag in your mass message
|
|
@@ -186,6 +204,10 @@ module Onlyfans
|
|
|
186
204
|
save_for_later: nil,
|
|
187
205
|
# Schedule the chat message in the future (UTC timezone).
|
|
188
206
|
scheduled_date: nil,
|
|
207
|
+
# Only send to fans who subscribed within the last N calendar days (1-30,
|
|
208
|
+
# including today). Can be combined with `userLists` and `userIds`. Cannot be
|
|
209
|
+
# combined with `scheduledDate` or `saveForLater`.
|
|
210
|
+
subscribed_within_last_days: nil,
|
|
189
211
|
# Array of user IDs that the mass message will be sent to.
|
|
190
212
|
user_ids: nil,
|
|
191
213
|
# Array of user list IDs that the mass message will be sent to.
|
|
@@ -13,6 +13,11 @@ module Onlyfans
|
|
|
13
13
|
# - `processing` — Download/upload in progress
|
|
14
14
|
# - `completed` — Upload finished, `media` and `credits_used` are included
|
|
15
15
|
# - `failed` — Upload failed, `error` is included
|
|
16
|
+
#
|
|
17
|
+
# Instead of polling, you can subscribe to the `media_uploads.completed` and
|
|
18
|
+
# `media_uploads.failed` webhook events. They carry the same fields as this
|
|
19
|
+
# endpoint and are only sent for async (`async=true`) uploads — synchronous
|
|
20
|
+
# uploads return their result directly.
|
|
16
21
|
sig do
|
|
17
22
|
params(
|
|
18
23
|
upload: String,
|
|
@@ -47,31 +47,56 @@ module Onlyfans
|
|
|
47
47
|
params(
|
|
48
48
|
list_id: String,
|
|
49
49
|
account: String,
|
|
50
|
+
name: String,
|
|
50
51
|
request_options: Onlyfans::RequestOptions::OrHash
|
|
51
52
|
).returns(Onlyfans::Models::Media::Vault::ListUpdateResponse)
|
|
52
53
|
end
|
|
53
54
|
def update(
|
|
54
|
-
# The ID of the list
|
|
55
|
+
# Path param: The ID of the list
|
|
55
56
|
list_id,
|
|
56
|
-
# The Account ID
|
|
57
|
+
# Path param: The Account ID
|
|
57
58
|
account:,
|
|
59
|
+
# Body param: The new name for the vault list. Must not be greater than 255
|
|
60
|
+
# characters.
|
|
61
|
+
name:,
|
|
58
62
|
request_options: {}
|
|
59
63
|
)
|
|
60
64
|
end
|
|
61
65
|
|
|
62
66
|
# List your Vault lists (categories).
|
|
67
|
+
#
|
|
68
|
+
# Every response carries an `ETag` computed over the `data` payload. Send it back
|
|
69
|
+
# as `If-None-Match` on your next call and you will get a `304 Not Modified` with
|
|
70
|
+
# an empty body when nothing changed, so you can keep serving your cached copy
|
|
71
|
+
# instead of re-parsing the full list. Credits are debited either way — we still
|
|
72
|
+
# have to ask OnlyFans for the current state to know whether it changed.
|
|
73
|
+
#
|
|
74
|
+
# The `ETag` covers `data` only, never `_meta` — your credits balance changes on
|
|
75
|
+
# every call, so including it would mean the `ETag` never matches. Because a `304`
|
|
76
|
+
# has no body, it also has no `_meta`: read the current credits and rate-limit
|
|
77
|
+
# counters from the `X-OFAPI-Credits-Used`, `X-OFAPI-Credits-Balance`,
|
|
78
|
+
# `X-Rate-Limit-Limit-Minute` and `X-Rate-Limit-Remaining-Minute` response
|
|
79
|
+
# headers, which are sent on `304` responses too. The `_meta` inside a body you
|
|
80
|
+
# cached earlier is stale by definition.
|
|
63
81
|
sig do
|
|
64
82
|
params(
|
|
65
83
|
account: String,
|
|
84
|
+
lightweight: T::Boolean,
|
|
66
85
|
limit: Integer,
|
|
67
86
|
offset: Integer,
|
|
68
87
|
query: String,
|
|
69
88
|
request_options: Onlyfans::RequestOptions::OrHash
|
|
70
|
-
).returns(
|
|
89
|
+
).returns(
|
|
90
|
+
Onlyfans::Models::Media::Vault::ListListResponse::Variants
|
|
91
|
+
)
|
|
71
92
|
end
|
|
72
93
|
def list(
|
|
73
94
|
# The Account ID
|
|
74
95
|
account,
|
|
96
|
+
# Set to `true` to return only `id`, `name`, `type`, `canUpdate` and a rolled-up
|
|
97
|
+
# `mediaCount` per list, dropping the `medias` previews. Much smaller payload —
|
|
98
|
+
# ideal for rendering a folder picker. Default: `false`
|
|
99
|
+
lightweight: nil,
|
|
75
100
|
# Number of media to return per page. Default: `24`
|
|
76
101
|
limit: nil,
|
|
77
102
|
# The offset used for pagination. Default `0`
|
|
@@ -92,7 +92,9 @@ module Onlyfans
|
|
|
92
92
|
# The Account ID
|
|
93
93
|
account,
|
|
94
94
|
# Set to `true` to process uploads in the background. Returns a `polling_url` to
|
|
95
|
-
# check status. Recommended for large files.
|
|
95
|
+
# check status. Recommended for large files. Instead of polling, you can subscribe
|
|
96
|
+
# to the `media_uploads.completed` and `media_uploads.failed` webhook events —
|
|
97
|
+
# they only fire for async uploads.
|
|
96
98
|
async: nil,
|
|
97
99
|
# The file to upload. Required if `file_url` is not provided. Maximum file size:
|
|
98
100
|
# 100 MB (limited by Cloudflare).
|
|
@@ -9,17 +9,24 @@ module Onlyfans
|
|
|
9
9
|
sig { returns(Onlyfans::Resources::Media::Vault) }
|
|
10
10
|
attr_reader :vault
|
|
11
11
|
|
|
12
|
-
# Downloads a file
|
|
13
|
-
#
|
|
14
|
-
# `
|
|
15
|
-
#
|
|
16
|
-
#
|
|
12
|
+
# Downloads a file from a `https://cdn*.onlyfans.com/*` URL through a `302`
|
|
13
|
+
# redirect. Follow redirects (`curl -L`). Cached `cdn.fansapi.com` files are free;
|
|
14
|
+
# otherwise `dl.fansapi.com` streams through the account proxy. Send one
|
|
15
|
+
# `Range: bytes=start-end` header to request a chunk for playback or a preview. A
|
|
16
|
+
# supported range returns `206`, `Content-Range`, and the chunk Content-Length; an
|
|
17
|
+
# upstream that ignores Range can return a full `200`, so check the response. Each
|
|
18
|
+
# nonempty transfer costs 3 credits per decimal MB streamed (minimum 1 credit).
|
|
19
|
+
# Credits for the selected response are reserved before streaming; unused reserved
|
|
20
|
+
# credits are released on completion, including an interrupted transfer. HEAD
|
|
21
|
+
# follows the same redirects and returns metadata without a body or download
|
|
22
|
+
# charge. HEAD does not populate the media cache. This regular endpoint does not
|
|
23
|
+
# decrypt DRM media.
|
|
17
24
|
sig do
|
|
18
25
|
params(
|
|
19
26
|
cdn_url: String,
|
|
20
27
|
account: String,
|
|
21
28
|
request_options: Onlyfans::RequestOptions::OrHash
|
|
22
|
-
).
|
|
29
|
+
).void
|
|
23
30
|
end
|
|
24
31
|
def download(
|
|
25
32
|
# Optional parameter. The CDN URL to scrape. **Keep in mind that these URLs expire
|
|
@@ -84,7 +91,9 @@ module Onlyfans
|
|
|
84
91
|
# The Account ID
|
|
85
92
|
account,
|
|
86
93
|
# Set to `true` to process uploads in the background. Returns a `polling_url` to
|
|
87
|
-
# check status. Recommended for large files.
|
|
94
|
+
# check status. Recommended for large files. Instead of polling, you can subscribe
|
|
95
|
+
# to the `media_uploads.completed` and `media_uploads.failed` webhook events —
|
|
96
|
+
# they only fire for async uploads.
|
|
88
97
|
async: nil,
|
|
89
98
|
# The file to upload. Required if `file_url` is not provided. Maximum file size:
|
|
90
99
|
# 100 MB (limited by Cloudflare).
|
|
@@ -3,35 +3,6 @@
|
|
|
3
3
|
module Onlyfans
|
|
4
4
|
module Resources
|
|
5
5
|
class Messages
|
|
6
|
-
# Attach Tags (Release Forms) to a message that has already been sent. Please
|
|
7
|
-
# note, that this is a "sync" operation - for example, if you provide empty
|
|
8
|
-
# `rfTag` it will remove all existing tags already attached to the message.
|
|
9
|
-
sig do
|
|
10
|
-
params(
|
|
11
|
-
message_id: String,
|
|
12
|
-
account: String,
|
|
13
|
-
rf_guest: String,
|
|
14
|
-
rf_partner: String,
|
|
15
|
-
rf_tag: String,
|
|
16
|
-
request_options: Onlyfans::RequestOptions::OrHash
|
|
17
|
-
).returns(Onlyfans::Models::MessageAttachTagsResponse)
|
|
18
|
-
end
|
|
19
|
-
def attach_tags(
|
|
20
|
-
# Path param: The ID of the message to attach the release forms to. This can be
|
|
21
|
-
# ONLY a message sent by the creator.
|
|
22
|
-
message_id,
|
|
23
|
-
# Path param: The Account ID
|
|
24
|
-
account:,
|
|
25
|
-
# Body param: Array of OnlyFans Release Form Guest IDs to tag in your message
|
|
26
|
-
rf_guest: nil,
|
|
27
|
-
# Body param: Array of OnlyFans Release Form Partners IDs to tag in your message
|
|
28
|
-
rf_partner: nil,
|
|
29
|
-
# Body param: Array of OnlyFans Creator User IDs to tag in your message
|
|
30
|
-
rf_tag: nil,
|
|
31
|
-
request_options: {}
|
|
32
|
-
)
|
|
33
|
-
end
|
|
34
|
-
|
|
35
6
|
# @api private
|
|
36
7
|
sig { params(client: Onlyfans::Client).returns(T.attached_class) }
|
|
37
8
|
def self.new(client:)
|
|
@@ -27,7 +27,7 @@ module Onlyfans
|
|
|
27
27
|
from_id: nil,
|
|
28
28
|
# The number of notifications. Default `10`
|
|
29
29
|
limit: nil,
|
|
30
|
-
# Whether to skip user details.
|
|
30
|
+
# Whether to skip user details. Defaults to `all`.
|
|
31
31
|
skip_users: nil,
|
|
32
32
|
# Filter notifications by a specific type
|
|
33
33
|
type: nil,
|
|
@@ -16,6 +16,8 @@ module Onlyfans
|
|
|
16
16
|
params(
|
|
17
17
|
account: String,
|
|
18
18
|
text: String,
|
|
19
|
+
block_banned_words:
|
|
20
|
+
Onlyfans::PostCreateParams::BlockBannedWords::OrSymbol,
|
|
19
21
|
expire_days: Integer,
|
|
20
22
|
fund_raising_target_amount: Integer,
|
|
21
23
|
fund_raising_tips_presets: T::Array[String],
|
|
@@ -37,6 +39,11 @@ module Onlyfans
|
|
|
37
39
|
account,
|
|
38
40
|
# The post text content
|
|
39
41
|
text:,
|
|
42
|
+
# Screen `text` for OnlyFans banned words and block the post if any are found
|
|
43
|
+
# (returns a 422 listing the offending words). `strict_ban` blocks all tiers,
|
|
44
|
+
# `risky` blocks Risky + Replace/soften, `replace_soften` blocks Replace/soften
|
|
45
|
+
# only. Omit to disable screening.
|
|
46
|
+
block_banned_words: nil,
|
|
40
47
|
# Number of days after which the post will expire. Between 1 and 30 days. Keep
|
|
41
48
|
# empty for no expiration.
|
|
42
49
|
expire_days: nil,
|
|
@@ -97,6 +104,8 @@ module Onlyfans
|
|
|
97
104
|
post_id: Integer,
|
|
98
105
|
account: String,
|
|
99
106
|
text: String,
|
|
107
|
+
block_banned_words:
|
|
108
|
+
Onlyfans::PostUpdateParams::BlockBannedWords::OrSymbol,
|
|
100
109
|
expire_days: Integer,
|
|
101
110
|
fund_raising_target_amount: Integer,
|
|
102
111
|
fund_raising_tips_presets: T::Array[String],
|
|
@@ -120,6 +129,11 @@ module Onlyfans
|
|
|
120
129
|
account:,
|
|
121
130
|
# Body param: The post text content
|
|
122
131
|
text:,
|
|
132
|
+
# Body param: Screen `text` for OnlyFans banned words and block the update if any
|
|
133
|
+
# are found (returns a 422 listing the offending words). `strict_ban` blocks all
|
|
134
|
+
# tiers, `risky` blocks Risky + Replace/soften, `replace_soften` blocks
|
|
135
|
+
# Replace/soften only. Omit to disable screening.
|
|
136
|
+
block_banned_words: nil,
|
|
123
137
|
# Body param: Number of days after which the post will expire. Between 1 and 30
|
|
124
138
|
# days. Keep empty for no expiration.
|
|
125
139
|
expire_days: nil,
|
|
@@ -3,29 +3,36 @@
|
|
|
3
3
|
module Onlyfans
|
|
4
4
|
module Resources
|
|
5
5
|
class Queue
|
|
6
|
-
# List posts and messages
|
|
6
|
+
# List scheduled posts and mass messages for a date range. Use the type filter to
|
|
7
|
+
# return only posts, messages, or both.
|
|
7
8
|
sig do
|
|
8
9
|
params(
|
|
9
10
|
account: String,
|
|
10
|
-
limit: Integer,
|
|
11
11
|
publish_date_end: String,
|
|
12
12
|
publish_date_start: String,
|
|
13
13
|
timezone: String,
|
|
14
|
+
limit: Integer,
|
|
15
|
+
type: T::Array[Onlyfans::QueueListParams::Type::OrSymbol],
|
|
14
16
|
request_options: Onlyfans::RequestOptions::OrHash
|
|
15
17
|
).returns(Onlyfans::Models::QueueListResponse)
|
|
16
18
|
end
|
|
17
19
|
def list(
|
|
18
20
|
# The Account ID
|
|
19
21
|
account,
|
|
20
|
-
#
|
|
21
|
-
|
|
22
|
-
# Latest publish date to return
|
|
22
|
+
# Latest publish date to return. Must be a valid date. Must be a valid date. Must
|
|
23
|
+
# be a date after or equal to <code>publishDateStart</code>.
|
|
23
24
|
publish_date_end:,
|
|
24
|
-
# Earliest publish date to return (must be at least today)
|
|
25
|
+
# Earliest publish date to return (must be at least today). Must be a valid date.
|
|
26
|
+
# Must be a valid date. Must be a date after or equal to <code>today</code>.
|
|
25
27
|
publish_date_start:,
|
|
26
|
-
#
|
|
27
|
-
# [View available timezone values](https://www.php.net/manual/en/timezones.php)
|
|
28
|
+
# Timezone of the provided dates.
|
|
29
|
+
# [View available timezone values](https://www.php.net/manual/en/timezones.php).
|
|
30
|
+
# Must be a valid time zone, such as <code>Africa/Accra</code>.
|
|
28
31
|
timezone:,
|
|
32
|
+
# Maximum number of queue items to return (default 20). Must be at least 1. Must
|
|
33
|
+
# not be greater than 100.
|
|
34
|
+
limit: nil,
|
|
35
|
+
type: nil,
|
|
29
36
|
request_options: {}
|
|
30
37
|
)
|
|
31
38
|
end
|
|
@@ -40,7 +40,8 @@ module Onlyfans
|
|
|
40
40
|
|
|
41
41
|
# Get a paginated list of users that can be tagged in release forms. These are
|
|
42
42
|
# verified creators who have signed release forms to appear in your content. Use
|
|
43
|
-
# `offset` and `limit` for pagination.
|
|
43
|
+
# `offset` and `limit` for pagination, following `_pagination.next_page` until it
|
|
44
|
+
# is `null`.
|
|
44
45
|
sig do
|
|
45
46
|
params(
|
|
46
47
|
account: String,
|
|
@@ -17,20 +17,36 @@ module Onlyfans
|
|
|
17
17
|
account: String,
|
|
18
18
|
limit: Integer,
|
|
19
19
|
offset: Integer,
|
|
20
|
-
|
|
20
|
+
pagination:
|
|
21
|
+
Onlyfans::SharedTrackingLinkListParams::Pagination::OrInteger,
|
|
22
|
+
sorting_deleted:
|
|
23
|
+
Onlyfans::SharedTrackingLinkListParams::SortingDeleted::OrInteger,
|
|
24
|
+
stats: String,
|
|
25
|
+
synchronous: T::Boolean,
|
|
26
|
+
with_deleted:
|
|
27
|
+
Onlyfans::SharedTrackingLinkListParams::WithDeleted::OrInteger,
|
|
21
28
|
request_options: Onlyfans::RequestOptions::OrHash
|
|
22
29
|
).returns(Onlyfans::Models::SharedTrackingLinkListResponse)
|
|
23
30
|
end
|
|
24
31
|
def list(
|
|
25
32
|
# The Account ID
|
|
26
33
|
account,
|
|
27
|
-
# The number of shared tracking links to return. Default `10
|
|
34
|
+
# The number of shared tracking links to return. Default `10`. Must be at least 1.
|
|
35
|
+
# Must not be greater than 100.
|
|
28
36
|
limit: nil,
|
|
29
|
-
# The offset used for pagination. Default `0
|
|
37
|
+
# The offset used for pagination. Default `0`. Must be at least 0.
|
|
30
38
|
offset: nil,
|
|
31
|
-
#
|
|
32
|
-
|
|
39
|
+
# Whether pagination metadata is enabled. Default `1`.
|
|
40
|
+
pagination: nil,
|
|
41
|
+
# Whether deleted links participate in sorting. Default `1`.
|
|
42
|
+
sorting_deleted: nil,
|
|
43
|
+
# Whether statistics are included. Default `true`. Must not be greater than 10
|
|
44
|
+
# characters.
|
|
45
|
+
stats: nil,
|
|
46
|
+
# Wait for the database sync instead of processing it in the background.
|
|
33
47
|
synchronous: nil,
|
|
48
|
+
# Whether to include deleted shared tracking links. Default `1`.
|
|
49
|
+
with_deleted: nil,
|
|
34
50
|
request_options: {}
|
|
35
51
|
)
|
|
36
52
|
end
|