postboost 1.49.0 → 1.56.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 (867) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -1
  3. data/docs/FreeToolCalculateCarouselSlicesRequest.md +24 -0
  4. data/docs/FreeToolCalculateCarouselSlicesResponse.md +26 -0
  5. data/docs/FreeToolCalculateCarouselSlicesResponseOutput.md +20 -0
  6. data/docs/FreeToolCalculateCarouselSlicesResponseSlidesInner.md +24 -0
  7. data/docs/FreeToolCalculateInfluencerRateRequest.md +30 -0
  8. data/docs/FreeToolCalculateInfluencerRateResponse.md +46 -0
  9. data/docs/FreeToolCalculateInfluencerRateResponseGuideSource.md +22 -0
  10. data/docs/FreeToolCalculateInfluencerRateResponseMultipliersInner.md +26 -0
  11. data/docs/FreeToolGenerateCaptionResponse.md +1 -1
  12. data/docs/FreeToolGenerateHashtagsResponse.md +1 -1
  13. data/docs/FreeToolGetSafeZonesRequest.md +22 -0
  14. data/docs/FreeToolGetSafeZonesResponse.md +36 -0
  15. data/docs/FreeToolGetSafeZonesResponseSafeArea.md +24 -0
  16. data/docs/FreeToolGetSafeZonesResponseSource.md +22 -0
  17. data/docs/FreeToolGetSafeZonesResponseUnsafeAreasInner.md +28 -0
  18. data/docs/FreeToolListAwarenessDaysResponse.md +26 -0
  19. data/docs/FreeToolListAwarenessDaysResponseCovers.md +20 -0
  20. data/docs/FreeToolListAwarenessDaysResponseEntriesInner.md +34 -0
  21. data/docs/FreeToolPlanPostingFrequencyRequest.md +20 -0
  22. data/docs/FreeToolPlanPostingFrequencyResponse.md +28 -0
  23. data/docs/FreeToolPlanPostingFrequencyResponseNetworksInner.md +32 -0
  24. data/docs/FreeToolPlanPostingFrequencyResponseNetworksInnerRecommendedPerWeek.md +20 -0
  25. data/docs/FreeToolPlanPostingFrequencyResponseNetworksInnerSourcesInner.md +22 -0
  26. data/docs/FreeToolPlanPostingFrequencyResponseSlotsInner.md +22 -0
  27. data/docs/FreeToolScoreSocialAuditRequest.md +38 -0
  28. data/docs/FreeToolScoreSocialAuditRequestInstagram.md +32 -0
  29. data/docs/FreeToolScoreSocialAuditResponse.md +24 -0
  30. data/docs/FreeToolScoreSocialAuditResponseNetworksInner.md +28 -0
  31. data/docs/FreeToolScoreSocialAuditResponseNetworksInnerItemsInner.md +24 -0
  32. data/docs/FreeToolScoreSocialAuditResponseTopFixesInner.md +24 -0
  33. data/docs/FreeToolsApi.md +400 -0
  34. data/docs/PostsApi.md +1 -1
  35. data/docs/PreflightResult.md +3 -1
  36. data/lib/postboost/api/account_groups_api.rb +1 -1
  37. data/lib/postboost/api/accounts_api.rb +1 -1
  38. data/lib/postboost/api/activity_api.rb +1 -1
  39. data/lib/postboost/api/agents_api.rb +1 -1
  40. data/lib/postboost/api/ai_api.rb +1 -1
  41. data/lib/postboost/api/analytics_api.rb +1 -1
  42. data/lib/postboost/api/competitors_api.rb +1 -1
  43. data/lib/postboost/api/free_tools_api.rb +435 -1
  44. data/lib/postboost/api/hashtag_groups_api.rb +1 -1
  45. data/lib/postboost/api/inbox_api.rb +1 -1
  46. data/lib/postboost/api/media_api.rb +1 -1
  47. data/lib/postboost/api/mentions_api.rb +1 -1
  48. data/lib/postboost/api/posting_schedule_api.rb +1 -1
  49. data/lib/postboost/api/posts_api.rb +3 -3
  50. data/lib/postboost/api/receipts_api.rb +1 -1
  51. data/lib/postboost/api/subscriptions_api.rb +1 -1
  52. data/lib/postboost/api/tags_api.rb +1 -1
  53. data/lib/postboost/api/templates_api.rb +1 -1
  54. data/lib/postboost/api/users_api.rb +1 -1
  55. data/lib/postboost/api/webhooks_api.rb +1 -1
  56. data/lib/postboost/api/workspaces_api.rb +1 -1
  57. data/lib/postboost/api_client.rb +1 -1
  58. data/lib/postboost/api_error.rb +1 -1
  59. data/lib/postboost/configuration.rb +1 -1
  60. data/lib/postboost/models/account.rb +1 -1
  61. data/lib/postboost/models/account_analytics.rb +1 -1
  62. data/lib/postboost/models/account_analytics_initial_sync.rb +1 -1
  63. data/lib/postboost/models/account_connection_health.rb +1 -1
  64. data/lib/postboost/models/account_connection_health_reconnect_reason.rb +1 -1
  65. data/lib/postboost/models/account_errors_inner.rb +1 -1
  66. data/lib/postboost/models/account_errors_inner_one_of.rb +1 -1
  67. data/lib/postboost/models/account_group.rb +1 -1
  68. data/lib/postboost/models/account_group_input.rb +1 -1
  69. data/lib/postboost/models/account_health.rb +1 -1
  70. data/lib/postboost/models/account_health_daily_cap.rb +1 -1
  71. data/lib/postboost/models/account_schedule.rb +1 -1
  72. data/lib/postboost/models/add_competitor202_response.rb +1 -1
  73. data/lib/postboost/models/add_competitor409_response.rb +1 -1
  74. data/lib/postboost/models/add_generic_subscription_request.rb +1 -1
  75. data/lib/postboost/models/add_post_to_queue_request.rb +1 -1
  76. data/lib/postboost/models/agent_page_meta.rb +1 -1
  77. data/lib/postboost/models/agent_proposal.rb +1 -1
  78. data/lib/postboost/models/agent_proposal_decision.rb +1 -1
  79. data/lib/postboost/models/agent_run.rb +1 -1
  80. data/lib/postboost/models/ai_credits.rb +1 -1
  81. data/lib/postboost/models/ai_usage.rb +1 -1
  82. data/lib/postboost/models/ai_usage_text.rb +1 -1
  83. data/lib/postboost/models/analytics_period.rb +1 -1
  84. data/lib/postboost/models/analytics_summary.rb +1 -1
  85. data/lib/postboost/models/analytics_summary_data.rb +1 -1
  86. data/lib/postboost/models/api_activity.rb +1 -1
  87. data/lib/postboost/models/api_activity_outcome.rb +1 -1
  88. data/lib/postboost/models/api_key.rb +1 -1
  89. data/lib/postboost/models/api_key_ability.rb +1 -1
  90. data/lib/postboost/models/api_key_input.rb +1 -1
  91. data/lib/postboost/models/approve_agent_proposal200_response.rb +1 -1
  92. data/lib/postboost/models/approve_agent_proposal409_response.rb +1 -1
  93. data/lib/postboost/models/approve_inbox_reply_draft403_response.rb +1 -1
  94. data/lib/postboost/models/approve_post_request.rb +1 -1
  95. data/lib/postboost/models/best_posting_times.rb +1 -1
  96. data/lib/postboost/models/best_posting_times_times_inner.rb +1 -1
  97. data/lib/postboost/models/blog_to_social200_response.rb +1 -1
  98. data/lib/postboost/models/blog_to_social429_response.rb +1 -1
  99. data/lib/postboost/models/blog_to_social_caption.rb +1 -1
  100. data/lib/postboost/models/blog_to_social_input.rb +1 -1
  101. data/lib/postboost/models/blog_to_social_media.rb +1 -1
  102. data/lib/postboost/models/blog_to_social_response.rb +1 -1
  103. data/lib/postboost/models/brand_voice.rb +1 -1
  104. data/lib/postboost/models/brand_voice_input.rb +1 -1
  105. data/lib/postboost/models/brand_voice_meta.rb +1 -1
  106. data/lib/postboost/models/cancel_subscription422_response.rb +1 -1
  107. data/lib/postboost/models/cancel_subscription422_response_errors.rb +1 -1
  108. data/lib/postboost/models/cancel_subscription_request.rb +1 -1
  109. data/lib/postboost/models/change_subscription_plan_request.rb +1 -1
  110. data/lib/postboost/models/channel_account.rb +1 -1
  111. data/lib/postboost/models/checkout_subscription200_response.rb +1 -1
  112. data/lib/postboost/models/checkout_subscription_request.rb +1 -1
  113. data/lib/postboost/models/coded_error.rb +1 -1
  114. data/lib/postboost/models/competitor.rb +1 -1
  115. data/lib/postboost/models/competitor_detail.rb +1 -1
  116. data/lib/postboost/models/competitor_input.rb +1 -1
  117. data/lib/postboost/models/competitor_media.rb +1 -1
  118. data/lib/postboost/models/competitor_snapshot.rb +1 -1
  119. data/lib/postboost/models/complete_chunked_upload_request.rb +1 -1
  120. data/lib/postboost/models/connect_channel_input.rb +1 -1
  121. data/lib/postboost/models/connect_link.rb +1 -1
  122. data/lib/postboost/models/create_account_group201_response.rb +1 -1
  123. data/lib/postboost/models/create_agent201_response.rb +1 -1
  124. data/lib/postboost/models/create_api_key201_response.rb +1 -1
  125. data/lib/postboost/models/create_api_key201_response_data.rb +1 -1
  126. data/lib/postboost/models/create_connect_link_request.rb +1 -1
  127. data/lib/postboost/models/create_hashtag_group201_response.rb +1 -1
  128. data/lib/postboost/models/create_inbox_reply_draft201_response.rb +1 -1
  129. data/lib/postboost/models/create_media_folder_request.rb +1 -1
  130. data/lib/postboost/models/create_mention201_response.rb +1 -1
  131. data/lib/postboost/models/create_post201_response.rb +1 -1
  132. data/lib/postboost/models/create_recycling_rule201_response.rb +1 -1
  133. data/lib/postboost/models/create_report_export201_response.rb +1 -1
  134. data/lib/postboost/models/create_reseller_client201_response.rb +1 -1
  135. data/lib/postboost/models/create_rss_feed201_response.rb +1 -1
  136. data/lib/postboost/models/create_template201_response.rb +1 -1
  137. data/lib/postboost/models/create_webhook_subscription201_response.rb +1 -1
  138. data/lib/postboost/models/create_webhook_subscription201_response_data.rb +1 -1
  139. data/lib/postboost/models/delete_agent200_response.rb +1 -1
  140. data/lib/postboost/models/delete_media_bulk_request.rb +1 -1
  141. data/lib/postboost/models/delete_media_bulk_request_items_inner.rb +1 -1
  142. data/lib/postboost/models/delete_media_folder_request.rb +1 -1
  143. data/lib/postboost/models/delete_mode.rb +1 -1
  144. data/lib/postboost/models/delete_post_request.rb +1 -1
  145. data/lib/postboost/models/delete_posts_bulk_request.rb +1 -1
  146. data/lib/postboost/models/delete_receipts_bulk_request.rb +1 -1
  147. data/lib/postboost/models/delete_result.rb +1 -1
  148. data/lib/postboost/models/delete_user400_response.rb +1 -1
  149. data/lib/postboost/models/delete_users_bulk_request.rb +1 -1
  150. data/lib/postboost/models/delete_workspaces_bulk_request.rb +1 -1
  151. data/lib/postboost/models/free_tool_build_utm_url_request.rb +1 -1
  152. data/lib/postboost/models/free_tool_build_utm_url_response.rb +1 -1
  153. data/lib/postboost/models/free_tool_calculate_aspect_ratio_request.rb +1 -1
  154. data/lib/postboost/models/free_tool_calculate_aspect_ratio_response.rb +1 -1
  155. data/lib/postboost/models/free_tool_calculate_aspect_ratio_response_matches_inner.rb +1 -1
  156. data/lib/postboost/models/free_tool_calculate_aspect_ratio_response_rounding.rb +1 -1
  157. data/lib/postboost/models/free_tool_calculate_carousel_slices_request.rb +386 -0
  158. data/lib/postboost/models/free_tool_calculate_carousel_slices_response.rb +258 -0
  159. data/lib/postboost/models/free_tool_calculate_carousel_slices_response_output.rb +224 -0
  160. data/lib/postboost/models/free_tool_calculate_carousel_slices_response_slides_inner.rb +241 -0
  161. data/lib/postboost/models/free_tool_calculate_crop_request.rb +1 -1
  162. data/lib/postboost/models/free_tool_calculate_crop_response.rb +1 -1
  163. data/lib/postboost/models/free_tool_calculate_crop_response_crop.rb +1 -1
  164. data/lib/postboost/models/free_tool_calculate_crop_response_image.rb +1 -1
  165. data/lib/postboost/models/free_tool_calculate_crop_response_output.rb +1 -1
  166. data/lib/postboost/models/free_tool_calculate_engagement_rate_request.rb +1 -1
  167. data/lib/postboost/models/free_tool_calculate_engagement_rate_response.rb +1 -1
  168. data/lib/postboost/models/free_tool_calculate_influencer_rate_request.rb +451 -0
  169. data/lib/postboost/models/free_tool_calculate_influencer_rate_response.rb +409 -0
  170. data/lib/postboost/models/free_tool_calculate_influencer_rate_response_guide_source.rb +232 -0
  171. data/lib/postboost/models/free_tool_calculate_influencer_rate_response_multipliers_inner.rb +284 -0
  172. data/lib/postboost/models/free_tool_calculate_social_roi_request.rb +1 -1
  173. data/lib/postboost/models/free_tool_calculate_social_roi_request_costs.rb +1 -1
  174. data/lib/postboost/models/free_tool_calculate_social_roi_response.rb +1 -1
  175. data/lib/postboost/models/free_tool_calculate_social_roi_response_cost_breakdown_inner.rb +1 -1
  176. data/lib/postboost/models/free_tool_calculate_x_api_cost_request.rb +1 -1
  177. data/lib/postboost/models/free_tool_calculate_x_api_cost_response.rb +1 -1
  178. data/lib/postboost/models/free_tool_calculate_x_api_cost_response_line_items_inner.rb +1 -1
  179. data/lib/postboost/models/free_tool_check_link_preview_request.rb +1 -1
  180. data/lib/postboost/models/free_tool_check_link_preview_response.rb +1 -1
  181. data/lib/postboost/models/free_tool_check_link_preview_response_image.rb +1 -1
  182. data/lib/postboost/models/free_tool_check_link_preview_response_previews_value.rb +1 -1
  183. data/lib/postboost/models/free_tool_check_link_preview_response_redirects_inner.rb +1 -1
  184. data/lib/postboost/models/free_tool_check_link_preview_response_tags.rb +1 -1
  185. data/lib/postboost/models/free_tool_check_post_request.rb +1 -1
  186. data/lib/postboost/models/free_tool_check_post_request_media.rb +1 -1
  187. data/lib/postboost/models/free_tool_check_post_response.rb +1 -1
  188. data/lib/postboost/models/free_tool_check_post_response_networks_inner.rb +1 -1
  189. data/lib/postboost/models/free_tool_check_post_response_networks_inner_errors_inner.rb +1 -1
  190. data/lib/postboost/models/free_tool_check_readability_request.rb +1 -1
  191. data/lib/postboost/models/free_tool_check_readability_response.rb +1 -1
  192. data/lib/postboost/models/free_tool_check_readability_response_long_sentences_inner.rb +1 -1
  193. data/lib/postboost/models/free_tool_check_youtube_thumbnail_request.rb +1 -1
  194. data/lib/postboost/models/free_tool_check_youtube_thumbnail_response.rb +1 -1
  195. data/lib/postboost/models/free_tool_check_youtube_thumbnail_response_checks_inner.rb +1 -1
  196. data/lib/postboost/models/free_tool_clean_text_request.rb +1 -1
  197. data/lib/postboost/models/free_tool_clean_text_response.rb +1 -1
  198. data/lib/postboost/models/free_tool_clean_text_response_changes_inner.rb +1 -1
  199. data/lib/postboost/models/free_tool_clean_text_response_flags_inner.rb +1 -1
  200. data/lib/postboost/models/free_tool_count_characters_request.rb +1 -1
  201. data/lib/postboost/models/free_tool_count_characters_response.rb +1 -1
  202. data/lib/postboost/models/free_tool_count_characters_response_networks_inner.rb +1 -1
  203. data/lib/postboost/models/free_tool_error.rb +1 -1
  204. data/lib/postboost/models/free_tool_format_instagram_caption_request.rb +1 -1
  205. data/lib/postboost/models/free_tool_format_instagram_caption_response.rb +1 -1
  206. data/lib/postboost/models/free_tool_format_linked_in_post_request.rb +1 -1
  207. data/lib/postboost/models/free_tool_format_linked_in_post_response.rb +1 -1
  208. data/lib/postboost/models/free_tool_generate_caption_request.rb +1 -1
  209. data/lib/postboost/models/free_tool_generate_caption_response.rb +2 -2
  210. data/lib/postboost/models/free_tool_generate_fancy_text_request.rb +1 -1
  211. data/lib/postboost/models/free_tool_generate_fancy_text_response.rb +1 -1
  212. data/lib/postboost/models/free_tool_generate_fancy_text_response_styles_inner.rb +1 -1
  213. data/lib/postboost/models/free_tool_generate_hashtags_request.rb +1 -1
  214. data/lib/postboost/models/free_tool_generate_hashtags_response.rb +2 -2
  215. data/lib/postboost/models/free_tool_generate_hooks_request.rb +1 -1
  216. data/lib/postboost/models/free_tool_generate_hooks_response.rb +1 -1
  217. data/lib/postboost/models/free_tool_generate_hooks_response_hooks_inner.rb +1 -1
  218. data/lib/postboost/models/free_tool_generate_qr_code_request.rb +1 -1
  219. data/lib/postboost/models/free_tool_generate_qr_code_request_utm.rb +1 -1
  220. data/lib/postboost/models/free_tool_generate_qr_code_response.rb +1 -1
  221. data/lib/postboost/models/free_tool_generate_social_posts_from_blog_request.rb +1 -1
  222. data/lib/postboost/models/free_tool_generate_social_posts_from_blog_response.rb +1 -1
  223. data/lib/postboost/models/free_tool_generate_social_posts_from_blog_response_posts_inner.rb +1 -1
  224. data/lib/postboost/models/free_tool_generate_social_posts_from_blog_response_source.rb +1 -1
  225. data/lib/postboost/models/free_tool_generate_social_posts_from_blog_response_warnings_inner.rb +1 -1
  226. data/lib/postboost/models/free_tool_get_best_times_to_post_response.rb +1 -1
  227. data/lib/postboost/models/free_tool_get_best_times_to_post_response_networks_inner.rb +1 -1
  228. data/lib/postboost/models/free_tool_get_hook_templates_response.rb +1 -1
  229. data/lib/postboost/models/free_tool_get_hook_templates_response_hooks_inner.rb +1 -1
  230. data/lib/postboost/models/free_tool_get_image_sizes_response.rb +1 -1
  231. data/lib/postboost/models/free_tool_get_image_sizes_response_sizes_inner.rb +1 -1
  232. data/lib/postboost/models/free_tool_get_image_sizes_response_sources_inner.rb +1 -1
  233. data/lib/postboost/models/free_tool_get_safe_zones_request.rb +336 -0
  234. data/lib/postboost/models/free_tool_get_safe_zones_response.rb +304 -0
  235. data/lib/postboost/models/free_tool_get_safe_zones_response_safe_area.rb +242 -0
  236. data/lib/postboost/models/free_tool_get_safe_zones_response_source.rb +234 -0
  237. data/lib/postboost/models/free_tool_get_safe_zones_response_unsafe_areas_inner.rb +293 -0
  238. data/lib/postboost/models/free_tool_get_video_specs_response.rb +1 -1
  239. data/lib/postboost/models/free_tool_get_video_specs_response_specs_inner.rb +1 -1
  240. data/lib/postboost/models/free_tool_get_video_specs_response_specs_inner_limits.rb +1 -1
  241. data/lib/postboost/models/free_tool_list.rb +1 -1
  242. data/lib/postboost/models/free_tool_list_awareness_days_response.rb +258 -0
  243. data/lib/postboost/models/free_tool_list_awareness_days_response_covers.rb +224 -0
  244. data/lib/postboost/models/free_tool_list_awareness_days_response_entries_inner.rb +335 -0
  245. data/lib/postboost/models/free_tool_list_item.rb +1 -1
  246. data/lib/postboost/models/free_tool_plan_content_calendar_request.rb +1 -1
  247. data/lib/postboost/models/free_tool_plan_content_calendar_request_posts_per_week.rb +1 -1
  248. data/lib/postboost/models/free_tool_plan_content_calendar_request_times.rb +1 -1
  249. data/lib/postboost/models/free_tool_plan_content_calendar_response.rb +1 -1
  250. data/lib/postboost/models/free_tool_plan_content_calendar_response_slots_inner.rb +1 -1
  251. data/lib/postboost/models/free_tool_plan_posting_frequency_request.rb +301 -0
  252. data/lib/postboost/models/free_tool_plan_posting_frequency_response.rb +269 -0
  253. data/lib/postboost/models/free_tool_plan_posting_frequency_response_networks_inner.rb +341 -0
  254. data/lib/postboost/models/free_tool_plan_posting_frequency_response_networks_inner_recommended_per_week.rb +225 -0
  255. data/lib/postboost/models/free_tool_plan_posting_frequency_response_networks_inner_sources_inner.rb +233 -0
  256. data/lib/postboost/models/free_tool_plan_posting_frequency_response_slots_inner.rb +278 -0
  257. data/lib/postboost/models/free_tool_preview_post_request.rb +1 -1
  258. data/lib/postboost/models/free_tool_preview_post_response.rb +1 -1
  259. data/lib/postboost/models/free_tool_preview_post_response_networks_inner.rb +1 -1
  260. data/lib/postboost/models/free_tool_score_social_audit_request.rb +335 -0
  261. data/lib/postboost/models/free_tool_score_social_audit_request_instagram.rb +420 -0
  262. data/lib/postboost/models/free_tool_score_social_audit_response.rb +277 -0
  263. data/lib/postboost/models/free_tool_score_social_audit_response_networks_inner.rb +323 -0
  264. data/lib/postboost/models/free_tool_score_social_audit_response_networks_inner_items_inner.rb +288 -0
  265. data/lib/postboost/models/free_tool_score_social_audit_response_top_fixes_inner.rb +278 -0
  266. data/lib/postboost/models/free_tool_search_emoji_request.rb +1 -1
  267. data/lib/postboost/models/free_tool_search_emoji_response.rb +1 -1
  268. data/lib/postboost/models/free_tool_search_emoji_response_results_inner.rb +1 -1
  269. data/lib/postboost/models/free_tool_split_thread_request.rb +1 -1
  270. data/lib/postboost/models/free_tool_split_thread_response.rb +1 -1
  271. data/lib/postboost/models/free_tool_split_thread_response_posts_inner.rb +1 -1
  272. data/lib/postboost/models/get_account_health200_response.rb +1 -1
  273. data/lib/postboost/models/get_brand_voice200_response.rb +1 -1
  274. data/lib/postboost/models/get_competitor200_response.rb +1 -1
  275. data/lib/postboost/models/get_inbox_conversation200_response.rb +1 -1
  276. data/lib/postboost/models/get_posting_schedule200_response.rb +1 -1
  277. data/lib/postboost/models/get_remote_upload_status200_response.rb +1 -1
  278. data/lib/postboost/models/get_report_branding200_response.rb +1 -1
  279. data/lib/postboost/models/get_repurpose_run200_response.rb +1 -1
  280. data/lib/postboost/models/guardrail_error.rb +1 -1
  281. data/lib/postboost/models/hashtag_group.rb +1 -1
  282. data/lib/postboost/models/hashtag_group_input.rb +1 -1
  283. data/lib/postboost/models/image_alt_text200_response.rb +1 -1
  284. data/lib/postboost/models/image_alt_text_input.rb +1 -1
  285. data/lib/postboost/models/image_alt_text_response.rb +1 -1
  286. data/lib/postboost/models/image_credit_balance.rb +1 -1
  287. data/lib/postboost/models/image_edit_input.rb +1 -1
  288. data/lib/postboost/models/image_generate200_response.rb +1 -1
  289. data/lib/postboost/models/image_generate429_response.rb +1 -1
  290. data/lib/postboost/models/image_generate_input.rb +1 -1
  291. data/lib/postboost/models/image_generation_response.rb +1 -1
  292. data/lib/postboost/models/image_prompt200_response.rb +1 -1
  293. data/lib/postboost/models/image_prompt429_response.rb +1 -1
  294. data/lib/postboost/models/image_prompt_input.rb +1 -1
  295. data/lib/postboost/models/image_prompt_response.rb +1 -1
  296. data/lib/postboost/models/image_variations200_response.rb +1 -1
  297. data/lib/postboost/models/image_variations_input.rb +1 -1
  298. data/lib/postboost/models/image_variations_response.rb +1 -1
  299. data/lib/postboost/models/inbox_author.rb +1 -1
  300. data/lib/postboost/models/inbox_conversation.rb +1 -1
  301. data/lib/postboost/models/inbox_conversation_account.rb +1 -1
  302. data/lib/postboost/models/inbox_conversation_update.rb +1 -1
  303. data/lib/postboost/models/inbox_message.rb +1 -1
  304. data/lib/postboost/models/inbox_message_author.rb +1 -1
  305. data/lib/postboost/models/inbox_reply_draft.rb +1 -1
  306. data/lib/postboost/models/inbox_reply_draft_approve.rb +1 -1
  307. data/lib/postboost/models/inbox_reply_draft_edit.rb +1 -1
  308. data/lib/postboost/models/inbox_reply_draft_input.rb +1 -1
  309. data/lib/postboost/models/initiate_chunked_upload201_response.rb +1 -1
  310. data/lib/postboost/models/initiate_chunked_upload_request.rb +1 -1
  311. data/lib/postboost/models/initiate_remote_upload201_response.rb +1 -1
  312. data/lib/postboost/models/initiate_remote_upload201_response_one_of.rb +1 -1
  313. data/lib/postboost/models/initiate_remote_upload_request.rb +1 -1
  314. data/lib/postboost/models/learn_brand_voice_input.rb +1 -1
  315. data/lib/postboost/models/learn_brand_voice_response.rb +1 -1
  316. data/lib/postboost/models/learn_brand_voice_response_meta.rb +1 -1
  317. data/lib/postboost/models/list_account_groups200_response.rb +1 -1
  318. data/lib/postboost/models/list_accounts200_response.rb +1 -1
  319. data/lib/postboost/models/list_agent_proposals200_response.rb +1 -1
  320. data/lib/postboost/models/list_agent_runs200_response.rb +1 -1
  321. data/lib/postboost/models/list_agents200_response.rb +1 -1
  322. data/lib/postboost/models/list_api_activity200_response.rb +1 -1
  323. data/lib/postboost/models/list_api_keys200_response.rb +1 -1
  324. data/lib/postboost/models/list_competitors200_response.rb +1 -1
  325. data/lib/postboost/models/list_hashtag_groups200_response.rb +1 -1
  326. data/lib/postboost/models/list_inbox_conversations200_response.rb +1 -1
  327. data/lib/postboost/models/list_inbox_reply_drafts200_response.rb +1 -1
  328. data/lib/postboost/models/list_media200_response.rb +1 -1
  329. data/lib/postboost/models/list_media_folders200_response.rb +1 -1
  330. data/lib/postboost/models/list_mentions200_response.rb +1 -1
  331. data/lib/postboost/models/list_my_workspaces200_response.rb +1 -1
  332. data/lib/postboost/models/list_posts200_response.rb +1 -1
  333. data/lib/postboost/models/list_receipts200_response.rb +1 -1
  334. data/lib/postboost/models/list_recycling_rules200_response.rb +1 -1
  335. data/lib/postboost/models/list_recycling_runs200_response.rb +1 -1
  336. data/lib/postboost/models/list_report_exports200_response.rb +1 -1
  337. data/lib/postboost/models/list_reseller_clients200_response.rb +1 -1
  338. data/lib/postboost/models/list_rss_feeds200_response.rb +1 -1
  339. data/lib/postboost/models/list_tags200_response.rb +1 -1
  340. data/lib/postboost/models/list_templates200_response.rb +1 -1
  341. data/lib/postboost/models/list_users200_response.rb +1 -1
  342. data/lib/postboost/models/list_webhook_subscriptions200_response.rb +1 -1
  343. data/lib/postboost/models/list_workspaces200_response.rb +1 -1
  344. data/lib/postboost/models/media.rb +1 -1
  345. data/lib/postboost/models/media_base64_input.rb +1 -1
  346. data/lib/postboost/models/media_folder.rb +1 -1
  347. data/lib/postboost/models/media_folder_input.rb +1 -1
  348. data/lib/postboost/models/media_folder_ref.rb +1 -1
  349. data/lib/postboost/models/mention.rb +1 -1
  350. data/lib/postboost/models/mention_identity.rb +1 -1
  351. data/lib/postboost/models/mention_identity_input.rb +1 -1
  352. data/lib/postboost/models/mention_input.rb +1 -1
  353. data/lib/postboost/models/message_only.rb +1 -1
  354. data/lib/postboost/models/pagination_meta.rb +1 -1
  355. data/lib/postboost/models/pagination_meta_links.rb +1 -1
  356. data/lib/postboost/models/pagination_meta_meta.rb +1 -1
  357. data/lib/postboost/models/poll_rss_feed200_response.rb +1 -1
  358. data/lib/postboost/models/post.rb +1 -1
  359. data/lib/postboost/models/post_analytics.rb +1 -1
  360. data/lib/postboost/models/post_content.rb +1 -1
  361. data/lib/postboost/models/post_input.rb +1 -1
  362. data/lib/postboost/models/post_options_instagram.rb +1 -1
  363. data/lib/postboost/models/post_options_tik_tok.rb +1 -1
  364. data/lib/postboost/models/post_options_youtube.rb +1 -1
  365. data/lib/postboost/models/post_status.rb +1 -1
  366. data/lib/postboost/models/post_version.rb +1 -1
  367. data/lib/postboost/models/post_version_options.rb +1 -1
  368. data/lib/postboost/models/post_warning.rb +2 -2
  369. data/lib/postboost/models/post_warnings.rb +1 -1
  370. data/lib/postboost/models/posting_schedule.rb +1 -1
  371. data/lib/postboost/models/posting_schedule_day.rb +1 -1
  372. data/lib/postboost/models/posting_schedule_day_times_inner.rb +1 -1
  373. data/lib/postboost/models/posting_schedule_input.rb +1 -1
  374. data/lib/postboost/models/posting_time_slot.rb +1 -1
  375. data/lib/postboost/models/posting_times.rb +1 -1
  376. data/lib/postboost/models/posting_times_best_inner.rb +1 -1
  377. data/lib/postboost/models/posting_times_day_intervals_inner_inner.rb +1 -1
  378. data/lib/postboost/models/posting_times_days_inner.rb +1 -1
  379. data/lib/postboost/models/preflight_result.rb +22 -3
  380. data/lib/postboost/models/public_workspace.rb +1 -1
  381. data/lib/postboost/models/public_workspace_pivot.rb +1 -1
  382. data/lib/postboost/models/publish_progress.rb +1 -1
  383. data/lib/postboost/models/queue_slots.rb +1 -1
  384. data/lib/postboost/models/receipt.rb +1 -1
  385. data/lib/postboost/models/receipt_input.rb +1 -1
  386. data/lib/postboost/models/receipt_update_input.rb +1 -1
  387. data/lib/postboost/models/recommended_posting_times.rb +1 -1
  388. data/lib/postboost/models/reconnect_link.rb +1 -1
  389. data/lib/postboost/models/recycling_rule.rb +1 -1
  390. data/lib/postboost/models/recycling_rule_input.rb +1 -1
  391. data/lib/postboost/models/recycling_rule_settings.rb +1 -1
  392. data/lib/postboost/models/recycling_rule_update.rb +1 -1
  393. data/lib/postboost/models/recycling_run.rb +1 -1
  394. data/lib/postboost/models/remove_generic_subscription422_response.rb +1 -1
  395. data/lib/postboost/models/remove_user_from_workspace_request.rb +1 -1
  396. data/lib/postboost/models/report_branding.rb +1 -1
  397. data/lib/postboost/models/report_branding_input.rb +1 -1
  398. data/lib/postboost/models/report_export.rb +1 -1
  399. data/lib/postboost/models/report_export_input.rb +1 -1
  400. data/lib/postboost/models/repurpose_content200_response.rb +1 -1
  401. data/lib/postboost/models/repurpose_content202_response.rb +1 -1
  402. data/lib/postboost/models/repurpose_content500_response.rb +1 -1
  403. data/lib/postboost/models/repurpose_input.rb +1 -1
  404. data/lib/postboost/models/repurpose_input_theme.rb +1 -1
  405. data/lib/postboost/models/repurpose_result.rb +1 -1
  406. data/lib/postboost/models/repurpose_result_media.rb +1 -1
  407. data/lib/postboost/models/repurpose_result_source.rb +1 -1
  408. data/lib/postboost/models/repurpose_run.rb +1 -1
  409. data/lib/postboost/models/repurpose_run_accepted.rb +1 -1
  410. data/lib/postboost/models/repurpose_slide.rb +1 -1
  411. data/lib/postboost/models/reseller_client.rb +1 -1
  412. data/lib/postboost/models/reseller_client_input.rb +1 -1
  413. data/lib/postboost/models/reseller_client_usage.rb +1 -1
  414. data/lib/postboost/models/retry_post_account_result.rb +1 -1
  415. data/lib/postboost/models/rss_feed.rb +1 -1
  416. data/lib/postboost/models/rss_feed_input.rb +1 -1
  417. data/lib/postboost/models/rss_feed_update.rb +1 -1
  418. data/lib/postboost/models/run_agent202_response.rb +1 -1
  419. data/lib/postboost/models/schedule_post_request.rb +1 -1
  420. data/lib/postboost/models/schedule_result.rb +1 -1
  421. data/lib/postboost/models/subscription.rb +1 -1
  422. data/lib/postboost/models/subscription_input.rb +1 -1
  423. data/lib/postboost/models/subscription_status.rb +1 -1
  424. data/lib/postboost/models/subscription_update_input.rb +1 -1
  425. data/lib/postboost/models/tag.rb +1 -1
  426. data/lib/postboost/models/tag_input.rb +1 -1
  427. data/lib/postboost/models/template.rb +1 -1
  428. data/lib/postboost/models/template_content_item.rb +1 -1
  429. data/lib/postboost/models/template_input.rb +1 -1
  430. data/lib/postboost/models/template_input_content_inner.rb +1 -1
  431. data/lib/postboost/models/update_media_request.rb +1 -1
  432. data/lib/postboost/models/update_post200_response.rb +1 -1
  433. data/lib/postboost/models/upload_chunk201_response.rb +1 -1
  434. data/lib/postboost/models/user.rb +1 -1
  435. data/lib/postboost/models/user_input.rb +1 -1
  436. data/lib/postboost/models/user_update_input.rb +1 -1
  437. data/lib/postboost/models/webhook_envelope.rb +1 -1
  438. data/lib/postboost/models/webhook_event_name.rb +1 -1
  439. data/lib/postboost/models/webhook_event_payload.rb +1 -1
  440. data/lib/postboost/models/webhook_subscription.rb +1 -1
  441. data/lib/postboost/models/webhook_subscription_input.rb +1 -1
  442. data/lib/postboost/models/workspace.rb +1 -1
  443. data/lib/postboost/models/workspace_agent.rb +1 -1
  444. data/lib/postboost/models/workspace_agent_input.rb +1 -1
  445. data/lib/postboost/models/workspace_agent_settings.rb +1 -1
  446. data/lib/postboost/models/workspace_agent_update.rb +1 -1
  447. data/lib/postboost/models/workspace_input.rb +1 -1
  448. data/lib/postboost/models/workspace_user_input.rb +1 -1
  449. data/lib/postboost/models/x_usage.rb +1 -1
  450. data/lib/postboost/models/x_usage_counter.rb +1 -1
  451. data/lib/postboost/version.rb +2 -2
  452. data/lib/postboost.rb +29 -1
  453. data/postboost.gemspec +1 -1
  454. data/spec/api/account_groups_api_spec.rb +1 -1
  455. data/spec/api/accounts_api_spec.rb +1 -1
  456. data/spec/api/activity_api_spec.rb +1 -1
  457. data/spec/api/agents_api_spec.rb +1 -1
  458. data/spec/api/ai_api_spec.rb +1 -1
  459. data/spec/api/analytics_api_spec.rb +1 -1
  460. data/spec/api/competitors_api_spec.rb +1 -1
  461. data/spec/api/free_tools_api_spec.rb +77 -1
  462. data/spec/api/hashtag_groups_api_spec.rb +1 -1
  463. data/spec/api/inbox_api_spec.rb +1 -1
  464. data/spec/api/media_api_spec.rb +1 -1
  465. data/spec/api/mentions_api_spec.rb +1 -1
  466. data/spec/api/posting_schedule_api_spec.rb +1 -1
  467. data/spec/api/posts_api_spec.rb +2 -2
  468. data/spec/api/receipts_api_spec.rb +1 -1
  469. data/spec/api/subscriptions_api_spec.rb +1 -1
  470. data/spec/api/tags_api_spec.rb +1 -1
  471. data/spec/api/templates_api_spec.rb +1 -1
  472. data/spec/api/users_api_spec.rb +1 -1
  473. data/spec/api/webhooks_api_spec.rb +1 -1
  474. data/spec/api/workspaces_api_spec.rb +1 -1
  475. data/spec/models/account_analytics_initial_sync_spec.rb +1 -1
  476. data/spec/models/account_analytics_spec.rb +1 -1
  477. data/spec/models/account_connection_health_reconnect_reason_spec.rb +1 -1
  478. data/spec/models/account_connection_health_spec.rb +1 -1
  479. data/spec/models/account_errors_inner_one_of_spec.rb +1 -1
  480. data/spec/models/account_errors_inner_spec.rb +1 -1
  481. data/spec/models/account_group_input_spec.rb +1 -1
  482. data/spec/models/account_group_spec.rb +1 -1
  483. data/spec/models/account_health_daily_cap_spec.rb +1 -1
  484. data/spec/models/account_health_spec.rb +1 -1
  485. data/spec/models/account_schedule_spec.rb +1 -1
  486. data/spec/models/account_spec.rb +1 -1
  487. data/spec/models/add_competitor202_response_spec.rb +1 -1
  488. data/spec/models/add_competitor409_response_spec.rb +1 -1
  489. data/spec/models/add_generic_subscription_request_spec.rb +1 -1
  490. data/spec/models/add_post_to_queue_request_spec.rb +1 -1
  491. data/spec/models/agent_page_meta_spec.rb +1 -1
  492. data/spec/models/agent_proposal_decision_spec.rb +1 -1
  493. data/spec/models/agent_proposal_spec.rb +1 -1
  494. data/spec/models/agent_run_spec.rb +1 -1
  495. data/spec/models/ai_credits_spec.rb +1 -1
  496. data/spec/models/ai_usage_spec.rb +1 -1
  497. data/spec/models/ai_usage_text_spec.rb +1 -1
  498. data/spec/models/analytics_period_spec.rb +1 -1
  499. data/spec/models/analytics_summary_data_spec.rb +1 -1
  500. data/spec/models/analytics_summary_spec.rb +1 -1
  501. data/spec/models/api_activity_outcome_spec.rb +1 -1
  502. data/spec/models/api_activity_spec.rb +1 -1
  503. data/spec/models/api_key_ability_spec.rb +1 -1
  504. data/spec/models/api_key_input_spec.rb +1 -1
  505. data/spec/models/api_key_spec.rb +1 -1
  506. data/spec/models/approve_agent_proposal200_response_spec.rb +1 -1
  507. data/spec/models/approve_agent_proposal409_response_spec.rb +1 -1
  508. data/spec/models/approve_inbox_reply_draft403_response_spec.rb +1 -1
  509. data/spec/models/approve_post_request_spec.rb +1 -1
  510. data/spec/models/best_posting_times_spec.rb +1 -1
  511. data/spec/models/best_posting_times_times_inner_spec.rb +1 -1
  512. data/spec/models/blog_to_social200_response_spec.rb +1 -1
  513. data/spec/models/blog_to_social429_response_spec.rb +1 -1
  514. data/spec/models/blog_to_social_caption_spec.rb +1 -1
  515. data/spec/models/blog_to_social_input_spec.rb +1 -1
  516. data/spec/models/blog_to_social_media_spec.rb +1 -1
  517. data/spec/models/blog_to_social_response_spec.rb +1 -1
  518. data/spec/models/brand_voice_input_spec.rb +1 -1
  519. data/spec/models/brand_voice_meta_spec.rb +1 -1
  520. data/spec/models/brand_voice_spec.rb +1 -1
  521. data/spec/models/cancel_subscription422_response_errors_spec.rb +1 -1
  522. data/spec/models/cancel_subscription422_response_spec.rb +1 -1
  523. data/spec/models/cancel_subscription_request_spec.rb +1 -1
  524. data/spec/models/change_subscription_plan_request_spec.rb +1 -1
  525. data/spec/models/channel_account_spec.rb +1 -1
  526. data/spec/models/checkout_subscription200_response_spec.rb +1 -1
  527. data/spec/models/checkout_subscription_request_spec.rb +1 -1
  528. data/spec/models/coded_error_spec.rb +1 -1
  529. data/spec/models/competitor_detail_spec.rb +1 -1
  530. data/spec/models/competitor_input_spec.rb +1 -1
  531. data/spec/models/competitor_media_spec.rb +1 -1
  532. data/spec/models/competitor_snapshot_spec.rb +1 -1
  533. data/spec/models/competitor_spec.rb +1 -1
  534. data/spec/models/complete_chunked_upload_request_spec.rb +1 -1
  535. data/spec/models/connect_channel_input_spec.rb +1 -1
  536. data/spec/models/connect_link_spec.rb +1 -1
  537. data/spec/models/create_account_group201_response_spec.rb +1 -1
  538. data/spec/models/create_agent201_response_spec.rb +1 -1
  539. data/spec/models/create_api_key201_response_data_spec.rb +1 -1
  540. data/spec/models/create_api_key201_response_spec.rb +1 -1
  541. data/spec/models/create_connect_link_request_spec.rb +1 -1
  542. data/spec/models/create_hashtag_group201_response_spec.rb +1 -1
  543. data/spec/models/create_inbox_reply_draft201_response_spec.rb +1 -1
  544. data/spec/models/create_media_folder_request_spec.rb +1 -1
  545. data/spec/models/create_mention201_response_spec.rb +1 -1
  546. data/spec/models/create_post201_response_spec.rb +1 -1
  547. data/spec/models/create_recycling_rule201_response_spec.rb +1 -1
  548. data/spec/models/create_report_export201_response_spec.rb +1 -1
  549. data/spec/models/create_reseller_client201_response_spec.rb +1 -1
  550. data/spec/models/create_rss_feed201_response_spec.rb +1 -1
  551. data/spec/models/create_template201_response_spec.rb +1 -1
  552. data/spec/models/create_webhook_subscription201_response_data_spec.rb +1 -1
  553. data/spec/models/create_webhook_subscription201_response_spec.rb +1 -1
  554. data/spec/models/delete_agent200_response_spec.rb +1 -1
  555. data/spec/models/delete_media_bulk_request_items_inner_spec.rb +1 -1
  556. data/spec/models/delete_media_bulk_request_spec.rb +1 -1
  557. data/spec/models/delete_media_folder_request_spec.rb +1 -1
  558. data/spec/models/delete_mode_spec.rb +1 -1
  559. data/spec/models/delete_post_request_spec.rb +1 -1
  560. data/spec/models/delete_posts_bulk_request_spec.rb +1 -1
  561. data/spec/models/delete_receipts_bulk_request_spec.rb +1 -1
  562. data/spec/models/delete_result_spec.rb +1 -1
  563. data/spec/models/delete_user400_response_spec.rb +1 -1
  564. data/spec/models/delete_users_bulk_request_spec.rb +1 -1
  565. data/spec/models/delete_workspaces_bulk_request_spec.rb +1 -1
  566. data/spec/models/free_tool_build_utm_url_request_spec.rb +1 -1
  567. data/spec/models/free_tool_build_utm_url_response_spec.rb +1 -1
  568. data/spec/models/free_tool_calculate_aspect_ratio_request_spec.rb +1 -1
  569. data/spec/models/free_tool_calculate_aspect_ratio_response_matches_inner_spec.rb +1 -1
  570. data/spec/models/free_tool_calculate_aspect_ratio_response_rounding_spec.rb +1 -1
  571. data/spec/models/free_tool_calculate_aspect_ratio_response_spec.rb +1 -1
  572. data/spec/models/free_tool_calculate_carousel_slices_request_spec.rb +58 -0
  573. data/spec/models/free_tool_calculate_carousel_slices_response_output_spec.rb +42 -0
  574. data/spec/models/free_tool_calculate_carousel_slices_response_slides_inner_spec.rb +54 -0
  575. data/spec/models/free_tool_calculate_carousel_slices_response_spec.rb +60 -0
  576. data/spec/models/free_tool_calculate_crop_request_spec.rb +1 -1
  577. data/spec/models/free_tool_calculate_crop_response_crop_spec.rb +1 -1
  578. data/spec/models/free_tool_calculate_crop_response_image_spec.rb +1 -1
  579. data/spec/models/free_tool_calculate_crop_response_output_spec.rb +1 -1
  580. data/spec/models/free_tool_calculate_crop_response_spec.rb +1 -1
  581. data/spec/models/free_tool_calculate_engagement_rate_request_spec.rb +1 -1
  582. data/spec/models/free_tool_calculate_engagement_rate_response_spec.rb +1 -1
  583. data/spec/models/free_tool_calculate_influencer_rate_request_spec.rb +80 -0
  584. data/spec/models/free_tool_calculate_influencer_rate_response_guide_source_spec.rb +48 -0
  585. data/spec/models/free_tool_calculate_influencer_rate_response_multipliers_inner_spec.rb +64 -0
  586. data/spec/models/free_tool_calculate_influencer_rate_response_spec.rb +132 -0
  587. data/spec/models/free_tool_calculate_social_roi_request_costs_spec.rb +1 -1
  588. data/spec/models/free_tool_calculate_social_roi_request_spec.rb +1 -1
  589. data/spec/models/free_tool_calculate_social_roi_response_cost_breakdown_inner_spec.rb +1 -1
  590. data/spec/models/free_tool_calculate_social_roi_response_spec.rb +1 -1
  591. data/spec/models/free_tool_calculate_x_api_cost_request_spec.rb +1 -1
  592. data/spec/models/free_tool_calculate_x_api_cost_response_line_items_inner_spec.rb +1 -1
  593. data/spec/models/free_tool_calculate_x_api_cost_response_spec.rb +1 -1
  594. data/spec/models/free_tool_check_link_preview_request_spec.rb +1 -1
  595. data/spec/models/free_tool_check_link_preview_response_image_spec.rb +1 -1
  596. data/spec/models/free_tool_check_link_preview_response_previews_value_spec.rb +1 -1
  597. data/spec/models/free_tool_check_link_preview_response_redirects_inner_spec.rb +1 -1
  598. data/spec/models/free_tool_check_link_preview_response_spec.rb +1 -1
  599. data/spec/models/free_tool_check_link_preview_response_tags_spec.rb +1 -1
  600. data/spec/models/free_tool_check_post_request_media_spec.rb +1 -1
  601. data/spec/models/free_tool_check_post_request_spec.rb +1 -1
  602. data/spec/models/free_tool_check_post_response_networks_inner_errors_inner_spec.rb +1 -1
  603. data/spec/models/free_tool_check_post_response_networks_inner_spec.rb +1 -1
  604. data/spec/models/free_tool_check_post_response_spec.rb +1 -1
  605. data/spec/models/free_tool_check_readability_request_spec.rb +1 -1
  606. data/spec/models/free_tool_check_readability_response_long_sentences_inner_spec.rb +1 -1
  607. data/spec/models/free_tool_check_readability_response_spec.rb +1 -1
  608. data/spec/models/free_tool_check_youtube_thumbnail_request_spec.rb +1 -1
  609. data/spec/models/free_tool_check_youtube_thumbnail_response_checks_inner_spec.rb +1 -1
  610. data/spec/models/free_tool_check_youtube_thumbnail_response_spec.rb +1 -1
  611. data/spec/models/free_tool_clean_text_request_spec.rb +1 -1
  612. data/spec/models/free_tool_clean_text_response_changes_inner_spec.rb +1 -1
  613. data/spec/models/free_tool_clean_text_response_flags_inner_spec.rb +1 -1
  614. data/spec/models/free_tool_clean_text_response_spec.rb +1 -1
  615. data/spec/models/free_tool_count_characters_request_spec.rb +1 -1
  616. data/spec/models/free_tool_count_characters_response_networks_inner_spec.rb +1 -1
  617. data/spec/models/free_tool_count_characters_response_spec.rb +1 -1
  618. data/spec/models/free_tool_error_spec.rb +1 -1
  619. data/spec/models/free_tool_format_instagram_caption_request_spec.rb +1 -1
  620. data/spec/models/free_tool_format_instagram_caption_response_spec.rb +1 -1
  621. data/spec/models/free_tool_format_linked_in_post_request_spec.rb +1 -1
  622. data/spec/models/free_tool_format_linked_in_post_response_spec.rb +1 -1
  623. data/spec/models/free_tool_generate_caption_request_spec.rb +1 -1
  624. data/spec/models/free_tool_generate_caption_response_spec.rb +1 -1
  625. data/spec/models/free_tool_generate_fancy_text_request_spec.rb +1 -1
  626. data/spec/models/free_tool_generate_fancy_text_response_spec.rb +1 -1
  627. data/spec/models/free_tool_generate_fancy_text_response_styles_inner_spec.rb +1 -1
  628. data/spec/models/free_tool_generate_hashtags_request_spec.rb +1 -1
  629. data/spec/models/free_tool_generate_hashtags_response_spec.rb +1 -1
  630. data/spec/models/free_tool_generate_hooks_request_spec.rb +1 -1
  631. data/spec/models/free_tool_generate_hooks_response_hooks_inner_spec.rb +1 -1
  632. data/spec/models/free_tool_generate_hooks_response_spec.rb +1 -1
  633. data/spec/models/free_tool_generate_qr_code_request_spec.rb +1 -1
  634. data/spec/models/free_tool_generate_qr_code_request_utm_spec.rb +1 -1
  635. data/spec/models/free_tool_generate_qr_code_response_spec.rb +1 -1
  636. data/spec/models/free_tool_generate_social_posts_from_blog_request_spec.rb +1 -1
  637. data/spec/models/free_tool_generate_social_posts_from_blog_response_posts_inner_spec.rb +1 -1
  638. data/spec/models/free_tool_generate_social_posts_from_blog_response_source_spec.rb +1 -1
  639. data/spec/models/free_tool_generate_social_posts_from_blog_response_spec.rb +1 -1
  640. data/spec/models/free_tool_generate_social_posts_from_blog_response_warnings_inner_spec.rb +1 -1
  641. data/spec/models/free_tool_get_best_times_to_post_response_networks_inner_spec.rb +1 -1
  642. data/spec/models/free_tool_get_best_times_to_post_response_spec.rb +1 -1
  643. data/spec/models/free_tool_get_hook_templates_response_hooks_inner_spec.rb +1 -1
  644. data/spec/models/free_tool_get_hook_templates_response_spec.rb +1 -1
  645. data/spec/models/free_tool_get_image_sizes_response_sizes_inner_spec.rb +1 -1
  646. data/spec/models/free_tool_get_image_sizes_response_sources_inner_spec.rb +1 -1
  647. data/spec/models/free_tool_get_image_sizes_response_spec.rb +1 -1
  648. data/spec/models/free_tool_get_safe_zones_request_spec.rb +52 -0
  649. data/spec/models/free_tool_get_safe_zones_response_safe_area_spec.rb +54 -0
  650. data/spec/models/free_tool_get_safe_zones_response_source_spec.rb +48 -0
  651. data/spec/models/free_tool_get_safe_zones_response_spec.rb +90 -0
  652. data/spec/models/free_tool_get_safe_zones_response_unsafe_areas_inner_spec.rb +70 -0
  653. data/spec/models/free_tool_get_video_specs_response_spec.rb +1 -1
  654. data/spec/models/free_tool_get_video_specs_response_specs_inner_limits_spec.rb +1 -1
  655. data/spec/models/free_tool_get_video_specs_response_specs_inner_spec.rb +1 -1
  656. data/spec/models/free_tool_list_awareness_days_response_covers_spec.rb +42 -0
  657. data/spec/models/free_tool_list_awareness_days_response_entries_inner_spec.rb +88 -0
  658. data/spec/models/free_tool_list_awareness_days_response_spec.rb +60 -0
  659. data/spec/models/free_tool_list_item_spec.rb +1 -1
  660. data/spec/models/free_tool_list_spec.rb +1 -1
  661. data/spec/models/free_tool_plan_content_calendar_request_posts_per_week_spec.rb +1 -1
  662. data/spec/models/free_tool_plan_content_calendar_request_spec.rb +1 -1
  663. data/spec/models/free_tool_plan_content_calendar_request_times_spec.rb +1 -1
  664. data/spec/models/free_tool_plan_content_calendar_response_slots_inner_spec.rb +1 -1
  665. data/spec/models/free_tool_plan_content_calendar_response_spec.rb +1 -1
  666. data/spec/models/free_tool_plan_posting_frequency_request_spec.rb +46 -0
  667. data/spec/models/free_tool_plan_posting_frequency_response_networks_inner_recommended_per_week_spec.rb +42 -0
  668. data/spec/models/free_tool_plan_posting_frequency_response_networks_inner_sources_inner_spec.rb +48 -0
  669. data/spec/models/free_tool_plan_posting_frequency_response_networks_inner_spec.rb +90 -0
  670. data/spec/models/free_tool_plan_posting_frequency_response_slots_inner_spec.rb +56 -0
  671. data/spec/models/free_tool_plan_posting_frequency_response_spec.rb +66 -0
  672. data/spec/models/free_tool_preview_post_request_spec.rb +1 -1
  673. data/spec/models/free_tool_preview_post_response_networks_inner_spec.rb +1 -1
  674. data/spec/models/free_tool_preview_post_response_spec.rb +1 -1
  675. data/spec/models/free_tool_score_social_audit_request_instagram_spec.rb +110 -0
  676. data/spec/models/free_tool_score_social_audit_request_spec.rb +96 -0
  677. data/spec/models/free_tool_score_social_audit_response_networks_inner_items_inner_spec.rb +62 -0
  678. data/spec/models/free_tool_score_social_audit_response_networks_inner_spec.rb +70 -0
  679. data/spec/models/free_tool_score_social_audit_response_spec.rb +54 -0
  680. data/spec/models/free_tool_score_social_audit_response_top_fixes_inner_spec.rb +58 -0
  681. data/spec/models/free_tool_search_emoji_request_spec.rb +1 -1
  682. data/spec/models/free_tool_search_emoji_response_results_inner_spec.rb +1 -1
  683. data/spec/models/free_tool_search_emoji_response_spec.rb +1 -1
  684. data/spec/models/free_tool_split_thread_request_spec.rb +1 -1
  685. data/spec/models/free_tool_split_thread_response_posts_inner_spec.rb +1 -1
  686. data/spec/models/free_tool_split_thread_response_spec.rb +1 -1
  687. data/spec/models/get_account_health200_response_spec.rb +1 -1
  688. data/spec/models/get_brand_voice200_response_spec.rb +1 -1
  689. data/spec/models/get_competitor200_response_spec.rb +1 -1
  690. data/spec/models/get_inbox_conversation200_response_spec.rb +1 -1
  691. data/spec/models/get_posting_schedule200_response_spec.rb +1 -1
  692. data/spec/models/get_remote_upload_status200_response_spec.rb +1 -1
  693. data/spec/models/get_report_branding200_response_spec.rb +1 -1
  694. data/spec/models/get_repurpose_run200_response_spec.rb +1 -1
  695. data/spec/models/guardrail_error_spec.rb +1 -1
  696. data/spec/models/hashtag_group_input_spec.rb +1 -1
  697. data/spec/models/hashtag_group_spec.rb +1 -1
  698. data/spec/models/image_alt_text200_response_spec.rb +1 -1
  699. data/spec/models/image_alt_text_input_spec.rb +1 -1
  700. data/spec/models/image_alt_text_response_spec.rb +1 -1
  701. data/spec/models/image_credit_balance_spec.rb +1 -1
  702. data/spec/models/image_edit_input_spec.rb +1 -1
  703. data/spec/models/image_generate200_response_spec.rb +1 -1
  704. data/spec/models/image_generate429_response_spec.rb +1 -1
  705. data/spec/models/image_generate_input_spec.rb +1 -1
  706. data/spec/models/image_generation_response_spec.rb +1 -1
  707. data/spec/models/image_prompt200_response_spec.rb +1 -1
  708. data/spec/models/image_prompt429_response_spec.rb +1 -1
  709. data/spec/models/image_prompt_input_spec.rb +1 -1
  710. data/spec/models/image_prompt_response_spec.rb +1 -1
  711. data/spec/models/image_variations200_response_spec.rb +1 -1
  712. data/spec/models/image_variations_input_spec.rb +1 -1
  713. data/spec/models/image_variations_response_spec.rb +1 -1
  714. data/spec/models/inbox_author_spec.rb +1 -1
  715. data/spec/models/inbox_conversation_account_spec.rb +1 -1
  716. data/spec/models/inbox_conversation_spec.rb +1 -1
  717. data/spec/models/inbox_conversation_update_spec.rb +1 -1
  718. data/spec/models/inbox_message_author_spec.rb +1 -1
  719. data/spec/models/inbox_message_spec.rb +1 -1
  720. data/spec/models/inbox_reply_draft_approve_spec.rb +1 -1
  721. data/spec/models/inbox_reply_draft_edit_spec.rb +1 -1
  722. data/spec/models/inbox_reply_draft_input_spec.rb +1 -1
  723. data/spec/models/inbox_reply_draft_spec.rb +1 -1
  724. data/spec/models/initiate_chunked_upload201_response_spec.rb +1 -1
  725. data/spec/models/initiate_chunked_upload_request_spec.rb +1 -1
  726. data/spec/models/initiate_remote_upload201_response_one_of_spec.rb +1 -1
  727. data/spec/models/initiate_remote_upload201_response_spec.rb +1 -1
  728. data/spec/models/initiate_remote_upload_request_spec.rb +1 -1
  729. data/spec/models/learn_brand_voice_input_spec.rb +1 -1
  730. data/spec/models/learn_brand_voice_response_meta_spec.rb +1 -1
  731. data/spec/models/learn_brand_voice_response_spec.rb +1 -1
  732. data/spec/models/list_account_groups200_response_spec.rb +1 -1
  733. data/spec/models/list_accounts200_response_spec.rb +1 -1
  734. data/spec/models/list_agent_proposals200_response_spec.rb +1 -1
  735. data/spec/models/list_agent_runs200_response_spec.rb +1 -1
  736. data/spec/models/list_agents200_response_spec.rb +1 -1
  737. data/spec/models/list_api_activity200_response_spec.rb +1 -1
  738. data/spec/models/list_api_keys200_response_spec.rb +1 -1
  739. data/spec/models/list_competitors200_response_spec.rb +1 -1
  740. data/spec/models/list_hashtag_groups200_response_spec.rb +1 -1
  741. data/spec/models/list_inbox_conversations200_response_spec.rb +1 -1
  742. data/spec/models/list_inbox_reply_drafts200_response_spec.rb +1 -1
  743. data/spec/models/list_media200_response_spec.rb +1 -1
  744. data/spec/models/list_media_folders200_response_spec.rb +1 -1
  745. data/spec/models/list_mentions200_response_spec.rb +1 -1
  746. data/spec/models/list_my_workspaces200_response_spec.rb +1 -1
  747. data/spec/models/list_posts200_response_spec.rb +1 -1
  748. data/spec/models/list_receipts200_response_spec.rb +1 -1
  749. data/spec/models/list_recycling_rules200_response_spec.rb +1 -1
  750. data/spec/models/list_recycling_runs200_response_spec.rb +1 -1
  751. data/spec/models/list_report_exports200_response_spec.rb +1 -1
  752. data/spec/models/list_reseller_clients200_response_spec.rb +1 -1
  753. data/spec/models/list_rss_feeds200_response_spec.rb +1 -1
  754. data/spec/models/list_tags200_response_spec.rb +1 -1
  755. data/spec/models/list_templates200_response_spec.rb +1 -1
  756. data/spec/models/list_users200_response_spec.rb +1 -1
  757. data/spec/models/list_webhook_subscriptions200_response_spec.rb +1 -1
  758. data/spec/models/list_workspaces200_response_spec.rb +1 -1
  759. data/spec/models/media_base64_input_spec.rb +1 -1
  760. data/spec/models/media_folder_input_spec.rb +1 -1
  761. data/spec/models/media_folder_ref_spec.rb +1 -1
  762. data/spec/models/media_folder_spec.rb +1 -1
  763. data/spec/models/media_spec.rb +1 -1
  764. data/spec/models/mention_identity_input_spec.rb +1 -1
  765. data/spec/models/mention_identity_spec.rb +1 -1
  766. data/spec/models/mention_input_spec.rb +1 -1
  767. data/spec/models/mention_spec.rb +1 -1
  768. data/spec/models/message_only_spec.rb +1 -1
  769. data/spec/models/pagination_meta_links_spec.rb +1 -1
  770. data/spec/models/pagination_meta_meta_spec.rb +1 -1
  771. data/spec/models/pagination_meta_spec.rb +1 -1
  772. data/spec/models/poll_rss_feed200_response_spec.rb +1 -1
  773. data/spec/models/post_analytics_spec.rb +1 -1
  774. data/spec/models/post_content_spec.rb +1 -1
  775. data/spec/models/post_input_spec.rb +1 -1
  776. data/spec/models/post_options_instagram_spec.rb +1 -1
  777. data/spec/models/post_options_tik_tok_spec.rb +1 -1
  778. data/spec/models/post_options_youtube_spec.rb +1 -1
  779. data/spec/models/post_spec.rb +1 -1
  780. data/spec/models/post_status_spec.rb +1 -1
  781. data/spec/models/post_version_options_spec.rb +1 -1
  782. data/spec/models/post_version_spec.rb +1 -1
  783. data/spec/models/post_warning_spec.rb +1 -1
  784. data/spec/models/post_warnings_spec.rb +1 -1
  785. data/spec/models/posting_schedule_day_spec.rb +1 -1
  786. data/spec/models/posting_schedule_day_times_inner_spec.rb +1 -1
  787. data/spec/models/posting_schedule_input_spec.rb +1 -1
  788. data/spec/models/posting_schedule_spec.rb +1 -1
  789. data/spec/models/posting_time_slot_spec.rb +1 -1
  790. data/spec/models/posting_times_best_inner_spec.rb +1 -1
  791. data/spec/models/posting_times_day_intervals_inner_inner_spec.rb +1 -1
  792. data/spec/models/posting_times_days_inner_spec.rb +1 -1
  793. data/spec/models/posting_times_spec.rb +1 -1
  794. data/spec/models/preflight_result_spec.rb +7 -1
  795. data/spec/models/public_workspace_pivot_spec.rb +1 -1
  796. data/spec/models/public_workspace_spec.rb +1 -1
  797. data/spec/models/publish_progress_spec.rb +1 -1
  798. data/spec/models/queue_slots_spec.rb +1 -1
  799. data/spec/models/receipt_input_spec.rb +1 -1
  800. data/spec/models/receipt_spec.rb +1 -1
  801. data/spec/models/receipt_update_input_spec.rb +1 -1
  802. data/spec/models/recommended_posting_times_spec.rb +1 -1
  803. data/spec/models/reconnect_link_spec.rb +1 -1
  804. data/spec/models/recycling_rule_input_spec.rb +1 -1
  805. data/spec/models/recycling_rule_settings_spec.rb +1 -1
  806. data/spec/models/recycling_rule_spec.rb +1 -1
  807. data/spec/models/recycling_rule_update_spec.rb +1 -1
  808. data/spec/models/recycling_run_spec.rb +1 -1
  809. data/spec/models/remove_generic_subscription422_response_spec.rb +1 -1
  810. data/spec/models/remove_user_from_workspace_request_spec.rb +1 -1
  811. data/spec/models/report_branding_input_spec.rb +1 -1
  812. data/spec/models/report_branding_spec.rb +1 -1
  813. data/spec/models/report_export_input_spec.rb +1 -1
  814. data/spec/models/report_export_spec.rb +1 -1
  815. data/spec/models/repurpose_content200_response_spec.rb +1 -1
  816. data/spec/models/repurpose_content202_response_spec.rb +1 -1
  817. data/spec/models/repurpose_content500_response_spec.rb +1 -1
  818. data/spec/models/repurpose_input_spec.rb +1 -1
  819. data/spec/models/repurpose_input_theme_spec.rb +1 -1
  820. data/spec/models/repurpose_result_media_spec.rb +1 -1
  821. data/spec/models/repurpose_result_source_spec.rb +1 -1
  822. data/spec/models/repurpose_result_spec.rb +1 -1
  823. data/spec/models/repurpose_run_accepted_spec.rb +1 -1
  824. data/spec/models/repurpose_run_spec.rb +1 -1
  825. data/spec/models/repurpose_slide_spec.rb +1 -1
  826. data/spec/models/reseller_client_input_spec.rb +1 -1
  827. data/spec/models/reseller_client_spec.rb +1 -1
  828. data/spec/models/reseller_client_usage_spec.rb +1 -1
  829. data/spec/models/retry_post_account_result_spec.rb +1 -1
  830. data/spec/models/rss_feed_input_spec.rb +1 -1
  831. data/spec/models/rss_feed_spec.rb +1 -1
  832. data/spec/models/rss_feed_update_spec.rb +1 -1
  833. data/spec/models/run_agent202_response_spec.rb +1 -1
  834. data/spec/models/schedule_post_request_spec.rb +1 -1
  835. data/spec/models/schedule_result_spec.rb +1 -1
  836. data/spec/models/subscription_input_spec.rb +1 -1
  837. data/spec/models/subscription_spec.rb +1 -1
  838. data/spec/models/subscription_status_spec.rb +1 -1
  839. data/spec/models/subscription_update_input_spec.rb +1 -1
  840. data/spec/models/tag_input_spec.rb +1 -1
  841. data/spec/models/tag_spec.rb +1 -1
  842. data/spec/models/template_content_item_spec.rb +1 -1
  843. data/spec/models/template_input_content_inner_spec.rb +1 -1
  844. data/spec/models/template_input_spec.rb +1 -1
  845. data/spec/models/template_spec.rb +1 -1
  846. data/spec/models/update_media_request_spec.rb +1 -1
  847. data/spec/models/update_post200_response_spec.rb +1 -1
  848. data/spec/models/upload_chunk201_response_spec.rb +1 -1
  849. data/spec/models/user_input_spec.rb +1 -1
  850. data/spec/models/user_spec.rb +1 -1
  851. data/spec/models/user_update_input_spec.rb +1 -1
  852. data/spec/models/webhook_envelope_spec.rb +1 -1
  853. data/spec/models/webhook_event_name_spec.rb +1 -1
  854. data/spec/models/webhook_event_payload_spec.rb +1 -1
  855. data/spec/models/webhook_subscription_input_spec.rb +1 -1
  856. data/spec/models/webhook_subscription_spec.rb +1 -1
  857. data/spec/models/workspace_agent_input_spec.rb +1 -1
  858. data/spec/models/workspace_agent_settings_spec.rb +1 -1
  859. data/spec/models/workspace_agent_spec.rb +1 -1
  860. data/spec/models/workspace_agent_update_spec.rb +1 -1
  861. data/spec/models/workspace_input_spec.rb +1 -1
  862. data/spec/models/workspace_spec.rb +1 -1
  863. data/spec/models/workspace_user_input_spec.rb +1 -1
  864. data/spec/models/x_usage_counter_spec.rb +1 -1
  865. data/spec/models/x_usage_spec.rb +1 -1
  866. data/spec/spec_helper.rb +1 -1
  867. metadata +113 -1
@@ -0,0 +1,301 @@
1
+ =begin
2
+ #PostBoost API
3
+
4
+ #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
+
6
+ The version of the OpenAPI document: 1.56.0
7
+ Contact: hi@postboost.co
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.9.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module PostBoost
17
+ class FreeToolPlanPostingFrequencyRequest
18
+ # The networks you post on. Bluesky and Mastodon are not offered: no published frequency we could verify.
19
+ attr_accessor :networks
20
+
21
+ # How many posts your team can make in a week, across all networks.
22
+ attr_accessor :posts_per_week_capacity
23
+
24
+ class EnumAttributeValidator
25
+ attr_reader :datatype
26
+ attr_reader :allowable_values
27
+
28
+ def initialize(datatype, allowable_values)
29
+ @allowable_values = allowable_values.map do |value|
30
+ case datatype.to_s
31
+ when /Integer/i
32
+ value.to_i
33
+ when /Float/i
34
+ value.to_f
35
+ else
36
+ value
37
+ end
38
+ end
39
+ end
40
+
41
+ def valid?(value)
42
+ !value || allowable_values.include?(value)
43
+ end
44
+ end
45
+
46
+ # Attribute mapping from ruby-style variable name to JSON key.
47
+ def self.attribute_map
48
+ {
49
+ :'networks' => :'networks',
50
+ :'posts_per_week_capacity' => :'posts_per_week_capacity'
51
+ }
52
+ end
53
+
54
+ # Returns all the JSON keys this model knows about
55
+ def self.acceptable_attributes
56
+ attribute_map.values
57
+ end
58
+
59
+ # Attribute type mapping.
60
+ def self.openapi_types
61
+ {
62
+ :'networks' => :'Array<String>',
63
+ :'posts_per_week_capacity' => :'Integer'
64
+ }
65
+ end
66
+
67
+ # List of attributes with nullable: true
68
+ def self.openapi_nullable
69
+ Set.new([
70
+ ])
71
+ end
72
+
73
+ # Initializes the object
74
+ # @param [Hash] attributes Model attributes in the form of hash
75
+ def initialize(attributes = {})
76
+ if (!attributes.is_a?(Hash))
77
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PostBoost::FreeToolPlanPostingFrequencyRequest` initialize method"
78
+ end
79
+
80
+ # check to see if the attribute exists and convert string to symbol for hash key
81
+ attributes = attributes.each_with_object({}) { |(k, v), h|
82
+ if (!self.class.attribute_map.key?(k.to_sym))
83
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PostBoost::FreeToolPlanPostingFrequencyRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
84
+ end
85
+ h[k.to_sym] = v
86
+ }
87
+
88
+ if attributes.key?(:'networks')
89
+ if (value = attributes[:'networks']).is_a?(Array)
90
+ self.networks = value
91
+ end
92
+ else
93
+ self.networks = nil
94
+ end
95
+
96
+ if attributes.key?(:'posts_per_week_capacity')
97
+ self.posts_per_week_capacity = attributes[:'posts_per_week_capacity']
98
+ else
99
+ self.posts_per_week_capacity = nil
100
+ end
101
+ end
102
+
103
+ # Show invalid properties with the reasons. Usually used together with valid?
104
+ # @return Array for valid properties with the reasons
105
+ def list_invalid_properties
106
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
107
+ invalid_properties = Array.new
108
+ if @networks.nil?
109
+ invalid_properties.push('invalid value for "networks", networks cannot be nil.')
110
+ end
111
+
112
+ if @networks.length > 9
113
+ invalid_properties.push('invalid value for "networks", number of items must be less than or equal to 9.')
114
+ end
115
+
116
+ if @networks.length < 1
117
+ invalid_properties.push('invalid value for "networks", number of items must be greater than or equal to 1.')
118
+ end
119
+
120
+ if @posts_per_week_capacity.nil?
121
+ invalid_properties.push('invalid value for "posts_per_week_capacity", posts_per_week_capacity cannot be nil.')
122
+ end
123
+
124
+ if @posts_per_week_capacity > 200
125
+ invalid_properties.push('invalid value for "posts_per_week_capacity", must be smaller than or equal to 200.')
126
+ end
127
+
128
+ if @posts_per_week_capacity < 1
129
+ invalid_properties.push('invalid value for "posts_per_week_capacity", must be greater than or equal to 1.')
130
+ end
131
+
132
+ invalid_properties
133
+ end
134
+
135
+ # Check to see if the all the properties in the model are valid
136
+ # @return true if the model is valid
137
+ def valid?
138
+ warn '[DEPRECATED] the `valid?` method is obsolete'
139
+ return false if @networks.nil?
140
+ return false if @networks.length > 9
141
+ return false if @networks.length < 1
142
+ return false if @posts_per_week_capacity.nil?
143
+ return false if @posts_per_week_capacity > 200
144
+ return false if @posts_per_week_capacity < 1
145
+ true
146
+ end
147
+
148
+ # Custom attribute writer method with validation
149
+ # @param [Object] posts_per_week_capacity Value to be assigned
150
+ def posts_per_week_capacity=(posts_per_week_capacity)
151
+ if posts_per_week_capacity.nil?
152
+ fail ArgumentError, 'posts_per_week_capacity cannot be nil'
153
+ end
154
+
155
+ if posts_per_week_capacity > 200
156
+ fail ArgumentError, 'invalid value for "posts_per_week_capacity", must be smaller than or equal to 200.'
157
+ end
158
+
159
+ if posts_per_week_capacity < 1
160
+ fail ArgumentError, 'invalid value for "posts_per_week_capacity", must be greater than or equal to 1.'
161
+ end
162
+
163
+ @posts_per_week_capacity = posts_per_week_capacity
164
+ end
165
+
166
+ # Checks equality by comparing each attribute.
167
+ # @param [Object] Object to be compared
168
+ def ==(o)
169
+ return true if self.equal?(o)
170
+ self.class == o.class &&
171
+ networks == o.networks &&
172
+ posts_per_week_capacity == o.posts_per_week_capacity
173
+ end
174
+
175
+ # @see the `==` method
176
+ # @param [Object] Object to be compared
177
+ def eql?(o)
178
+ self == o
179
+ end
180
+
181
+ # Calculates hash code according to all attributes.
182
+ # @return [Integer] Hash code
183
+ def hash
184
+ [networks, posts_per_week_capacity].hash
185
+ end
186
+
187
+ # Builds the object from hash
188
+ # @param [Hash] attributes Model attributes in the form of hash
189
+ # @return [Object] Returns the model itself
190
+ def self.build_from_hash(attributes)
191
+ return nil unless attributes.is_a?(Hash)
192
+ attributes = attributes.transform_keys(&:to_sym)
193
+ transformed_hash = {}
194
+ openapi_types.each_pair do |key, type|
195
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
196
+ transformed_hash["#{key}"] = nil
197
+ elsif type =~ /\AArray<(.*)>/i
198
+ # check to ensure the input is an array given that the attribute
199
+ # is documented as an array but the input is not
200
+ if attributes[attribute_map[key]].is_a?(Array)
201
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
202
+ end
203
+ elsif !attributes[attribute_map[key]].nil?
204
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
205
+ end
206
+ end
207
+ new(transformed_hash)
208
+ end
209
+
210
+ # Deserializes the data based on type
211
+ # @param string type Data type
212
+ # @param string value Value to be deserialized
213
+ # @return [Object] Deserialized data
214
+ def self._deserialize(type, value)
215
+ case type.to_sym
216
+ when :Time
217
+ Time.parse(value)
218
+ when :Date
219
+ Date.parse(value)
220
+ when :String
221
+ value.to_s
222
+ when :Integer
223
+ value.to_i
224
+ when :Float
225
+ value.to_f
226
+ when :Boolean
227
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
228
+ true
229
+ else
230
+ false
231
+ end
232
+ when :Object
233
+ # generic object (usually a Hash), return directly
234
+ value
235
+ when /\AArray<(?<inner_type>.+)>\z/
236
+ inner_type = Regexp.last_match[:inner_type]
237
+ value.map { |v| _deserialize(inner_type, v) }
238
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
239
+ k_type = Regexp.last_match[:k_type]
240
+ v_type = Regexp.last_match[:v_type]
241
+ {}.tap do |hash|
242
+ value.each do |k, v|
243
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
244
+ end
245
+ end
246
+ else # model
247
+ # models (e.g. Pet) or oneOf
248
+ klass = PostBoost.const_get(type)
249
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
250
+ end
251
+ end
252
+
253
+ # Returns the string representation of the object
254
+ # @return [String] String presentation of the object
255
+ def to_s
256
+ to_hash.to_s
257
+ end
258
+
259
+ # to_body is an alias to to_hash (backward compatibility)
260
+ # @return [Hash] Returns the object in the form of hash
261
+ def to_body
262
+ to_hash
263
+ end
264
+
265
+ # Returns the object in the form of hash
266
+ # @return [Hash] Returns the object in the form of hash
267
+ def to_hash
268
+ hash = {}
269
+ self.class.attribute_map.each_pair do |attr, param|
270
+ value = self.send(attr)
271
+ if value.nil?
272
+ is_nullable = self.class.openapi_nullable.include?(attr)
273
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
274
+ end
275
+
276
+ hash[param] = _to_hash(value)
277
+ end
278
+ hash
279
+ end
280
+
281
+ # Outputs non-array value in the form of hash
282
+ # For object, use to_hash. Otherwise, just return the value
283
+ # @param [Object] value Any valid value
284
+ # @return [Hash] Returns the value in the form of hash
285
+ def _to_hash(value)
286
+ if value.is_a?(Array)
287
+ value.compact.map { |v| _to_hash(v) }
288
+ elsif value.is_a?(Hash)
289
+ {}.tap do |hash|
290
+ value.each { |k, v| hash[k] = _to_hash(v) }
291
+ end
292
+ elsif value.respond_to? :to_hash
293
+ value.to_hash
294
+ else
295
+ value
296
+ end
297
+ end
298
+
299
+ end
300
+
301
+ end
@@ -0,0 +1,269 @@
1
+ =begin
2
+ #PostBoost API
3
+
4
+ #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
+
6
+ The version of the OpenAPI document: 1.56.0
7
+ Contact: hi@postboost.co
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.9.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module PostBoost
17
+ class FreeToolPlanPostingFrequencyResponse
18
+ attr_accessor :posts_per_week_capacity
19
+
20
+ # The recommended minimums of the chosen networks added up.
21
+ attr_accessor :sum_of_minimums
22
+
23
+ # One row per chosen network, in a fixed network order.
24
+ attr_accessor :networks
25
+
26
+ # The weekly grid: each network's posts spread evenly from Monday, sorted by day.
27
+ attr_accessor :slots
28
+
29
+ attr_accessor :warnings
30
+
31
+ # When the ranges were last checked against their sources.
32
+ attr_accessor :last_verified
33
+
34
+ # Attribute mapping from ruby-style variable name to JSON key.
35
+ def self.attribute_map
36
+ {
37
+ :'posts_per_week_capacity' => :'posts_per_week_capacity',
38
+ :'sum_of_minimums' => :'sum_of_minimums',
39
+ :'networks' => :'networks',
40
+ :'slots' => :'slots',
41
+ :'warnings' => :'warnings',
42
+ :'last_verified' => :'last_verified'
43
+ }
44
+ end
45
+
46
+ # Returns all the JSON keys this model knows about
47
+ def self.acceptable_attributes
48
+ attribute_map.values
49
+ end
50
+
51
+ # Attribute type mapping.
52
+ def self.openapi_types
53
+ {
54
+ :'posts_per_week_capacity' => :'Integer',
55
+ :'sum_of_minimums' => :'Integer',
56
+ :'networks' => :'Array<FreeToolPlanPostingFrequencyResponseNetworksInner>',
57
+ :'slots' => :'Array<FreeToolPlanPostingFrequencyResponseSlotsInner>',
58
+ :'warnings' => :'Array<String>',
59
+ :'last_verified' => :'Date'
60
+ }
61
+ end
62
+
63
+ # List of attributes with nullable: true
64
+ def self.openapi_nullable
65
+ Set.new([
66
+ ])
67
+ end
68
+
69
+ # Initializes the object
70
+ # @param [Hash] attributes Model attributes in the form of hash
71
+ def initialize(attributes = {})
72
+ if (!attributes.is_a?(Hash))
73
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PostBoost::FreeToolPlanPostingFrequencyResponse` initialize method"
74
+ end
75
+
76
+ # check to see if the attribute exists and convert string to symbol for hash key
77
+ attributes = attributes.each_with_object({}) { |(k, v), h|
78
+ if (!self.class.attribute_map.key?(k.to_sym))
79
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PostBoost::FreeToolPlanPostingFrequencyResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
80
+ end
81
+ h[k.to_sym] = v
82
+ }
83
+
84
+ if attributes.key?(:'posts_per_week_capacity')
85
+ self.posts_per_week_capacity = attributes[:'posts_per_week_capacity']
86
+ end
87
+
88
+ if attributes.key?(:'sum_of_minimums')
89
+ self.sum_of_minimums = attributes[:'sum_of_minimums']
90
+ end
91
+
92
+ if attributes.key?(:'networks')
93
+ if (value = attributes[:'networks']).is_a?(Array)
94
+ self.networks = value
95
+ end
96
+ end
97
+
98
+ if attributes.key?(:'slots')
99
+ if (value = attributes[:'slots']).is_a?(Array)
100
+ self.slots = value
101
+ end
102
+ end
103
+
104
+ if attributes.key?(:'warnings')
105
+ if (value = attributes[:'warnings']).is_a?(Array)
106
+ self.warnings = value
107
+ end
108
+ end
109
+
110
+ if attributes.key?(:'last_verified')
111
+ self.last_verified = attributes[:'last_verified']
112
+ end
113
+ end
114
+
115
+ # Show invalid properties with the reasons. Usually used together with valid?
116
+ # @return Array for valid properties with the reasons
117
+ def list_invalid_properties
118
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
119
+ invalid_properties = Array.new
120
+ invalid_properties
121
+ end
122
+
123
+ # Check to see if the all the properties in the model are valid
124
+ # @return true if the model is valid
125
+ def valid?
126
+ warn '[DEPRECATED] the `valid?` method is obsolete'
127
+ true
128
+ end
129
+
130
+ # Checks equality by comparing each attribute.
131
+ # @param [Object] Object to be compared
132
+ def ==(o)
133
+ return true if self.equal?(o)
134
+ self.class == o.class &&
135
+ posts_per_week_capacity == o.posts_per_week_capacity &&
136
+ sum_of_minimums == o.sum_of_minimums &&
137
+ networks == o.networks &&
138
+ slots == o.slots &&
139
+ warnings == o.warnings &&
140
+ last_verified == o.last_verified
141
+ end
142
+
143
+ # @see the `==` method
144
+ # @param [Object] Object to be compared
145
+ def eql?(o)
146
+ self == o
147
+ end
148
+
149
+ # Calculates hash code according to all attributes.
150
+ # @return [Integer] Hash code
151
+ def hash
152
+ [posts_per_week_capacity, sum_of_minimums, networks, slots, warnings, last_verified].hash
153
+ end
154
+
155
+ # Builds the object from hash
156
+ # @param [Hash] attributes Model attributes in the form of hash
157
+ # @return [Object] Returns the model itself
158
+ def self.build_from_hash(attributes)
159
+ return nil unless attributes.is_a?(Hash)
160
+ attributes = attributes.transform_keys(&:to_sym)
161
+ transformed_hash = {}
162
+ openapi_types.each_pair do |key, type|
163
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
164
+ transformed_hash["#{key}"] = nil
165
+ elsif type =~ /\AArray<(.*)>/i
166
+ # check to ensure the input is an array given that the attribute
167
+ # is documented as an array but the input is not
168
+ if attributes[attribute_map[key]].is_a?(Array)
169
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
170
+ end
171
+ elsif !attributes[attribute_map[key]].nil?
172
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
173
+ end
174
+ end
175
+ new(transformed_hash)
176
+ end
177
+
178
+ # Deserializes the data based on type
179
+ # @param string type Data type
180
+ # @param string value Value to be deserialized
181
+ # @return [Object] Deserialized data
182
+ def self._deserialize(type, value)
183
+ case type.to_sym
184
+ when :Time
185
+ Time.parse(value)
186
+ when :Date
187
+ Date.parse(value)
188
+ when :String
189
+ value.to_s
190
+ when :Integer
191
+ value.to_i
192
+ when :Float
193
+ value.to_f
194
+ when :Boolean
195
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
196
+ true
197
+ else
198
+ false
199
+ end
200
+ when :Object
201
+ # generic object (usually a Hash), return directly
202
+ value
203
+ when /\AArray<(?<inner_type>.+)>\z/
204
+ inner_type = Regexp.last_match[:inner_type]
205
+ value.map { |v| _deserialize(inner_type, v) }
206
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
207
+ k_type = Regexp.last_match[:k_type]
208
+ v_type = Regexp.last_match[:v_type]
209
+ {}.tap do |hash|
210
+ value.each do |k, v|
211
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
212
+ end
213
+ end
214
+ else # model
215
+ # models (e.g. Pet) or oneOf
216
+ klass = PostBoost.const_get(type)
217
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
218
+ end
219
+ end
220
+
221
+ # Returns the string representation of the object
222
+ # @return [String] String presentation of the object
223
+ def to_s
224
+ to_hash.to_s
225
+ end
226
+
227
+ # to_body is an alias to to_hash (backward compatibility)
228
+ # @return [Hash] Returns the object in the form of hash
229
+ def to_body
230
+ to_hash
231
+ end
232
+
233
+ # Returns the object in the form of hash
234
+ # @return [Hash] Returns the object in the form of hash
235
+ def to_hash
236
+ hash = {}
237
+ self.class.attribute_map.each_pair do |attr, param|
238
+ value = self.send(attr)
239
+ if value.nil?
240
+ is_nullable = self.class.openapi_nullable.include?(attr)
241
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
242
+ end
243
+
244
+ hash[param] = _to_hash(value)
245
+ end
246
+ hash
247
+ end
248
+
249
+ # Outputs non-array value in the form of hash
250
+ # For object, use to_hash. Otherwise, just return the value
251
+ # @param [Object] value Any valid value
252
+ # @return [Hash] Returns the value in the form of hash
253
+ def _to_hash(value)
254
+ if value.is_a?(Array)
255
+ value.compact.map { |v| _to_hash(v) }
256
+ elsif value.is_a?(Hash)
257
+ {}.tap do |hash|
258
+ value.each { |k, v| hash[k] = _to_hash(v) }
259
+ end
260
+ elsif value.respond_to? :to_hash
261
+ value.to_hash
262
+ else
263
+ value
264
+ end
265
+ end
266
+
267
+ end
268
+
269
+ end