postboost 1.31.0 → 1.33.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 (694) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -1
  3. data/docs/FreeToolCalculateAspectRatioRequest.md +22 -0
  4. data/docs/FreeToolCalculateAspectRatioResponse.md +30 -0
  5. data/docs/FreeToolCalculateAspectRatioResponseMatchesInner.md +28 -0
  6. data/docs/FreeToolCalculateAspectRatioResponseRounding.md +22 -0
  7. data/docs/FreeToolPreviewPostRequest.md +24 -0
  8. data/docs/FreeToolPreviewPostResponse.md +18 -0
  9. data/docs/FreeToolPreviewPostResponseNetworksInner.md +36 -0
  10. data/docs/FreeToolsApi.md +130 -0
  11. data/lib/postboost/api/account_groups_api.rb +1 -1
  12. data/lib/postboost/api/accounts_api.rb +1 -1
  13. data/lib/postboost/api/activity_api.rb +1 -1
  14. data/lib/postboost/api/agents_api.rb +1 -1
  15. data/lib/postboost/api/ai_api.rb +1 -1
  16. data/lib/postboost/api/analytics_api.rb +1 -1
  17. data/lib/postboost/api/competitors_api.rb +1 -1
  18. data/lib/postboost/api/free_tools_api.rb +137 -1
  19. data/lib/postboost/api/hashtag_groups_api.rb +1 -1
  20. data/lib/postboost/api/inbox_api.rb +1 -1
  21. data/lib/postboost/api/media_api.rb +1 -1
  22. data/lib/postboost/api/mentions_api.rb +1 -1
  23. data/lib/postboost/api/posting_schedule_api.rb +1 -1
  24. data/lib/postboost/api/posts_api.rb +1 -1
  25. data/lib/postboost/api/receipts_api.rb +1 -1
  26. data/lib/postboost/api/subscriptions_api.rb +1 -1
  27. data/lib/postboost/api/tags_api.rb +1 -1
  28. data/lib/postboost/api/templates_api.rb +1 -1
  29. data/lib/postboost/api/users_api.rb +1 -1
  30. data/lib/postboost/api/webhooks_api.rb +1 -1
  31. data/lib/postboost/api/workspaces_api.rb +1 -1
  32. data/lib/postboost/api_client.rb +1 -1
  33. data/lib/postboost/api_error.rb +1 -1
  34. data/lib/postboost/configuration.rb +1 -1
  35. data/lib/postboost/models/account.rb +1 -1
  36. data/lib/postboost/models/account_analytics.rb +1 -1
  37. data/lib/postboost/models/account_analytics_initial_sync.rb +1 -1
  38. data/lib/postboost/models/account_connection_health.rb +1 -1
  39. data/lib/postboost/models/account_connection_health_reconnect_reason.rb +1 -1
  40. data/lib/postboost/models/account_errors_inner.rb +1 -1
  41. data/lib/postboost/models/account_errors_inner_one_of.rb +1 -1
  42. data/lib/postboost/models/account_group.rb +1 -1
  43. data/lib/postboost/models/account_group_input.rb +1 -1
  44. data/lib/postboost/models/account_health.rb +1 -1
  45. data/lib/postboost/models/account_health_daily_cap.rb +1 -1
  46. data/lib/postboost/models/account_schedule.rb +1 -1
  47. data/lib/postboost/models/add_competitor202_response.rb +1 -1
  48. data/lib/postboost/models/add_competitor409_response.rb +1 -1
  49. data/lib/postboost/models/add_generic_subscription_request.rb +1 -1
  50. data/lib/postboost/models/add_post_to_queue_request.rb +1 -1
  51. data/lib/postboost/models/agent_page_meta.rb +1 -1
  52. data/lib/postboost/models/agent_proposal.rb +1 -1
  53. data/lib/postboost/models/agent_proposal_decision.rb +1 -1
  54. data/lib/postboost/models/agent_run.rb +1 -1
  55. data/lib/postboost/models/ai_credits.rb +1 -1
  56. data/lib/postboost/models/ai_usage.rb +1 -1
  57. data/lib/postboost/models/ai_usage_text.rb +1 -1
  58. data/lib/postboost/models/analytics_period.rb +1 -1
  59. data/lib/postboost/models/analytics_summary.rb +1 -1
  60. data/lib/postboost/models/analytics_summary_data.rb +1 -1
  61. data/lib/postboost/models/api_activity.rb +1 -1
  62. data/lib/postboost/models/api_activity_outcome.rb +1 -1
  63. data/lib/postboost/models/api_key.rb +1 -1
  64. data/lib/postboost/models/api_key_ability.rb +1 -1
  65. data/lib/postboost/models/api_key_input.rb +1 -1
  66. data/lib/postboost/models/approve_agent_proposal200_response.rb +1 -1
  67. data/lib/postboost/models/approve_agent_proposal409_response.rb +1 -1
  68. data/lib/postboost/models/approve_inbox_reply_draft403_response.rb +1 -1
  69. data/lib/postboost/models/approve_post_request.rb +1 -1
  70. data/lib/postboost/models/best_posting_times.rb +1 -1
  71. data/lib/postboost/models/best_posting_times_times_inner.rb +1 -1
  72. data/lib/postboost/models/blog_to_social200_response.rb +1 -1
  73. data/lib/postboost/models/blog_to_social429_response.rb +1 -1
  74. data/lib/postboost/models/blog_to_social_caption.rb +1 -1
  75. data/lib/postboost/models/blog_to_social_input.rb +1 -1
  76. data/lib/postboost/models/blog_to_social_media.rb +1 -1
  77. data/lib/postboost/models/blog_to_social_response.rb +1 -1
  78. data/lib/postboost/models/brand_voice.rb +1 -1
  79. data/lib/postboost/models/brand_voice_input.rb +1 -1
  80. data/lib/postboost/models/brand_voice_meta.rb +1 -1
  81. data/lib/postboost/models/cancel_subscription422_response.rb +1 -1
  82. data/lib/postboost/models/cancel_subscription422_response_errors.rb +1 -1
  83. data/lib/postboost/models/cancel_subscription_request.rb +1 -1
  84. data/lib/postboost/models/change_subscription_plan_request.rb +1 -1
  85. data/lib/postboost/models/channel_account.rb +1 -1
  86. data/lib/postboost/models/checkout_subscription200_response.rb +1 -1
  87. data/lib/postboost/models/checkout_subscription_request.rb +1 -1
  88. data/lib/postboost/models/coded_error.rb +1 -1
  89. data/lib/postboost/models/competitor.rb +1 -1
  90. data/lib/postboost/models/competitor_detail.rb +1 -1
  91. data/lib/postboost/models/competitor_input.rb +1 -1
  92. data/lib/postboost/models/competitor_media.rb +1 -1
  93. data/lib/postboost/models/competitor_snapshot.rb +1 -1
  94. data/lib/postboost/models/complete_chunked_upload_request.rb +1 -1
  95. data/lib/postboost/models/connect_channel_input.rb +1 -1
  96. data/lib/postboost/models/connect_link.rb +1 -1
  97. data/lib/postboost/models/create_account_group201_response.rb +1 -1
  98. data/lib/postboost/models/create_agent201_response.rb +1 -1
  99. data/lib/postboost/models/create_api_key201_response.rb +1 -1
  100. data/lib/postboost/models/create_api_key201_response_data.rb +1 -1
  101. data/lib/postboost/models/create_connect_link_request.rb +1 -1
  102. data/lib/postboost/models/create_hashtag_group201_response.rb +1 -1
  103. data/lib/postboost/models/create_inbox_reply_draft201_response.rb +1 -1
  104. data/lib/postboost/models/create_media_folder_request.rb +1 -1
  105. data/lib/postboost/models/create_mention201_response.rb +1 -1
  106. data/lib/postboost/models/create_post201_response.rb +1 -1
  107. data/lib/postboost/models/create_recycling_rule201_response.rb +1 -1
  108. data/lib/postboost/models/create_report_export201_response.rb +1 -1
  109. data/lib/postboost/models/create_reseller_client201_response.rb +1 -1
  110. data/lib/postboost/models/create_rss_feed201_response.rb +1 -1
  111. data/lib/postboost/models/create_template201_response.rb +1 -1
  112. data/lib/postboost/models/create_webhook_subscription201_response.rb +1 -1
  113. data/lib/postboost/models/create_webhook_subscription201_response_data.rb +1 -1
  114. data/lib/postboost/models/delete_agent200_response.rb +1 -1
  115. data/lib/postboost/models/delete_media_bulk_request.rb +1 -1
  116. data/lib/postboost/models/delete_media_bulk_request_items_inner.rb +1 -1
  117. data/lib/postboost/models/delete_media_folder_request.rb +1 -1
  118. data/lib/postboost/models/delete_mode.rb +1 -1
  119. data/lib/postboost/models/delete_post_request.rb +1 -1
  120. data/lib/postboost/models/delete_posts_bulk_request.rb +1 -1
  121. data/lib/postboost/models/delete_receipts_bulk_request.rb +1 -1
  122. data/lib/postboost/models/delete_result.rb +1 -1
  123. data/lib/postboost/models/delete_user400_response.rb +1 -1
  124. data/lib/postboost/models/delete_users_bulk_request.rb +1 -1
  125. data/lib/postboost/models/delete_workspaces_bulk_request.rb +1 -1
  126. data/lib/postboost/models/free_tool_build_utm_url_request.rb +1 -1
  127. data/lib/postboost/models/free_tool_build_utm_url_response.rb +1 -1
  128. data/lib/postboost/models/free_tool_calculate_aspect_ratio_request.rb +321 -0
  129. data/lib/postboost/models/free_tool_calculate_aspect_ratio_response.rb +307 -0
  130. data/lib/postboost/models/free_tool_calculate_aspect_ratio_response_matches_inner.rb +262 -0
  131. data/lib/postboost/models/free_tool_calculate_aspect_ratio_response_rounding.rb +267 -0
  132. data/lib/postboost/models/free_tool_calculate_crop_request.rb +1 -1
  133. data/lib/postboost/models/free_tool_calculate_crop_response.rb +1 -1
  134. data/lib/postboost/models/free_tool_calculate_crop_response_crop.rb +1 -1
  135. data/lib/postboost/models/free_tool_calculate_crop_response_image.rb +1 -1
  136. data/lib/postboost/models/free_tool_calculate_crop_response_output.rb +1 -1
  137. data/lib/postboost/models/free_tool_calculate_engagement_rate_request.rb +1 -1
  138. data/lib/postboost/models/free_tool_calculate_engagement_rate_response.rb +1 -1
  139. data/lib/postboost/models/free_tool_check_post_request.rb +1 -1
  140. data/lib/postboost/models/free_tool_check_post_request_media.rb +1 -1
  141. data/lib/postboost/models/free_tool_check_post_response.rb +1 -1
  142. data/lib/postboost/models/free_tool_check_post_response_networks_inner.rb +1 -1
  143. data/lib/postboost/models/free_tool_check_post_response_networks_inner_errors_inner.rb +1 -1
  144. data/lib/postboost/models/free_tool_clean_text_request.rb +1 -1
  145. data/lib/postboost/models/free_tool_clean_text_response.rb +1 -1
  146. data/lib/postboost/models/free_tool_clean_text_response_changes_inner.rb +1 -1
  147. data/lib/postboost/models/free_tool_clean_text_response_flags_inner.rb +1 -1
  148. data/lib/postboost/models/free_tool_count_characters_request.rb +1 -1
  149. data/lib/postboost/models/free_tool_count_characters_response.rb +1 -1
  150. data/lib/postboost/models/free_tool_count_characters_response_networks_inner.rb +1 -1
  151. data/lib/postboost/models/free_tool_error.rb +1 -1
  152. data/lib/postboost/models/free_tool_format_linked_in_post_request.rb +1 -1
  153. data/lib/postboost/models/free_tool_format_linked_in_post_response.rb +1 -1
  154. data/lib/postboost/models/free_tool_generate_caption_request.rb +1 -1
  155. data/lib/postboost/models/free_tool_generate_caption_response.rb +1 -1
  156. data/lib/postboost/models/free_tool_generate_fancy_text_request.rb +1 -1
  157. data/lib/postboost/models/free_tool_generate_fancy_text_response.rb +1 -1
  158. data/lib/postboost/models/free_tool_generate_fancy_text_response_styles_inner.rb +1 -1
  159. data/lib/postboost/models/free_tool_generate_hashtags_request.rb +1 -1
  160. data/lib/postboost/models/free_tool_generate_hashtags_response.rb +1 -1
  161. data/lib/postboost/models/free_tool_get_best_times_to_post_response.rb +1 -1
  162. data/lib/postboost/models/free_tool_get_best_times_to_post_response_networks_inner.rb +1 -1
  163. data/lib/postboost/models/free_tool_get_image_sizes_response.rb +1 -1
  164. data/lib/postboost/models/free_tool_get_image_sizes_response_sizes_inner.rb +1 -1
  165. data/lib/postboost/models/free_tool_get_image_sizes_response_sources_inner.rb +1 -1
  166. data/lib/postboost/models/free_tool_list.rb +1 -1
  167. data/lib/postboost/models/free_tool_list_item.rb +1 -1
  168. data/lib/postboost/models/free_tool_preview_post_request.rb +362 -0
  169. data/lib/postboost/models/free_tool_preview_post_response.rb +216 -0
  170. data/lib/postboost/models/free_tool_preview_post_response_networks_inner.rb +334 -0
  171. data/lib/postboost/models/free_tool_split_thread_request.rb +1 -1
  172. data/lib/postboost/models/free_tool_split_thread_response.rb +1 -1
  173. data/lib/postboost/models/free_tool_split_thread_response_posts_inner.rb +1 -1
  174. data/lib/postboost/models/get_account_health200_response.rb +1 -1
  175. data/lib/postboost/models/get_brand_voice200_response.rb +1 -1
  176. data/lib/postboost/models/get_competitor200_response.rb +1 -1
  177. data/lib/postboost/models/get_inbox_conversation200_response.rb +1 -1
  178. data/lib/postboost/models/get_posting_schedule200_response.rb +1 -1
  179. data/lib/postboost/models/get_remote_upload_status200_response.rb +1 -1
  180. data/lib/postboost/models/get_report_branding200_response.rb +1 -1
  181. data/lib/postboost/models/get_repurpose_run200_response.rb +1 -1
  182. data/lib/postboost/models/guardrail_error.rb +1 -1
  183. data/lib/postboost/models/hashtag_group.rb +1 -1
  184. data/lib/postboost/models/hashtag_group_input.rb +1 -1
  185. data/lib/postboost/models/image_alt_text200_response.rb +1 -1
  186. data/lib/postboost/models/image_alt_text_input.rb +1 -1
  187. data/lib/postboost/models/image_alt_text_response.rb +1 -1
  188. data/lib/postboost/models/image_credit_balance.rb +1 -1
  189. data/lib/postboost/models/image_edit_input.rb +1 -1
  190. data/lib/postboost/models/image_generate200_response.rb +1 -1
  191. data/lib/postboost/models/image_generate429_response.rb +1 -1
  192. data/lib/postboost/models/image_generate_input.rb +1 -1
  193. data/lib/postboost/models/image_generation_response.rb +1 -1
  194. data/lib/postboost/models/image_prompt200_response.rb +1 -1
  195. data/lib/postboost/models/image_prompt429_response.rb +1 -1
  196. data/lib/postboost/models/image_prompt_input.rb +1 -1
  197. data/lib/postboost/models/image_prompt_response.rb +1 -1
  198. data/lib/postboost/models/image_variations200_response.rb +1 -1
  199. data/lib/postboost/models/image_variations_input.rb +1 -1
  200. data/lib/postboost/models/image_variations_response.rb +1 -1
  201. data/lib/postboost/models/inbox_author.rb +1 -1
  202. data/lib/postboost/models/inbox_conversation.rb +1 -1
  203. data/lib/postboost/models/inbox_conversation_account.rb +1 -1
  204. data/lib/postboost/models/inbox_conversation_update.rb +1 -1
  205. data/lib/postboost/models/inbox_message.rb +1 -1
  206. data/lib/postboost/models/inbox_message_author.rb +1 -1
  207. data/lib/postboost/models/inbox_reply_draft.rb +1 -1
  208. data/lib/postboost/models/inbox_reply_draft_approve.rb +1 -1
  209. data/lib/postboost/models/inbox_reply_draft_edit.rb +1 -1
  210. data/lib/postboost/models/inbox_reply_draft_input.rb +1 -1
  211. data/lib/postboost/models/initiate_chunked_upload201_response.rb +1 -1
  212. data/lib/postboost/models/initiate_chunked_upload_request.rb +1 -1
  213. data/lib/postboost/models/initiate_remote_upload201_response.rb +1 -1
  214. data/lib/postboost/models/initiate_remote_upload201_response_one_of.rb +1 -1
  215. data/lib/postboost/models/initiate_remote_upload_request.rb +1 -1
  216. data/lib/postboost/models/learn_brand_voice_input.rb +1 -1
  217. data/lib/postboost/models/learn_brand_voice_response.rb +1 -1
  218. data/lib/postboost/models/learn_brand_voice_response_meta.rb +1 -1
  219. data/lib/postboost/models/list_account_groups200_response.rb +1 -1
  220. data/lib/postboost/models/list_accounts200_response.rb +1 -1
  221. data/lib/postboost/models/list_agent_proposals200_response.rb +1 -1
  222. data/lib/postboost/models/list_agent_runs200_response.rb +1 -1
  223. data/lib/postboost/models/list_agents200_response.rb +1 -1
  224. data/lib/postboost/models/list_api_activity200_response.rb +1 -1
  225. data/lib/postboost/models/list_api_keys200_response.rb +1 -1
  226. data/lib/postboost/models/list_competitors200_response.rb +1 -1
  227. data/lib/postboost/models/list_hashtag_groups200_response.rb +1 -1
  228. data/lib/postboost/models/list_inbox_conversations200_response.rb +1 -1
  229. data/lib/postboost/models/list_inbox_reply_drafts200_response.rb +1 -1
  230. data/lib/postboost/models/list_media200_response.rb +1 -1
  231. data/lib/postboost/models/list_media_folders200_response.rb +1 -1
  232. data/lib/postboost/models/list_mentions200_response.rb +1 -1
  233. data/lib/postboost/models/list_my_workspaces200_response.rb +1 -1
  234. data/lib/postboost/models/list_posts200_response.rb +1 -1
  235. data/lib/postboost/models/list_receipts200_response.rb +1 -1
  236. data/lib/postboost/models/list_recycling_rules200_response.rb +1 -1
  237. data/lib/postboost/models/list_recycling_runs200_response.rb +1 -1
  238. data/lib/postboost/models/list_report_exports200_response.rb +1 -1
  239. data/lib/postboost/models/list_reseller_clients200_response.rb +1 -1
  240. data/lib/postboost/models/list_rss_feeds200_response.rb +1 -1
  241. data/lib/postboost/models/list_tags200_response.rb +1 -1
  242. data/lib/postboost/models/list_templates200_response.rb +1 -1
  243. data/lib/postboost/models/list_users200_response.rb +1 -1
  244. data/lib/postboost/models/list_webhook_subscriptions200_response.rb +1 -1
  245. data/lib/postboost/models/list_workspaces200_response.rb +1 -1
  246. data/lib/postboost/models/media.rb +1 -1
  247. data/lib/postboost/models/media_base64_input.rb +1 -1
  248. data/lib/postboost/models/media_folder.rb +1 -1
  249. data/lib/postboost/models/media_folder_input.rb +1 -1
  250. data/lib/postboost/models/media_folder_ref.rb +1 -1
  251. data/lib/postboost/models/mention.rb +1 -1
  252. data/lib/postboost/models/mention_identity.rb +1 -1
  253. data/lib/postboost/models/mention_identity_input.rb +1 -1
  254. data/lib/postboost/models/mention_input.rb +1 -1
  255. data/lib/postboost/models/message_only.rb +1 -1
  256. data/lib/postboost/models/pagination_meta.rb +1 -1
  257. data/lib/postboost/models/pagination_meta_links.rb +1 -1
  258. data/lib/postboost/models/pagination_meta_meta.rb +1 -1
  259. data/lib/postboost/models/poll_rss_feed200_response.rb +1 -1
  260. data/lib/postboost/models/post.rb +1 -1
  261. data/lib/postboost/models/post_analytics.rb +1 -1
  262. data/lib/postboost/models/post_content.rb +1 -1
  263. data/lib/postboost/models/post_input.rb +1 -1
  264. data/lib/postboost/models/post_options_instagram.rb +1 -1
  265. data/lib/postboost/models/post_options_tik_tok.rb +1 -1
  266. data/lib/postboost/models/post_options_youtube.rb +1 -1
  267. data/lib/postboost/models/post_status.rb +1 -1
  268. data/lib/postboost/models/post_version.rb +1 -1
  269. data/lib/postboost/models/post_version_options.rb +1 -1
  270. data/lib/postboost/models/post_warning.rb +1 -1
  271. data/lib/postboost/models/post_warnings.rb +1 -1
  272. data/lib/postboost/models/posting_schedule.rb +1 -1
  273. data/lib/postboost/models/posting_schedule_day.rb +1 -1
  274. data/lib/postboost/models/posting_schedule_day_times_inner.rb +1 -1
  275. data/lib/postboost/models/posting_schedule_input.rb +1 -1
  276. data/lib/postboost/models/posting_time_slot.rb +1 -1
  277. data/lib/postboost/models/posting_times.rb +1 -1
  278. data/lib/postboost/models/posting_times_best_inner.rb +1 -1
  279. data/lib/postboost/models/posting_times_day_intervals_inner_inner.rb +1 -1
  280. data/lib/postboost/models/posting_times_days_inner.rb +1 -1
  281. data/lib/postboost/models/preflight_result.rb +1 -1
  282. data/lib/postboost/models/public_workspace.rb +1 -1
  283. data/lib/postboost/models/public_workspace_pivot.rb +1 -1
  284. data/lib/postboost/models/publish_progress.rb +1 -1
  285. data/lib/postboost/models/queue_slots.rb +1 -1
  286. data/lib/postboost/models/receipt.rb +1 -1
  287. data/lib/postboost/models/receipt_input.rb +1 -1
  288. data/lib/postboost/models/receipt_update_input.rb +1 -1
  289. data/lib/postboost/models/recommended_posting_times.rb +1 -1
  290. data/lib/postboost/models/reconnect_link.rb +1 -1
  291. data/lib/postboost/models/recycling_rule.rb +1 -1
  292. data/lib/postboost/models/recycling_rule_input.rb +1 -1
  293. data/lib/postboost/models/recycling_rule_settings.rb +1 -1
  294. data/lib/postboost/models/recycling_rule_update.rb +1 -1
  295. data/lib/postboost/models/recycling_run.rb +1 -1
  296. data/lib/postboost/models/remove_generic_subscription422_response.rb +1 -1
  297. data/lib/postboost/models/remove_user_from_workspace_request.rb +1 -1
  298. data/lib/postboost/models/report_branding.rb +1 -1
  299. data/lib/postboost/models/report_branding_input.rb +1 -1
  300. data/lib/postboost/models/report_export.rb +1 -1
  301. data/lib/postboost/models/report_export_input.rb +1 -1
  302. data/lib/postboost/models/repurpose_content200_response.rb +1 -1
  303. data/lib/postboost/models/repurpose_content202_response.rb +1 -1
  304. data/lib/postboost/models/repurpose_content500_response.rb +1 -1
  305. data/lib/postboost/models/repurpose_input.rb +1 -1
  306. data/lib/postboost/models/repurpose_input_theme.rb +1 -1
  307. data/lib/postboost/models/repurpose_result.rb +1 -1
  308. data/lib/postboost/models/repurpose_result_media.rb +1 -1
  309. data/lib/postboost/models/repurpose_result_source.rb +1 -1
  310. data/lib/postboost/models/repurpose_run.rb +1 -1
  311. data/lib/postboost/models/repurpose_run_accepted.rb +1 -1
  312. data/lib/postboost/models/repurpose_slide.rb +1 -1
  313. data/lib/postboost/models/reseller_client.rb +1 -1
  314. data/lib/postboost/models/reseller_client_input.rb +1 -1
  315. data/lib/postboost/models/reseller_client_usage.rb +1 -1
  316. data/lib/postboost/models/retry_post_account_result.rb +1 -1
  317. data/lib/postboost/models/rss_feed.rb +1 -1
  318. data/lib/postboost/models/rss_feed_input.rb +1 -1
  319. data/lib/postboost/models/rss_feed_update.rb +1 -1
  320. data/lib/postboost/models/run_agent202_response.rb +1 -1
  321. data/lib/postboost/models/schedule_post_request.rb +1 -1
  322. data/lib/postboost/models/schedule_result.rb +1 -1
  323. data/lib/postboost/models/subscription.rb +1 -1
  324. data/lib/postboost/models/subscription_input.rb +1 -1
  325. data/lib/postboost/models/subscription_status.rb +1 -1
  326. data/lib/postboost/models/subscription_update_input.rb +1 -1
  327. data/lib/postboost/models/tag.rb +1 -1
  328. data/lib/postboost/models/tag_input.rb +1 -1
  329. data/lib/postboost/models/template.rb +1 -1
  330. data/lib/postboost/models/template_content_item.rb +1 -1
  331. data/lib/postboost/models/template_input.rb +1 -1
  332. data/lib/postboost/models/template_input_content_inner.rb +1 -1
  333. data/lib/postboost/models/update_media_request.rb +1 -1
  334. data/lib/postboost/models/update_post200_response.rb +1 -1
  335. data/lib/postboost/models/upload_chunk201_response.rb +1 -1
  336. data/lib/postboost/models/user.rb +1 -1
  337. data/lib/postboost/models/user_input.rb +1 -1
  338. data/lib/postboost/models/user_update_input.rb +1 -1
  339. data/lib/postboost/models/webhook_event_name.rb +1 -1
  340. data/lib/postboost/models/webhook_event_payload.rb +1 -1
  341. data/lib/postboost/models/webhook_subscription.rb +1 -1
  342. data/lib/postboost/models/webhook_subscription_input.rb +1 -1
  343. data/lib/postboost/models/workspace.rb +1 -1
  344. data/lib/postboost/models/workspace_agent.rb +1 -1
  345. data/lib/postboost/models/workspace_agent_input.rb +1 -1
  346. data/lib/postboost/models/workspace_agent_settings.rb +1 -1
  347. data/lib/postboost/models/workspace_agent_update.rb +1 -1
  348. data/lib/postboost/models/workspace_input.rb +1 -1
  349. data/lib/postboost/models/workspace_user_input.rb +1 -1
  350. data/lib/postboost/models/x_usage.rb +1 -1
  351. data/lib/postboost/models/x_usage_counter.rb +1 -1
  352. data/lib/postboost/version.rb +2 -2
  353. data/lib/postboost.rb +8 -1
  354. data/postboost.gemspec +1 -1
  355. data/spec/api/account_groups_api_spec.rb +1 -1
  356. data/spec/api/accounts_api_spec.rb +1 -1
  357. data/spec/api/activity_api_spec.rb +1 -1
  358. data/spec/api/agents_api_spec.rb +1 -1
  359. data/spec/api/ai_api_spec.rb +1 -1
  360. data/spec/api/analytics_api_spec.rb +1 -1
  361. data/spec/api/competitors_api_spec.rb +1 -1
  362. data/spec/api/free_tools_api_spec.rb +25 -1
  363. data/spec/api/hashtag_groups_api_spec.rb +1 -1
  364. data/spec/api/inbox_api_spec.rb +1 -1
  365. data/spec/api/media_api_spec.rb +1 -1
  366. data/spec/api/mentions_api_spec.rb +1 -1
  367. data/spec/api/posting_schedule_api_spec.rb +1 -1
  368. data/spec/api/posts_api_spec.rb +1 -1
  369. data/spec/api/receipts_api_spec.rb +1 -1
  370. data/spec/api/subscriptions_api_spec.rb +1 -1
  371. data/spec/api/tags_api_spec.rb +1 -1
  372. data/spec/api/templates_api_spec.rb +1 -1
  373. data/spec/api/users_api_spec.rb +1 -1
  374. data/spec/api/webhooks_api_spec.rb +1 -1
  375. data/spec/api/workspaces_api_spec.rb +1 -1
  376. data/spec/models/account_analytics_initial_sync_spec.rb +1 -1
  377. data/spec/models/account_analytics_spec.rb +1 -1
  378. data/spec/models/account_connection_health_reconnect_reason_spec.rb +1 -1
  379. data/spec/models/account_connection_health_spec.rb +1 -1
  380. data/spec/models/account_errors_inner_one_of_spec.rb +1 -1
  381. data/spec/models/account_errors_inner_spec.rb +1 -1
  382. data/spec/models/account_group_input_spec.rb +1 -1
  383. data/spec/models/account_group_spec.rb +1 -1
  384. data/spec/models/account_health_daily_cap_spec.rb +1 -1
  385. data/spec/models/account_health_spec.rb +1 -1
  386. data/spec/models/account_schedule_spec.rb +1 -1
  387. data/spec/models/account_spec.rb +1 -1
  388. data/spec/models/add_competitor202_response_spec.rb +1 -1
  389. data/spec/models/add_competitor409_response_spec.rb +1 -1
  390. data/spec/models/add_generic_subscription_request_spec.rb +1 -1
  391. data/spec/models/add_post_to_queue_request_spec.rb +1 -1
  392. data/spec/models/agent_page_meta_spec.rb +1 -1
  393. data/spec/models/agent_proposal_decision_spec.rb +1 -1
  394. data/spec/models/agent_proposal_spec.rb +1 -1
  395. data/spec/models/agent_run_spec.rb +1 -1
  396. data/spec/models/ai_credits_spec.rb +1 -1
  397. data/spec/models/ai_usage_spec.rb +1 -1
  398. data/spec/models/ai_usage_text_spec.rb +1 -1
  399. data/spec/models/analytics_period_spec.rb +1 -1
  400. data/spec/models/analytics_summary_data_spec.rb +1 -1
  401. data/spec/models/analytics_summary_spec.rb +1 -1
  402. data/spec/models/api_activity_outcome_spec.rb +1 -1
  403. data/spec/models/api_activity_spec.rb +1 -1
  404. data/spec/models/api_key_ability_spec.rb +1 -1
  405. data/spec/models/api_key_input_spec.rb +1 -1
  406. data/spec/models/api_key_spec.rb +1 -1
  407. data/spec/models/approve_agent_proposal200_response_spec.rb +1 -1
  408. data/spec/models/approve_agent_proposal409_response_spec.rb +1 -1
  409. data/spec/models/approve_inbox_reply_draft403_response_spec.rb +1 -1
  410. data/spec/models/approve_post_request_spec.rb +1 -1
  411. data/spec/models/best_posting_times_spec.rb +1 -1
  412. data/spec/models/best_posting_times_times_inner_spec.rb +1 -1
  413. data/spec/models/blog_to_social200_response_spec.rb +1 -1
  414. data/spec/models/blog_to_social429_response_spec.rb +1 -1
  415. data/spec/models/blog_to_social_caption_spec.rb +1 -1
  416. data/spec/models/blog_to_social_input_spec.rb +1 -1
  417. data/spec/models/blog_to_social_media_spec.rb +1 -1
  418. data/spec/models/blog_to_social_response_spec.rb +1 -1
  419. data/spec/models/brand_voice_input_spec.rb +1 -1
  420. data/spec/models/brand_voice_meta_spec.rb +1 -1
  421. data/spec/models/brand_voice_spec.rb +1 -1
  422. data/spec/models/cancel_subscription422_response_errors_spec.rb +1 -1
  423. data/spec/models/cancel_subscription422_response_spec.rb +1 -1
  424. data/spec/models/cancel_subscription_request_spec.rb +1 -1
  425. data/spec/models/change_subscription_plan_request_spec.rb +1 -1
  426. data/spec/models/channel_account_spec.rb +1 -1
  427. data/spec/models/checkout_subscription200_response_spec.rb +1 -1
  428. data/spec/models/checkout_subscription_request_spec.rb +1 -1
  429. data/spec/models/coded_error_spec.rb +1 -1
  430. data/spec/models/competitor_detail_spec.rb +1 -1
  431. data/spec/models/competitor_input_spec.rb +1 -1
  432. data/spec/models/competitor_media_spec.rb +1 -1
  433. data/spec/models/competitor_snapshot_spec.rb +1 -1
  434. data/spec/models/competitor_spec.rb +1 -1
  435. data/spec/models/complete_chunked_upload_request_spec.rb +1 -1
  436. data/spec/models/connect_channel_input_spec.rb +1 -1
  437. data/spec/models/connect_link_spec.rb +1 -1
  438. data/spec/models/create_account_group201_response_spec.rb +1 -1
  439. data/spec/models/create_agent201_response_spec.rb +1 -1
  440. data/spec/models/create_api_key201_response_data_spec.rb +1 -1
  441. data/spec/models/create_api_key201_response_spec.rb +1 -1
  442. data/spec/models/create_connect_link_request_spec.rb +1 -1
  443. data/spec/models/create_hashtag_group201_response_spec.rb +1 -1
  444. data/spec/models/create_inbox_reply_draft201_response_spec.rb +1 -1
  445. data/spec/models/create_media_folder_request_spec.rb +1 -1
  446. data/spec/models/create_mention201_response_spec.rb +1 -1
  447. data/spec/models/create_post201_response_spec.rb +1 -1
  448. data/spec/models/create_recycling_rule201_response_spec.rb +1 -1
  449. data/spec/models/create_report_export201_response_spec.rb +1 -1
  450. data/spec/models/create_reseller_client201_response_spec.rb +1 -1
  451. data/spec/models/create_rss_feed201_response_spec.rb +1 -1
  452. data/spec/models/create_template201_response_spec.rb +1 -1
  453. data/spec/models/create_webhook_subscription201_response_data_spec.rb +1 -1
  454. data/spec/models/create_webhook_subscription201_response_spec.rb +1 -1
  455. data/spec/models/delete_agent200_response_spec.rb +1 -1
  456. data/spec/models/delete_media_bulk_request_items_inner_spec.rb +1 -1
  457. data/spec/models/delete_media_bulk_request_spec.rb +1 -1
  458. data/spec/models/delete_media_folder_request_spec.rb +1 -1
  459. data/spec/models/delete_mode_spec.rb +1 -1
  460. data/spec/models/delete_post_request_spec.rb +1 -1
  461. data/spec/models/delete_posts_bulk_request_spec.rb +1 -1
  462. data/spec/models/delete_receipts_bulk_request_spec.rb +1 -1
  463. data/spec/models/delete_result_spec.rb +1 -1
  464. data/spec/models/delete_user400_response_spec.rb +1 -1
  465. data/spec/models/delete_users_bulk_request_spec.rb +1 -1
  466. data/spec/models/delete_workspaces_bulk_request_spec.rb +1 -1
  467. data/spec/models/free_tool_build_utm_url_request_spec.rb +1 -1
  468. data/spec/models/free_tool_build_utm_url_response_spec.rb +1 -1
  469. data/spec/models/free_tool_calculate_aspect_ratio_request_spec.rb +48 -0
  470. data/spec/models/free_tool_calculate_aspect_ratio_response_matches_inner_spec.rb +66 -0
  471. data/spec/models/free_tool_calculate_aspect_ratio_response_rounding_spec.rb +52 -0
  472. data/spec/models/free_tool_calculate_aspect_ratio_response_spec.rb +76 -0
  473. data/spec/models/free_tool_calculate_crop_request_spec.rb +1 -1
  474. data/spec/models/free_tool_calculate_crop_response_crop_spec.rb +1 -1
  475. data/spec/models/free_tool_calculate_crop_response_image_spec.rb +1 -1
  476. data/spec/models/free_tool_calculate_crop_response_output_spec.rb +1 -1
  477. data/spec/models/free_tool_calculate_crop_response_spec.rb +1 -1
  478. data/spec/models/free_tool_calculate_engagement_rate_request_spec.rb +1 -1
  479. data/spec/models/free_tool_calculate_engagement_rate_response_spec.rb +1 -1
  480. data/spec/models/free_tool_check_post_request_media_spec.rb +1 -1
  481. data/spec/models/free_tool_check_post_request_spec.rb +1 -1
  482. data/spec/models/free_tool_check_post_response_networks_inner_errors_inner_spec.rb +1 -1
  483. data/spec/models/free_tool_check_post_response_networks_inner_spec.rb +1 -1
  484. data/spec/models/free_tool_check_post_response_spec.rb +1 -1
  485. data/spec/models/free_tool_clean_text_request_spec.rb +1 -1
  486. data/spec/models/free_tool_clean_text_response_changes_inner_spec.rb +1 -1
  487. data/spec/models/free_tool_clean_text_response_flags_inner_spec.rb +1 -1
  488. data/spec/models/free_tool_clean_text_response_spec.rb +1 -1
  489. data/spec/models/free_tool_count_characters_request_spec.rb +1 -1
  490. data/spec/models/free_tool_count_characters_response_networks_inner_spec.rb +1 -1
  491. data/spec/models/free_tool_count_characters_response_spec.rb +1 -1
  492. data/spec/models/free_tool_error_spec.rb +1 -1
  493. data/spec/models/free_tool_format_linked_in_post_request_spec.rb +1 -1
  494. data/spec/models/free_tool_format_linked_in_post_response_spec.rb +1 -1
  495. data/spec/models/free_tool_generate_caption_request_spec.rb +1 -1
  496. data/spec/models/free_tool_generate_caption_response_spec.rb +1 -1
  497. data/spec/models/free_tool_generate_fancy_text_request_spec.rb +1 -1
  498. data/spec/models/free_tool_generate_fancy_text_response_spec.rb +1 -1
  499. data/spec/models/free_tool_generate_fancy_text_response_styles_inner_spec.rb +1 -1
  500. data/spec/models/free_tool_generate_hashtags_request_spec.rb +1 -1
  501. data/spec/models/free_tool_generate_hashtags_response_spec.rb +1 -1
  502. data/spec/models/free_tool_get_best_times_to_post_response_networks_inner_spec.rb +1 -1
  503. data/spec/models/free_tool_get_best_times_to_post_response_spec.rb +1 -1
  504. data/spec/models/free_tool_get_image_sizes_response_sizes_inner_spec.rb +1 -1
  505. data/spec/models/free_tool_get_image_sizes_response_sources_inner_spec.rb +1 -1
  506. data/spec/models/free_tool_get_image_sizes_response_spec.rb +1 -1
  507. data/spec/models/free_tool_list_item_spec.rb +1 -1
  508. data/spec/models/free_tool_list_spec.rb +1 -1
  509. data/spec/models/free_tool_preview_post_request_spec.rb +58 -0
  510. data/spec/models/free_tool_preview_post_response_networks_inner_spec.rb +94 -0
  511. data/spec/models/free_tool_preview_post_response_spec.rb +36 -0
  512. data/spec/models/free_tool_split_thread_request_spec.rb +1 -1
  513. data/spec/models/free_tool_split_thread_response_posts_inner_spec.rb +1 -1
  514. data/spec/models/free_tool_split_thread_response_spec.rb +1 -1
  515. data/spec/models/get_account_health200_response_spec.rb +1 -1
  516. data/spec/models/get_brand_voice200_response_spec.rb +1 -1
  517. data/spec/models/get_competitor200_response_spec.rb +1 -1
  518. data/spec/models/get_inbox_conversation200_response_spec.rb +1 -1
  519. data/spec/models/get_posting_schedule200_response_spec.rb +1 -1
  520. data/spec/models/get_remote_upload_status200_response_spec.rb +1 -1
  521. data/spec/models/get_report_branding200_response_spec.rb +1 -1
  522. data/spec/models/get_repurpose_run200_response_spec.rb +1 -1
  523. data/spec/models/guardrail_error_spec.rb +1 -1
  524. data/spec/models/hashtag_group_input_spec.rb +1 -1
  525. data/spec/models/hashtag_group_spec.rb +1 -1
  526. data/spec/models/image_alt_text200_response_spec.rb +1 -1
  527. data/spec/models/image_alt_text_input_spec.rb +1 -1
  528. data/spec/models/image_alt_text_response_spec.rb +1 -1
  529. data/spec/models/image_credit_balance_spec.rb +1 -1
  530. data/spec/models/image_edit_input_spec.rb +1 -1
  531. data/spec/models/image_generate200_response_spec.rb +1 -1
  532. data/spec/models/image_generate429_response_spec.rb +1 -1
  533. data/spec/models/image_generate_input_spec.rb +1 -1
  534. data/spec/models/image_generation_response_spec.rb +1 -1
  535. data/spec/models/image_prompt200_response_spec.rb +1 -1
  536. data/spec/models/image_prompt429_response_spec.rb +1 -1
  537. data/spec/models/image_prompt_input_spec.rb +1 -1
  538. data/spec/models/image_prompt_response_spec.rb +1 -1
  539. data/spec/models/image_variations200_response_spec.rb +1 -1
  540. data/spec/models/image_variations_input_spec.rb +1 -1
  541. data/spec/models/image_variations_response_spec.rb +1 -1
  542. data/spec/models/inbox_author_spec.rb +1 -1
  543. data/spec/models/inbox_conversation_account_spec.rb +1 -1
  544. data/spec/models/inbox_conversation_spec.rb +1 -1
  545. data/spec/models/inbox_conversation_update_spec.rb +1 -1
  546. data/spec/models/inbox_message_author_spec.rb +1 -1
  547. data/spec/models/inbox_message_spec.rb +1 -1
  548. data/spec/models/inbox_reply_draft_approve_spec.rb +1 -1
  549. data/spec/models/inbox_reply_draft_edit_spec.rb +1 -1
  550. data/spec/models/inbox_reply_draft_input_spec.rb +1 -1
  551. data/spec/models/inbox_reply_draft_spec.rb +1 -1
  552. data/spec/models/initiate_chunked_upload201_response_spec.rb +1 -1
  553. data/spec/models/initiate_chunked_upload_request_spec.rb +1 -1
  554. data/spec/models/initiate_remote_upload201_response_one_of_spec.rb +1 -1
  555. data/spec/models/initiate_remote_upload201_response_spec.rb +1 -1
  556. data/spec/models/initiate_remote_upload_request_spec.rb +1 -1
  557. data/spec/models/learn_brand_voice_input_spec.rb +1 -1
  558. data/spec/models/learn_brand_voice_response_meta_spec.rb +1 -1
  559. data/spec/models/learn_brand_voice_response_spec.rb +1 -1
  560. data/spec/models/list_account_groups200_response_spec.rb +1 -1
  561. data/spec/models/list_accounts200_response_spec.rb +1 -1
  562. data/spec/models/list_agent_proposals200_response_spec.rb +1 -1
  563. data/spec/models/list_agent_runs200_response_spec.rb +1 -1
  564. data/spec/models/list_agents200_response_spec.rb +1 -1
  565. data/spec/models/list_api_activity200_response_spec.rb +1 -1
  566. data/spec/models/list_api_keys200_response_spec.rb +1 -1
  567. data/spec/models/list_competitors200_response_spec.rb +1 -1
  568. data/spec/models/list_hashtag_groups200_response_spec.rb +1 -1
  569. data/spec/models/list_inbox_conversations200_response_spec.rb +1 -1
  570. data/spec/models/list_inbox_reply_drafts200_response_spec.rb +1 -1
  571. data/spec/models/list_media200_response_spec.rb +1 -1
  572. data/spec/models/list_media_folders200_response_spec.rb +1 -1
  573. data/spec/models/list_mentions200_response_spec.rb +1 -1
  574. data/spec/models/list_my_workspaces200_response_spec.rb +1 -1
  575. data/spec/models/list_posts200_response_spec.rb +1 -1
  576. data/spec/models/list_receipts200_response_spec.rb +1 -1
  577. data/spec/models/list_recycling_rules200_response_spec.rb +1 -1
  578. data/spec/models/list_recycling_runs200_response_spec.rb +1 -1
  579. data/spec/models/list_report_exports200_response_spec.rb +1 -1
  580. data/spec/models/list_reseller_clients200_response_spec.rb +1 -1
  581. data/spec/models/list_rss_feeds200_response_spec.rb +1 -1
  582. data/spec/models/list_tags200_response_spec.rb +1 -1
  583. data/spec/models/list_templates200_response_spec.rb +1 -1
  584. data/spec/models/list_users200_response_spec.rb +1 -1
  585. data/spec/models/list_webhook_subscriptions200_response_spec.rb +1 -1
  586. data/spec/models/list_workspaces200_response_spec.rb +1 -1
  587. data/spec/models/media_base64_input_spec.rb +1 -1
  588. data/spec/models/media_folder_input_spec.rb +1 -1
  589. data/spec/models/media_folder_ref_spec.rb +1 -1
  590. data/spec/models/media_folder_spec.rb +1 -1
  591. data/spec/models/media_spec.rb +1 -1
  592. data/spec/models/mention_identity_input_spec.rb +1 -1
  593. data/spec/models/mention_identity_spec.rb +1 -1
  594. data/spec/models/mention_input_spec.rb +1 -1
  595. data/spec/models/mention_spec.rb +1 -1
  596. data/spec/models/message_only_spec.rb +1 -1
  597. data/spec/models/pagination_meta_links_spec.rb +1 -1
  598. data/spec/models/pagination_meta_meta_spec.rb +1 -1
  599. data/spec/models/pagination_meta_spec.rb +1 -1
  600. data/spec/models/poll_rss_feed200_response_spec.rb +1 -1
  601. data/spec/models/post_analytics_spec.rb +1 -1
  602. data/spec/models/post_content_spec.rb +1 -1
  603. data/spec/models/post_input_spec.rb +1 -1
  604. data/spec/models/post_options_instagram_spec.rb +1 -1
  605. data/spec/models/post_options_tik_tok_spec.rb +1 -1
  606. data/spec/models/post_options_youtube_spec.rb +1 -1
  607. data/spec/models/post_spec.rb +1 -1
  608. data/spec/models/post_status_spec.rb +1 -1
  609. data/spec/models/post_version_options_spec.rb +1 -1
  610. data/spec/models/post_version_spec.rb +1 -1
  611. data/spec/models/post_warning_spec.rb +1 -1
  612. data/spec/models/post_warnings_spec.rb +1 -1
  613. data/spec/models/posting_schedule_day_spec.rb +1 -1
  614. data/spec/models/posting_schedule_day_times_inner_spec.rb +1 -1
  615. data/spec/models/posting_schedule_input_spec.rb +1 -1
  616. data/spec/models/posting_schedule_spec.rb +1 -1
  617. data/spec/models/posting_time_slot_spec.rb +1 -1
  618. data/spec/models/posting_times_best_inner_spec.rb +1 -1
  619. data/spec/models/posting_times_day_intervals_inner_inner_spec.rb +1 -1
  620. data/spec/models/posting_times_days_inner_spec.rb +1 -1
  621. data/spec/models/posting_times_spec.rb +1 -1
  622. data/spec/models/preflight_result_spec.rb +1 -1
  623. data/spec/models/public_workspace_pivot_spec.rb +1 -1
  624. data/spec/models/public_workspace_spec.rb +1 -1
  625. data/spec/models/publish_progress_spec.rb +1 -1
  626. data/spec/models/queue_slots_spec.rb +1 -1
  627. data/spec/models/receipt_input_spec.rb +1 -1
  628. data/spec/models/receipt_spec.rb +1 -1
  629. data/spec/models/receipt_update_input_spec.rb +1 -1
  630. data/spec/models/recommended_posting_times_spec.rb +1 -1
  631. data/spec/models/reconnect_link_spec.rb +1 -1
  632. data/spec/models/recycling_rule_input_spec.rb +1 -1
  633. data/spec/models/recycling_rule_settings_spec.rb +1 -1
  634. data/spec/models/recycling_rule_spec.rb +1 -1
  635. data/spec/models/recycling_rule_update_spec.rb +1 -1
  636. data/spec/models/recycling_run_spec.rb +1 -1
  637. data/spec/models/remove_generic_subscription422_response_spec.rb +1 -1
  638. data/spec/models/remove_user_from_workspace_request_spec.rb +1 -1
  639. data/spec/models/report_branding_input_spec.rb +1 -1
  640. data/spec/models/report_branding_spec.rb +1 -1
  641. data/spec/models/report_export_input_spec.rb +1 -1
  642. data/spec/models/report_export_spec.rb +1 -1
  643. data/spec/models/repurpose_content200_response_spec.rb +1 -1
  644. data/spec/models/repurpose_content202_response_spec.rb +1 -1
  645. data/spec/models/repurpose_content500_response_spec.rb +1 -1
  646. data/spec/models/repurpose_input_spec.rb +1 -1
  647. data/spec/models/repurpose_input_theme_spec.rb +1 -1
  648. data/spec/models/repurpose_result_media_spec.rb +1 -1
  649. data/spec/models/repurpose_result_source_spec.rb +1 -1
  650. data/spec/models/repurpose_result_spec.rb +1 -1
  651. data/spec/models/repurpose_run_accepted_spec.rb +1 -1
  652. data/spec/models/repurpose_run_spec.rb +1 -1
  653. data/spec/models/repurpose_slide_spec.rb +1 -1
  654. data/spec/models/reseller_client_input_spec.rb +1 -1
  655. data/spec/models/reseller_client_spec.rb +1 -1
  656. data/spec/models/reseller_client_usage_spec.rb +1 -1
  657. data/spec/models/retry_post_account_result_spec.rb +1 -1
  658. data/spec/models/rss_feed_input_spec.rb +1 -1
  659. data/spec/models/rss_feed_spec.rb +1 -1
  660. data/spec/models/rss_feed_update_spec.rb +1 -1
  661. data/spec/models/run_agent202_response_spec.rb +1 -1
  662. data/spec/models/schedule_post_request_spec.rb +1 -1
  663. data/spec/models/schedule_result_spec.rb +1 -1
  664. data/spec/models/subscription_input_spec.rb +1 -1
  665. data/spec/models/subscription_spec.rb +1 -1
  666. data/spec/models/subscription_status_spec.rb +1 -1
  667. data/spec/models/subscription_update_input_spec.rb +1 -1
  668. data/spec/models/tag_input_spec.rb +1 -1
  669. data/spec/models/tag_spec.rb +1 -1
  670. data/spec/models/template_content_item_spec.rb +1 -1
  671. data/spec/models/template_input_content_inner_spec.rb +1 -1
  672. data/spec/models/template_input_spec.rb +1 -1
  673. data/spec/models/template_spec.rb +1 -1
  674. data/spec/models/update_media_request_spec.rb +1 -1
  675. data/spec/models/update_post200_response_spec.rb +1 -1
  676. data/spec/models/upload_chunk201_response_spec.rb +1 -1
  677. data/spec/models/user_input_spec.rb +1 -1
  678. data/spec/models/user_spec.rb +1 -1
  679. data/spec/models/user_update_input_spec.rb +1 -1
  680. data/spec/models/webhook_event_name_spec.rb +1 -1
  681. data/spec/models/webhook_event_payload_spec.rb +1 -1
  682. data/spec/models/webhook_subscription_input_spec.rb +1 -1
  683. data/spec/models/webhook_subscription_spec.rb +1 -1
  684. data/spec/models/workspace_agent_input_spec.rb +1 -1
  685. data/spec/models/workspace_agent_settings_spec.rb +1 -1
  686. data/spec/models/workspace_agent_spec.rb +1 -1
  687. data/spec/models/workspace_agent_update_spec.rb +1 -1
  688. data/spec/models/workspace_input_spec.rb +1 -1
  689. data/spec/models/workspace_spec.rb +1 -1
  690. data/spec/models/workspace_user_input_spec.rb +1 -1
  691. data/spec/models/x_usage_counter_spec.rb +1 -1
  692. data/spec/models/x_usage_spec.rb +1 -1
  693. data/spec/spec_helper.rb +1 -1
  694. metadata +29 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 255817ea84fd72fc1362d415f849c5093e93202449ae5ce5c24846e4b454391d
4
- data.tar.gz: 3c384b3fe06623baacf1ed6114eb195839b7d63c94f5ec712edb8fe9c171345c
3
+ metadata.gz: cb24598a4780b450d6a5e146f363d042c2b117c7cddb02a5cb88964b602d9055
4
+ data.tar.gz: '081b8e5933335bf5a8e6f82b393d566fc4cc8f6aeb2c0f1488074847b411749c'
5
5
  SHA512:
6
- metadata.gz: 229f756ead6efee2f014b1acb176d6327f20af7cb152af54378bb3f88655e033edba96a86189ae2bd3dec2f70fe349fcb97b41b8cf6e7799fddbde26a3ef753c
7
- data.tar.gz: 0bf5adb9db882a9f5adf24e68c08123453653d7d2359d9a7d24604da2b75c9b0915907fc9d7b5e44d50f5162a1a641f423e5772e4e2fde119e6c98e3f0c75f3f
6
+ metadata.gz: fd79f35e504ff97cd1707f047ab6a5ed943de66c6b8af1ad7dcce99e91edfadd049c45bbbedfb324f115ed82f7b6b3178f4d4da56b1396d021b8adc95c28d1d1
7
+ data.tar.gz: 9528d9008c2c9053f1e1101aa3f87ce054ceef4780d0a9250a7ca7384d131ee7b0744ac790e7d85c4c29778fd5ead8e715edb3d16a0bb8253b7d8ee01727f057
data/README.md CHANGED
@@ -13,7 +13,7 @@ gem install postboost
13
13
  | **RubyGems** | [rubygems.org/gems/postboost](https://rubygems.org/gems/postboost) |
14
14
  | **GitHub** | [postboost-co/postboost-ruby](https://github.com/postboost-co/postboost-ruby) |
15
15
  | **Docs** | [postboost.co/docs/api](https://postboost.co/docs/api) |
16
- | **Version** | v1.31.0 |
16
+ | **Version** | v1.33.0 |
17
17
 
18
18
  ## Quick start
19
19
 
@@ -87,6 +87,7 @@ Class | Method | HTTP request | Description
87
87
  *PostBoost::CompetitorsApi* | [**get_competitor**](docs/CompetitorsApi.md#get_competitor) | **GET** /{workspaceUuid}/competitors/{competitorId} | Get a competitor
88
88
  *PostBoost::CompetitorsApi* | [**list_competitors**](docs/CompetitorsApi.md#list_competitors) | **GET** /{workspaceUuid}/competitors | List competitors
89
89
  *PostBoost::FreeToolsApi* | [**build_utm_url**](docs/FreeToolsApi.md#build_utm_url) | **POST** /tools/utm-builder | Build a UTM-tagged campaign URL
90
+ *PostBoost::FreeToolsApi* | [**calculate_aspect_ratio**](docs/FreeToolsApi.md#calculate_aspect_ratio) | **POST** /tools/aspect-ratio-calculator | Calculate an aspect ratio, or the missing side of an image at a given ratio
90
91
  *PostBoost::FreeToolsApi* | [**calculate_crop**](docs/FreeToolsApi.md#calculate_crop) | **POST** /tools/social-media-image-sizes/crop | Calculate the crop box that fits an image to a social media size
91
92
  *PostBoost::FreeToolsApi* | [**calculate_engagement_rate**](docs/FreeToolsApi.md#calculate_engagement_rate) | **POST** /tools/engagement-rate-calculator | Calculate an engagement rate
92
93
  *PostBoost::FreeToolsApi* | [**check_post**](docs/FreeToolsApi.md#check_post) | **POST** /tools/social-media-post-checker | Check a post against each network's publishing rules
@@ -99,6 +100,7 @@ Class | Method | HTTP request | Description
99
100
  *PostBoost::FreeToolsApi* | [**get_best_times_to_post**](docs/FreeToolsApi.md#get_best_times_to_post) | **GET** /tools/best-time-to-post | Get the best times to post per network from published studies, with sources
100
101
  *PostBoost::FreeToolsApi* | [**get_image_sizes**](docs/FreeToolsApi.md#get_image_sizes) | **GET** /tools/social-media-image-sizes | Get social media image sizes per network, each with its source
101
102
  *PostBoost::FreeToolsApi* | [**list_free_tools**](docs/FreeToolsApi.md#list_free_tools) | **GET** /tools | List the free tools
103
+ *PostBoost::FreeToolsApi* | [**preview_post**](docs/FreeToolsApi.md#preview_post) | **POST** /tools/social-media-post-preview | Preview where a post folds and when its image is cropped on Instagram, X, LinkedIn and Facebook
102
104
  *PostBoost::FreeToolsApi* | [**split_thread**](docs/FreeToolsApi.md#split_thread) | **POST** /tools/x-thread-maker | Split long text into a thread
103
105
  *PostBoost::HashtagGroupsApi* | [**create_hashtag_group**](docs/HashtagGroupsApi.md#create_hashtag_group) | **POST** /{workspaceUuid}/hashtag-groups | Create a hashtag group
104
106
  *PostBoost::HashtagGroupsApi* | [**delete_hashtag_group**](docs/HashtagGroupsApi.md#delete_hashtag_group) | **DELETE** /{workspaceUuid}/hashtag-groups/{hashtagGroupId} | Delete a hashtag group
@@ -0,0 +1,22 @@
1
+ # PostBoost::FreeToolCalculateAspectRatioRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **width** | **Integer** | Width in pixels. | [optional] |
8
+ | **height** | **Integer** | Height in pixels. | [optional] |
9
+ | **ratio** | **String** | Ratio as width:height, e.g. `16:9` or `1.91:1`. Give it with width or height to get the other side. | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'postboost'
15
+
16
+ instance = PostBoost::FreeToolCalculateAspectRatioRequest.new(
17
+ width: null,
18
+ height: null,
19
+ ratio: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,30 @@
1
+ # PostBoost::FreeToolCalculateAspectRatioResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **ratio** | **String** | Simplified ratio, e.g. `4:5`. Decimal ratios stay as given. | [optional] |
8
+ | **decimal** | **Float** | Width divided by height, 4 decimals. | [optional] |
9
+ | **width** | **Integer** | | [optional] |
10
+ | **height** | **Integer** | | [optional] |
11
+ | **rounding** | [**FreeToolCalculateAspectRatioResponseRounding**](FreeToolCalculateAspectRatioResponseRounding.md) | | [optional] |
12
+ | **orientation** | **String** | | [optional] |
13
+ | **matches** | [**Array<FreeToolCalculateAspectRatioResponseMatchesInner>**](FreeToolCalculateAspectRatioResponseMatchesInner.md) | Social media image presets with the same ratio, else the nearest. | [optional] |
14
+
15
+ ## Example
16
+
17
+ ```ruby
18
+ require 'postboost'
19
+
20
+ instance = PostBoost::FreeToolCalculateAspectRatioResponse.new(
21
+ ratio: null,
22
+ decimal: null,
23
+ width: null,
24
+ height: null,
25
+ rounding: null,
26
+ orientation: null,
27
+ matches: null
28
+ )
29
+ ```
30
+
@@ -0,0 +1,28 @@
1
+ # PostBoost::FreeToolCalculateAspectRatioResponseMatchesInner
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **network** | **String** | Network key from getImageSizes (`network_key`). | [optional] |
8
+ | **format** | **String** | Format key from getImageSizes (`format_key`). | [optional] |
9
+ | **width** | **Integer** | | [optional] |
10
+ | **height** | **Integer** | | [optional] |
11
+ | **ratio** | **String** | | [optional] |
12
+ | **exact** | **Boolean** | False when no preset has the same ratio and these are the nearest. | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'postboost'
18
+
19
+ instance = PostBoost::FreeToolCalculateAspectRatioResponseMatchesInner.new(
20
+ network: null,
21
+ format: null,
22
+ width: null,
23
+ height: null,
24
+ ratio: null,
25
+ exact: null
26
+ )
27
+ ```
28
+
@@ -0,0 +1,22 @@
1
+ # PostBoost::FreeToolCalculateAspectRatioResponseRounding
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **side** | **String** | | [optional] |
8
+ | **exact** | **Float** | | [optional] |
9
+ | **rounded** | **Integer** | | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'postboost'
15
+
16
+ instance = PostBoost::FreeToolCalculateAspectRatioResponseRounding.new(
17
+ side: null,
18
+ exact: null,
19
+ rounded: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,24 @@
1
+ # PostBoost::FreeToolPreviewPostRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **text** | **String** | | |
8
+ | **instagram_ratio** | **String** | Image ratio of the Instagram feed post. | [optional][default to '1:1'] |
9
+ | **image_width** | **Integer** | Image width in pixels. Give it with image_height to get display_ratio and cropped per card. | [optional] |
10
+ | **image_height** | **Integer** | Image height in pixels. Give it with image_width. | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'postboost'
16
+
17
+ instance = PostBoost::FreeToolPreviewPostRequest.new(
18
+ text: null,
19
+ instagram_ratio: null,
20
+ image_width: null,
21
+ image_height: null
22
+ )
23
+ ```
24
+
@@ -0,0 +1,18 @@
1
+ # PostBoost::FreeToolPreviewPostResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **networks** | [**Array<FreeToolPreviewPostResponseNetworksInner>**](FreeToolPreviewPostResponseNetworksInner.md) | | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'postboost'
13
+
14
+ instance = PostBoost::FreeToolPreviewPostResponse.new(
15
+ networks: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,36 @@
1
+ # PostBoost::FreeToolPreviewPostResponseNetworksInner
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **key** | **String** | | [optional] |
8
+ | **count** | **Integer** | | [optional] |
9
+ | **limit** | **Integer** | | [optional] |
10
+ | **over** | **Boolean** | | [optional] |
11
+ | **preview** | **String** | What the feed shows before the \"more\" link (approximate; varies by device). | [optional] |
12
+ | **folded** | **Boolean** | | [optional] |
13
+ | **min_ratio** | **String** | Tallest image ratio the feed shows uncropped (Instagram: the chosen ratio). Taller images are cropped from the centre. | [optional] |
14
+ | **max_ratio** | **String** | Widest image ratio the feed shows uncropped (Instagram: the chosen ratio). Wider images are cropped from the centre. | [optional] |
15
+ | **display_ratio** | **Float** | Width / height the card shows the image at, 2 decimals. Only when image_width and image_height are given. | [optional] |
16
+ | **cropped** | **Boolean** | Whether the card crops the image. Only when image_width and image_height are given. | [optional] |
17
+
18
+ ## Example
19
+
20
+ ```ruby
21
+ require 'postboost'
22
+
23
+ instance = PostBoost::FreeToolPreviewPostResponseNetworksInner.new(
24
+ key: null,
25
+ count: null,
26
+ limit: null,
27
+ over: null,
28
+ preview: null,
29
+ folded: null,
30
+ min_ratio: null,
31
+ max_ratio: null,
32
+ display_ratio: null,
33
+ cropped: null
34
+ )
35
+ ```
36
+
data/docs/FreeToolsApi.md CHANGED
@@ -5,6 +5,7 @@ All URIs are relative to *https://postboost.co/app/api*
5
5
  | Method | HTTP request | Description |
6
6
  | ------ | ------------ | ----------- |
7
7
  | [**build_utm_url**](FreeToolsApi.md#build_utm_url) | **POST** /tools/utm-builder | Build a UTM-tagged campaign URL |
8
+ | [**calculate_aspect_ratio**](FreeToolsApi.md#calculate_aspect_ratio) | **POST** /tools/aspect-ratio-calculator | Calculate an aspect ratio, or the missing side of an image at a given ratio |
8
9
  | [**calculate_crop**](FreeToolsApi.md#calculate_crop) | **POST** /tools/social-media-image-sizes/crop | Calculate the crop box that fits an image to a social media size |
9
10
  | [**calculate_engagement_rate**](FreeToolsApi.md#calculate_engagement_rate) | **POST** /tools/engagement-rate-calculator | Calculate an engagement rate |
10
11
  | [**check_post**](FreeToolsApi.md#check_post) | **POST** /tools/social-media-post-checker | Check a post against each network's publishing rules |
@@ -17,6 +18,7 @@ All URIs are relative to *https://postboost.co/app/api*
17
18
  | [**get_best_times_to_post**](FreeToolsApi.md#get_best_times_to_post) | **GET** /tools/best-time-to-post | Get the best times to post per network from published studies, with sources |
18
19
  | [**get_image_sizes**](FreeToolsApi.md#get_image_sizes) | **GET** /tools/social-media-image-sizes | Get social media image sizes per network, each with its source |
19
20
  | [**list_free_tools**](FreeToolsApi.md#list_free_tools) | **GET** /tools | List the free tools |
21
+ | [**preview_post**](FreeToolsApi.md#preview_post) | **POST** /tools/social-media-post-preview | Preview where a post folds and when its image is cropped on Instagram, X, LinkedIn and Facebook |
20
22
  | [**split_thread**](FreeToolsApi.md#split_thread) | **POST** /tools/x-thread-maker | Split long text into a thread |
21
23
 
22
24
 
@@ -84,6 +86,70 @@ No authorization required
84
86
  - **Accept**: application/json
85
87
 
86
88
 
89
+ ## calculate_aspect_ratio
90
+
91
+ > <FreeToolCalculateAspectRatioResponse> calculate_aspect_ratio(free_tool_calculate_aspect_ratio_request)
92
+
93
+ Calculate an aspect ratio, or the missing side of an image at a given ratio
94
+
95
+ Calculate an aspect ratio, or the missing side of an image at a given ratio. The same logic as the free web tool at https://postboost.co/tools/aspect-ratio-calculator. No account needed: call it without a token, or with any API token.
96
+
97
+ ### Examples
98
+
99
+ ```ruby
100
+ require 'time'
101
+ require 'postboost'
102
+
103
+ api_instance = PostBoost::FreeToolsApi.new
104
+ free_tool_calculate_aspect_ratio_request = PostBoost::FreeToolCalculateAspectRatioRequest.new # FreeToolCalculateAspectRatioRequest |
105
+
106
+ begin
107
+ # Calculate an aspect ratio, or the missing side of an image at a given ratio
108
+ result = api_instance.calculate_aspect_ratio(free_tool_calculate_aspect_ratio_request)
109
+ p result
110
+ rescue PostBoost::ApiError => e
111
+ puts "Error when calling FreeToolsApi->calculate_aspect_ratio: #{e}"
112
+ end
113
+ ```
114
+
115
+ #### Using the calculate_aspect_ratio_with_http_info variant
116
+
117
+ This returns an Array which contains the response data, status code and headers.
118
+
119
+ > <Array(<FreeToolCalculateAspectRatioResponse>, Integer, Hash)> calculate_aspect_ratio_with_http_info(free_tool_calculate_aspect_ratio_request)
120
+
121
+ ```ruby
122
+ begin
123
+ # Calculate an aspect ratio, or the missing side of an image at a given ratio
124
+ data, status_code, headers = api_instance.calculate_aspect_ratio_with_http_info(free_tool_calculate_aspect_ratio_request)
125
+ p status_code # => 2xx
126
+ p headers # => { ... }
127
+ p data # => <FreeToolCalculateAspectRatioResponse>
128
+ rescue PostBoost::ApiError => e
129
+ puts "Error when calling FreeToolsApi->calculate_aspect_ratio_with_http_info: #{e}"
130
+ end
131
+ ```
132
+
133
+ ### Parameters
134
+
135
+ | Name | Type | Description | Notes |
136
+ | ---- | ---- | ----------- | ----- |
137
+ | **free_tool_calculate_aspect_ratio_request** | [**FreeToolCalculateAspectRatioRequest**](FreeToolCalculateAspectRatioRequest.md) | | |
138
+
139
+ ### Return type
140
+
141
+ [**FreeToolCalculateAspectRatioResponse**](FreeToolCalculateAspectRatioResponse.md)
142
+
143
+ ### Authorization
144
+
145
+ No authorization required
146
+
147
+ ### HTTP request headers
148
+
149
+ - **Content-Type**: application/json
150
+ - **Accept**: application/json
151
+
152
+
87
153
  ## calculate_crop
88
154
 
89
155
  > <FreeToolCalculateCropResponse> calculate_crop(free_tool_calculate_crop_request)
@@ -863,6 +929,70 @@ No authorization required
863
929
  - **Accept**: application/json
864
930
 
865
931
 
932
+ ## preview_post
933
+
934
+ > <FreeToolPreviewPostResponse> preview_post(free_tool_preview_post_request)
935
+
936
+ Preview where a post folds and when its image is cropped on Instagram, X, LinkedIn and Facebook
937
+
938
+ Preview where a post folds and when its image is cropped on Instagram, X, LinkedIn and Facebook. The same logic as the free web tool at https://postboost.co/tools/social-media-post-preview. No account needed: call it without a token, or with any API token.
939
+
940
+ ### Examples
941
+
942
+ ```ruby
943
+ require 'time'
944
+ require 'postboost'
945
+
946
+ api_instance = PostBoost::FreeToolsApi.new
947
+ free_tool_preview_post_request = PostBoost::FreeToolPreviewPostRequest.new({text: 'text_example'}) # FreeToolPreviewPostRequest |
948
+
949
+ begin
950
+ # Preview where a post folds and when its image is cropped on Instagram, X, LinkedIn and Facebook
951
+ result = api_instance.preview_post(free_tool_preview_post_request)
952
+ p result
953
+ rescue PostBoost::ApiError => e
954
+ puts "Error when calling FreeToolsApi->preview_post: #{e}"
955
+ end
956
+ ```
957
+
958
+ #### Using the preview_post_with_http_info variant
959
+
960
+ This returns an Array which contains the response data, status code and headers.
961
+
962
+ > <Array(<FreeToolPreviewPostResponse>, Integer, Hash)> preview_post_with_http_info(free_tool_preview_post_request)
963
+
964
+ ```ruby
965
+ begin
966
+ # Preview where a post folds and when its image is cropped on Instagram, X, LinkedIn and Facebook
967
+ data, status_code, headers = api_instance.preview_post_with_http_info(free_tool_preview_post_request)
968
+ p status_code # => 2xx
969
+ p headers # => { ... }
970
+ p data # => <FreeToolPreviewPostResponse>
971
+ rescue PostBoost::ApiError => e
972
+ puts "Error when calling FreeToolsApi->preview_post_with_http_info: #{e}"
973
+ end
974
+ ```
975
+
976
+ ### Parameters
977
+
978
+ | Name | Type | Description | Notes |
979
+ | ---- | ---- | ----------- | ----- |
980
+ | **free_tool_preview_post_request** | [**FreeToolPreviewPostRequest**](FreeToolPreviewPostRequest.md) | | |
981
+
982
+ ### Return type
983
+
984
+ [**FreeToolPreviewPostResponse**](FreeToolPreviewPostResponse.md)
985
+
986
+ ### Authorization
987
+
988
+ No authorization required
989
+
990
+ ### HTTP request headers
991
+
992
+ - **Content-Type**: application/json
993
+ - **Accept**: application/json
994
+
995
+
866
996
  ## split_thread
867
997
 
868
998
  > <FreeToolSplitThreadResponse> split_thread(free_tool_split_thread_request)
@@ -3,7 +3,7 @@
3
3
 
4
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
5
 
6
- The version of the OpenAPI document: 1.31.0
6
+ The version of the OpenAPI document: 1.33.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
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
5
 
6
- The version of the OpenAPI document: 1.31.0
6
+ The version of the OpenAPI document: 1.33.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
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
5
 
6
- The version of the OpenAPI document: 1.31.0
6
+ The version of the OpenAPI document: 1.33.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
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
5
 
6
- The version of the OpenAPI document: 1.31.0
6
+ The version of the OpenAPI document: 1.33.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
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
5
 
6
- The version of the OpenAPI document: 1.31.0
6
+ The version of the OpenAPI document: 1.33.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
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
5
 
6
- The version of the OpenAPI document: 1.31.0
6
+ The version of the OpenAPI document: 1.33.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
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
5
 
6
- The version of the OpenAPI document: 1.31.0
6
+ The version of the OpenAPI document: 1.33.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
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
5
 
6
- The version of the OpenAPI document: 1.31.0
6
+ The version of the OpenAPI document: 1.33.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -87,6 +87,74 @@ module PostBoost
87
87
  return data, status_code, headers
88
88
  end
89
89
 
90
+ # Calculate an aspect ratio, or the missing side of an image at a given ratio
91
+ # Calculate an aspect ratio, or the missing side of an image at a given ratio. The same logic as the free web tool at https://postboost.co/tools/aspect-ratio-calculator. No account needed: call it without a token, or with any API token.
92
+ # @param free_tool_calculate_aspect_ratio_request [FreeToolCalculateAspectRatioRequest]
93
+ # @param [Hash] opts the optional parameters
94
+ # @return [FreeToolCalculateAspectRatioResponse]
95
+ def calculate_aspect_ratio(free_tool_calculate_aspect_ratio_request, opts = {})
96
+ data, _status_code, _headers = calculate_aspect_ratio_with_http_info(free_tool_calculate_aspect_ratio_request, opts)
97
+ data
98
+ end
99
+
100
+ # Calculate an aspect ratio, or the missing side of an image at a given ratio
101
+ # Calculate an aspect ratio, or the missing side of an image at a given ratio. The same logic as the free web tool at https://postboost.co/tools/aspect-ratio-calculator. No account needed: call it without a token, or with any API token.
102
+ # @param free_tool_calculate_aspect_ratio_request [FreeToolCalculateAspectRatioRequest]
103
+ # @param [Hash] opts the optional parameters
104
+ # @return [Array<(FreeToolCalculateAspectRatioResponse, Integer, Hash)>] FreeToolCalculateAspectRatioResponse data, response status code and response headers
105
+ def calculate_aspect_ratio_with_http_info(free_tool_calculate_aspect_ratio_request, opts = {})
106
+ if @api_client.config.debugging
107
+ @api_client.config.logger.debug 'Calling API: FreeToolsApi.calculate_aspect_ratio ...'
108
+ end
109
+ # verify the required parameter 'free_tool_calculate_aspect_ratio_request' is set
110
+ if @api_client.config.client_side_validation && free_tool_calculate_aspect_ratio_request.nil?
111
+ fail ArgumentError, "Missing the required parameter 'free_tool_calculate_aspect_ratio_request' when calling FreeToolsApi.calculate_aspect_ratio"
112
+ end
113
+ # resource path
114
+ local_var_path = '/tools/aspect-ratio-calculator'
115
+
116
+ # query parameters
117
+ query_params = opts[:query_params] || {}
118
+
119
+ # header parameters
120
+ header_params = opts[:header_params] || {}
121
+ # HTTP header 'Accept' (if needed)
122
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
123
+ # HTTP header 'Content-Type'
124
+ content_type = @api_client.select_header_content_type(['application/json'])
125
+ if !content_type.nil?
126
+ header_params['Content-Type'] = content_type
127
+ end
128
+
129
+ # form parameters
130
+ form_params = opts[:form_params] || {}
131
+
132
+ # http body (model)
133
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(free_tool_calculate_aspect_ratio_request)
134
+
135
+ # return_type
136
+ return_type = opts[:debug_return_type] || 'FreeToolCalculateAspectRatioResponse'
137
+
138
+ # auth_names
139
+ auth_names = opts[:debug_auth_names] || []
140
+
141
+ new_options = opts.merge(
142
+ :operation => :"FreeToolsApi.calculate_aspect_ratio",
143
+ :header_params => header_params,
144
+ :query_params => query_params,
145
+ :form_params => form_params,
146
+ :body => post_body,
147
+ :auth_names => auth_names,
148
+ :return_type => return_type
149
+ )
150
+
151
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
152
+ if @api_client.config.debugging
153
+ @api_client.config.logger.debug "API called: FreeToolsApi#calculate_aspect_ratio\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
154
+ end
155
+ return data, status_code, headers
156
+ end
157
+
90
158
  # Calculate the crop box that fits an image to a social media size
91
159
  # Calculate the crop box that fits an image to a social media size. The same logic as the free web tool at https://postboost.co/tools/social-media-image-sizes. No account needed: call it without a token, or with any API token.
92
160
  # @param free_tool_calculate_crop_request [FreeToolCalculateCropRequest]
@@ -884,6 +952,74 @@ module PostBoost
884
952
  return data, status_code, headers
885
953
  end
886
954
 
955
+ # Preview where a post folds and when its image is cropped on Instagram, X, LinkedIn and Facebook
956
+ # Preview where a post folds and when its image is cropped on Instagram, X, LinkedIn and Facebook. The same logic as the free web tool at https://postboost.co/tools/social-media-post-preview. No account needed: call it without a token, or with any API token.
957
+ # @param free_tool_preview_post_request [FreeToolPreviewPostRequest]
958
+ # @param [Hash] opts the optional parameters
959
+ # @return [FreeToolPreviewPostResponse]
960
+ def preview_post(free_tool_preview_post_request, opts = {})
961
+ data, _status_code, _headers = preview_post_with_http_info(free_tool_preview_post_request, opts)
962
+ data
963
+ end
964
+
965
+ # Preview where a post folds and when its image is cropped on Instagram, X, LinkedIn and Facebook
966
+ # Preview where a post folds and when its image is cropped on Instagram, X, LinkedIn and Facebook. The same logic as the free web tool at https://postboost.co/tools/social-media-post-preview. No account needed: call it without a token, or with any API token.
967
+ # @param free_tool_preview_post_request [FreeToolPreviewPostRequest]
968
+ # @param [Hash] opts the optional parameters
969
+ # @return [Array<(FreeToolPreviewPostResponse, Integer, Hash)>] FreeToolPreviewPostResponse data, response status code and response headers
970
+ def preview_post_with_http_info(free_tool_preview_post_request, opts = {})
971
+ if @api_client.config.debugging
972
+ @api_client.config.logger.debug 'Calling API: FreeToolsApi.preview_post ...'
973
+ end
974
+ # verify the required parameter 'free_tool_preview_post_request' is set
975
+ if @api_client.config.client_side_validation && free_tool_preview_post_request.nil?
976
+ fail ArgumentError, "Missing the required parameter 'free_tool_preview_post_request' when calling FreeToolsApi.preview_post"
977
+ end
978
+ # resource path
979
+ local_var_path = '/tools/social-media-post-preview'
980
+
981
+ # query parameters
982
+ query_params = opts[:query_params] || {}
983
+
984
+ # header parameters
985
+ header_params = opts[:header_params] || {}
986
+ # HTTP header 'Accept' (if needed)
987
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
988
+ # HTTP header 'Content-Type'
989
+ content_type = @api_client.select_header_content_type(['application/json'])
990
+ if !content_type.nil?
991
+ header_params['Content-Type'] = content_type
992
+ end
993
+
994
+ # form parameters
995
+ form_params = opts[:form_params] || {}
996
+
997
+ # http body (model)
998
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(free_tool_preview_post_request)
999
+
1000
+ # return_type
1001
+ return_type = opts[:debug_return_type] || 'FreeToolPreviewPostResponse'
1002
+
1003
+ # auth_names
1004
+ auth_names = opts[:debug_auth_names] || []
1005
+
1006
+ new_options = opts.merge(
1007
+ :operation => :"FreeToolsApi.preview_post",
1008
+ :header_params => header_params,
1009
+ :query_params => query_params,
1010
+ :form_params => form_params,
1011
+ :body => post_body,
1012
+ :auth_names => auth_names,
1013
+ :return_type => return_type
1014
+ )
1015
+
1016
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1017
+ if @api_client.config.debugging
1018
+ @api_client.config.logger.debug "API called: FreeToolsApi#preview_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1019
+ end
1020
+ return data, status_code, headers
1021
+ end
1022
+
887
1023
  # Split long text into a thread
888
1024
  # Split long text into a thread. The same logic as the free web tool at https://postboost.co/tools/x-thread-maker. No account needed: call it without a token, or with any API token.
889
1025
  # @param free_tool_split_thread_request [FreeToolSplitThreadRequest]
@@ -3,7 +3,7 @@
3
3
 
4
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
5
 
6
- The version of the OpenAPI document: 1.31.0
6
+ The version of the OpenAPI document: 1.33.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0