postboost 1.32.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 (691) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -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/FreeToolsApi.md +65 -0
  8. data/lib/postboost/api/account_groups_api.rb +1 -1
  9. data/lib/postboost/api/accounts_api.rb +1 -1
  10. data/lib/postboost/api/activity_api.rb +1 -1
  11. data/lib/postboost/api/agents_api.rb +1 -1
  12. data/lib/postboost/api/ai_api.rb +1 -1
  13. data/lib/postboost/api/analytics_api.rb +1 -1
  14. data/lib/postboost/api/competitors_api.rb +1 -1
  15. data/lib/postboost/api/free_tools_api.rb +69 -1
  16. data/lib/postboost/api/hashtag_groups_api.rb +1 -1
  17. data/lib/postboost/api/inbox_api.rb +1 -1
  18. data/lib/postboost/api/media_api.rb +1 -1
  19. data/lib/postboost/api/mentions_api.rb +1 -1
  20. data/lib/postboost/api/posting_schedule_api.rb +1 -1
  21. data/lib/postboost/api/posts_api.rb +1 -1
  22. data/lib/postboost/api/receipts_api.rb +1 -1
  23. data/lib/postboost/api/subscriptions_api.rb +1 -1
  24. data/lib/postboost/api/tags_api.rb +1 -1
  25. data/lib/postboost/api/templates_api.rb +1 -1
  26. data/lib/postboost/api/users_api.rb +1 -1
  27. data/lib/postboost/api/webhooks_api.rb +1 -1
  28. data/lib/postboost/api/workspaces_api.rb +1 -1
  29. data/lib/postboost/api_client.rb +1 -1
  30. data/lib/postboost/api_error.rb +1 -1
  31. data/lib/postboost/configuration.rb +1 -1
  32. data/lib/postboost/models/account.rb +1 -1
  33. data/lib/postboost/models/account_analytics.rb +1 -1
  34. data/lib/postboost/models/account_analytics_initial_sync.rb +1 -1
  35. data/lib/postboost/models/account_connection_health.rb +1 -1
  36. data/lib/postboost/models/account_connection_health_reconnect_reason.rb +1 -1
  37. data/lib/postboost/models/account_errors_inner.rb +1 -1
  38. data/lib/postboost/models/account_errors_inner_one_of.rb +1 -1
  39. data/lib/postboost/models/account_group.rb +1 -1
  40. data/lib/postboost/models/account_group_input.rb +1 -1
  41. data/lib/postboost/models/account_health.rb +1 -1
  42. data/lib/postboost/models/account_health_daily_cap.rb +1 -1
  43. data/lib/postboost/models/account_schedule.rb +1 -1
  44. data/lib/postboost/models/add_competitor202_response.rb +1 -1
  45. data/lib/postboost/models/add_competitor409_response.rb +1 -1
  46. data/lib/postboost/models/add_generic_subscription_request.rb +1 -1
  47. data/lib/postboost/models/add_post_to_queue_request.rb +1 -1
  48. data/lib/postboost/models/agent_page_meta.rb +1 -1
  49. data/lib/postboost/models/agent_proposal.rb +1 -1
  50. data/lib/postboost/models/agent_proposal_decision.rb +1 -1
  51. data/lib/postboost/models/agent_run.rb +1 -1
  52. data/lib/postboost/models/ai_credits.rb +1 -1
  53. data/lib/postboost/models/ai_usage.rb +1 -1
  54. data/lib/postboost/models/ai_usage_text.rb +1 -1
  55. data/lib/postboost/models/analytics_period.rb +1 -1
  56. data/lib/postboost/models/analytics_summary.rb +1 -1
  57. data/lib/postboost/models/analytics_summary_data.rb +1 -1
  58. data/lib/postboost/models/api_activity.rb +1 -1
  59. data/lib/postboost/models/api_activity_outcome.rb +1 -1
  60. data/lib/postboost/models/api_key.rb +1 -1
  61. data/lib/postboost/models/api_key_ability.rb +1 -1
  62. data/lib/postboost/models/api_key_input.rb +1 -1
  63. data/lib/postboost/models/approve_agent_proposal200_response.rb +1 -1
  64. data/lib/postboost/models/approve_agent_proposal409_response.rb +1 -1
  65. data/lib/postboost/models/approve_inbox_reply_draft403_response.rb +1 -1
  66. data/lib/postboost/models/approve_post_request.rb +1 -1
  67. data/lib/postboost/models/best_posting_times.rb +1 -1
  68. data/lib/postboost/models/best_posting_times_times_inner.rb +1 -1
  69. data/lib/postboost/models/blog_to_social200_response.rb +1 -1
  70. data/lib/postboost/models/blog_to_social429_response.rb +1 -1
  71. data/lib/postboost/models/blog_to_social_caption.rb +1 -1
  72. data/lib/postboost/models/blog_to_social_input.rb +1 -1
  73. data/lib/postboost/models/blog_to_social_media.rb +1 -1
  74. data/lib/postboost/models/blog_to_social_response.rb +1 -1
  75. data/lib/postboost/models/brand_voice.rb +1 -1
  76. data/lib/postboost/models/brand_voice_input.rb +1 -1
  77. data/lib/postboost/models/brand_voice_meta.rb +1 -1
  78. data/lib/postboost/models/cancel_subscription422_response.rb +1 -1
  79. data/lib/postboost/models/cancel_subscription422_response_errors.rb +1 -1
  80. data/lib/postboost/models/cancel_subscription_request.rb +1 -1
  81. data/lib/postboost/models/change_subscription_plan_request.rb +1 -1
  82. data/lib/postboost/models/channel_account.rb +1 -1
  83. data/lib/postboost/models/checkout_subscription200_response.rb +1 -1
  84. data/lib/postboost/models/checkout_subscription_request.rb +1 -1
  85. data/lib/postboost/models/coded_error.rb +1 -1
  86. data/lib/postboost/models/competitor.rb +1 -1
  87. data/lib/postboost/models/competitor_detail.rb +1 -1
  88. data/lib/postboost/models/competitor_input.rb +1 -1
  89. data/lib/postboost/models/competitor_media.rb +1 -1
  90. data/lib/postboost/models/competitor_snapshot.rb +1 -1
  91. data/lib/postboost/models/complete_chunked_upload_request.rb +1 -1
  92. data/lib/postboost/models/connect_channel_input.rb +1 -1
  93. data/lib/postboost/models/connect_link.rb +1 -1
  94. data/lib/postboost/models/create_account_group201_response.rb +1 -1
  95. data/lib/postboost/models/create_agent201_response.rb +1 -1
  96. data/lib/postboost/models/create_api_key201_response.rb +1 -1
  97. data/lib/postboost/models/create_api_key201_response_data.rb +1 -1
  98. data/lib/postboost/models/create_connect_link_request.rb +1 -1
  99. data/lib/postboost/models/create_hashtag_group201_response.rb +1 -1
  100. data/lib/postboost/models/create_inbox_reply_draft201_response.rb +1 -1
  101. data/lib/postboost/models/create_media_folder_request.rb +1 -1
  102. data/lib/postboost/models/create_mention201_response.rb +1 -1
  103. data/lib/postboost/models/create_post201_response.rb +1 -1
  104. data/lib/postboost/models/create_recycling_rule201_response.rb +1 -1
  105. data/lib/postboost/models/create_report_export201_response.rb +1 -1
  106. data/lib/postboost/models/create_reseller_client201_response.rb +1 -1
  107. data/lib/postboost/models/create_rss_feed201_response.rb +1 -1
  108. data/lib/postboost/models/create_template201_response.rb +1 -1
  109. data/lib/postboost/models/create_webhook_subscription201_response.rb +1 -1
  110. data/lib/postboost/models/create_webhook_subscription201_response_data.rb +1 -1
  111. data/lib/postboost/models/delete_agent200_response.rb +1 -1
  112. data/lib/postboost/models/delete_media_bulk_request.rb +1 -1
  113. data/lib/postboost/models/delete_media_bulk_request_items_inner.rb +1 -1
  114. data/lib/postboost/models/delete_media_folder_request.rb +1 -1
  115. data/lib/postboost/models/delete_mode.rb +1 -1
  116. data/lib/postboost/models/delete_post_request.rb +1 -1
  117. data/lib/postboost/models/delete_posts_bulk_request.rb +1 -1
  118. data/lib/postboost/models/delete_receipts_bulk_request.rb +1 -1
  119. data/lib/postboost/models/delete_result.rb +1 -1
  120. data/lib/postboost/models/delete_user400_response.rb +1 -1
  121. data/lib/postboost/models/delete_users_bulk_request.rb +1 -1
  122. data/lib/postboost/models/delete_workspaces_bulk_request.rb +1 -1
  123. data/lib/postboost/models/free_tool_build_utm_url_request.rb +1 -1
  124. data/lib/postboost/models/free_tool_build_utm_url_response.rb +1 -1
  125. data/lib/postboost/models/free_tool_calculate_aspect_ratio_request.rb +321 -0
  126. data/lib/postboost/models/free_tool_calculate_aspect_ratio_response.rb +307 -0
  127. data/lib/postboost/models/free_tool_calculate_aspect_ratio_response_matches_inner.rb +262 -0
  128. data/lib/postboost/models/free_tool_calculate_aspect_ratio_response_rounding.rb +267 -0
  129. data/lib/postboost/models/free_tool_calculate_crop_request.rb +1 -1
  130. data/lib/postboost/models/free_tool_calculate_crop_response.rb +1 -1
  131. data/lib/postboost/models/free_tool_calculate_crop_response_crop.rb +1 -1
  132. data/lib/postboost/models/free_tool_calculate_crop_response_image.rb +1 -1
  133. data/lib/postboost/models/free_tool_calculate_crop_response_output.rb +1 -1
  134. data/lib/postboost/models/free_tool_calculate_engagement_rate_request.rb +1 -1
  135. data/lib/postboost/models/free_tool_calculate_engagement_rate_response.rb +1 -1
  136. data/lib/postboost/models/free_tool_check_post_request.rb +1 -1
  137. data/lib/postboost/models/free_tool_check_post_request_media.rb +1 -1
  138. data/lib/postboost/models/free_tool_check_post_response.rb +1 -1
  139. data/lib/postboost/models/free_tool_check_post_response_networks_inner.rb +1 -1
  140. data/lib/postboost/models/free_tool_check_post_response_networks_inner_errors_inner.rb +1 -1
  141. data/lib/postboost/models/free_tool_clean_text_request.rb +1 -1
  142. data/lib/postboost/models/free_tool_clean_text_response.rb +1 -1
  143. data/lib/postboost/models/free_tool_clean_text_response_changes_inner.rb +1 -1
  144. data/lib/postboost/models/free_tool_clean_text_response_flags_inner.rb +1 -1
  145. data/lib/postboost/models/free_tool_count_characters_request.rb +1 -1
  146. data/lib/postboost/models/free_tool_count_characters_response.rb +1 -1
  147. data/lib/postboost/models/free_tool_count_characters_response_networks_inner.rb +1 -1
  148. data/lib/postboost/models/free_tool_error.rb +1 -1
  149. data/lib/postboost/models/free_tool_format_linked_in_post_request.rb +1 -1
  150. data/lib/postboost/models/free_tool_format_linked_in_post_response.rb +1 -1
  151. data/lib/postboost/models/free_tool_generate_caption_request.rb +1 -1
  152. data/lib/postboost/models/free_tool_generate_caption_response.rb +1 -1
  153. data/lib/postboost/models/free_tool_generate_fancy_text_request.rb +1 -1
  154. data/lib/postboost/models/free_tool_generate_fancy_text_response.rb +1 -1
  155. data/lib/postboost/models/free_tool_generate_fancy_text_response_styles_inner.rb +1 -1
  156. data/lib/postboost/models/free_tool_generate_hashtags_request.rb +1 -1
  157. data/lib/postboost/models/free_tool_generate_hashtags_response.rb +1 -1
  158. data/lib/postboost/models/free_tool_get_best_times_to_post_response.rb +1 -1
  159. data/lib/postboost/models/free_tool_get_best_times_to_post_response_networks_inner.rb +1 -1
  160. data/lib/postboost/models/free_tool_get_image_sizes_response.rb +1 -1
  161. data/lib/postboost/models/free_tool_get_image_sizes_response_sizes_inner.rb +1 -1
  162. data/lib/postboost/models/free_tool_get_image_sizes_response_sources_inner.rb +1 -1
  163. data/lib/postboost/models/free_tool_list.rb +1 -1
  164. data/lib/postboost/models/free_tool_list_item.rb +1 -1
  165. data/lib/postboost/models/free_tool_preview_post_request.rb +1 -1
  166. data/lib/postboost/models/free_tool_preview_post_response.rb +1 -1
  167. data/lib/postboost/models/free_tool_preview_post_response_networks_inner.rb +1 -1
  168. data/lib/postboost/models/free_tool_split_thread_request.rb +1 -1
  169. data/lib/postboost/models/free_tool_split_thread_response.rb +1 -1
  170. data/lib/postboost/models/free_tool_split_thread_response_posts_inner.rb +1 -1
  171. data/lib/postboost/models/get_account_health200_response.rb +1 -1
  172. data/lib/postboost/models/get_brand_voice200_response.rb +1 -1
  173. data/lib/postboost/models/get_competitor200_response.rb +1 -1
  174. data/lib/postboost/models/get_inbox_conversation200_response.rb +1 -1
  175. data/lib/postboost/models/get_posting_schedule200_response.rb +1 -1
  176. data/lib/postboost/models/get_remote_upload_status200_response.rb +1 -1
  177. data/lib/postboost/models/get_report_branding200_response.rb +1 -1
  178. data/lib/postboost/models/get_repurpose_run200_response.rb +1 -1
  179. data/lib/postboost/models/guardrail_error.rb +1 -1
  180. data/lib/postboost/models/hashtag_group.rb +1 -1
  181. data/lib/postboost/models/hashtag_group_input.rb +1 -1
  182. data/lib/postboost/models/image_alt_text200_response.rb +1 -1
  183. data/lib/postboost/models/image_alt_text_input.rb +1 -1
  184. data/lib/postboost/models/image_alt_text_response.rb +1 -1
  185. data/lib/postboost/models/image_credit_balance.rb +1 -1
  186. data/lib/postboost/models/image_edit_input.rb +1 -1
  187. data/lib/postboost/models/image_generate200_response.rb +1 -1
  188. data/lib/postboost/models/image_generate429_response.rb +1 -1
  189. data/lib/postboost/models/image_generate_input.rb +1 -1
  190. data/lib/postboost/models/image_generation_response.rb +1 -1
  191. data/lib/postboost/models/image_prompt200_response.rb +1 -1
  192. data/lib/postboost/models/image_prompt429_response.rb +1 -1
  193. data/lib/postboost/models/image_prompt_input.rb +1 -1
  194. data/lib/postboost/models/image_prompt_response.rb +1 -1
  195. data/lib/postboost/models/image_variations200_response.rb +1 -1
  196. data/lib/postboost/models/image_variations_input.rb +1 -1
  197. data/lib/postboost/models/image_variations_response.rb +1 -1
  198. data/lib/postboost/models/inbox_author.rb +1 -1
  199. data/lib/postboost/models/inbox_conversation.rb +1 -1
  200. data/lib/postboost/models/inbox_conversation_account.rb +1 -1
  201. data/lib/postboost/models/inbox_conversation_update.rb +1 -1
  202. data/lib/postboost/models/inbox_message.rb +1 -1
  203. data/lib/postboost/models/inbox_message_author.rb +1 -1
  204. data/lib/postboost/models/inbox_reply_draft.rb +1 -1
  205. data/lib/postboost/models/inbox_reply_draft_approve.rb +1 -1
  206. data/lib/postboost/models/inbox_reply_draft_edit.rb +1 -1
  207. data/lib/postboost/models/inbox_reply_draft_input.rb +1 -1
  208. data/lib/postboost/models/initiate_chunked_upload201_response.rb +1 -1
  209. data/lib/postboost/models/initiate_chunked_upload_request.rb +1 -1
  210. data/lib/postboost/models/initiate_remote_upload201_response.rb +1 -1
  211. data/lib/postboost/models/initiate_remote_upload201_response_one_of.rb +1 -1
  212. data/lib/postboost/models/initiate_remote_upload_request.rb +1 -1
  213. data/lib/postboost/models/learn_brand_voice_input.rb +1 -1
  214. data/lib/postboost/models/learn_brand_voice_response.rb +1 -1
  215. data/lib/postboost/models/learn_brand_voice_response_meta.rb +1 -1
  216. data/lib/postboost/models/list_account_groups200_response.rb +1 -1
  217. data/lib/postboost/models/list_accounts200_response.rb +1 -1
  218. data/lib/postboost/models/list_agent_proposals200_response.rb +1 -1
  219. data/lib/postboost/models/list_agent_runs200_response.rb +1 -1
  220. data/lib/postboost/models/list_agents200_response.rb +1 -1
  221. data/lib/postboost/models/list_api_activity200_response.rb +1 -1
  222. data/lib/postboost/models/list_api_keys200_response.rb +1 -1
  223. data/lib/postboost/models/list_competitors200_response.rb +1 -1
  224. data/lib/postboost/models/list_hashtag_groups200_response.rb +1 -1
  225. data/lib/postboost/models/list_inbox_conversations200_response.rb +1 -1
  226. data/lib/postboost/models/list_inbox_reply_drafts200_response.rb +1 -1
  227. data/lib/postboost/models/list_media200_response.rb +1 -1
  228. data/lib/postboost/models/list_media_folders200_response.rb +1 -1
  229. data/lib/postboost/models/list_mentions200_response.rb +1 -1
  230. data/lib/postboost/models/list_my_workspaces200_response.rb +1 -1
  231. data/lib/postboost/models/list_posts200_response.rb +1 -1
  232. data/lib/postboost/models/list_receipts200_response.rb +1 -1
  233. data/lib/postboost/models/list_recycling_rules200_response.rb +1 -1
  234. data/lib/postboost/models/list_recycling_runs200_response.rb +1 -1
  235. data/lib/postboost/models/list_report_exports200_response.rb +1 -1
  236. data/lib/postboost/models/list_reseller_clients200_response.rb +1 -1
  237. data/lib/postboost/models/list_rss_feeds200_response.rb +1 -1
  238. data/lib/postboost/models/list_tags200_response.rb +1 -1
  239. data/lib/postboost/models/list_templates200_response.rb +1 -1
  240. data/lib/postboost/models/list_users200_response.rb +1 -1
  241. data/lib/postboost/models/list_webhook_subscriptions200_response.rb +1 -1
  242. data/lib/postboost/models/list_workspaces200_response.rb +1 -1
  243. data/lib/postboost/models/media.rb +1 -1
  244. data/lib/postboost/models/media_base64_input.rb +1 -1
  245. data/lib/postboost/models/media_folder.rb +1 -1
  246. data/lib/postboost/models/media_folder_input.rb +1 -1
  247. data/lib/postboost/models/media_folder_ref.rb +1 -1
  248. data/lib/postboost/models/mention.rb +1 -1
  249. data/lib/postboost/models/mention_identity.rb +1 -1
  250. data/lib/postboost/models/mention_identity_input.rb +1 -1
  251. data/lib/postboost/models/mention_input.rb +1 -1
  252. data/lib/postboost/models/message_only.rb +1 -1
  253. data/lib/postboost/models/pagination_meta.rb +1 -1
  254. data/lib/postboost/models/pagination_meta_links.rb +1 -1
  255. data/lib/postboost/models/pagination_meta_meta.rb +1 -1
  256. data/lib/postboost/models/poll_rss_feed200_response.rb +1 -1
  257. data/lib/postboost/models/post.rb +1 -1
  258. data/lib/postboost/models/post_analytics.rb +1 -1
  259. data/lib/postboost/models/post_content.rb +1 -1
  260. data/lib/postboost/models/post_input.rb +1 -1
  261. data/lib/postboost/models/post_options_instagram.rb +1 -1
  262. data/lib/postboost/models/post_options_tik_tok.rb +1 -1
  263. data/lib/postboost/models/post_options_youtube.rb +1 -1
  264. data/lib/postboost/models/post_status.rb +1 -1
  265. data/lib/postboost/models/post_version.rb +1 -1
  266. data/lib/postboost/models/post_version_options.rb +1 -1
  267. data/lib/postboost/models/post_warning.rb +1 -1
  268. data/lib/postboost/models/post_warnings.rb +1 -1
  269. data/lib/postboost/models/posting_schedule.rb +1 -1
  270. data/lib/postboost/models/posting_schedule_day.rb +1 -1
  271. data/lib/postboost/models/posting_schedule_day_times_inner.rb +1 -1
  272. data/lib/postboost/models/posting_schedule_input.rb +1 -1
  273. data/lib/postboost/models/posting_time_slot.rb +1 -1
  274. data/lib/postboost/models/posting_times.rb +1 -1
  275. data/lib/postboost/models/posting_times_best_inner.rb +1 -1
  276. data/lib/postboost/models/posting_times_day_intervals_inner_inner.rb +1 -1
  277. data/lib/postboost/models/posting_times_days_inner.rb +1 -1
  278. data/lib/postboost/models/preflight_result.rb +1 -1
  279. data/lib/postboost/models/public_workspace.rb +1 -1
  280. data/lib/postboost/models/public_workspace_pivot.rb +1 -1
  281. data/lib/postboost/models/publish_progress.rb +1 -1
  282. data/lib/postboost/models/queue_slots.rb +1 -1
  283. data/lib/postboost/models/receipt.rb +1 -1
  284. data/lib/postboost/models/receipt_input.rb +1 -1
  285. data/lib/postboost/models/receipt_update_input.rb +1 -1
  286. data/lib/postboost/models/recommended_posting_times.rb +1 -1
  287. data/lib/postboost/models/reconnect_link.rb +1 -1
  288. data/lib/postboost/models/recycling_rule.rb +1 -1
  289. data/lib/postboost/models/recycling_rule_input.rb +1 -1
  290. data/lib/postboost/models/recycling_rule_settings.rb +1 -1
  291. data/lib/postboost/models/recycling_rule_update.rb +1 -1
  292. data/lib/postboost/models/recycling_run.rb +1 -1
  293. data/lib/postboost/models/remove_generic_subscription422_response.rb +1 -1
  294. data/lib/postboost/models/remove_user_from_workspace_request.rb +1 -1
  295. data/lib/postboost/models/report_branding.rb +1 -1
  296. data/lib/postboost/models/report_branding_input.rb +1 -1
  297. data/lib/postboost/models/report_export.rb +1 -1
  298. data/lib/postboost/models/report_export_input.rb +1 -1
  299. data/lib/postboost/models/repurpose_content200_response.rb +1 -1
  300. data/lib/postboost/models/repurpose_content202_response.rb +1 -1
  301. data/lib/postboost/models/repurpose_content500_response.rb +1 -1
  302. data/lib/postboost/models/repurpose_input.rb +1 -1
  303. data/lib/postboost/models/repurpose_input_theme.rb +1 -1
  304. data/lib/postboost/models/repurpose_result.rb +1 -1
  305. data/lib/postboost/models/repurpose_result_media.rb +1 -1
  306. data/lib/postboost/models/repurpose_result_source.rb +1 -1
  307. data/lib/postboost/models/repurpose_run.rb +1 -1
  308. data/lib/postboost/models/repurpose_run_accepted.rb +1 -1
  309. data/lib/postboost/models/repurpose_slide.rb +1 -1
  310. data/lib/postboost/models/reseller_client.rb +1 -1
  311. data/lib/postboost/models/reseller_client_input.rb +1 -1
  312. data/lib/postboost/models/reseller_client_usage.rb +1 -1
  313. data/lib/postboost/models/retry_post_account_result.rb +1 -1
  314. data/lib/postboost/models/rss_feed.rb +1 -1
  315. data/lib/postboost/models/rss_feed_input.rb +1 -1
  316. data/lib/postboost/models/rss_feed_update.rb +1 -1
  317. data/lib/postboost/models/run_agent202_response.rb +1 -1
  318. data/lib/postboost/models/schedule_post_request.rb +1 -1
  319. data/lib/postboost/models/schedule_result.rb +1 -1
  320. data/lib/postboost/models/subscription.rb +1 -1
  321. data/lib/postboost/models/subscription_input.rb +1 -1
  322. data/lib/postboost/models/subscription_status.rb +1 -1
  323. data/lib/postboost/models/subscription_update_input.rb +1 -1
  324. data/lib/postboost/models/tag.rb +1 -1
  325. data/lib/postboost/models/tag_input.rb +1 -1
  326. data/lib/postboost/models/template.rb +1 -1
  327. data/lib/postboost/models/template_content_item.rb +1 -1
  328. data/lib/postboost/models/template_input.rb +1 -1
  329. data/lib/postboost/models/template_input_content_inner.rb +1 -1
  330. data/lib/postboost/models/update_media_request.rb +1 -1
  331. data/lib/postboost/models/update_post200_response.rb +1 -1
  332. data/lib/postboost/models/upload_chunk201_response.rb +1 -1
  333. data/lib/postboost/models/user.rb +1 -1
  334. data/lib/postboost/models/user_input.rb +1 -1
  335. data/lib/postboost/models/user_update_input.rb +1 -1
  336. data/lib/postboost/models/webhook_event_name.rb +1 -1
  337. data/lib/postboost/models/webhook_event_payload.rb +1 -1
  338. data/lib/postboost/models/webhook_subscription.rb +1 -1
  339. data/lib/postboost/models/webhook_subscription_input.rb +1 -1
  340. data/lib/postboost/models/workspace.rb +1 -1
  341. data/lib/postboost/models/workspace_agent.rb +1 -1
  342. data/lib/postboost/models/workspace_agent_input.rb +1 -1
  343. data/lib/postboost/models/workspace_agent_settings.rb +1 -1
  344. data/lib/postboost/models/workspace_agent_update.rb +1 -1
  345. data/lib/postboost/models/workspace_input.rb +1 -1
  346. data/lib/postboost/models/workspace_user_input.rb +1 -1
  347. data/lib/postboost/models/x_usage.rb +1 -1
  348. data/lib/postboost/models/x_usage_counter.rb +1 -1
  349. data/lib/postboost/version.rb +2 -2
  350. data/lib/postboost.rb +5 -1
  351. data/postboost.gemspec +1 -1
  352. data/spec/api/account_groups_api_spec.rb +1 -1
  353. data/spec/api/accounts_api_spec.rb +1 -1
  354. data/spec/api/activity_api_spec.rb +1 -1
  355. data/spec/api/agents_api_spec.rb +1 -1
  356. data/spec/api/ai_api_spec.rb +1 -1
  357. data/spec/api/analytics_api_spec.rb +1 -1
  358. data/spec/api/competitors_api_spec.rb +1 -1
  359. data/spec/api/free_tools_api_spec.rb +13 -1
  360. data/spec/api/hashtag_groups_api_spec.rb +1 -1
  361. data/spec/api/inbox_api_spec.rb +1 -1
  362. data/spec/api/media_api_spec.rb +1 -1
  363. data/spec/api/mentions_api_spec.rb +1 -1
  364. data/spec/api/posting_schedule_api_spec.rb +1 -1
  365. data/spec/api/posts_api_spec.rb +1 -1
  366. data/spec/api/receipts_api_spec.rb +1 -1
  367. data/spec/api/subscriptions_api_spec.rb +1 -1
  368. data/spec/api/tags_api_spec.rb +1 -1
  369. data/spec/api/templates_api_spec.rb +1 -1
  370. data/spec/api/users_api_spec.rb +1 -1
  371. data/spec/api/webhooks_api_spec.rb +1 -1
  372. data/spec/api/workspaces_api_spec.rb +1 -1
  373. data/spec/models/account_analytics_initial_sync_spec.rb +1 -1
  374. data/spec/models/account_analytics_spec.rb +1 -1
  375. data/spec/models/account_connection_health_reconnect_reason_spec.rb +1 -1
  376. data/spec/models/account_connection_health_spec.rb +1 -1
  377. data/spec/models/account_errors_inner_one_of_spec.rb +1 -1
  378. data/spec/models/account_errors_inner_spec.rb +1 -1
  379. data/spec/models/account_group_input_spec.rb +1 -1
  380. data/spec/models/account_group_spec.rb +1 -1
  381. data/spec/models/account_health_daily_cap_spec.rb +1 -1
  382. data/spec/models/account_health_spec.rb +1 -1
  383. data/spec/models/account_schedule_spec.rb +1 -1
  384. data/spec/models/account_spec.rb +1 -1
  385. data/spec/models/add_competitor202_response_spec.rb +1 -1
  386. data/spec/models/add_competitor409_response_spec.rb +1 -1
  387. data/spec/models/add_generic_subscription_request_spec.rb +1 -1
  388. data/spec/models/add_post_to_queue_request_spec.rb +1 -1
  389. data/spec/models/agent_page_meta_spec.rb +1 -1
  390. data/spec/models/agent_proposal_decision_spec.rb +1 -1
  391. data/spec/models/agent_proposal_spec.rb +1 -1
  392. data/spec/models/agent_run_spec.rb +1 -1
  393. data/spec/models/ai_credits_spec.rb +1 -1
  394. data/spec/models/ai_usage_spec.rb +1 -1
  395. data/spec/models/ai_usage_text_spec.rb +1 -1
  396. data/spec/models/analytics_period_spec.rb +1 -1
  397. data/spec/models/analytics_summary_data_spec.rb +1 -1
  398. data/spec/models/analytics_summary_spec.rb +1 -1
  399. data/spec/models/api_activity_outcome_spec.rb +1 -1
  400. data/spec/models/api_activity_spec.rb +1 -1
  401. data/spec/models/api_key_ability_spec.rb +1 -1
  402. data/spec/models/api_key_input_spec.rb +1 -1
  403. data/spec/models/api_key_spec.rb +1 -1
  404. data/spec/models/approve_agent_proposal200_response_spec.rb +1 -1
  405. data/spec/models/approve_agent_proposal409_response_spec.rb +1 -1
  406. data/spec/models/approve_inbox_reply_draft403_response_spec.rb +1 -1
  407. data/spec/models/approve_post_request_spec.rb +1 -1
  408. data/spec/models/best_posting_times_spec.rb +1 -1
  409. data/spec/models/best_posting_times_times_inner_spec.rb +1 -1
  410. data/spec/models/blog_to_social200_response_spec.rb +1 -1
  411. data/spec/models/blog_to_social429_response_spec.rb +1 -1
  412. data/spec/models/blog_to_social_caption_spec.rb +1 -1
  413. data/spec/models/blog_to_social_input_spec.rb +1 -1
  414. data/spec/models/blog_to_social_media_spec.rb +1 -1
  415. data/spec/models/blog_to_social_response_spec.rb +1 -1
  416. data/spec/models/brand_voice_input_spec.rb +1 -1
  417. data/spec/models/brand_voice_meta_spec.rb +1 -1
  418. data/spec/models/brand_voice_spec.rb +1 -1
  419. data/spec/models/cancel_subscription422_response_errors_spec.rb +1 -1
  420. data/spec/models/cancel_subscription422_response_spec.rb +1 -1
  421. data/spec/models/cancel_subscription_request_spec.rb +1 -1
  422. data/spec/models/change_subscription_plan_request_spec.rb +1 -1
  423. data/spec/models/channel_account_spec.rb +1 -1
  424. data/spec/models/checkout_subscription200_response_spec.rb +1 -1
  425. data/spec/models/checkout_subscription_request_spec.rb +1 -1
  426. data/spec/models/coded_error_spec.rb +1 -1
  427. data/spec/models/competitor_detail_spec.rb +1 -1
  428. data/spec/models/competitor_input_spec.rb +1 -1
  429. data/spec/models/competitor_media_spec.rb +1 -1
  430. data/spec/models/competitor_snapshot_spec.rb +1 -1
  431. data/spec/models/competitor_spec.rb +1 -1
  432. data/spec/models/complete_chunked_upload_request_spec.rb +1 -1
  433. data/spec/models/connect_channel_input_spec.rb +1 -1
  434. data/spec/models/connect_link_spec.rb +1 -1
  435. data/spec/models/create_account_group201_response_spec.rb +1 -1
  436. data/spec/models/create_agent201_response_spec.rb +1 -1
  437. data/spec/models/create_api_key201_response_data_spec.rb +1 -1
  438. data/spec/models/create_api_key201_response_spec.rb +1 -1
  439. data/spec/models/create_connect_link_request_spec.rb +1 -1
  440. data/spec/models/create_hashtag_group201_response_spec.rb +1 -1
  441. data/spec/models/create_inbox_reply_draft201_response_spec.rb +1 -1
  442. data/spec/models/create_media_folder_request_spec.rb +1 -1
  443. data/spec/models/create_mention201_response_spec.rb +1 -1
  444. data/spec/models/create_post201_response_spec.rb +1 -1
  445. data/spec/models/create_recycling_rule201_response_spec.rb +1 -1
  446. data/spec/models/create_report_export201_response_spec.rb +1 -1
  447. data/spec/models/create_reseller_client201_response_spec.rb +1 -1
  448. data/spec/models/create_rss_feed201_response_spec.rb +1 -1
  449. data/spec/models/create_template201_response_spec.rb +1 -1
  450. data/spec/models/create_webhook_subscription201_response_data_spec.rb +1 -1
  451. data/spec/models/create_webhook_subscription201_response_spec.rb +1 -1
  452. data/spec/models/delete_agent200_response_spec.rb +1 -1
  453. data/spec/models/delete_media_bulk_request_items_inner_spec.rb +1 -1
  454. data/spec/models/delete_media_bulk_request_spec.rb +1 -1
  455. data/spec/models/delete_media_folder_request_spec.rb +1 -1
  456. data/spec/models/delete_mode_spec.rb +1 -1
  457. data/spec/models/delete_post_request_spec.rb +1 -1
  458. data/spec/models/delete_posts_bulk_request_spec.rb +1 -1
  459. data/spec/models/delete_receipts_bulk_request_spec.rb +1 -1
  460. data/spec/models/delete_result_spec.rb +1 -1
  461. data/spec/models/delete_user400_response_spec.rb +1 -1
  462. data/spec/models/delete_users_bulk_request_spec.rb +1 -1
  463. data/spec/models/delete_workspaces_bulk_request_spec.rb +1 -1
  464. data/spec/models/free_tool_build_utm_url_request_spec.rb +1 -1
  465. data/spec/models/free_tool_build_utm_url_response_spec.rb +1 -1
  466. data/spec/models/free_tool_calculate_aspect_ratio_request_spec.rb +48 -0
  467. data/spec/models/free_tool_calculate_aspect_ratio_response_matches_inner_spec.rb +66 -0
  468. data/spec/models/free_tool_calculate_aspect_ratio_response_rounding_spec.rb +52 -0
  469. data/spec/models/free_tool_calculate_aspect_ratio_response_spec.rb +76 -0
  470. data/spec/models/free_tool_calculate_crop_request_spec.rb +1 -1
  471. data/spec/models/free_tool_calculate_crop_response_crop_spec.rb +1 -1
  472. data/spec/models/free_tool_calculate_crop_response_image_spec.rb +1 -1
  473. data/spec/models/free_tool_calculate_crop_response_output_spec.rb +1 -1
  474. data/spec/models/free_tool_calculate_crop_response_spec.rb +1 -1
  475. data/spec/models/free_tool_calculate_engagement_rate_request_spec.rb +1 -1
  476. data/spec/models/free_tool_calculate_engagement_rate_response_spec.rb +1 -1
  477. data/spec/models/free_tool_check_post_request_media_spec.rb +1 -1
  478. data/spec/models/free_tool_check_post_request_spec.rb +1 -1
  479. data/spec/models/free_tool_check_post_response_networks_inner_errors_inner_spec.rb +1 -1
  480. data/spec/models/free_tool_check_post_response_networks_inner_spec.rb +1 -1
  481. data/spec/models/free_tool_check_post_response_spec.rb +1 -1
  482. data/spec/models/free_tool_clean_text_request_spec.rb +1 -1
  483. data/spec/models/free_tool_clean_text_response_changes_inner_spec.rb +1 -1
  484. data/spec/models/free_tool_clean_text_response_flags_inner_spec.rb +1 -1
  485. data/spec/models/free_tool_clean_text_response_spec.rb +1 -1
  486. data/spec/models/free_tool_count_characters_request_spec.rb +1 -1
  487. data/spec/models/free_tool_count_characters_response_networks_inner_spec.rb +1 -1
  488. data/spec/models/free_tool_count_characters_response_spec.rb +1 -1
  489. data/spec/models/free_tool_error_spec.rb +1 -1
  490. data/spec/models/free_tool_format_linked_in_post_request_spec.rb +1 -1
  491. data/spec/models/free_tool_format_linked_in_post_response_spec.rb +1 -1
  492. data/spec/models/free_tool_generate_caption_request_spec.rb +1 -1
  493. data/spec/models/free_tool_generate_caption_response_spec.rb +1 -1
  494. data/spec/models/free_tool_generate_fancy_text_request_spec.rb +1 -1
  495. data/spec/models/free_tool_generate_fancy_text_response_spec.rb +1 -1
  496. data/spec/models/free_tool_generate_fancy_text_response_styles_inner_spec.rb +1 -1
  497. data/spec/models/free_tool_generate_hashtags_request_spec.rb +1 -1
  498. data/spec/models/free_tool_generate_hashtags_response_spec.rb +1 -1
  499. data/spec/models/free_tool_get_best_times_to_post_response_networks_inner_spec.rb +1 -1
  500. data/spec/models/free_tool_get_best_times_to_post_response_spec.rb +1 -1
  501. data/spec/models/free_tool_get_image_sizes_response_sizes_inner_spec.rb +1 -1
  502. data/spec/models/free_tool_get_image_sizes_response_sources_inner_spec.rb +1 -1
  503. data/spec/models/free_tool_get_image_sizes_response_spec.rb +1 -1
  504. data/spec/models/free_tool_list_item_spec.rb +1 -1
  505. data/spec/models/free_tool_list_spec.rb +1 -1
  506. data/spec/models/free_tool_preview_post_request_spec.rb +1 -1
  507. data/spec/models/free_tool_preview_post_response_networks_inner_spec.rb +1 -1
  508. data/spec/models/free_tool_preview_post_response_spec.rb +1 -1
  509. data/spec/models/free_tool_split_thread_request_spec.rb +1 -1
  510. data/spec/models/free_tool_split_thread_response_posts_inner_spec.rb +1 -1
  511. data/spec/models/free_tool_split_thread_response_spec.rb +1 -1
  512. data/spec/models/get_account_health200_response_spec.rb +1 -1
  513. data/spec/models/get_brand_voice200_response_spec.rb +1 -1
  514. data/spec/models/get_competitor200_response_spec.rb +1 -1
  515. data/spec/models/get_inbox_conversation200_response_spec.rb +1 -1
  516. data/spec/models/get_posting_schedule200_response_spec.rb +1 -1
  517. data/spec/models/get_remote_upload_status200_response_spec.rb +1 -1
  518. data/spec/models/get_report_branding200_response_spec.rb +1 -1
  519. data/spec/models/get_repurpose_run200_response_spec.rb +1 -1
  520. data/spec/models/guardrail_error_spec.rb +1 -1
  521. data/spec/models/hashtag_group_input_spec.rb +1 -1
  522. data/spec/models/hashtag_group_spec.rb +1 -1
  523. data/spec/models/image_alt_text200_response_spec.rb +1 -1
  524. data/spec/models/image_alt_text_input_spec.rb +1 -1
  525. data/spec/models/image_alt_text_response_spec.rb +1 -1
  526. data/spec/models/image_credit_balance_spec.rb +1 -1
  527. data/spec/models/image_edit_input_spec.rb +1 -1
  528. data/spec/models/image_generate200_response_spec.rb +1 -1
  529. data/spec/models/image_generate429_response_spec.rb +1 -1
  530. data/spec/models/image_generate_input_spec.rb +1 -1
  531. data/spec/models/image_generation_response_spec.rb +1 -1
  532. data/spec/models/image_prompt200_response_spec.rb +1 -1
  533. data/spec/models/image_prompt429_response_spec.rb +1 -1
  534. data/spec/models/image_prompt_input_spec.rb +1 -1
  535. data/spec/models/image_prompt_response_spec.rb +1 -1
  536. data/spec/models/image_variations200_response_spec.rb +1 -1
  537. data/spec/models/image_variations_input_spec.rb +1 -1
  538. data/spec/models/image_variations_response_spec.rb +1 -1
  539. data/spec/models/inbox_author_spec.rb +1 -1
  540. data/spec/models/inbox_conversation_account_spec.rb +1 -1
  541. data/spec/models/inbox_conversation_spec.rb +1 -1
  542. data/spec/models/inbox_conversation_update_spec.rb +1 -1
  543. data/spec/models/inbox_message_author_spec.rb +1 -1
  544. data/spec/models/inbox_message_spec.rb +1 -1
  545. data/spec/models/inbox_reply_draft_approve_spec.rb +1 -1
  546. data/spec/models/inbox_reply_draft_edit_spec.rb +1 -1
  547. data/spec/models/inbox_reply_draft_input_spec.rb +1 -1
  548. data/spec/models/inbox_reply_draft_spec.rb +1 -1
  549. data/spec/models/initiate_chunked_upload201_response_spec.rb +1 -1
  550. data/spec/models/initiate_chunked_upload_request_spec.rb +1 -1
  551. data/spec/models/initiate_remote_upload201_response_one_of_spec.rb +1 -1
  552. data/spec/models/initiate_remote_upload201_response_spec.rb +1 -1
  553. data/spec/models/initiate_remote_upload_request_spec.rb +1 -1
  554. data/spec/models/learn_brand_voice_input_spec.rb +1 -1
  555. data/spec/models/learn_brand_voice_response_meta_spec.rb +1 -1
  556. data/spec/models/learn_brand_voice_response_spec.rb +1 -1
  557. data/spec/models/list_account_groups200_response_spec.rb +1 -1
  558. data/spec/models/list_accounts200_response_spec.rb +1 -1
  559. data/spec/models/list_agent_proposals200_response_spec.rb +1 -1
  560. data/spec/models/list_agent_runs200_response_spec.rb +1 -1
  561. data/spec/models/list_agents200_response_spec.rb +1 -1
  562. data/spec/models/list_api_activity200_response_spec.rb +1 -1
  563. data/spec/models/list_api_keys200_response_spec.rb +1 -1
  564. data/spec/models/list_competitors200_response_spec.rb +1 -1
  565. data/spec/models/list_hashtag_groups200_response_spec.rb +1 -1
  566. data/spec/models/list_inbox_conversations200_response_spec.rb +1 -1
  567. data/spec/models/list_inbox_reply_drafts200_response_spec.rb +1 -1
  568. data/spec/models/list_media200_response_spec.rb +1 -1
  569. data/spec/models/list_media_folders200_response_spec.rb +1 -1
  570. data/spec/models/list_mentions200_response_spec.rb +1 -1
  571. data/spec/models/list_my_workspaces200_response_spec.rb +1 -1
  572. data/spec/models/list_posts200_response_spec.rb +1 -1
  573. data/spec/models/list_receipts200_response_spec.rb +1 -1
  574. data/spec/models/list_recycling_rules200_response_spec.rb +1 -1
  575. data/spec/models/list_recycling_runs200_response_spec.rb +1 -1
  576. data/spec/models/list_report_exports200_response_spec.rb +1 -1
  577. data/spec/models/list_reseller_clients200_response_spec.rb +1 -1
  578. data/spec/models/list_rss_feeds200_response_spec.rb +1 -1
  579. data/spec/models/list_tags200_response_spec.rb +1 -1
  580. data/spec/models/list_templates200_response_spec.rb +1 -1
  581. data/spec/models/list_users200_response_spec.rb +1 -1
  582. data/spec/models/list_webhook_subscriptions200_response_spec.rb +1 -1
  583. data/spec/models/list_workspaces200_response_spec.rb +1 -1
  584. data/spec/models/media_base64_input_spec.rb +1 -1
  585. data/spec/models/media_folder_input_spec.rb +1 -1
  586. data/spec/models/media_folder_ref_spec.rb +1 -1
  587. data/spec/models/media_folder_spec.rb +1 -1
  588. data/spec/models/media_spec.rb +1 -1
  589. data/spec/models/mention_identity_input_spec.rb +1 -1
  590. data/spec/models/mention_identity_spec.rb +1 -1
  591. data/spec/models/mention_input_spec.rb +1 -1
  592. data/spec/models/mention_spec.rb +1 -1
  593. data/spec/models/message_only_spec.rb +1 -1
  594. data/spec/models/pagination_meta_links_spec.rb +1 -1
  595. data/spec/models/pagination_meta_meta_spec.rb +1 -1
  596. data/spec/models/pagination_meta_spec.rb +1 -1
  597. data/spec/models/poll_rss_feed200_response_spec.rb +1 -1
  598. data/spec/models/post_analytics_spec.rb +1 -1
  599. data/spec/models/post_content_spec.rb +1 -1
  600. data/spec/models/post_input_spec.rb +1 -1
  601. data/spec/models/post_options_instagram_spec.rb +1 -1
  602. data/spec/models/post_options_tik_tok_spec.rb +1 -1
  603. data/spec/models/post_options_youtube_spec.rb +1 -1
  604. data/spec/models/post_spec.rb +1 -1
  605. data/spec/models/post_status_spec.rb +1 -1
  606. data/spec/models/post_version_options_spec.rb +1 -1
  607. data/spec/models/post_version_spec.rb +1 -1
  608. data/spec/models/post_warning_spec.rb +1 -1
  609. data/spec/models/post_warnings_spec.rb +1 -1
  610. data/spec/models/posting_schedule_day_spec.rb +1 -1
  611. data/spec/models/posting_schedule_day_times_inner_spec.rb +1 -1
  612. data/spec/models/posting_schedule_input_spec.rb +1 -1
  613. data/spec/models/posting_schedule_spec.rb +1 -1
  614. data/spec/models/posting_time_slot_spec.rb +1 -1
  615. data/spec/models/posting_times_best_inner_spec.rb +1 -1
  616. data/spec/models/posting_times_day_intervals_inner_inner_spec.rb +1 -1
  617. data/spec/models/posting_times_days_inner_spec.rb +1 -1
  618. data/spec/models/posting_times_spec.rb +1 -1
  619. data/spec/models/preflight_result_spec.rb +1 -1
  620. data/spec/models/public_workspace_pivot_spec.rb +1 -1
  621. data/spec/models/public_workspace_spec.rb +1 -1
  622. data/spec/models/publish_progress_spec.rb +1 -1
  623. data/spec/models/queue_slots_spec.rb +1 -1
  624. data/spec/models/receipt_input_spec.rb +1 -1
  625. data/spec/models/receipt_spec.rb +1 -1
  626. data/spec/models/receipt_update_input_spec.rb +1 -1
  627. data/spec/models/recommended_posting_times_spec.rb +1 -1
  628. data/spec/models/reconnect_link_spec.rb +1 -1
  629. data/spec/models/recycling_rule_input_spec.rb +1 -1
  630. data/spec/models/recycling_rule_settings_spec.rb +1 -1
  631. data/spec/models/recycling_rule_spec.rb +1 -1
  632. data/spec/models/recycling_rule_update_spec.rb +1 -1
  633. data/spec/models/recycling_run_spec.rb +1 -1
  634. data/spec/models/remove_generic_subscription422_response_spec.rb +1 -1
  635. data/spec/models/remove_user_from_workspace_request_spec.rb +1 -1
  636. data/spec/models/report_branding_input_spec.rb +1 -1
  637. data/spec/models/report_branding_spec.rb +1 -1
  638. data/spec/models/report_export_input_spec.rb +1 -1
  639. data/spec/models/report_export_spec.rb +1 -1
  640. data/spec/models/repurpose_content200_response_spec.rb +1 -1
  641. data/spec/models/repurpose_content202_response_spec.rb +1 -1
  642. data/spec/models/repurpose_content500_response_spec.rb +1 -1
  643. data/spec/models/repurpose_input_spec.rb +1 -1
  644. data/spec/models/repurpose_input_theme_spec.rb +1 -1
  645. data/spec/models/repurpose_result_media_spec.rb +1 -1
  646. data/spec/models/repurpose_result_source_spec.rb +1 -1
  647. data/spec/models/repurpose_result_spec.rb +1 -1
  648. data/spec/models/repurpose_run_accepted_spec.rb +1 -1
  649. data/spec/models/repurpose_run_spec.rb +1 -1
  650. data/spec/models/repurpose_slide_spec.rb +1 -1
  651. data/spec/models/reseller_client_input_spec.rb +1 -1
  652. data/spec/models/reseller_client_spec.rb +1 -1
  653. data/spec/models/reseller_client_usage_spec.rb +1 -1
  654. data/spec/models/retry_post_account_result_spec.rb +1 -1
  655. data/spec/models/rss_feed_input_spec.rb +1 -1
  656. data/spec/models/rss_feed_spec.rb +1 -1
  657. data/spec/models/rss_feed_update_spec.rb +1 -1
  658. data/spec/models/run_agent202_response_spec.rb +1 -1
  659. data/spec/models/schedule_post_request_spec.rb +1 -1
  660. data/spec/models/schedule_result_spec.rb +1 -1
  661. data/spec/models/subscription_input_spec.rb +1 -1
  662. data/spec/models/subscription_spec.rb +1 -1
  663. data/spec/models/subscription_status_spec.rb +1 -1
  664. data/spec/models/subscription_update_input_spec.rb +1 -1
  665. data/spec/models/tag_input_spec.rb +1 -1
  666. data/spec/models/tag_spec.rb +1 -1
  667. data/spec/models/template_content_item_spec.rb +1 -1
  668. data/spec/models/template_input_content_inner_spec.rb +1 -1
  669. data/spec/models/template_input_spec.rb +1 -1
  670. data/spec/models/template_spec.rb +1 -1
  671. data/spec/models/update_media_request_spec.rb +1 -1
  672. data/spec/models/update_post200_response_spec.rb +1 -1
  673. data/spec/models/upload_chunk201_response_spec.rb +1 -1
  674. data/spec/models/user_input_spec.rb +1 -1
  675. data/spec/models/user_spec.rb +1 -1
  676. data/spec/models/user_update_input_spec.rb +1 -1
  677. data/spec/models/webhook_event_name_spec.rb +1 -1
  678. data/spec/models/webhook_event_payload_spec.rb +1 -1
  679. data/spec/models/webhook_subscription_input_spec.rb +1 -1
  680. data/spec/models/webhook_subscription_spec.rb +1 -1
  681. data/spec/models/workspace_agent_input_spec.rb +1 -1
  682. data/spec/models/workspace_agent_settings_spec.rb +1 -1
  683. data/spec/models/workspace_agent_spec.rb +1 -1
  684. data/spec/models/workspace_agent_update_spec.rb +1 -1
  685. data/spec/models/workspace_input_spec.rb +1 -1
  686. data/spec/models/workspace_spec.rb +1 -1
  687. data/spec/models/workspace_user_input_spec.rb +1 -1
  688. data/spec/models/x_usage_counter_spec.rb +1 -1
  689. data/spec/models/x_usage_spec.rb +1 -1
  690. data/spec/spec_helper.rb +1 -1
  691. metadata +17 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7f6fd305d152e8f3fb226343343943d4d10d3fcca66010760e29cd58879273da
4
- data.tar.gz: b80d9a8a76ef8bb704199109a6c3d4f12e3b1e42dd1554c95ae9102e5fbec1d0
3
+ metadata.gz: cb24598a4780b450d6a5e146f363d042c2b117c7cddb02a5cb88964b602d9055
4
+ data.tar.gz: '081b8e5933335bf5a8e6f82b393d566fc4cc8f6aeb2c0f1488074847b411749c'
5
5
  SHA512:
6
- metadata.gz: cdff2717f3a9f66938d8eba7936f26ec0c1bb7a00e200122f2001f3521294964de5e4c9b6b9d0ec61e639d54cb3cb58d4225103c71511d0e10a9132fd9a35304
7
- data.tar.gz: 11835491c07eb59a78479c935cb599c6fb309eb3d00c7a55cfcf1783918fefbaab207a21ef4c9e4ce0b02bb7249d76dc24577803a0e2a8c9f3fdf2d8cfdcd57f
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.32.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
@@ -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
+
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 |
@@ -85,6 +86,70 @@ No authorization required
85
86
  - **Accept**: application/json
86
87
 
87
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
+
88
153
  ## calculate_crop
89
154
 
90
155
  > <FreeToolCalculateCropResponse> calculate_crop(free_tool_calculate_crop_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.32.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.32.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.32.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.32.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.32.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.32.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.32.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.32.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]
@@ -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.32.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.32.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.32.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.32.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.32.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.32.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.32.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.32.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.32.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.32.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.32.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.32.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.32.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.32.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.32.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.32.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