postboost 1.29.1 → 1.31.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 (685) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -1
  3. data/docs/AccountConnectionHealth.md +2 -0
  4. data/docs/AccountConnectionHealthReconnectReason.md +22 -0
  5. data/docs/FreeToolCalculateCropRequest.md +30 -0
  6. data/docs/FreeToolCalculateCropResponse.md +26 -0
  7. data/docs/FreeToolCalculateCropResponseCrop.md +24 -0
  8. data/docs/FreeToolCalculateCropResponseImage.md +24 -0
  9. data/docs/FreeToolCalculateCropResponseOutput.md +20 -0
  10. data/docs/FreeToolGetBestTimesToPostResponse.md +24 -0
  11. data/docs/FreeToolGetBestTimesToPostResponseNetworksInner.md +24 -0
  12. data/docs/FreeToolGetImageSizesResponse.md +22 -0
  13. data/docs/FreeToolGetImageSizesResponseSizesInner.md +38 -0
  14. data/docs/FreeToolGetImageSizesResponseSourcesInner.md +20 -0
  15. data/docs/FreeToolsApi.md +199 -0
  16. data/lib/postboost/api/account_groups_api.rb +1 -1
  17. data/lib/postboost/api/accounts_api.rb +1 -1
  18. data/lib/postboost/api/activity_api.rb +1 -1
  19. data/lib/postboost/api/agents_api.rb +1 -1
  20. data/lib/postboost/api/ai_api.rb +1 -1
  21. data/lib/postboost/api/analytics_api.rb +1 -1
  22. data/lib/postboost/api/competitors_api.rb +1 -1
  23. data/lib/postboost/api/free_tools_api.rb +197 -1
  24. data/lib/postboost/api/hashtag_groups_api.rb +1 -1
  25. data/lib/postboost/api/inbox_api.rb +1 -1
  26. data/lib/postboost/api/media_api.rb +1 -1
  27. data/lib/postboost/api/mentions_api.rb +1 -1
  28. data/lib/postboost/api/posting_schedule_api.rb +1 -1
  29. data/lib/postboost/api/posts_api.rb +1 -1
  30. data/lib/postboost/api/receipts_api.rb +1 -1
  31. data/lib/postboost/api/subscriptions_api.rb +1 -1
  32. data/lib/postboost/api/tags_api.rb +1 -1
  33. data/lib/postboost/api/templates_api.rb +1 -1
  34. data/lib/postboost/api/users_api.rb +1 -1
  35. data/lib/postboost/api/webhooks_api.rb +1 -1
  36. data/lib/postboost/api/workspaces_api.rb +1 -1
  37. data/lib/postboost/api_client.rb +1 -1
  38. data/lib/postboost/api_error.rb +1 -1
  39. data/lib/postboost/configuration.rb +1 -1
  40. data/lib/postboost/models/account.rb +1 -1
  41. data/lib/postboost/models/account_analytics.rb +1 -1
  42. data/lib/postboost/models/account_analytics_initial_sync.rb +1 -1
  43. data/lib/postboost/models/account_connection_health.rb +18 -2
  44. data/lib/postboost/models/account_connection_health_reconnect_reason.rb +256 -0
  45. data/lib/postboost/models/account_errors_inner.rb +1 -1
  46. data/lib/postboost/models/account_errors_inner_one_of.rb +1 -1
  47. data/lib/postboost/models/account_group.rb +1 -1
  48. data/lib/postboost/models/account_group_input.rb +1 -1
  49. data/lib/postboost/models/account_health.rb +1 -1
  50. data/lib/postboost/models/account_health_daily_cap.rb +1 -1
  51. data/lib/postboost/models/account_schedule.rb +1 -1
  52. data/lib/postboost/models/add_competitor202_response.rb +1 -1
  53. data/lib/postboost/models/add_competitor409_response.rb +1 -1
  54. data/lib/postboost/models/add_generic_subscription_request.rb +1 -1
  55. data/lib/postboost/models/add_post_to_queue_request.rb +1 -1
  56. data/lib/postboost/models/agent_page_meta.rb +1 -1
  57. data/lib/postboost/models/agent_proposal.rb +1 -1
  58. data/lib/postboost/models/agent_proposal_decision.rb +1 -1
  59. data/lib/postboost/models/agent_run.rb +1 -1
  60. data/lib/postboost/models/ai_credits.rb +1 -1
  61. data/lib/postboost/models/ai_usage.rb +1 -1
  62. data/lib/postboost/models/ai_usage_text.rb +1 -1
  63. data/lib/postboost/models/analytics_period.rb +1 -1
  64. data/lib/postboost/models/analytics_summary.rb +1 -1
  65. data/lib/postboost/models/analytics_summary_data.rb +1 -1
  66. data/lib/postboost/models/api_activity.rb +1 -1
  67. data/lib/postboost/models/api_activity_outcome.rb +1 -1
  68. data/lib/postboost/models/api_key.rb +1 -1
  69. data/lib/postboost/models/api_key_ability.rb +1 -1
  70. data/lib/postboost/models/api_key_input.rb +1 -1
  71. data/lib/postboost/models/approve_agent_proposal200_response.rb +1 -1
  72. data/lib/postboost/models/approve_agent_proposal409_response.rb +1 -1
  73. data/lib/postboost/models/approve_inbox_reply_draft403_response.rb +1 -1
  74. data/lib/postboost/models/approve_post_request.rb +1 -1
  75. data/lib/postboost/models/best_posting_times.rb +1 -1
  76. data/lib/postboost/models/best_posting_times_times_inner.rb +1 -1
  77. data/lib/postboost/models/blog_to_social200_response.rb +1 -1
  78. data/lib/postboost/models/blog_to_social429_response.rb +1 -1
  79. data/lib/postboost/models/blog_to_social_caption.rb +1 -1
  80. data/lib/postboost/models/blog_to_social_input.rb +1 -1
  81. data/lib/postboost/models/blog_to_social_media.rb +1 -1
  82. data/lib/postboost/models/blog_to_social_response.rb +1 -1
  83. data/lib/postboost/models/brand_voice.rb +1 -1
  84. data/lib/postboost/models/brand_voice_input.rb +1 -1
  85. data/lib/postboost/models/brand_voice_meta.rb +1 -1
  86. data/lib/postboost/models/cancel_subscription422_response.rb +1 -1
  87. data/lib/postboost/models/cancel_subscription422_response_errors.rb +1 -1
  88. data/lib/postboost/models/cancel_subscription_request.rb +1 -1
  89. data/lib/postboost/models/change_subscription_plan_request.rb +1 -1
  90. data/lib/postboost/models/channel_account.rb +1 -1
  91. data/lib/postboost/models/checkout_subscription200_response.rb +1 -1
  92. data/lib/postboost/models/checkout_subscription_request.rb +1 -1
  93. data/lib/postboost/models/coded_error.rb +1 -1
  94. data/lib/postboost/models/competitor.rb +1 -1
  95. data/lib/postboost/models/competitor_detail.rb +1 -1
  96. data/lib/postboost/models/competitor_input.rb +1 -1
  97. data/lib/postboost/models/competitor_media.rb +1 -1
  98. data/lib/postboost/models/competitor_snapshot.rb +1 -1
  99. data/lib/postboost/models/complete_chunked_upload_request.rb +1 -1
  100. data/lib/postboost/models/connect_channel_input.rb +1 -1
  101. data/lib/postboost/models/connect_link.rb +1 -1
  102. data/lib/postboost/models/create_account_group201_response.rb +1 -1
  103. data/lib/postboost/models/create_agent201_response.rb +1 -1
  104. data/lib/postboost/models/create_api_key201_response.rb +1 -1
  105. data/lib/postboost/models/create_api_key201_response_data.rb +1 -1
  106. data/lib/postboost/models/create_connect_link_request.rb +1 -1
  107. data/lib/postboost/models/create_hashtag_group201_response.rb +1 -1
  108. data/lib/postboost/models/create_inbox_reply_draft201_response.rb +1 -1
  109. data/lib/postboost/models/create_media_folder_request.rb +1 -1
  110. data/lib/postboost/models/create_mention201_response.rb +1 -1
  111. data/lib/postboost/models/create_post201_response.rb +1 -1
  112. data/lib/postboost/models/create_recycling_rule201_response.rb +1 -1
  113. data/lib/postboost/models/create_report_export201_response.rb +1 -1
  114. data/lib/postboost/models/create_reseller_client201_response.rb +1 -1
  115. data/lib/postboost/models/create_rss_feed201_response.rb +1 -1
  116. data/lib/postboost/models/create_template201_response.rb +1 -1
  117. data/lib/postboost/models/create_webhook_subscription201_response.rb +1 -1
  118. data/lib/postboost/models/create_webhook_subscription201_response_data.rb +1 -1
  119. data/lib/postboost/models/delete_agent200_response.rb +1 -1
  120. data/lib/postboost/models/delete_media_bulk_request.rb +1 -1
  121. data/lib/postboost/models/delete_media_bulk_request_items_inner.rb +1 -1
  122. data/lib/postboost/models/delete_media_folder_request.rb +1 -1
  123. data/lib/postboost/models/delete_mode.rb +1 -1
  124. data/lib/postboost/models/delete_post_request.rb +1 -1
  125. data/lib/postboost/models/delete_posts_bulk_request.rb +1 -1
  126. data/lib/postboost/models/delete_receipts_bulk_request.rb +1 -1
  127. data/lib/postboost/models/delete_result.rb +1 -1
  128. data/lib/postboost/models/delete_user400_response.rb +1 -1
  129. data/lib/postboost/models/delete_users_bulk_request.rb +1 -1
  130. data/lib/postboost/models/delete_workspaces_bulk_request.rb +1 -1
  131. data/lib/postboost/models/free_tool_build_utm_url_request.rb +1 -1
  132. data/lib/postboost/models/free_tool_build_utm_url_response.rb +1 -1
  133. data/lib/postboost/models/free_tool_calculate_crop_request.rb +475 -0
  134. data/lib/postboost/models/free_tool_calculate_crop_response.rb +252 -0
  135. data/lib/postboost/models/free_tool_calculate_crop_response_crop.rb +242 -0
  136. data/lib/postboost/models/free_tool_calculate_crop_response_image.rb +242 -0
  137. data/lib/postboost/models/free_tool_calculate_crop_response_output.rb +224 -0
  138. data/lib/postboost/models/free_tool_calculate_engagement_rate_request.rb +1 -1
  139. data/lib/postboost/models/free_tool_calculate_engagement_rate_response.rb +1 -1
  140. data/lib/postboost/models/free_tool_check_post_request.rb +1 -1
  141. data/lib/postboost/models/free_tool_check_post_request_media.rb +1 -1
  142. data/lib/postboost/models/free_tool_check_post_response.rb +1 -1
  143. data/lib/postboost/models/free_tool_check_post_response_networks_inner.rb +1 -1
  144. data/lib/postboost/models/free_tool_check_post_response_networks_inner_errors_inner.rb +1 -1
  145. data/lib/postboost/models/free_tool_clean_text_request.rb +1 -1
  146. data/lib/postboost/models/free_tool_clean_text_response.rb +1 -1
  147. data/lib/postboost/models/free_tool_clean_text_response_changes_inner.rb +1 -1
  148. data/lib/postboost/models/free_tool_clean_text_response_flags_inner.rb +1 -1
  149. data/lib/postboost/models/free_tool_count_characters_request.rb +1 -1
  150. data/lib/postboost/models/free_tool_count_characters_response.rb +1 -1
  151. data/lib/postboost/models/free_tool_count_characters_response_networks_inner.rb +1 -1
  152. data/lib/postboost/models/free_tool_error.rb +1 -1
  153. data/lib/postboost/models/free_tool_format_linked_in_post_request.rb +1 -1
  154. data/lib/postboost/models/free_tool_format_linked_in_post_response.rb +1 -1
  155. data/lib/postboost/models/free_tool_generate_caption_request.rb +1 -1
  156. data/lib/postboost/models/free_tool_generate_caption_response.rb +1 -1
  157. data/lib/postboost/models/free_tool_generate_fancy_text_request.rb +1 -1
  158. data/lib/postboost/models/free_tool_generate_fancy_text_response.rb +1 -1
  159. data/lib/postboost/models/free_tool_generate_fancy_text_response_styles_inner.rb +1 -1
  160. data/lib/postboost/models/free_tool_generate_hashtags_request.rb +1 -1
  161. data/lib/postboost/models/free_tool_generate_hashtags_response.rb +1 -1
  162. data/lib/postboost/models/free_tool_get_best_times_to_post_response.rb +249 -0
  163. data/lib/postboost/models/free_tool_get_best_times_to_post_response_networks_inner.rb +248 -0
  164. data/lib/postboost/models/free_tool_get_image_sizes_response.rb +239 -0
  165. data/lib/postboost/models/free_tool_get_image_sizes_response_sizes_inner.rb +317 -0
  166. data/lib/postboost/models/free_tool_get_image_sizes_response_sources_inner.rb +223 -0
  167. data/lib/postboost/models/free_tool_list.rb +1 -1
  168. data/lib/postboost/models/free_tool_list_item.rb +1 -1
  169. data/lib/postboost/models/free_tool_split_thread_request.rb +1 -1
  170. data/lib/postboost/models/free_tool_split_thread_response.rb +1 -1
  171. data/lib/postboost/models/free_tool_split_thread_response_posts_inner.rb +1 -1
  172. data/lib/postboost/models/get_account_health200_response.rb +1 -1
  173. data/lib/postboost/models/get_brand_voice200_response.rb +1 -1
  174. data/lib/postboost/models/get_competitor200_response.rb +1 -1
  175. data/lib/postboost/models/get_inbox_conversation200_response.rb +1 -1
  176. data/lib/postboost/models/get_posting_schedule200_response.rb +1 -1
  177. data/lib/postboost/models/get_remote_upload_status200_response.rb +1 -1
  178. data/lib/postboost/models/get_report_branding200_response.rb +1 -1
  179. data/lib/postboost/models/get_repurpose_run200_response.rb +1 -1
  180. data/lib/postboost/models/guardrail_error.rb +1 -1
  181. data/lib/postboost/models/hashtag_group.rb +1 -1
  182. data/lib/postboost/models/hashtag_group_input.rb +1 -1
  183. data/lib/postboost/models/image_alt_text200_response.rb +1 -1
  184. data/lib/postboost/models/image_alt_text_input.rb +1 -1
  185. data/lib/postboost/models/image_alt_text_response.rb +1 -1
  186. data/lib/postboost/models/image_credit_balance.rb +1 -1
  187. data/lib/postboost/models/image_edit_input.rb +1 -1
  188. data/lib/postboost/models/image_generate200_response.rb +1 -1
  189. data/lib/postboost/models/image_generate429_response.rb +1 -1
  190. data/lib/postboost/models/image_generate_input.rb +1 -1
  191. data/lib/postboost/models/image_generation_response.rb +1 -1
  192. data/lib/postboost/models/image_prompt200_response.rb +1 -1
  193. data/lib/postboost/models/image_prompt429_response.rb +1 -1
  194. data/lib/postboost/models/image_prompt_input.rb +1 -1
  195. data/lib/postboost/models/image_prompt_response.rb +1 -1
  196. data/lib/postboost/models/image_variations200_response.rb +1 -1
  197. data/lib/postboost/models/image_variations_input.rb +1 -1
  198. data/lib/postboost/models/image_variations_response.rb +1 -1
  199. data/lib/postboost/models/inbox_author.rb +1 -1
  200. data/lib/postboost/models/inbox_conversation.rb +1 -1
  201. data/lib/postboost/models/inbox_conversation_account.rb +1 -1
  202. data/lib/postboost/models/inbox_conversation_update.rb +1 -1
  203. data/lib/postboost/models/inbox_message.rb +1 -1
  204. data/lib/postboost/models/inbox_message_author.rb +1 -1
  205. data/lib/postboost/models/inbox_reply_draft.rb +1 -1
  206. data/lib/postboost/models/inbox_reply_draft_approve.rb +1 -1
  207. data/lib/postboost/models/inbox_reply_draft_edit.rb +1 -1
  208. data/lib/postboost/models/inbox_reply_draft_input.rb +1 -1
  209. data/lib/postboost/models/initiate_chunked_upload201_response.rb +1 -1
  210. data/lib/postboost/models/initiate_chunked_upload_request.rb +1 -1
  211. data/lib/postboost/models/initiate_remote_upload201_response.rb +1 -1
  212. data/lib/postboost/models/initiate_remote_upload201_response_one_of.rb +1 -1
  213. data/lib/postboost/models/initiate_remote_upload_request.rb +1 -1
  214. data/lib/postboost/models/learn_brand_voice_input.rb +1 -1
  215. data/lib/postboost/models/learn_brand_voice_response.rb +1 -1
  216. data/lib/postboost/models/learn_brand_voice_response_meta.rb +1 -1
  217. data/lib/postboost/models/list_account_groups200_response.rb +1 -1
  218. data/lib/postboost/models/list_accounts200_response.rb +1 -1
  219. data/lib/postboost/models/list_agent_proposals200_response.rb +1 -1
  220. data/lib/postboost/models/list_agent_runs200_response.rb +1 -1
  221. data/lib/postboost/models/list_agents200_response.rb +1 -1
  222. data/lib/postboost/models/list_api_activity200_response.rb +1 -1
  223. data/lib/postboost/models/list_api_keys200_response.rb +1 -1
  224. data/lib/postboost/models/list_competitors200_response.rb +1 -1
  225. data/lib/postboost/models/list_hashtag_groups200_response.rb +1 -1
  226. data/lib/postboost/models/list_inbox_conversations200_response.rb +1 -1
  227. data/lib/postboost/models/list_inbox_reply_drafts200_response.rb +1 -1
  228. data/lib/postboost/models/list_media200_response.rb +1 -1
  229. data/lib/postboost/models/list_media_folders200_response.rb +1 -1
  230. data/lib/postboost/models/list_mentions200_response.rb +1 -1
  231. data/lib/postboost/models/list_my_workspaces200_response.rb +1 -1
  232. data/lib/postboost/models/list_posts200_response.rb +1 -1
  233. data/lib/postboost/models/list_receipts200_response.rb +1 -1
  234. data/lib/postboost/models/list_recycling_rules200_response.rb +1 -1
  235. data/lib/postboost/models/list_recycling_runs200_response.rb +1 -1
  236. data/lib/postboost/models/list_report_exports200_response.rb +1 -1
  237. data/lib/postboost/models/list_reseller_clients200_response.rb +1 -1
  238. data/lib/postboost/models/list_rss_feeds200_response.rb +1 -1
  239. data/lib/postboost/models/list_tags200_response.rb +1 -1
  240. data/lib/postboost/models/list_templates200_response.rb +1 -1
  241. data/lib/postboost/models/list_users200_response.rb +1 -1
  242. data/lib/postboost/models/list_webhook_subscriptions200_response.rb +1 -1
  243. data/lib/postboost/models/list_workspaces200_response.rb +1 -1
  244. data/lib/postboost/models/media.rb +1 -1
  245. data/lib/postboost/models/media_base64_input.rb +1 -1
  246. data/lib/postboost/models/media_folder.rb +1 -1
  247. data/lib/postboost/models/media_folder_input.rb +1 -1
  248. data/lib/postboost/models/media_folder_ref.rb +1 -1
  249. data/lib/postboost/models/mention.rb +1 -1
  250. data/lib/postboost/models/mention_identity.rb +1 -1
  251. data/lib/postboost/models/mention_identity_input.rb +1 -1
  252. data/lib/postboost/models/mention_input.rb +1 -1
  253. data/lib/postboost/models/message_only.rb +1 -1
  254. data/lib/postboost/models/pagination_meta.rb +1 -1
  255. data/lib/postboost/models/pagination_meta_links.rb +1 -1
  256. data/lib/postboost/models/pagination_meta_meta.rb +1 -1
  257. data/lib/postboost/models/poll_rss_feed200_response.rb +1 -1
  258. data/lib/postboost/models/post.rb +1 -1
  259. data/lib/postboost/models/post_analytics.rb +1 -1
  260. data/lib/postboost/models/post_content.rb +1 -1
  261. data/lib/postboost/models/post_input.rb +1 -1
  262. data/lib/postboost/models/post_options_instagram.rb +1 -1
  263. data/lib/postboost/models/post_options_tik_tok.rb +1 -1
  264. data/lib/postboost/models/post_options_youtube.rb +1 -1
  265. data/lib/postboost/models/post_status.rb +1 -1
  266. data/lib/postboost/models/post_version.rb +1 -1
  267. data/lib/postboost/models/post_version_options.rb +1 -1
  268. data/lib/postboost/models/post_warning.rb +1 -1
  269. data/lib/postboost/models/post_warnings.rb +1 -1
  270. data/lib/postboost/models/posting_schedule.rb +1 -1
  271. data/lib/postboost/models/posting_schedule_day.rb +1 -1
  272. data/lib/postboost/models/posting_schedule_day_times_inner.rb +1 -1
  273. data/lib/postboost/models/posting_schedule_input.rb +1 -1
  274. data/lib/postboost/models/posting_time_slot.rb +1 -1
  275. data/lib/postboost/models/posting_times.rb +1 -1
  276. data/lib/postboost/models/posting_times_best_inner.rb +1 -1
  277. data/lib/postboost/models/posting_times_day_intervals_inner_inner.rb +1 -1
  278. data/lib/postboost/models/posting_times_days_inner.rb +1 -1
  279. data/lib/postboost/models/preflight_result.rb +1 -1
  280. data/lib/postboost/models/public_workspace.rb +1 -1
  281. data/lib/postboost/models/public_workspace_pivot.rb +1 -1
  282. data/lib/postboost/models/publish_progress.rb +1 -1
  283. data/lib/postboost/models/queue_slots.rb +1 -1
  284. data/lib/postboost/models/receipt.rb +1 -1
  285. data/lib/postboost/models/receipt_input.rb +1 -1
  286. data/lib/postboost/models/receipt_update_input.rb +1 -1
  287. data/lib/postboost/models/recommended_posting_times.rb +1 -1
  288. data/lib/postboost/models/reconnect_link.rb +1 -1
  289. data/lib/postboost/models/recycling_rule.rb +1 -1
  290. data/lib/postboost/models/recycling_rule_input.rb +1 -1
  291. data/lib/postboost/models/recycling_rule_settings.rb +1 -1
  292. data/lib/postboost/models/recycling_rule_update.rb +1 -1
  293. data/lib/postboost/models/recycling_run.rb +1 -1
  294. data/lib/postboost/models/remove_generic_subscription422_response.rb +1 -1
  295. data/lib/postboost/models/remove_user_from_workspace_request.rb +1 -1
  296. data/lib/postboost/models/report_branding.rb +1 -1
  297. data/lib/postboost/models/report_branding_input.rb +1 -1
  298. data/lib/postboost/models/report_export.rb +1 -1
  299. data/lib/postboost/models/report_export_input.rb +1 -1
  300. data/lib/postboost/models/repurpose_content200_response.rb +1 -1
  301. data/lib/postboost/models/repurpose_content202_response.rb +1 -1
  302. data/lib/postboost/models/repurpose_content500_response.rb +1 -1
  303. data/lib/postboost/models/repurpose_input.rb +1 -1
  304. data/lib/postboost/models/repurpose_input_theme.rb +1 -1
  305. data/lib/postboost/models/repurpose_result.rb +1 -1
  306. data/lib/postboost/models/repurpose_result_media.rb +1 -1
  307. data/lib/postboost/models/repurpose_result_source.rb +1 -1
  308. data/lib/postboost/models/repurpose_run.rb +1 -1
  309. data/lib/postboost/models/repurpose_run_accepted.rb +1 -1
  310. data/lib/postboost/models/repurpose_slide.rb +1 -1
  311. data/lib/postboost/models/reseller_client.rb +1 -1
  312. data/lib/postboost/models/reseller_client_input.rb +1 -1
  313. data/lib/postboost/models/reseller_client_usage.rb +1 -1
  314. data/lib/postboost/models/retry_post_account_result.rb +1 -1
  315. data/lib/postboost/models/rss_feed.rb +1 -1
  316. data/lib/postboost/models/rss_feed_input.rb +1 -1
  317. data/lib/postboost/models/rss_feed_update.rb +1 -1
  318. data/lib/postboost/models/run_agent202_response.rb +1 -1
  319. data/lib/postboost/models/schedule_post_request.rb +1 -1
  320. data/lib/postboost/models/schedule_result.rb +1 -1
  321. data/lib/postboost/models/subscription.rb +1 -1
  322. data/lib/postboost/models/subscription_input.rb +1 -1
  323. data/lib/postboost/models/subscription_status.rb +1 -1
  324. data/lib/postboost/models/subscription_update_input.rb +1 -1
  325. data/lib/postboost/models/tag.rb +1 -1
  326. data/lib/postboost/models/tag_input.rb +1 -1
  327. data/lib/postboost/models/template.rb +1 -1
  328. data/lib/postboost/models/template_content_item.rb +1 -1
  329. data/lib/postboost/models/template_input.rb +1 -1
  330. data/lib/postboost/models/template_input_content_inner.rb +1 -1
  331. data/lib/postboost/models/update_media_request.rb +1 -1
  332. data/lib/postboost/models/update_post200_response.rb +1 -1
  333. data/lib/postboost/models/upload_chunk201_response.rb +1 -1
  334. data/lib/postboost/models/user.rb +1 -1
  335. data/lib/postboost/models/user_input.rb +1 -1
  336. data/lib/postboost/models/user_update_input.rb +1 -1
  337. data/lib/postboost/models/webhook_event_name.rb +1 -1
  338. data/lib/postboost/models/webhook_event_payload.rb +1 -1
  339. data/lib/postboost/models/webhook_subscription.rb +1 -1
  340. data/lib/postboost/models/webhook_subscription_input.rb +1 -1
  341. data/lib/postboost/models/workspace.rb +1 -1
  342. data/lib/postboost/models/workspace_agent.rb +1 -1
  343. data/lib/postboost/models/workspace_agent_input.rb +1 -1
  344. data/lib/postboost/models/workspace_agent_settings.rb +1 -1
  345. data/lib/postboost/models/workspace_agent_update.rb +1 -1
  346. data/lib/postboost/models/workspace_input.rb +1 -1
  347. data/lib/postboost/models/workspace_user_input.rb +1 -1
  348. data/lib/postboost/models/x_usage.rb +1 -1
  349. data/lib/postboost/models/x_usage_counter.rb +1 -1
  350. data/lib/postboost/version.rb +2 -2
  351. data/lib/postboost.rb +12 -1
  352. data/postboost.gemspec +1 -1
  353. data/spec/api/account_groups_api_spec.rb +1 -1
  354. data/spec/api/accounts_api_spec.rb +1 -1
  355. data/spec/api/activity_api_spec.rb +1 -1
  356. data/spec/api/agents_api_spec.rb +1 -1
  357. data/spec/api/ai_api_spec.rb +1 -1
  358. data/spec/api/analytics_api_spec.rb +1 -1
  359. data/spec/api/competitors_api_spec.rb +1 -1
  360. data/spec/api/free_tools_api_spec.rb +37 -1
  361. data/spec/api/hashtag_groups_api_spec.rb +1 -1
  362. data/spec/api/inbox_api_spec.rb +1 -1
  363. data/spec/api/media_api_spec.rb +1 -1
  364. data/spec/api/mentions_api_spec.rb +1 -1
  365. data/spec/api/posting_schedule_api_spec.rb +1 -1
  366. data/spec/api/posts_api_spec.rb +1 -1
  367. data/spec/api/receipts_api_spec.rb +1 -1
  368. data/spec/api/subscriptions_api_spec.rb +1 -1
  369. data/spec/api/tags_api_spec.rb +1 -1
  370. data/spec/api/templates_api_spec.rb +1 -1
  371. data/spec/api/users_api_spec.rb +1 -1
  372. data/spec/api/webhooks_api_spec.rb +1 -1
  373. data/spec/api/workspaces_api_spec.rb +1 -1
  374. data/spec/models/account_analytics_initial_sync_spec.rb +1 -1
  375. data/spec/models/account_analytics_spec.rb +1 -1
  376. data/spec/models/account_connection_health_reconnect_reason_spec.rb +48 -0
  377. data/spec/models/account_connection_health_spec.rb +7 -1
  378. data/spec/models/account_errors_inner_one_of_spec.rb +1 -1
  379. data/spec/models/account_errors_inner_spec.rb +1 -1
  380. data/spec/models/account_group_input_spec.rb +1 -1
  381. data/spec/models/account_group_spec.rb +1 -1
  382. data/spec/models/account_health_daily_cap_spec.rb +1 -1
  383. data/spec/models/account_health_spec.rb +1 -1
  384. data/spec/models/account_schedule_spec.rb +1 -1
  385. data/spec/models/account_spec.rb +1 -1
  386. data/spec/models/add_competitor202_response_spec.rb +1 -1
  387. data/spec/models/add_competitor409_response_spec.rb +1 -1
  388. data/spec/models/add_generic_subscription_request_spec.rb +1 -1
  389. data/spec/models/add_post_to_queue_request_spec.rb +1 -1
  390. data/spec/models/agent_page_meta_spec.rb +1 -1
  391. data/spec/models/agent_proposal_decision_spec.rb +1 -1
  392. data/spec/models/agent_proposal_spec.rb +1 -1
  393. data/spec/models/agent_run_spec.rb +1 -1
  394. data/spec/models/ai_credits_spec.rb +1 -1
  395. data/spec/models/ai_usage_spec.rb +1 -1
  396. data/spec/models/ai_usage_text_spec.rb +1 -1
  397. data/spec/models/analytics_period_spec.rb +1 -1
  398. data/spec/models/analytics_summary_data_spec.rb +1 -1
  399. data/spec/models/analytics_summary_spec.rb +1 -1
  400. data/spec/models/api_activity_outcome_spec.rb +1 -1
  401. data/spec/models/api_activity_spec.rb +1 -1
  402. data/spec/models/api_key_ability_spec.rb +1 -1
  403. data/spec/models/api_key_input_spec.rb +1 -1
  404. data/spec/models/api_key_spec.rb +1 -1
  405. data/spec/models/approve_agent_proposal200_response_spec.rb +1 -1
  406. data/spec/models/approve_agent_proposal409_response_spec.rb +1 -1
  407. data/spec/models/approve_inbox_reply_draft403_response_spec.rb +1 -1
  408. data/spec/models/approve_post_request_spec.rb +1 -1
  409. data/spec/models/best_posting_times_spec.rb +1 -1
  410. data/spec/models/best_posting_times_times_inner_spec.rb +1 -1
  411. data/spec/models/blog_to_social200_response_spec.rb +1 -1
  412. data/spec/models/blog_to_social429_response_spec.rb +1 -1
  413. data/spec/models/blog_to_social_caption_spec.rb +1 -1
  414. data/spec/models/blog_to_social_input_spec.rb +1 -1
  415. data/spec/models/blog_to_social_media_spec.rb +1 -1
  416. data/spec/models/blog_to_social_response_spec.rb +1 -1
  417. data/spec/models/brand_voice_input_spec.rb +1 -1
  418. data/spec/models/brand_voice_meta_spec.rb +1 -1
  419. data/spec/models/brand_voice_spec.rb +1 -1
  420. data/spec/models/cancel_subscription422_response_errors_spec.rb +1 -1
  421. data/spec/models/cancel_subscription422_response_spec.rb +1 -1
  422. data/spec/models/cancel_subscription_request_spec.rb +1 -1
  423. data/spec/models/change_subscription_plan_request_spec.rb +1 -1
  424. data/spec/models/channel_account_spec.rb +1 -1
  425. data/spec/models/checkout_subscription200_response_spec.rb +1 -1
  426. data/spec/models/checkout_subscription_request_spec.rb +1 -1
  427. data/spec/models/coded_error_spec.rb +1 -1
  428. data/spec/models/competitor_detail_spec.rb +1 -1
  429. data/spec/models/competitor_input_spec.rb +1 -1
  430. data/spec/models/competitor_media_spec.rb +1 -1
  431. data/spec/models/competitor_snapshot_spec.rb +1 -1
  432. data/spec/models/competitor_spec.rb +1 -1
  433. data/spec/models/complete_chunked_upload_request_spec.rb +1 -1
  434. data/spec/models/connect_channel_input_spec.rb +1 -1
  435. data/spec/models/connect_link_spec.rb +1 -1
  436. data/spec/models/create_account_group201_response_spec.rb +1 -1
  437. data/spec/models/create_agent201_response_spec.rb +1 -1
  438. data/spec/models/create_api_key201_response_data_spec.rb +1 -1
  439. data/spec/models/create_api_key201_response_spec.rb +1 -1
  440. data/spec/models/create_connect_link_request_spec.rb +1 -1
  441. data/spec/models/create_hashtag_group201_response_spec.rb +1 -1
  442. data/spec/models/create_inbox_reply_draft201_response_spec.rb +1 -1
  443. data/spec/models/create_media_folder_request_spec.rb +1 -1
  444. data/spec/models/create_mention201_response_spec.rb +1 -1
  445. data/spec/models/create_post201_response_spec.rb +1 -1
  446. data/spec/models/create_recycling_rule201_response_spec.rb +1 -1
  447. data/spec/models/create_report_export201_response_spec.rb +1 -1
  448. data/spec/models/create_reseller_client201_response_spec.rb +1 -1
  449. data/spec/models/create_rss_feed201_response_spec.rb +1 -1
  450. data/spec/models/create_template201_response_spec.rb +1 -1
  451. data/spec/models/create_webhook_subscription201_response_data_spec.rb +1 -1
  452. data/spec/models/create_webhook_subscription201_response_spec.rb +1 -1
  453. data/spec/models/delete_agent200_response_spec.rb +1 -1
  454. data/spec/models/delete_media_bulk_request_items_inner_spec.rb +1 -1
  455. data/spec/models/delete_media_bulk_request_spec.rb +1 -1
  456. data/spec/models/delete_media_folder_request_spec.rb +1 -1
  457. data/spec/models/delete_mode_spec.rb +1 -1
  458. data/spec/models/delete_post_request_spec.rb +1 -1
  459. data/spec/models/delete_posts_bulk_request_spec.rb +1 -1
  460. data/spec/models/delete_receipts_bulk_request_spec.rb +1 -1
  461. data/spec/models/delete_result_spec.rb +1 -1
  462. data/spec/models/delete_user400_response_spec.rb +1 -1
  463. data/spec/models/delete_users_bulk_request_spec.rb +1 -1
  464. data/spec/models/delete_workspaces_bulk_request_spec.rb +1 -1
  465. data/spec/models/free_tool_build_utm_url_request_spec.rb +1 -1
  466. data/spec/models/free_tool_build_utm_url_response_spec.rb +1 -1
  467. data/spec/models/free_tool_calculate_crop_request_spec.rb +76 -0
  468. data/spec/models/free_tool_calculate_crop_response_crop_spec.rb +54 -0
  469. data/spec/models/free_tool_calculate_crop_response_image_spec.rb +54 -0
  470. data/spec/models/free_tool_calculate_crop_response_output_spec.rb +42 -0
  471. data/spec/models/free_tool_calculate_crop_response_spec.rb +60 -0
  472. data/spec/models/free_tool_calculate_engagement_rate_request_spec.rb +1 -1
  473. data/spec/models/free_tool_calculate_engagement_rate_response_spec.rb +1 -1
  474. data/spec/models/free_tool_check_post_request_media_spec.rb +1 -1
  475. data/spec/models/free_tool_check_post_request_spec.rb +1 -1
  476. data/spec/models/free_tool_check_post_response_networks_inner_errors_inner_spec.rb +1 -1
  477. data/spec/models/free_tool_check_post_response_networks_inner_spec.rb +1 -1
  478. data/spec/models/free_tool_check_post_response_spec.rb +1 -1
  479. data/spec/models/free_tool_clean_text_request_spec.rb +1 -1
  480. data/spec/models/free_tool_clean_text_response_changes_inner_spec.rb +1 -1
  481. data/spec/models/free_tool_clean_text_response_flags_inner_spec.rb +1 -1
  482. data/spec/models/free_tool_clean_text_response_spec.rb +1 -1
  483. data/spec/models/free_tool_count_characters_request_spec.rb +1 -1
  484. data/spec/models/free_tool_count_characters_response_networks_inner_spec.rb +1 -1
  485. data/spec/models/free_tool_count_characters_response_spec.rb +1 -1
  486. data/spec/models/free_tool_error_spec.rb +1 -1
  487. data/spec/models/free_tool_format_linked_in_post_request_spec.rb +1 -1
  488. data/spec/models/free_tool_format_linked_in_post_response_spec.rb +1 -1
  489. data/spec/models/free_tool_generate_caption_request_spec.rb +1 -1
  490. data/spec/models/free_tool_generate_caption_response_spec.rb +1 -1
  491. data/spec/models/free_tool_generate_fancy_text_request_spec.rb +1 -1
  492. data/spec/models/free_tool_generate_fancy_text_response_spec.rb +1 -1
  493. data/spec/models/free_tool_generate_fancy_text_response_styles_inner_spec.rb +1 -1
  494. data/spec/models/free_tool_generate_hashtags_request_spec.rb +1 -1
  495. data/spec/models/free_tool_generate_hashtags_response_spec.rb +1 -1
  496. data/spec/models/free_tool_get_best_times_to_post_response_networks_inner_spec.rb +54 -0
  497. data/spec/models/free_tool_get_best_times_to_post_response_spec.rb +54 -0
  498. data/spec/models/free_tool_get_image_sizes_response_sizes_inner_spec.rb +96 -0
  499. data/spec/models/free_tool_get_image_sizes_response_sources_inner_spec.rb +42 -0
  500. data/spec/models/free_tool_get_image_sizes_response_spec.rb +48 -0
  501. data/spec/models/free_tool_list_item_spec.rb +1 -1
  502. data/spec/models/free_tool_list_spec.rb +1 -1
  503. data/spec/models/free_tool_split_thread_request_spec.rb +1 -1
  504. data/spec/models/free_tool_split_thread_response_posts_inner_spec.rb +1 -1
  505. data/spec/models/free_tool_split_thread_response_spec.rb +1 -1
  506. data/spec/models/get_account_health200_response_spec.rb +1 -1
  507. data/spec/models/get_brand_voice200_response_spec.rb +1 -1
  508. data/spec/models/get_competitor200_response_spec.rb +1 -1
  509. data/spec/models/get_inbox_conversation200_response_spec.rb +1 -1
  510. data/spec/models/get_posting_schedule200_response_spec.rb +1 -1
  511. data/spec/models/get_remote_upload_status200_response_spec.rb +1 -1
  512. data/spec/models/get_report_branding200_response_spec.rb +1 -1
  513. data/spec/models/get_repurpose_run200_response_spec.rb +1 -1
  514. data/spec/models/guardrail_error_spec.rb +1 -1
  515. data/spec/models/hashtag_group_input_spec.rb +1 -1
  516. data/spec/models/hashtag_group_spec.rb +1 -1
  517. data/spec/models/image_alt_text200_response_spec.rb +1 -1
  518. data/spec/models/image_alt_text_input_spec.rb +1 -1
  519. data/spec/models/image_alt_text_response_spec.rb +1 -1
  520. data/spec/models/image_credit_balance_spec.rb +1 -1
  521. data/spec/models/image_edit_input_spec.rb +1 -1
  522. data/spec/models/image_generate200_response_spec.rb +1 -1
  523. data/spec/models/image_generate429_response_spec.rb +1 -1
  524. data/spec/models/image_generate_input_spec.rb +1 -1
  525. data/spec/models/image_generation_response_spec.rb +1 -1
  526. data/spec/models/image_prompt200_response_spec.rb +1 -1
  527. data/spec/models/image_prompt429_response_spec.rb +1 -1
  528. data/spec/models/image_prompt_input_spec.rb +1 -1
  529. data/spec/models/image_prompt_response_spec.rb +1 -1
  530. data/spec/models/image_variations200_response_spec.rb +1 -1
  531. data/spec/models/image_variations_input_spec.rb +1 -1
  532. data/spec/models/image_variations_response_spec.rb +1 -1
  533. data/spec/models/inbox_author_spec.rb +1 -1
  534. data/spec/models/inbox_conversation_account_spec.rb +1 -1
  535. data/spec/models/inbox_conversation_spec.rb +1 -1
  536. data/spec/models/inbox_conversation_update_spec.rb +1 -1
  537. data/spec/models/inbox_message_author_spec.rb +1 -1
  538. data/spec/models/inbox_message_spec.rb +1 -1
  539. data/spec/models/inbox_reply_draft_approve_spec.rb +1 -1
  540. data/spec/models/inbox_reply_draft_edit_spec.rb +1 -1
  541. data/spec/models/inbox_reply_draft_input_spec.rb +1 -1
  542. data/spec/models/inbox_reply_draft_spec.rb +1 -1
  543. data/spec/models/initiate_chunked_upload201_response_spec.rb +1 -1
  544. data/spec/models/initiate_chunked_upload_request_spec.rb +1 -1
  545. data/spec/models/initiate_remote_upload201_response_one_of_spec.rb +1 -1
  546. data/spec/models/initiate_remote_upload201_response_spec.rb +1 -1
  547. data/spec/models/initiate_remote_upload_request_spec.rb +1 -1
  548. data/spec/models/learn_brand_voice_input_spec.rb +1 -1
  549. data/spec/models/learn_brand_voice_response_meta_spec.rb +1 -1
  550. data/spec/models/learn_brand_voice_response_spec.rb +1 -1
  551. data/spec/models/list_account_groups200_response_spec.rb +1 -1
  552. data/spec/models/list_accounts200_response_spec.rb +1 -1
  553. data/spec/models/list_agent_proposals200_response_spec.rb +1 -1
  554. data/spec/models/list_agent_runs200_response_spec.rb +1 -1
  555. data/spec/models/list_agents200_response_spec.rb +1 -1
  556. data/spec/models/list_api_activity200_response_spec.rb +1 -1
  557. data/spec/models/list_api_keys200_response_spec.rb +1 -1
  558. data/spec/models/list_competitors200_response_spec.rb +1 -1
  559. data/spec/models/list_hashtag_groups200_response_spec.rb +1 -1
  560. data/spec/models/list_inbox_conversations200_response_spec.rb +1 -1
  561. data/spec/models/list_inbox_reply_drafts200_response_spec.rb +1 -1
  562. data/spec/models/list_media200_response_spec.rb +1 -1
  563. data/spec/models/list_media_folders200_response_spec.rb +1 -1
  564. data/spec/models/list_mentions200_response_spec.rb +1 -1
  565. data/spec/models/list_my_workspaces200_response_spec.rb +1 -1
  566. data/spec/models/list_posts200_response_spec.rb +1 -1
  567. data/spec/models/list_receipts200_response_spec.rb +1 -1
  568. data/spec/models/list_recycling_rules200_response_spec.rb +1 -1
  569. data/spec/models/list_recycling_runs200_response_spec.rb +1 -1
  570. data/spec/models/list_report_exports200_response_spec.rb +1 -1
  571. data/spec/models/list_reseller_clients200_response_spec.rb +1 -1
  572. data/spec/models/list_rss_feeds200_response_spec.rb +1 -1
  573. data/spec/models/list_tags200_response_spec.rb +1 -1
  574. data/spec/models/list_templates200_response_spec.rb +1 -1
  575. data/spec/models/list_users200_response_spec.rb +1 -1
  576. data/spec/models/list_webhook_subscriptions200_response_spec.rb +1 -1
  577. data/spec/models/list_workspaces200_response_spec.rb +1 -1
  578. data/spec/models/media_base64_input_spec.rb +1 -1
  579. data/spec/models/media_folder_input_spec.rb +1 -1
  580. data/spec/models/media_folder_ref_spec.rb +1 -1
  581. data/spec/models/media_folder_spec.rb +1 -1
  582. data/spec/models/media_spec.rb +1 -1
  583. data/spec/models/mention_identity_input_spec.rb +1 -1
  584. data/spec/models/mention_identity_spec.rb +1 -1
  585. data/spec/models/mention_input_spec.rb +1 -1
  586. data/spec/models/mention_spec.rb +1 -1
  587. data/spec/models/message_only_spec.rb +1 -1
  588. data/spec/models/pagination_meta_links_spec.rb +1 -1
  589. data/spec/models/pagination_meta_meta_spec.rb +1 -1
  590. data/spec/models/pagination_meta_spec.rb +1 -1
  591. data/spec/models/poll_rss_feed200_response_spec.rb +1 -1
  592. data/spec/models/post_analytics_spec.rb +1 -1
  593. data/spec/models/post_content_spec.rb +1 -1
  594. data/spec/models/post_input_spec.rb +1 -1
  595. data/spec/models/post_options_instagram_spec.rb +1 -1
  596. data/spec/models/post_options_tik_tok_spec.rb +1 -1
  597. data/spec/models/post_options_youtube_spec.rb +1 -1
  598. data/spec/models/post_spec.rb +1 -1
  599. data/spec/models/post_status_spec.rb +1 -1
  600. data/spec/models/post_version_options_spec.rb +1 -1
  601. data/spec/models/post_version_spec.rb +1 -1
  602. data/spec/models/post_warning_spec.rb +1 -1
  603. data/spec/models/post_warnings_spec.rb +1 -1
  604. data/spec/models/posting_schedule_day_spec.rb +1 -1
  605. data/spec/models/posting_schedule_day_times_inner_spec.rb +1 -1
  606. data/spec/models/posting_schedule_input_spec.rb +1 -1
  607. data/spec/models/posting_schedule_spec.rb +1 -1
  608. data/spec/models/posting_time_slot_spec.rb +1 -1
  609. data/spec/models/posting_times_best_inner_spec.rb +1 -1
  610. data/spec/models/posting_times_day_intervals_inner_inner_spec.rb +1 -1
  611. data/spec/models/posting_times_days_inner_spec.rb +1 -1
  612. data/spec/models/posting_times_spec.rb +1 -1
  613. data/spec/models/preflight_result_spec.rb +1 -1
  614. data/spec/models/public_workspace_pivot_spec.rb +1 -1
  615. data/spec/models/public_workspace_spec.rb +1 -1
  616. data/spec/models/publish_progress_spec.rb +1 -1
  617. data/spec/models/queue_slots_spec.rb +1 -1
  618. data/spec/models/receipt_input_spec.rb +1 -1
  619. data/spec/models/receipt_spec.rb +1 -1
  620. data/spec/models/receipt_update_input_spec.rb +1 -1
  621. data/spec/models/recommended_posting_times_spec.rb +1 -1
  622. data/spec/models/reconnect_link_spec.rb +1 -1
  623. data/spec/models/recycling_rule_input_spec.rb +1 -1
  624. data/spec/models/recycling_rule_settings_spec.rb +1 -1
  625. data/spec/models/recycling_rule_spec.rb +1 -1
  626. data/spec/models/recycling_rule_update_spec.rb +1 -1
  627. data/spec/models/recycling_run_spec.rb +1 -1
  628. data/spec/models/remove_generic_subscription422_response_spec.rb +1 -1
  629. data/spec/models/remove_user_from_workspace_request_spec.rb +1 -1
  630. data/spec/models/report_branding_input_spec.rb +1 -1
  631. data/spec/models/report_branding_spec.rb +1 -1
  632. data/spec/models/report_export_input_spec.rb +1 -1
  633. data/spec/models/report_export_spec.rb +1 -1
  634. data/spec/models/repurpose_content200_response_spec.rb +1 -1
  635. data/spec/models/repurpose_content202_response_spec.rb +1 -1
  636. data/spec/models/repurpose_content500_response_spec.rb +1 -1
  637. data/spec/models/repurpose_input_spec.rb +1 -1
  638. data/spec/models/repurpose_input_theme_spec.rb +1 -1
  639. data/spec/models/repurpose_result_media_spec.rb +1 -1
  640. data/spec/models/repurpose_result_source_spec.rb +1 -1
  641. data/spec/models/repurpose_result_spec.rb +1 -1
  642. data/spec/models/repurpose_run_accepted_spec.rb +1 -1
  643. data/spec/models/repurpose_run_spec.rb +1 -1
  644. data/spec/models/repurpose_slide_spec.rb +1 -1
  645. data/spec/models/reseller_client_input_spec.rb +1 -1
  646. data/spec/models/reseller_client_spec.rb +1 -1
  647. data/spec/models/reseller_client_usage_spec.rb +1 -1
  648. data/spec/models/retry_post_account_result_spec.rb +1 -1
  649. data/spec/models/rss_feed_input_spec.rb +1 -1
  650. data/spec/models/rss_feed_spec.rb +1 -1
  651. data/spec/models/rss_feed_update_spec.rb +1 -1
  652. data/spec/models/run_agent202_response_spec.rb +1 -1
  653. data/spec/models/schedule_post_request_spec.rb +1 -1
  654. data/spec/models/schedule_result_spec.rb +1 -1
  655. data/spec/models/subscription_input_spec.rb +1 -1
  656. data/spec/models/subscription_spec.rb +1 -1
  657. data/spec/models/subscription_status_spec.rb +1 -1
  658. data/spec/models/subscription_update_input_spec.rb +1 -1
  659. data/spec/models/tag_input_spec.rb +1 -1
  660. data/spec/models/tag_spec.rb +1 -1
  661. data/spec/models/template_content_item_spec.rb +1 -1
  662. data/spec/models/template_input_content_inner_spec.rb +1 -1
  663. data/spec/models/template_input_spec.rb +1 -1
  664. data/spec/models/template_spec.rb +1 -1
  665. data/spec/models/update_media_request_spec.rb +1 -1
  666. data/spec/models/update_post200_response_spec.rb +1 -1
  667. data/spec/models/upload_chunk201_response_spec.rb +1 -1
  668. data/spec/models/user_input_spec.rb +1 -1
  669. data/spec/models/user_spec.rb +1 -1
  670. data/spec/models/user_update_input_spec.rb +1 -1
  671. data/spec/models/webhook_event_name_spec.rb +1 -1
  672. data/spec/models/webhook_event_payload_spec.rb +1 -1
  673. data/spec/models/webhook_subscription_input_spec.rb +1 -1
  674. data/spec/models/webhook_subscription_spec.rb +1 -1
  675. data/spec/models/workspace_agent_input_spec.rb +1 -1
  676. data/spec/models/workspace_agent_settings_spec.rb +1 -1
  677. data/spec/models/workspace_agent_spec.rb +1 -1
  678. data/spec/models/workspace_agent_update_spec.rb +1 -1
  679. data/spec/models/workspace_input_spec.rb +1 -1
  680. data/spec/models/workspace_spec.rb +1 -1
  681. data/spec/models/workspace_user_input_spec.rb +1 -1
  682. data/spec/models/x_usage_counter_spec.rb +1 -1
  683. data/spec/models/x_usage_spec.rb +1 -1
  684. data/spec/spec_helper.rb +1 -1
  685. metadata +45 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6a9a6c72114b42b2bbd82275800e0749d2b7304384cdbcc89c8e8f669b767704
4
- data.tar.gz: 0c3adb84438be883a5bb4d5e40c886461118df164de45279e720b582d102d948
3
+ metadata.gz: 255817ea84fd72fc1362d415f849c5093e93202449ae5ce5c24846e4b454391d
4
+ data.tar.gz: 3c384b3fe06623baacf1ed6114eb195839b7d63c94f5ec712edb8fe9c171345c
5
5
  SHA512:
6
- metadata.gz: 050c28205610954e84748243d55dc8afd5eab9587d84a29c5fdc227f57cf443b9857fc338af62af7ddb5e4a329ddd816489402c373d1877d660886f509a18eeb
7
- data.tar.gz: 608a749cd581b35fe344e66109f900e70d15ef5626c72e1a02fa45085456387497e0735f87a8dc03db10eec338711438a84923da85d146ddb75cdac34f79683e
6
+ metadata.gz: 229f756ead6efee2f014b1acb176d6327f20af7cb152af54378bb3f88655e033edba96a86189ae2bd3dec2f70fe349fcb97b41b8cf6e7799fddbde26a3ef753c
7
+ data.tar.gz: 0bf5adb9db882a9f5adf24e68c08123453653d7d2359d9a7d24604da2b75c9b0915907fc9d7b5e44d50f5162a1a641f423e5772e4e2fde119e6c98e3f0c75f3f
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.29.1 |
16
+ | **Version** | v1.31.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_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
90
91
  *PostBoost::FreeToolsApi* | [**calculate_engagement_rate**](docs/FreeToolsApi.md#calculate_engagement_rate) | **POST** /tools/engagement-rate-calculator | Calculate an engagement rate
91
92
  *PostBoost::FreeToolsApi* | [**check_post**](docs/FreeToolsApi.md#check_post) | **POST** /tools/social-media-post-checker | Check a post against each network's publishing rules
92
93
  *PostBoost::FreeToolsApi* | [**clean_text**](docs/FreeToolsApi.md#clean_text) | **POST** /tools/ai-text-cleaner | Clean AI-written text: dashes, quotes, invisible characters, markdown
@@ -95,6 +96,8 @@ Class | Method | HTTP request | Description
95
96
  *PostBoost::FreeToolsApi* | [**generate_caption**](docs/FreeToolsApi.md#generate_caption) | **POST** /tools/instagram-caption-generator | Write three post captions for a topic with AI (needs a token, spends AI credits)
96
97
  *PostBoost::FreeToolsApi* | [**generate_fancy_text**](docs/FreeToolsApi.md#generate_fancy_text) | **POST** /tools/fancy-text-generator | Convert text to fancy Unicode styles
97
98
  *PostBoost::FreeToolsApi* | [**generate_hashtags**](docs/FreeToolsApi.md#generate_hashtags) | **POST** /tools/instagram-hashtag-generator | Generate hashtags for a post topic with AI (needs a token, spends AI credits)
99
+ *PostBoost::FreeToolsApi* | [**get_best_times_to_post**](docs/FreeToolsApi.md#get_best_times_to_post) | **GET** /tools/best-time-to-post | Get the best times to post per network from published studies, with sources
100
+ *PostBoost::FreeToolsApi* | [**get_image_sizes**](docs/FreeToolsApi.md#get_image_sizes) | **GET** /tools/social-media-image-sizes | Get social media image sizes per network, each with its source
98
101
  *PostBoost::FreeToolsApi* | [**list_free_tools**](docs/FreeToolsApi.md#list_free_tools) | **GET** /tools | List the free tools
99
102
  *PostBoost::FreeToolsApi* | [**split_thread**](docs/FreeToolsApi.md#split_thread) | **POST** /tools/x-thread-maker | Split long text into a thread
100
103
  *PostBoost::HashtagGroupsApi* | [**create_hashtag_group**](docs/HashtagGroupsApi.md#create_hashtag_group) | **POST** /{workspaceUuid}/hashtag-groups | Create a hashtag group
@@ -10,6 +10,7 @@
10
10
  | **days_left** | **Integer** | Whole days until `expires_at` (0 = less than a day). | |
11
11
  | **refreshable** | **Boolean** | PostBoost refreshes the token automatically until the hard expiry. | |
12
12
  | **note** | **String** | Plain-language explanation of the prediction. | |
13
+ | **reconnect_reason** | [**AccountConnectionHealthReconnectReason**](AccountConnectionHealthReconnectReason.md) | | |
13
14
  | **last_success_at** | **Time** | When the account last published successfully. | |
14
15
  | **last_error** | **String** | The error of the account's latest failed publish, shortened to 300 characters. | |
15
16
  | **reconnect_url** | **String** | Where a workspace member reconnects the account. | |
@@ -26,6 +27,7 @@ instance = PostBoost::AccountConnectionHealth.new(
26
27
  days_left: null,
27
28
  refreshable: null,
28
29
  note: null,
30
+ reconnect_reason: null,
29
31
  last_success_at: null,
30
32
  last_error: null,
31
33
  reconnect_url: null
@@ -0,0 +1,22 @@
1
+ # PostBoost::AccountConnectionHealthReconnectReason
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **code** | **String** | | |
8
+ | **message** | **String** | The reason in plain language. | |
9
+ | **found_at** | **Time** | When the check first found the token dead. | |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'postboost'
15
+
16
+ instance = PostBoost::AccountConnectionHealthReconnectReason.new(
17
+ code: linkedin_revoked,
18
+ message: null,
19
+ found_at: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,30 @@
1
+ # PostBoost::FreeToolCalculateCropRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **width** | **Integer** | Source image width in pixels. | |
8
+ | **height** | **Integer** | Source image height in pixels. | |
9
+ | **network** | **String** | Network key from getImageSizes (`network_key`), e.g. `instagram`. With `format`, picks the target size. | [optional] |
10
+ | **format** | **String** | Format key from getImageSizes (`format_key`), e.g. `feed-square`. | [optional] |
11
+ | **target_width** | **Integer** | Target width in pixels, instead of `network` + `format`. | [optional] |
12
+ | **target_height** | **Integer** | Target height in pixels, instead of `network` + `format`. | [optional] |
13
+ | **fit** | **String** | `cover` crops to fill the target; `contain` keeps the whole image and centres it. | [optional][default to 'cover'] |
14
+
15
+ ## Example
16
+
17
+ ```ruby
18
+ require 'postboost'
19
+
20
+ instance = PostBoost::FreeToolCalculateCropRequest.new(
21
+ width: null,
22
+ height: null,
23
+ network: null,
24
+ format: null,
25
+ target_width: null,
26
+ target_height: null,
27
+ fit: null
28
+ )
29
+ ```
30
+
@@ -0,0 +1,26 @@
1
+ # PostBoost::FreeToolCalculateCropResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **crop** | [**FreeToolCalculateCropResponseCrop**](FreeToolCalculateCropResponseCrop.md) | | [optional] |
8
+ | **output** | [**FreeToolCalculateCropResponseOutput**](FreeToolCalculateCropResponseOutput.md) | | [optional] |
9
+ | **image** | [**FreeToolCalculateCropResponseImage**](FreeToolCalculateCropResponseImage.md) | | [optional] |
10
+ | **scale** | **Float** | Output pixels per source pixel, 4 decimals. | [optional] |
11
+ | **upscaled** | **Boolean** | True when the source is enlarged (scale above 1), which can look soft. | [optional] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'postboost'
17
+
18
+ instance = PostBoost::FreeToolCalculateCropResponse.new(
19
+ crop: null,
20
+ output: null,
21
+ image: null,
22
+ scale: null,
23
+ upscaled: null
24
+ )
25
+ ```
26
+
@@ -0,0 +1,24 @@
1
+ # PostBoost::FreeToolCalculateCropResponseCrop
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **x** | **Integer** | | [optional] |
8
+ | **y** | **Integer** | | [optional] |
9
+ | **width** | **Integer** | | [optional] |
10
+ | **height** | **Integer** | | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'postboost'
16
+
17
+ instance = PostBoost::FreeToolCalculateCropResponseCrop.new(
18
+ x: null,
19
+ y: null,
20
+ width: null,
21
+ height: null
22
+ )
23
+ ```
24
+
@@ -0,0 +1,24 @@
1
+ # PostBoost::FreeToolCalculateCropResponseImage
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **x** | **Integer** | | [optional] |
8
+ | **y** | **Integer** | | [optional] |
9
+ | **width** | **Integer** | | [optional] |
10
+ | **height** | **Integer** | | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'postboost'
16
+
17
+ instance = PostBoost::FreeToolCalculateCropResponseImage.new(
18
+ x: null,
19
+ y: null,
20
+ width: null,
21
+ height: null
22
+ )
23
+ ```
24
+
@@ -0,0 +1,20 @@
1
+ # PostBoost::FreeToolCalculateCropResponseOutput
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **width** | **Integer** | | [optional] |
8
+ | **height** | **Integer** | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'postboost'
14
+
15
+ instance = PostBoost::FreeToolCalculateCropResponseOutput.new(
16
+ width: null,
17
+ height: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,24 @@
1
+ # PostBoost::FreeToolGetBestTimesToPostResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **networks** | [**Array<FreeToolGetBestTimesToPostResponseNetworksInner>**](FreeToolGetBestTimesToPostResponseNetworksInner.md) | | [optional] |
8
+ | **last_verified** | **Date** | When the data was last checked against its sources. | [optional] |
9
+ | **sources** | [**Array<FreeToolGetImageSizesResponseSourcesInner>**](FreeToolGetImageSizesResponseSourcesInner.md) | Sources of the whole dataset (rows may name their own). | [optional] |
10
+ | **per_account** | **String** | Where to get times from your own accounts. | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'postboost'
16
+
17
+ instance = PostBoost::FreeToolGetBestTimesToPostResponse.new(
18
+ networks: null,
19
+ last_verified: null,
20
+ sources: null,
21
+ per_account: null
22
+ )
23
+ ```
24
+
@@ -0,0 +1,24 @@
1
+ # PostBoost::FreeToolGetBestTimesToPostResponseNetworksInner
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **network** | **String** | | [optional] |
8
+ | **network_key** | **String** | Key for `network`. | [optional] |
9
+ | **columns** | **Array<String>** | One column per study. | [optional] |
10
+ | **rows** | **Array<Array<String>>** | Weekday (or `Best`), then one cell per study, in the audience's local time. | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'postboost'
16
+
17
+ instance = PostBoost::FreeToolGetBestTimesToPostResponseNetworksInner.new(
18
+ network: null,
19
+ network_key: null,
20
+ columns: null,
21
+ rows: null
22
+ )
23
+ ```
24
+
@@ -0,0 +1,22 @@
1
+ # PostBoost::FreeToolGetImageSizesResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **sizes** | [**Array<FreeToolGetImageSizesResponseSizesInner>**](FreeToolGetImageSizesResponseSizesInner.md) | | [optional] |
8
+ | **last_verified** | **Date** | When the data was last checked against its sources. | [optional] |
9
+ | **sources** | [**Array<FreeToolGetImageSizesResponseSourcesInner>**](FreeToolGetImageSizesResponseSourcesInner.md) | Sources of the whole dataset (rows may name their own). | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'postboost'
15
+
16
+ instance = PostBoost::FreeToolGetImageSizesResponse.new(
17
+ sizes: null,
18
+ last_verified: null,
19
+ sources: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,38 @@
1
+ # PostBoost::FreeToolGetImageSizesResponseSizesInner
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **network** | **String** | Network name. | [optional] |
8
+ | **network_key** | **String** | Key for `network` here and in calculateCrop. | [optional] |
9
+ | **placement** | **String** | Where the image appears. | [optional] |
10
+ | **format_key** | **String** | Key for `format` in calculateCrop. | [optional] |
11
+ | **size** | **String** | The size as the network states it, ranges included. | [optional] |
12
+ | **width** | **Integer** | Recommended width in pixels, when the size is one fixed size. | [optional] |
13
+ | **height** | **Integer** | Recommended height in pixels, when the size is one fixed size. | [optional] |
14
+ | **ratio** | **String** | Aspect ratio. | [optional] |
15
+ | **limits** | **String** | File type and size limits. | [optional] |
16
+ | **basis** | **String** | `official` when the network itself states it, else how it was found. | [optional] |
17
+ | **source** | **String** | URL of the source. | [optional] |
18
+
19
+ ## Example
20
+
21
+ ```ruby
22
+ require 'postboost'
23
+
24
+ instance = PostBoost::FreeToolGetImageSizesResponseSizesInner.new(
25
+ network: null,
26
+ network_key: null,
27
+ placement: null,
28
+ format_key: null,
29
+ size: null,
30
+ width: null,
31
+ height: null,
32
+ ratio: null,
33
+ limits: null,
34
+ basis: null,
35
+ source: null
36
+ )
37
+ ```
38
+
@@ -0,0 +1,20 @@
1
+ # PostBoost::FreeToolGetImageSizesResponseSourcesInner
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **label** | **String** | | [optional] |
8
+ | **url** | **String** | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'postboost'
14
+
15
+ instance = PostBoost::FreeToolGetImageSizesResponseSourcesInner.new(
16
+ label: null,
17
+ url: null
18
+ )
19
+ ```
20
+
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_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 |
8
9
  | [**calculate_engagement_rate**](FreeToolsApi.md#calculate_engagement_rate) | **POST** /tools/engagement-rate-calculator | Calculate an engagement rate |
9
10
  | [**check_post**](FreeToolsApi.md#check_post) | **POST** /tools/social-media-post-checker | Check a post against each network's publishing rules |
10
11
  | [**clean_text**](FreeToolsApi.md#clean_text) | **POST** /tools/ai-text-cleaner | Clean AI-written text: dashes, quotes, invisible characters, markdown |
@@ -13,6 +14,8 @@ All URIs are relative to *https://postboost.co/app/api*
13
14
  | [**generate_caption**](FreeToolsApi.md#generate_caption) | **POST** /tools/instagram-caption-generator | Write three post captions for a topic with AI (needs a token, spends AI credits) |
14
15
  | [**generate_fancy_text**](FreeToolsApi.md#generate_fancy_text) | **POST** /tools/fancy-text-generator | Convert text to fancy Unicode styles |
15
16
  | [**generate_hashtags**](FreeToolsApi.md#generate_hashtags) | **POST** /tools/instagram-hashtag-generator | Generate hashtags for a post topic with AI (needs a token, spends AI credits) |
17
+ | [**get_best_times_to_post**](FreeToolsApi.md#get_best_times_to_post) | **GET** /tools/best-time-to-post | Get the best times to post per network from published studies, with sources |
18
+ | [**get_image_sizes**](FreeToolsApi.md#get_image_sizes) | **GET** /tools/social-media-image-sizes | Get social media image sizes per network, each with its source |
16
19
  | [**list_free_tools**](FreeToolsApi.md#list_free_tools) | **GET** /tools | List the free tools |
17
20
  | [**split_thread**](FreeToolsApi.md#split_thread) | **POST** /tools/x-thread-maker | Split long text into a thread |
18
21
 
@@ -81,6 +84,70 @@ No authorization required
81
84
  - **Accept**: application/json
82
85
 
83
86
 
87
+ ## calculate_crop
88
+
89
+ > <FreeToolCalculateCropResponse> calculate_crop(free_tool_calculate_crop_request)
90
+
91
+ Calculate the crop box that fits an image to a social media size
92
+
93
+ 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.
94
+
95
+ ### Examples
96
+
97
+ ```ruby
98
+ require 'time'
99
+ require 'postboost'
100
+
101
+ api_instance = PostBoost::FreeToolsApi.new
102
+ free_tool_calculate_crop_request = PostBoost::FreeToolCalculateCropRequest.new({width: 37, height: 37}) # FreeToolCalculateCropRequest |
103
+
104
+ begin
105
+ # Calculate the crop box that fits an image to a social media size
106
+ result = api_instance.calculate_crop(free_tool_calculate_crop_request)
107
+ p result
108
+ rescue PostBoost::ApiError => e
109
+ puts "Error when calling FreeToolsApi->calculate_crop: #{e}"
110
+ end
111
+ ```
112
+
113
+ #### Using the calculate_crop_with_http_info variant
114
+
115
+ This returns an Array which contains the response data, status code and headers.
116
+
117
+ > <Array(<FreeToolCalculateCropResponse>, Integer, Hash)> calculate_crop_with_http_info(free_tool_calculate_crop_request)
118
+
119
+ ```ruby
120
+ begin
121
+ # Calculate the crop box that fits an image to a social media size
122
+ data, status_code, headers = api_instance.calculate_crop_with_http_info(free_tool_calculate_crop_request)
123
+ p status_code # => 2xx
124
+ p headers # => { ... }
125
+ p data # => <FreeToolCalculateCropResponse>
126
+ rescue PostBoost::ApiError => e
127
+ puts "Error when calling FreeToolsApi->calculate_crop_with_http_info: #{e}"
128
+ end
129
+ ```
130
+
131
+ ### Parameters
132
+
133
+ | Name | Type | Description | Notes |
134
+ | ---- | ---- | ----------- | ----- |
135
+ | **free_tool_calculate_crop_request** | [**FreeToolCalculateCropRequest**](FreeToolCalculateCropRequest.md) | | |
136
+
137
+ ### Return type
138
+
139
+ [**FreeToolCalculateCropResponse**](FreeToolCalculateCropResponse.md)
140
+
141
+ ### Authorization
142
+
143
+ No authorization required
144
+
145
+ ### HTTP request headers
146
+
147
+ - **Content-Type**: application/json
148
+ - **Accept**: application/json
149
+
150
+
84
151
  ## calculate_engagement_rate
85
152
 
86
153
  > <FreeToolCalculateEngagementRateResponse> calculate_engagement_rate(free_tool_calculate_engagement_rate_request)
@@ -603,6 +670,138 @@ end
603
670
  - **Accept**: application/json
604
671
 
605
672
 
673
+ ## get_best_times_to_post
674
+
675
+ > <FreeToolGetBestTimesToPostResponse> get_best_times_to_post(opts)
676
+
677
+ Get the best times to post per network from published studies, with sources
678
+
679
+ Get the best times to post per network from published studies, with sources. The same logic as the free web tool at https://postboost.co/tools/best-time-to-post. No account needed: call it without a token, or with any API token.
680
+
681
+ ### Examples
682
+
683
+ ```ruby
684
+ require 'time'
685
+ require 'postboost'
686
+
687
+ api_instance = PostBoost::FreeToolsApi.new
688
+ opts = {
689
+ network: 'network_example' # String |
690
+ }
691
+
692
+ begin
693
+ # Get the best times to post per network from published studies, with sources
694
+ result = api_instance.get_best_times_to_post(opts)
695
+ p result
696
+ rescue PostBoost::ApiError => e
697
+ puts "Error when calling FreeToolsApi->get_best_times_to_post: #{e}"
698
+ end
699
+ ```
700
+
701
+ #### Using the get_best_times_to_post_with_http_info variant
702
+
703
+ This returns an Array which contains the response data, status code and headers.
704
+
705
+ > <Array(<FreeToolGetBestTimesToPostResponse>, Integer, Hash)> get_best_times_to_post_with_http_info(opts)
706
+
707
+ ```ruby
708
+ begin
709
+ # Get the best times to post per network from published studies, with sources
710
+ data, status_code, headers = api_instance.get_best_times_to_post_with_http_info(opts)
711
+ p status_code # => 2xx
712
+ p headers # => { ... }
713
+ p data # => <FreeToolGetBestTimesToPostResponse>
714
+ rescue PostBoost::ApiError => e
715
+ puts "Error when calling FreeToolsApi->get_best_times_to_post_with_http_info: #{e}"
716
+ end
717
+ ```
718
+
719
+ ### Parameters
720
+
721
+ | Name | Type | Description | Notes |
722
+ | ---- | ---- | ----------- | ----- |
723
+ | **network** | **String** | | [optional] |
724
+
725
+ ### Return type
726
+
727
+ [**FreeToolGetBestTimesToPostResponse**](FreeToolGetBestTimesToPostResponse.md)
728
+
729
+ ### Authorization
730
+
731
+ No authorization required
732
+
733
+ ### HTTP request headers
734
+
735
+ - **Content-Type**: Not defined
736
+ - **Accept**: application/json
737
+
738
+
739
+ ## get_image_sizes
740
+
741
+ > <FreeToolGetImageSizesResponse> get_image_sizes(opts)
742
+
743
+ Get social media image sizes per network, each with its source
744
+
745
+ Get social media image sizes per network, each with its source. 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.
746
+
747
+ ### Examples
748
+
749
+ ```ruby
750
+ require 'time'
751
+ require 'postboost'
752
+
753
+ api_instance = PostBoost::FreeToolsApi.new
754
+ opts = {
755
+ network: 'network_example' # String |
756
+ }
757
+
758
+ begin
759
+ # Get social media image sizes per network, each with its source
760
+ result = api_instance.get_image_sizes(opts)
761
+ p result
762
+ rescue PostBoost::ApiError => e
763
+ puts "Error when calling FreeToolsApi->get_image_sizes: #{e}"
764
+ end
765
+ ```
766
+
767
+ #### Using the get_image_sizes_with_http_info variant
768
+
769
+ This returns an Array which contains the response data, status code and headers.
770
+
771
+ > <Array(<FreeToolGetImageSizesResponse>, Integer, Hash)> get_image_sizes_with_http_info(opts)
772
+
773
+ ```ruby
774
+ begin
775
+ # Get social media image sizes per network, each with its source
776
+ data, status_code, headers = api_instance.get_image_sizes_with_http_info(opts)
777
+ p status_code # => 2xx
778
+ p headers # => { ... }
779
+ p data # => <FreeToolGetImageSizesResponse>
780
+ rescue PostBoost::ApiError => e
781
+ puts "Error when calling FreeToolsApi->get_image_sizes_with_http_info: #{e}"
782
+ end
783
+ ```
784
+
785
+ ### Parameters
786
+
787
+ | Name | Type | Description | Notes |
788
+ | ---- | ---- | ----------- | ----- |
789
+ | **network** | **String** | | [optional] |
790
+
791
+ ### Return type
792
+
793
+ [**FreeToolGetImageSizesResponse**](FreeToolGetImageSizesResponse.md)
794
+
795
+ ### Authorization
796
+
797
+ No authorization required
798
+
799
+ ### HTTP request headers
800
+
801
+ - **Content-Type**: Not defined
802
+ - **Accept**: application/json
803
+
804
+
606
805
  ## list_free_tools
607
806
 
608
807
  > <FreeToolList> list_free_tools
@@ -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.29.1
6
+ The version of the OpenAPI document: 1.31.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.29.1
6
+ The version of the OpenAPI document: 1.31.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.29.1
6
+ The version of the OpenAPI document: 1.31.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.29.1
6
+ The version of the OpenAPI document: 1.31.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.29.1
6
+ The version of the OpenAPI document: 1.31.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.29.1
6
+ The version of the OpenAPI document: 1.31.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.29.1
6
+ The version of the OpenAPI document: 1.31.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0