postboost 1.46.0 → 1.53.1

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