postboost 1.45.0 → 1.46.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 (765) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -1
  3. data/docs/FreeToolCalculateSocialRoiRequest.md +22 -0
  4. data/docs/FreeToolCalculateSocialRoiRequestCosts.md +28 -0
  5. data/docs/FreeToolCalculateSocialRoiResponse.md +32 -0
  6. data/docs/FreeToolCalculateSocialRoiResponseCostBreakdownInner.md +24 -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 +1 -1
  126. data/lib/postboost/models/free_tool_calculate_aspect_ratio_response.rb +1 -1
  127. data/lib/postboost/models/free_tool_calculate_aspect_ratio_response_matches_inner.rb +1 -1
  128. data/lib/postboost/models/free_tool_calculate_aspect_ratio_response_rounding.rb +1 -1
  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_calculate_social_roi_request.rb +288 -0
  137. data/lib/postboost/models/free_tool_calculate_social_roi_request_costs.rb +446 -0
  138. data/lib/postboost/models/free_tool_calculate_social_roi_response.rb +287 -0
  139. data/lib/postboost/models/free_tool_calculate_social_roi_response_cost_breakdown_inner.rb +275 -0
  140. data/lib/postboost/models/free_tool_check_link_preview_request.rb +1 -1
  141. data/lib/postboost/models/free_tool_check_link_preview_response.rb +1 -1
  142. data/lib/postboost/models/free_tool_check_link_preview_response_image.rb +1 -1
  143. data/lib/postboost/models/free_tool_check_link_preview_response_previews_value.rb +1 -1
  144. data/lib/postboost/models/free_tool_check_link_preview_response_redirects_inner.rb +1 -1
  145. data/lib/postboost/models/free_tool_check_link_preview_response_tags.rb +1 -1
  146. data/lib/postboost/models/free_tool_check_post_request.rb +1 -1
  147. data/lib/postboost/models/free_tool_check_post_request_media.rb +1 -1
  148. data/lib/postboost/models/free_tool_check_post_response.rb +1 -1
  149. data/lib/postboost/models/free_tool_check_post_response_networks_inner.rb +1 -1
  150. data/lib/postboost/models/free_tool_check_post_response_networks_inner_errors_inner.rb +1 -1
  151. data/lib/postboost/models/free_tool_check_youtube_thumbnail_request.rb +1 -1
  152. data/lib/postboost/models/free_tool_check_youtube_thumbnail_response.rb +1 -1
  153. data/lib/postboost/models/free_tool_check_youtube_thumbnail_response_checks_inner.rb +1 -1
  154. data/lib/postboost/models/free_tool_clean_text_request.rb +1 -1
  155. data/lib/postboost/models/free_tool_clean_text_response.rb +1 -1
  156. data/lib/postboost/models/free_tool_clean_text_response_changes_inner.rb +1 -1
  157. data/lib/postboost/models/free_tool_clean_text_response_flags_inner.rb +1 -1
  158. data/lib/postboost/models/free_tool_count_characters_request.rb +1 -1
  159. data/lib/postboost/models/free_tool_count_characters_response.rb +1 -1
  160. data/lib/postboost/models/free_tool_count_characters_response_networks_inner.rb +1 -1
  161. data/lib/postboost/models/free_tool_error.rb +1 -1
  162. data/lib/postboost/models/free_tool_format_instagram_caption_request.rb +1 -1
  163. data/lib/postboost/models/free_tool_format_instagram_caption_response.rb +1 -1
  164. data/lib/postboost/models/free_tool_format_linked_in_post_request.rb +1 -1
  165. data/lib/postboost/models/free_tool_format_linked_in_post_response.rb +1 -1
  166. data/lib/postboost/models/free_tool_generate_caption_request.rb +1 -1
  167. data/lib/postboost/models/free_tool_generate_caption_response.rb +1 -1
  168. data/lib/postboost/models/free_tool_generate_fancy_text_request.rb +1 -1
  169. data/lib/postboost/models/free_tool_generate_fancy_text_response.rb +1 -1
  170. data/lib/postboost/models/free_tool_generate_fancy_text_response_styles_inner.rb +1 -1
  171. data/lib/postboost/models/free_tool_generate_hashtags_request.rb +1 -1
  172. data/lib/postboost/models/free_tool_generate_hashtags_response.rb +1 -1
  173. data/lib/postboost/models/free_tool_generate_hooks_request.rb +1 -1
  174. data/lib/postboost/models/free_tool_generate_hooks_response.rb +1 -1
  175. data/lib/postboost/models/free_tool_generate_hooks_response_hooks_inner.rb +1 -1
  176. data/lib/postboost/models/free_tool_generate_qr_code_request.rb +1 -1
  177. data/lib/postboost/models/free_tool_generate_qr_code_request_utm.rb +1 -1
  178. data/lib/postboost/models/free_tool_generate_qr_code_response.rb +1 -1
  179. data/lib/postboost/models/free_tool_generate_social_posts_from_blog_request.rb +1 -1
  180. data/lib/postboost/models/free_tool_generate_social_posts_from_blog_response.rb +1 -1
  181. data/lib/postboost/models/free_tool_generate_social_posts_from_blog_response_posts_inner.rb +1 -1
  182. data/lib/postboost/models/free_tool_generate_social_posts_from_blog_response_source.rb +1 -1
  183. data/lib/postboost/models/free_tool_generate_social_posts_from_blog_response_warnings_inner.rb +1 -1
  184. data/lib/postboost/models/free_tool_get_best_times_to_post_response.rb +1 -1
  185. data/lib/postboost/models/free_tool_get_best_times_to_post_response_networks_inner.rb +1 -1
  186. data/lib/postboost/models/free_tool_get_hook_templates_response.rb +1 -1
  187. data/lib/postboost/models/free_tool_get_hook_templates_response_hooks_inner.rb +1 -1
  188. data/lib/postboost/models/free_tool_get_image_sizes_response.rb +1 -1
  189. data/lib/postboost/models/free_tool_get_image_sizes_response_sizes_inner.rb +1 -1
  190. data/lib/postboost/models/free_tool_get_image_sizes_response_sources_inner.rb +1 -1
  191. data/lib/postboost/models/free_tool_get_video_specs_response.rb +1 -1
  192. data/lib/postboost/models/free_tool_get_video_specs_response_specs_inner.rb +1 -1
  193. data/lib/postboost/models/free_tool_get_video_specs_response_specs_inner_limits.rb +1 -1
  194. data/lib/postboost/models/free_tool_list.rb +1 -1
  195. data/lib/postboost/models/free_tool_list_item.rb +1 -1
  196. data/lib/postboost/models/free_tool_plan_content_calendar_request.rb +1 -1
  197. data/lib/postboost/models/free_tool_plan_content_calendar_request_posts_per_week.rb +1 -1
  198. data/lib/postboost/models/free_tool_plan_content_calendar_request_times.rb +1 -1
  199. data/lib/postboost/models/free_tool_plan_content_calendar_response.rb +1 -1
  200. data/lib/postboost/models/free_tool_plan_content_calendar_response_slots_inner.rb +1 -1
  201. data/lib/postboost/models/free_tool_preview_post_request.rb +1 -1
  202. data/lib/postboost/models/free_tool_preview_post_response.rb +1 -1
  203. data/lib/postboost/models/free_tool_preview_post_response_networks_inner.rb +1 -1
  204. data/lib/postboost/models/free_tool_split_thread_request.rb +1 -1
  205. data/lib/postboost/models/free_tool_split_thread_response.rb +1 -1
  206. data/lib/postboost/models/free_tool_split_thread_response_posts_inner.rb +1 -1
  207. data/lib/postboost/models/get_account_health200_response.rb +1 -1
  208. data/lib/postboost/models/get_brand_voice200_response.rb +1 -1
  209. data/lib/postboost/models/get_competitor200_response.rb +1 -1
  210. data/lib/postboost/models/get_inbox_conversation200_response.rb +1 -1
  211. data/lib/postboost/models/get_posting_schedule200_response.rb +1 -1
  212. data/lib/postboost/models/get_remote_upload_status200_response.rb +1 -1
  213. data/lib/postboost/models/get_report_branding200_response.rb +1 -1
  214. data/lib/postboost/models/get_repurpose_run200_response.rb +1 -1
  215. data/lib/postboost/models/guardrail_error.rb +1 -1
  216. data/lib/postboost/models/hashtag_group.rb +1 -1
  217. data/lib/postboost/models/hashtag_group_input.rb +1 -1
  218. data/lib/postboost/models/image_alt_text200_response.rb +1 -1
  219. data/lib/postboost/models/image_alt_text_input.rb +1 -1
  220. data/lib/postboost/models/image_alt_text_response.rb +1 -1
  221. data/lib/postboost/models/image_credit_balance.rb +1 -1
  222. data/lib/postboost/models/image_edit_input.rb +1 -1
  223. data/lib/postboost/models/image_generate200_response.rb +1 -1
  224. data/lib/postboost/models/image_generate429_response.rb +1 -1
  225. data/lib/postboost/models/image_generate_input.rb +1 -1
  226. data/lib/postboost/models/image_generation_response.rb +1 -1
  227. data/lib/postboost/models/image_prompt200_response.rb +1 -1
  228. data/lib/postboost/models/image_prompt429_response.rb +1 -1
  229. data/lib/postboost/models/image_prompt_input.rb +1 -1
  230. data/lib/postboost/models/image_prompt_response.rb +1 -1
  231. data/lib/postboost/models/image_variations200_response.rb +1 -1
  232. data/lib/postboost/models/image_variations_input.rb +1 -1
  233. data/lib/postboost/models/image_variations_response.rb +1 -1
  234. data/lib/postboost/models/inbox_author.rb +1 -1
  235. data/lib/postboost/models/inbox_conversation.rb +1 -1
  236. data/lib/postboost/models/inbox_conversation_account.rb +1 -1
  237. data/lib/postboost/models/inbox_conversation_update.rb +1 -1
  238. data/lib/postboost/models/inbox_message.rb +1 -1
  239. data/lib/postboost/models/inbox_message_author.rb +1 -1
  240. data/lib/postboost/models/inbox_reply_draft.rb +1 -1
  241. data/lib/postboost/models/inbox_reply_draft_approve.rb +1 -1
  242. data/lib/postboost/models/inbox_reply_draft_edit.rb +1 -1
  243. data/lib/postboost/models/inbox_reply_draft_input.rb +1 -1
  244. data/lib/postboost/models/initiate_chunked_upload201_response.rb +1 -1
  245. data/lib/postboost/models/initiate_chunked_upload_request.rb +1 -1
  246. data/lib/postboost/models/initiate_remote_upload201_response.rb +1 -1
  247. data/lib/postboost/models/initiate_remote_upload201_response_one_of.rb +1 -1
  248. data/lib/postboost/models/initiate_remote_upload_request.rb +1 -1
  249. data/lib/postboost/models/learn_brand_voice_input.rb +1 -1
  250. data/lib/postboost/models/learn_brand_voice_response.rb +1 -1
  251. data/lib/postboost/models/learn_brand_voice_response_meta.rb +1 -1
  252. data/lib/postboost/models/list_account_groups200_response.rb +1 -1
  253. data/lib/postboost/models/list_accounts200_response.rb +1 -1
  254. data/lib/postboost/models/list_agent_proposals200_response.rb +1 -1
  255. data/lib/postboost/models/list_agent_runs200_response.rb +1 -1
  256. data/lib/postboost/models/list_agents200_response.rb +1 -1
  257. data/lib/postboost/models/list_api_activity200_response.rb +1 -1
  258. data/lib/postboost/models/list_api_keys200_response.rb +1 -1
  259. data/lib/postboost/models/list_competitors200_response.rb +1 -1
  260. data/lib/postboost/models/list_hashtag_groups200_response.rb +1 -1
  261. data/lib/postboost/models/list_inbox_conversations200_response.rb +1 -1
  262. data/lib/postboost/models/list_inbox_reply_drafts200_response.rb +1 -1
  263. data/lib/postboost/models/list_media200_response.rb +1 -1
  264. data/lib/postboost/models/list_media_folders200_response.rb +1 -1
  265. data/lib/postboost/models/list_mentions200_response.rb +1 -1
  266. data/lib/postboost/models/list_my_workspaces200_response.rb +1 -1
  267. data/lib/postboost/models/list_posts200_response.rb +1 -1
  268. data/lib/postboost/models/list_receipts200_response.rb +1 -1
  269. data/lib/postboost/models/list_recycling_rules200_response.rb +1 -1
  270. data/lib/postboost/models/list_recycling_runs200_response.rb +1 -1
  271. data/lib/postboost/models/list_report_exports200_response.rb +1 -1
  272. data/lib/postboost/models/list_reseller_clients200_response.rb +1 -1
  273. data/lib/postboost/models/list_rss_feeds200_response.rb +1 -1
  274. data/lib/postboost/models/list_tags200_response.rb +1 -1
  275. data/lib/postboost/models/list_templates200_response.rb +1 -1
  276. data/lib/postboost/models/list_users200_response.rb +1 -1
  277. data/lib/postboost/models/list_webhook_subscriptions200_response.rb +1 -1
  278. data/lib/postboost/models/list_workspaces200_response.rb +1 -1
  279. data/lib/postboost/models/media.rb +1 -1
  280. data/lib/postboost/models/media_base64_input.rb +1 -1
  281. data/lib/postboost/models/media_folder.rb +1 -1
  282. data/lib/postboost/models/media_folder_input.rb +1 -1
  283. data/lib/postboost/models/media_folder_ref.rb +1 -1
  284. data/lib/postboost/models/mention.rb +1 -1
  285. data/lib/postboost/models/mention_identity.rb +1 -1
  286. data/lib/postboost/models/mention_identity_input.rb +1 -1
  287. data/lib/postboost/models/mention_input.rb +1 -1
  288. data/lib/postboost/models/message_only.rb +1 -1
  289. data/lib/postboost/models/pagination_meta.rb +1 -1
  290. data/lib/postboost/models/pagination_meta_links.rb +1 -1
  291. data/lib/postboost/models/pagination_meta_meta.rb +1 -1
  292. data/lib/postboost/models/poll_rss_feed200_response.rb +1 -1
  293. data/lib/postboost/models/post.rb +1 -1
  294. data/lib/postboost/models/post_analytics.rb +1 -1
  295. data/lib/postboost/models/post_content.rb +1 -1
  296. data/lib/postboost/models/post_input.rb +1 -1
  297. data/lib/postboost/models/post_options_instagram.rb +1 -1
  298. data/lib/postboost/models/post_options_tik_tok.rb +1 -1
  299. data/lib/postboost/models/post_options_youtube.rb +1 -1
  300. data/lib/postboost/models/post_status.rb +1 -1
  301. data/lib/postboost/models/post_version.rb +1 -1
  302. data/lib/postboost/models/post_version_options.rb +1 -1
  303. data/lib/postboost/models/post_warning.rb +1 -1
  304. data/lib/postboost/models/post_warnings.rb +1 -1
  305. data/lib/postboost/models/posting_schedule.rb +1 -1
  306. data/lib/postboost/models/posting_schedule_day.rb +1 -1
  307. data/lib/postboost/models/posting_schedule_day_times_inner.rb +1 -1
  308. data/lib/postboost/models/posting_schedule_input.rb +1 -1
  309. data/lib/postboost/models/posting_time_slot.rb +1 -1
  310. data/lib/postboost/models/posting_times.rb +1 -1
  311. data/lib/postboost/models/posting_times_best_inner.rb +1 -1
  312. data/lib/postboost/models/posting_times_day_intervals_inner_inner.rb +1 -1
  313. data/lib/postboost/models/posting_times_days_inner.rb +1 -1
  314. data/lib/postboost/models/preflight_result.rb +1 -1
  315. data/lib/postboost/models/public_workspace.rb +1 -1
  316. data/lib/postboost/models/public_workspace_pivot.rb +1 -1
  317. data/lib/postboost/models/publish_progress.rb +1 -1
  318. data/lib/postboost/models/queue_slots.rb +1 -1
  319. data/lib/postboost/models/receipt.rb +1 -1
  320. data/lib/postboost/models/receipt_input.rb +1 -1
  321. data/lib/postboost/models/receipt_update_input.rb +1 -1
  322. data/lib/postboost/models/recommended_posting_times.rb +1 -1
  323. data/lib/postboost/models/reconnect_link.rb +1 -1
  324. data/lib/postboost/models/recycling_rule.rb +1 -1
  325. data/lib/postboost/models/recycling_rule_input.rb +1 -1
  326. data/lib/postboost/models/recycling_rule_settings.rb +1 -1
  327. data/lib/postboost/models/recycling_rule_update.rb +1 -1
  328. data/lib/postboost/models/recycling_run.rb +1 -1
  329. data/lib/postboost/models/remove_generic_subscription422_response.rb +1 -1
  330. data/lib/postboost/models/remove_user_from_workspace_request.rb +1 -1
  331. data/lib/postboost/models/report_branding.rb +1 -1
  332. data/lib/postboost/models/report_branding_input.rb +1 -1
  333. data/lib/postboost/models/report_export.rb +1 -1
  334. data/lib/postboost/models/report_export_input.rb +1 -1
  335. data/lib/postboost/models/repurpose_content200_response.rb +1 -1
  336. data/lib/postboost/models/repurpose_content202_response.rb +1 -1
  337. data/lib/postboost/models/repurpose_content500_response.rb +1 -1
  338. data/lib/postboost/models/repurpose_input.rb +1 -1
  339. data/lib/postboost/models/repurpose_input_theme.rb +1 -1
  340. data/lib/postboost/models/repurpose_result.rb +1 -1
  341. data/lib/postboost/models/repurpose_result_media.rb +1 -1
  342. data/lib/postboost/models/repurpose_result_source.rb +1 -1
  343. data/lib/postboost/models/repurpose_run.rb +1 -1
  344. data/lib/postboost/models/repurpose_run_accepted.rb +1 -1
  345. data/lib/postboost/models/repurpose_slide.rb +1 -1
  346. data/lib/postboost/models/reseller_client.rb +1 -1
  347. data/lib/postboost/models/reseller_client_input.rb +1 -1
  348. data/lib/postboost/models/reseller_client_usage.rb +1 -1
  349. data/lib/postboost/models/retry_post_account_result.rb +1 -1
  350. data/lib/postboost/models/rss_feed.rb +1 -1
  351. data/lib/postboost/models/rss_feed_input.rb +1 -1
  352. data/lib/postboost/models/rss_feed_update.rb +1 -1
  353. data/lib/postboost/models/run_agent202_response.rb +1 -1
  354. data/lib/postboost/models/schedule_post_request.rb +1 -1
  355. data/lib/postboost/models/schedule_result.rb +1 -1
  356. data/lib/postboost/models/subscription.rb +1 -1
  357. data/lib/postboost/models/subscription_input.rb +1 -1
  358. data/lib/postboost/models/subscription_status.rb +1 -1
  359. data/lib/postboost/models/subscription_update_input.rb +1 -1
  360. data/lib/postboost/models/tag.rb +1 -1
  361. data/lib/postboost/models/tag_input.rb +1 -1
  362. data/lib/postboost/models/template.rb +1 -1
  363. data/lib/postboost/models/template_content_item.rb +1 -1
  364. data/lib/postboost/models/template_input.rb +1 -1
  365. data/lib/postboost/models/template_input_content_inner.rb +1 -1
  366. data/lib/postboost/models/update_media_request.rb +1 -1
  367. data/lib/postboost/models/update_post200_response.rb +1 -1
  368. data/lib/postboost/models/upload_chunk201_response.rb +1 -1
  369. data/lib/postboost/models/user.rb +1 -1
  370. data/lib/postboost/models/user_input.rb +1 -1
  371. data/lib/postboost/models/user_update_input.rb +1 -1
  372. data/lib/postboost/models/webhook_envelope.rb +1 -1
  373. data/lib/postboost/models/webhook_event_name.rb +1 -1
  374. data/lib/postboost/models/webhook_event_payload.rb +1 -1
  375. data/lib/postboost/models/webhook_subscription.rb +1 -1
  376. data/lib/postboost/models/webhook_subscription_input.rb +1 -1
  377. data/lib/postboost/models/workspace.rb +1 -1
  378. data/lib/postboost/models/workspace_agent.rb +1 -1
  379. data/lib/postboost/models/workspace_agent_input.rb +1 -1
  380. data/lib/postboost/models/workspace_agent_settings.rb +1 -1
  381. data/lib/postboost/models/workspace_agent_update.rb +1 -1
  382. data/lib/postboost/models/workspace_input.rb +1 -1
  383. data/lib/postboost/models/workspace_user_input.rb +1 -1
  384. data/lib/postboost/models/x_usage.rb +1 -1
  385. data/lib/postboost/models/x_usage_counter.rb +1 -1
  386. data/lib/postboost/version.rb +2 -2
  387. data/lib/postboost.rb +5 -1
  388. data/postboost.gemspec +1 -1
  389. data/spec/api/account_groups_api_spec.rb +1 -1
  390. data/spec/api/accounts_api_spec.rb +1 -1
  391. data/spec/api/activity_api_spec.rb +1 -1
  392. data/spec/api/agents_api_spec.rb +1 -1
  393. data/spec/api/ai_api_spec.rb +1 -1
  394. data/spec/api/analytics_api_spec.rb +1 -1
  395. data/spec/api/competitors_api_spec.rb +1 -1
  396. data/spec/api/free_tools_api_spec.rb +13 -1
  397. data/spec/api/hashtag_groups_api_spec.rb +1 -1
  398. data/spec/api/inbox_api_spec.rb +1 -1
  399. data/spec/api/media_api_spec.rb +1 -1
  400. data/spec/api/mentions_api_spec.rb +1 -1
  401. data/spec/api/posting_schedule_api_spec.rb +1 -1
  402. data/spec/api/posts_api_spec.rb +1 -1
  403. data/spec/api/receipts_api_spec.rb +1 -1
  404. data/spec/api/subscriptions_api_spec.rb +1 -1
  405. data/spec/api/tags_api_spec.rb +1 -1
  406. data/spec/api/templates_api_spec.rb +1 -1
  407. data/spec/api/users_api_spec.rb +1 -1
  408. data/spec/api/webhooks_api_spec.rb +1 -1
  409. data/spec/api/workspaces_api_spec.rb +1 -1
  410. data/spec/models/account_analytics_initial_sync_spec.rb +1 -1
  411. data/spec/models/account_analytics_spec.rb +1 -1
  412. data/spec/models/account_connection_health_reconnect_reason_spec.rb +1 -1
  413. data/spec/models/account_connection_health_spec.rb +1 -1
  414. data/spec/models/account_errors_inner_one_of_spec.rb +1 -1
  415. data/spec/models/account_errors_inner_spec.rb +1 -1
  416. data/spec/models/account_group_input_spec.rb +1 -1
  417. data/spec/models/account_group_spec.rb +1 -1
  418. data/spec/models/account_health_daily_cap_spec.rb +1 -1
  419. data/spec/models/account_health_spec.rb +1 -1
  420. data/spec/models/account_schedule_spec.rb +1 -1
  421. data/spec/models/account_spec.rb +1 -1
  422. data/spec/models/add_competitor202_response_spec.rb +1 -1
  423. data/spec/models/add_competitor409_response_spec.rb +1 -1
  424. data/spec/models/add_generic_subscription_request_spec.rb +1 -1
  425. data/spec/models/add_post_to_queue_request_spec.rb +1 -1
  426. data/spec/models/agent_page_meta_spec.rb +1 -1
  427. data/spec/models/agent_proposal_decision_spec.rb +1 -1
  428. data/spec/models/agent_proposal_spec.rb +1 -1
  429. data/spec/models/agent_run_spec.rb +1 -1
  430. data/spec/models/ai_credits_spec.rb +1 -1
  431. data/spec/models/ai_usage_spec.rb +1 -1
  432. data/spec/models/ai_usage_text_spec.rb +1 -1
  433. data/spec/models/analytics_period_spec.rb +1 -1
  434. data/spec/models/analytics_summary_data_spec.rb +1 -1
  435. data/spec/models/analytics_summary_spec.rb +1 -1
  436. data/spec/models/api_activity_outcome_spec.rb +1 -1
  437. data/spec/models/api_activity_spec.rb +1 -1
  438. data/spec/models/api_key_ability_spec.rb +1 -1
  439. data/spec/models/api_key_input_spec.rb +1 -1
  440. data/spec/models/api_key_spec.rb +1 -1
  441. data/spec/models/approve_agent_proposal200_response_spec.rb +1 -1
  442. data/spec/models/approve_agent_proposal409_response_spec.rb +1 -1
  443. data/spec/models/approve_inbox_reply_draft403_response_spec.rb +1 -1
  444. data/spec/models/approve_post_request_spec.rb +1 -1
  445. data/spec/models/best_posting_times_spec.rb +1 -1
  446. data/spec/models/best_posting_times_times_inner_spec.rb +1 -1
  447. data/spec/models/blog_to_social200_response_spec.rb +1 -1
  448. data/spec/models/blog_to_social429_response_spec.rb +1 -1
  449. data/spec/models/blog_to_social_caption_spec.rb +1 -1
  450. data/spec/models/blog_to_social_input_spec.rb +1 -1
  451. data/spec/models/blog_to_social_media_spec.rb +1 -1
  452. data/spec/models/blog_to_social_response_spec.rb +1 -1
  453. data/spec/models/brand_voice_input_spec.rb +1 -1
  454. data/spec/models/brand_voice_meta_spec.rb +1 -1
  455. data/spec/models/brand_voice_spec.rb +1 -1
  456. data/spec/models/cancel_subscription422_response_errors_spec.rb +1 -1
  457. data/spec/models/cancel_subscription422_response_spec.rb +1 -1
  458. data/spec/models/cancel_subscription_request_spec.rb +1 -1
  459. data/spec/models/change_subscription_plan_request_spec.rb +1 -1
  460. data/spec/models/channel_account_spec.rb +1 -1
  461. data/spec/models/checkout_subscription200_response_spec.rb +1 -1
  462. data/spec/models/checkout_subscription_request_spec.rb +1 -1
  463. data/spec/models/coded_error_spec.rb +1 -1
  464. data/spec/models/competitor_detail_spec.rb +1 -1
  465. data/spec/models/competitor_input_spec.rb +1 -1
  466. data/spec/models/competitor_media_spec.rb +1 -1
  467. data/spec/models/competitor_snapshot_spec.rb +1 -1
  468. data/spec/models/competitor_spec.rb +1 -1
  469. data/spec/models/complete_chunked_upload_request_spec.rb +1 -1
  470. data/spec/models/connect_channel_input_spec.rb +1 -1
  471. data/spec/models/connect_link_spec.rb +1 -1
  472. data/spec/models/create_account_group201_response_spec.rb +1 -1
  473. data/spec/models/create_agent201_response_spec.rb +1 -1
  474. data/spec/models/create_api_key201_response_data_spec.rb +1 -1
  475. data/spec/models/create_api_key201_response_spec.rb +1 -1
  476. data/spec/models/create_connect_link_request_spec.rb +1 -1
  477. data/spec/models/create_hashtag_group201_response_spec.rb +1 -1
  478. data/spec/models/create_inbox_reply_draft201_response_spec.rb +1 -1
  479. data/spec/models/create_media_folder_request_spec.rb +1 -1
  480. data/spec/models/create_mention201_response_spec.rb +1 -1
  481. data/spec/models/create_post201_response_spec.rb +1 -1
  482. data/spec/models/create_recycling_rule201_response_spec.rb +1 -1
  483. data/spec/models/create_report_export201_response_spec.rb +1 -1
  484. data/spec/models/create_reseller_client201_response_spec.rb +1 -1
  485. data/spec/models/create_rss_feed201_response_spec.rb +1 -1
  486. data/spec/models/create_template201_response_spec.rb +1 -1
  487. data/spec/models/create_webhook_subscription201_response_data_spec.rb +1 -1
  488. data/spec/models/create_webhook_subscription201_response_spec.rb +1 -1
  489. data/spec/models/delete_agent200_response_spec.rb +1 -1
  490. data/spec/models/delete_media_bulk_request_items_inner_spec.rb +1 -1
  491. data/spec/models/delete_media_bulk_request_spec.rb +1 -1
  492. data/spec/models/delete_media_folder_request_spec.rb +1 -1
  493. data/spec/models/delete_mode_spec.rb +1 -1
  494. data/spec/models/delete_post_request_spec.rb +1 -1
  495. data/spec/models/delete_posts_bulk_request_spec.rb +1 -1
  496. data/spec/models/delete_receipts_bulk_request_spec.rb +1 -1
  497. data/spec/models/delete_result_spec.rb +1 -1
  498. data/spec/models/delete_user400_response_spec.rb +1 -1
  499. data/spec/models/delete_users_bulk_request_spec.rb +1 -1
  500. data/spec/models/delete_workspaces_bulk_request_spec.rb +1 -1
  501. data/spec/models/free_tool_build_utm_url_request_spec.rb +1 -1
  502. data/spec/models/free_tool_build_utm_url_response_spec.rb +1 -1
  503. data/spec/models/free_tool_calculate_aspect_ratio_request_spec.rb +1 -1
  504. data/spec/models/free_tool_calculate_aspect_ratio_response_matches_inner_spec.rb +1 -1
  505. data/spec/models/free_tool_calculate_aspect_ratio_response_rounding_spec.rb +1 -1
  506. data/spec/models/free_tool_calculate_aspect_ratio_response_spec.rb +1 -1
  507. data/spec/models/free_tool_calculate_crop_request_spec.rb +1 -1
  508. data/spec/models/free_tool_calculate_crop_response_crop_spec.rb +1 -1
  509. data/spec/models/free_tool_calculate_crop_response_image_spec.rb +1 -1
  510. data/spec/models/free_tool_calculate_crop_response_output_spec.rb +1 -1
  511. data/spec/models/free_tool_calculate_crop_response_spec.rb +1 -1
  512. data/spec/models/free_tool_calculate_engagement_rate_request_spec.rb +1 -1
  513. data/spec/models/free_tool_calculate_engagement_rate_response_spec.rb +1 -1
  514. data/spec/models/free_tool_calculate_social_roi_request_costs_spec.rb +66 -0
  515. data/spec/models/free_tool_calculate_social_roi_request_spec.rb +48 -0
  516. data/spec/models/free_tool_calculate_social_roi_response_cost_breakdown_inner_spec.rb +58 -0
  517. data/spec/models/free_tool_calculate_social_roi_response_spec.rb +78 -0
  518. data/spec/models/free_tool_check_link_preview_request_spec.rb +1 -1
  519. data/spec/models/free_tool_check_link_preview_response_image_spec.rb +1 -1
  520. data/spec/models/free_tool_check_link_preview_response_previews_value_spec.rb +1 -1
  521. data/spec/models/free_tool_check_link_preview_response_redirects_inner_spec.rb +1 -1
  522. data/spec/models/free_tool_check_link_preview_response_spec.rb +1 -1
  523. data/spec/models/free_tool_check_link_preview_response_tags_spec.rb +1 -1
  524. data/spec/models/free_tool_check_post_request_media_spec.rb +1 -1
  525. data/spec/models/free_tool_check_post_request_spec.rb +1 -1
  526. data/spec/models/free_tool_check_post_response_networks_inner_errors_inner_spec.rb +1 -1
  527. data/spec/models/free_tool_check_post_response_networks_inner_spec.rb +1 -1
  528. data/spec/models/free_tool_check_post_response_spec.rb +1 -1
  529. data/spec/models/free_tool_check_youtube_thumbnail_request_spec.rb +1 -1
  530. data/spec/models/free_tool_check_youtube_thumbnail_response_checks_inner_spec.rb +1 -1
  531. data/spec/models/free_tool_check_youtube_thumbnail_response_spec.rb +1 -1
  532. data/spec/models/free_tool_clean_text_request_spec.rb +1 -1
  533. data/spec/models/free_tool_clean_text_response_changes_inner_spec.rb +1 -1
  534. data/spec/models/free_tool_clean_text_response_flags_inner_spec.rb +1 -1
  535. data/spec/models/free_tool_clean_text_response_spec.rb +1 -1
  536. data/spec/models/free_tool_count_characters_request_spec.rb +1 -1
  537. data/spec/models/free_tool_count_characters_response_networks_inner_spec.rb +1 -1
  538. data/spec/models/free_tool_count_characters_response_spec.rb +1 -1
  539. data/spec/models/free_tool_error_spec.rb +1 -1
  540. data/spec/models/free_tool_format_instagram_caption_request_spec.rb +1 -1
  541. data/spec/models/free_tool_format_instagram_caption_response_spec.rb +1 -1
  542. data/spec/models/free_tool_format_linked_in_post_request_spec.rb +1 -1
  543. data/spec/models/free_tool_format_linked_in_post_response_spec.rb +1 -1
  544. data/spec/models/free_tool_generate_caption_request_spec.rb +1 -1
  545. data/spec/models/free_tool_generate_caption_response_spec.rb +1 -1
  546. data/spec/models/free_tool_generate_fancy_text_request_spec.rb +1 -1
  547. data/spec/models/free_tool_generate_fancy_text_response_spec.rb +1 -1
  548. data/spec/models/free_tool_generate_fancy_text_response_styles_inner_spec.rb +1 -1
  549. data/spec/models/free_tool_generate_hashtags_request_spec.rb +1 -1
  550. data/spec/models/free_tool_generate_hashtags_response_spec.rb +1 -1
  551. data/spec/models/free_tool_generate_hooks_request_spec.rb +1 -1
  552. data/spec/models/free_tool_generate_hooks_response_hooks_inner_spec.rb +1 -1
  553. data/spec/models/free_tool_generate_hooks_response_spec.rb +1 -1
  554. data/spec/models/free_tool_generate_qr_code_request_spec.rb +1 -1
  555. data/spec/models/free_tool_generate_qr_code_request_utm_spec.rb +1 -1
  556. data/spec/models/free_tool_generate_qr_code_response_spec.rb +1 -1
  557. data/spec/models/free_tool_generate_social_posts_from_blog_request_spec.rb +1 -1
  558. data/spec/models/free_tool_generate_social_posts_from_blog_response_posts_inner_spec.rb +1 -1
  559. data/spec/models/free_tool_generate_social_posts_from_blog_response_source_spec.rb +1 -1
  560. data/spec/models/free_tool_generate_social_posts_from_blog_response_spec.rb +1 -1
  561. data/spec/models/free_tool_generate_social_posts_from_blog_response_warnings_inner_spec.rb +1 -1
  562. data/spec/models/free_tool_get_best_times_to_post_response_networks_inner_spec.rb +1 -1
  563. data/spec/models/free_tool_get_best_times_to_post_response_spec.rb +1 -1
  564. data/spec/models/free_tool_get_hook_templates_response_hooks_inner_spec.rb +1 -1
  565. data/spec/models/free_tool_get_hook_templates_response_spec.rb +1 -1
  566. data/spec/models/free_tool_get_image_sizes_response_sizes_inner_spec.rb +1 -1
  567. data/spec/models/free_tool_get_image_sizes_response_sources_inner_spec.rb +1 -1
  568. data/spec/models/free_tool_get_image_sizes_response_spec.rb +1 -1
  569. data/spec/models/free_tool_get_video_specs_response_spec.rb +1 -1
  570. data/spec/models/free_tool_get_video_specs_response_specs_inner_limits_spec.rb +1 -1
  571. data/spec/models/free_tool_get_video_specs_response_specs_inner_spec.rb +1 -1
  572. data/spec/models/free_tool_list_item_spec.rb +1 -1
  573. data/spec/models/free_tool_list_spec.rb +1 -1
  574. data/spec/models/free_tool_plan_content_calendar_request_posts_per_week_spec.rb +1 -1
  575. data/spec/models/free_tool_plan_content_calendar_request_spec.rb +1 -1
  576. data/spec/models/free_tool_plan_content_calendar_request_times_spec.rb +1 -1
  577. data/spec/models/free_tool_plan_content_calendar_response_slots_inner_spec.rb +1 -1
  578. data/spec/models/free_tool_plan_content_calendar_response_spec.rb +1 -1
  579. data/spec/models/free_tool_preview_post_request_spec.rb +1 -1
  580. data/spec/models/free_tool_preview_post_response_networks_inner_spec.rb +1 -1
  581. data/spec/models/free_tool_preview_post_response_spec.rb +1 -1
  582. data/spec/models/free_tool_split_thread_request_spec.rb +1 -1
  583. data/spec/models/free_tool_split_thread_response_posts_inner_spec.rb +1 -1
  584. data/spec/models/free_tool_split_thread_response_spec.rb +1 -1
  585. data/spec/models/get_account_health200_response_spec.rb +1 -1
  586. data/spec/models/get_brand_voice200_response_spec.rb +1 -1
  587. data/spec/models/get_competitor200_response_spec.rb +1 -1
  588. data/spec/models/get_inbox_conversation200_response_spec.rb +1 -1
  589. data/spec/models/get_posting_schedule200_response_spec.rb +1 -1
  590. data/spec/models/get_remote_upload_status200_response_spec.rb +1 -1
  591. data/spec/models/get_report_branding200_response_spec.rb +1 -1
  592. data/spec/models/get_repurpose_run200_response_spec.rb +1 -1
  593. data/spec/models/guardrail_error_spec.rb +1 -1
  594. data/spec/models/hashtag_group_input_spec.rb +1 -1
  595. data/spec/models/hashtag_group_spec.rb +1 -1
  596. data/spec/models/image_alt_text200_response_spec.rb +1 -1
  597. data/spec/models/image_alt_text_input_spec.rb +1 -1
  598. data/spec/models/image_alt_text_response_spec.rb +1 -1
  599. data/spec/models/image_credit_balance_spec.rb +1 -1
  600. data/spec/models/image_edit_input_spec.rb +1 -1
  601. data/spec/models/image_generate200_response_spec.rb +1 -1
  602. data/spec/models/image_generate429_response_spec.rb +1 -1
  603. data/spec/models/image_generate_input_spec.rb +1 -1
  604. data/spec/models/image_generation_response_spec.rb +1 -1
  605. data/spec/models/image_prompt200_response_spec.rb +1 -1
  606. data/spec/models/image_prompt429_response_spec.rb +1 -1
  607. data/spec/models/image_prompt_input_spec.rb +1 -1
  608. data/spec/models/image_prompt_response_spec.rb +1 -1
  609. data/spec/models/image_variations200_response_spec.rb +1 -1
  610. data/spec/models/image_variations_input_spec.rb +1 -1
  611. data/spec/models/image_variations_response_spec.rb +1 -1
  612. data/spec/models/inbox_author_spec.rb +1 -1
  613. data/spec/models/inbox_conversation_account_spec.rb +1 -1
  614. data/spec/models/inbox_conversation_spec.rb +1 -1
  615. data/spec/models/inbox_conversation_update_spec.rb +1 -1
  616. data/spec/models/inbox_message_author_spec.rb +1 -1
  617. data/spec/models/inbox_message_spec.rb +1 -1
  618. data/spec/models/inbox_reply_draft_approve_spec.rb +1 -1
  619. data/spec/models/inbox_reply_draft_edit_spec.rb +1 -1
  620. data/spec/models/inbox_reply_draft_input_spec.rb +1 -1
  621. data/spec/models/inbox_reply_draft_spec.rb +1 -1
  622. data/spec/models/initiate_chunked_upload201_response_spec.rb +1 -1
  623. data/spec/models/initiate_chunked_upload_request_spec.rb +1 -1
  624. data/spec/models/initiate_remote_upload201_response_one_of_spec.rb +1 -1
  625. data/spec/models/initiate_remote_upload201_response_spec.rb +1 -1
  626. data/spec/models/initiate_remote_upload_request_spec.rb +1 -1
  627. data/spec/models/learn_brand_voice_input_spec.rb +1 -1
  628. data/spec/models/learn_brand_voice_response_meta_spec.rb +1 -1
  629. data/spec/models/learn_brand_voice_response_spec.rb +1 -1
  630. data/spec/models/list_account_groups200_response_spec.rb +1 -1
  631. data/spec/models/list_accounts200_response_spec.rb +1 -1
  632. data/spec/models/list_agent_proposals200_response_spec.rb +1 -1
  633. data/spec/models/list_agent_runs200_response_spec.rb +1 -1
  634. data/spec/models/list_agents200_response_spec.rb +1 -1
  635. data/spec/models/list_api_activity200_response_spec.rb +1 -1
  636. data/spec/models/list_api_keys200_response_spec.rb +1 -1
  637. data/spec/models/list_competitors200_response_spec.rb +1 -1
  638. data/spec/models/list_hashtag_groups200_response_spec.rb +1 -1
  639. data/spec/models/list_inbox_conversations200_response_spec.rb +1 -1
  640. data/spec/models/list_inbox_reply_drafts200_response_spec.rb +1 -1
  641. data/spec/models/list_media200_response_spec.rb +1 -1
  642. data/spec/models/list_media_folders200_response_spec.rb +1 -1
  643. data/spec/models/list_mentions200_response_spec.rb +1 -1
  644. data/spec/models/list_my_workspaces200_response_spec.rb +1 -1
  645. data/spec/models/list_posts200_response_spec.rb +1 -1
  646. data/spec/models/list_receipts200_response_spec.rb +1 -1
  647. data/spec/models/list_recycling_rules200_response_spec.rb +1 -1
  648. data/spec/models/list_recycling_runs200_response_spec.rb +1 -1
  649. data/spec/models/list_report_exports200_response_spec.rb +1 -1
  650. data/spec/models/list_reseller_clients200_response_spec.rb +1 -1
  651. data/spec/models/list_rss_feeds200_response_spec.rb +1 -1
  652. data/spec/models/list_tags200_response_spec.rb +1 -1
  653. data/spec/models/list_templates200_response_spec.rb +1 -1
  654. data/spec/models/list_users200_response_spec.rb +1 -1
  655. data/spec/models/list_webhook_subscriptions200_response_spec.rb +1 -1
  656. data/spec/models/list_workspaces200_response_spec.rb +1 -1
  657. data/spec/models/media_base64_input_spec.rb +1 -1
  658. data/spec/models/media_folder_input_spec.rb +1 -1
  659. data/spec/models/media_folder_ref_spec.rb +1 -1
  660. data/spec/models/media_folder_spec.rb +1 -1
  661. data/spec/models/media_spec.rb +1 -1
  662. data/spec/models/mention_identity_input_spec.rb +1 -1
  663. data/spec/models/mention_identity_spec.rb +1 -1
  664. data/spec/models/mention_input_spec.rb +1 -1
  665. data/spec/models/mention_spec.rb +1 -1
  666. data/spec/models/message_only_spec.rb +1 -1
  667. data/spec/models/pagination_meta_links_spec.rb +1 -1
  668. data/spec/models/pagination_meta_meta_spec.rb +1 -1
  669. data/spec/models/pagination_meta_spec.rb +1 -1
  670. data/spec/models/poll_rss_feed200_response_spec.rb +1 -1
  671. data/spec/models/post_analytics_spec.rb +1 -1
  672. data/spec/models/post_content_spec.rb +1 -1
  673. data/spec/models/post_input_spec.rb +1 -1
  674. data/spec/models/post_options_instagram_spec.rb +1 -1
  675. data/spec/models/post_options_tik_tok_spec.rb +1 -1
  676. data/spec/models/post_options_youtube_spec.rb +1 -1
  677. data/spec/models/post_spec.rb +1 -1
  678. data/spec/models/post_status_spec.rb +1 -1
  679. data/spec/models/post_version_options_spec.rb +1 -1
  680. data/spec/models/post_version_spec.rb +1 -1
  681. data/spec/models/post_warning_spec.rb +1 -1
  682. data/spec/models/post_warnings_spec.rb +1 -1
  683. data/spec/models/posting_schedule_day_spec.rb +1 -1
  684. data/spec/models/posting_schedule_day_times_inner_spec.rb +1 -1
  685. data/spec/models/posting_schedule_input_spec.rb +1 -1
  686. data/spec/models/posting_schedule_spec.rb +1 -1
  687. data/spec/models/posting_time_slot_spec.rb +1 -1
  688. data/spec/models/posting_times_best_inner_spec.rb +1 -1
  689. data/spec/models/posting_times_day_intervals_inner_inner_spec.rb +1 -1
  690. data/spec/models/posting_times_days_inner_spec.rb +1 -1
  691. data/spec/models/posting_times_spec.rb +1 -1
  692. data/spec/models/preflight_result_spec.rb +1 -1
  693. data/spec/models/public_workspace_pivot_spec.rb +1 -1
  694. data/spec/models/public_workspace_spec.rb +1 -1
  695. data/spec/models/publish_progress_spec.rb +1 -1
  696. data/spec/models/queue_slots_spec.rb +1 -1
  697. data/spec/models/receipt_input_spec.rb +1 -1
  698. data/spec/models/receipt_spec.rb +1 -1
  699. data/spec/models/receipt_update_input_spec.rb +1 -1
  700. data/spec/models/recommended_posting_times_spec.rb +1 -1
  701. data/spec/models/reconnect_link_spec.rb +1 -1
  702. data/spec/models/recycling_rule_input_spec.rb +1 -1
  703. data/spec/models/recycling_rule_settings_spec.rb +1 -1
  704. data/spec/models/recycling_rule_spec.rb +1 -1
  705. data/spec/models/recycling_rule_update_spec.rb +1 -1
  706. data/spec/models/recycling_run_spec.rb +1 -1
  707. data/spec/models/remove_generic_subscription422_response_spec.rb +1 -1
  708. data/spec/models/remove_user_from_workspace_request_spec.rb +1 -1
  709. data/spec/models/report_branding_input_spec.rb +1 -1
  710. data/spec/models/report_branding_spec.rb +1 -1
  711. data/spec/models/report_export_input_spec.rb +1 -1
  712. data/spec/models/report_export_spec.rb +1 -1
  713. data/spec/models/repurpose_content200_response_spec.rb +1 -1
  714. data/spec/models/repurpose_content202_response_spec.rb +1 -1
  715. data/spec/models/repurpose_content500_response_spec.rb +1 -1
  716. data/spec/models/repurpose_input_spec.rb +1 -1
  717. data/spec/models/repurpose_input_theme_spec.rb +1 -1
  718. data/spec/models/repurpose_result_media_spec.rb +1 -1
  719. data/spec/models/repurpose_result_source_spec.rb +1 -1
  720. data/spec/models/repurpose_result_spec.rb +1 -1
  721. data/spec/models/repurpose_run_accepted_spec.rb +1 -1
  722. data/spec/models/repurpose_run_spec.rb +1 -1
  723. data/spec/models/repurpose_slide_spec.rb +1 -1
  724. data/spec/models/reseller_client_input_spec.rb +1 -1
  725. data/spec/models/reseller_client_spec.rb +1 -1
  726. data/spec/models/reseller_client_usage_spec.rb +1 -1
  727. data/spec/models/retry_post_account_result_spec.rb +1 -1
  728. data/spec/models/rss_feed_input_spec.rb +1 -1
  729. data/spec/models/rss_feed_spec.rb +1 -1
  730. data/spec/models/rss_feed_update_spec.rb +1 -1
  731. data/spec/models/run_agent202_response_spec.rb +1 -1
  732. data/spec/models/schedule_post_request_spec.rb +1 -1
  733. data/spec/models/schedule_result_spec.rb +1 -1
  734. data/spec/models/subscription_input_spec.rb +1 -1
  735. data/spec/models/subscription_spec.rb +1 -1
  736. data/spec/models/subscription_status_spec.rb +1 -1
  737. data/spec/models/subscription_update_input_spec.rb +1 -1
  738. data/spec/models/tag_input_spec.rb +1 -1
  739. data/spec/models/tag_spec.rb +1 -1
  740. data/spec/models/template_content_item_spec.rb +1 -1
  741. data/spec/models/template_input_content_inner_spec.rb +1 -1
  742. data/spec/models/template_input_spec.rb +1 -1
  743. data/spec/models/template_spec.rb +1 -1
  744. data/spec/models/update_media_request_spec.rb +1 -1
  745. data/spec/models/update_post200_response_spec.rb +1 -1
  746. data/spec/models/upload_chunk201_response_spec.rb +1 -1
  747. data/spec/models/user_input_spec.rb +1 -1
  748. data/spec/models/user_spec.rb +1 -1
  749. data/spec/models/user_update_input_spec.rb +1 -1
  750. data/spec/models/webhook_envelope_spec.rb +1 -1
  751. data/spec/models/webhook_event_name_spec.rb +1 -1
  752. data/spec/models/webhook_event_payload_spec.rb +1 -1
  753. data/spec/models/webhook_subscription_input_spec.rb +1 -1
  754. data/spec/models/webhook_subscription_spec.rb +1 -1
  755. data/spec/models/workspace_agent_input_spec.rb +1 -1
  756. data/spec/models/workspace_agent_settings_spec.rb +1 -1
  757. data/spec/models/workspace_agent_spec.rb +1 -1
  758. data/spec/models/workspace_agent_update_spec.rb +1 -1
  759. data/spec/models/workspace_input_spec.rb +1 -1
  760. data/spec/models/workspace_spec.rb +1 -1
  761. data/spec/models/workspace_user_input_spec.rb +1 -1
  762. data/spec/models/x_usage_counter_spec.rb +1 -1
  763. data/spec/models/x_usage_spec.rb +1 -1
  764. data/spec/spec_helper.rb +1 -1
  765. metadata +17 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6ae71bec81cbbf9e54be21792870376d677426fc24491c3ce6f553b752fcc038
4
- data.tar.gz: 07a212103c642ba48456a076cc8230105931707463a57555df52eb219afdbe97
3
+ metadata.gz: a247d4aefde1c5041bdc5ef7ed52aa13f0f477d3c0037795918b44ff13aa29b0
4
+ data.tar.gz: 1c2d76a6c2c72a5c5cc9d5e783ff4ef8889f376f3c13599d5033b40bf426cbaa
5
5
  SHA512:
6
- metadata.gz: a16fc850d07ba80429608616684b45143e7e66a240170a141eb5c7dec86e8d66131303ff7f50030e2393782efab9ea22293a9b196f75605b1dca9b2635b5cd43
7
- data.tar.gz: 9ffd26768eda0e535adefabd09d71e43b0fa53e823dad622e74971b8e809be610ab9c27d20e2d2b78d782046b0f03b7019225401deb51c8de985d28376815860
6
+ metadata.gz: bfff3a1eb95e287a7373688c9f3ac2d792dcd3230b77f2f354b6e5f37896d53e3da5b6f6b639d0676ff01f458f30d4afced16b073f79fea96bdae1ab1d972c5c
7
+ data.tar.gz: 4e18c9d50bfb3ba8d0e64fc3231ff0ebd03e0f84e101287a76d3251c877f75c7c46bd17eaf666adfdc80543a6d054d19d0c78bc43ce426d2a088291112dc2c54
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.45.0 |
16
+ | **Version** | v1.46.0 |
17
17
 
18
18
  ## Quick start
19
19
 
@@ -90,6 +90,7 @@ Class | Method | HTTP request | Description
90
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
91
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
92
92
  *PostBoost::FreeToolsApi* | [**calculate_engagement_rate**](docs/FreeToolsApi.md#calculate_engagement_rate) | **POST** /tools/engagement-rate-calculator | Calculate an engagement rate
93
+ *PostBoost::FreeToolsApi* | [**calculate_social_roi**](docs/FreeToolsApi.md#calculate_social_roi) | **POST** /tools/social-media-roi-calculator | Calculate social media ROI
93
94
  *PostBoost::FreeToolsApi* | [**check_link_preview**](docs/FreeToolsApi.md#check_link_preview) | **POST** /tools/link-preview-checker | Check how a link previews on X, LinkedIn, Facebook and chat apps (Open Graph and Twitter card tags)
94
95
  *PostBoost::FreeToolsApi* | [**check_post**](docs/FreeToolsApi.md#check_post) | **POST** /tools/social-media-post-checker | Check a post against each network's publishing rules
95
96
  *PostBoost::FreeToolsApi* | [**check_youtube_thumbnail**](docs/FreeToolsApi.md#check_youtube_thumbnail) | **POST** /tools/youtube-thumbnail-size-checker | Check a YouTube thumbnail's ratio, width, file size and format against YouTube's requirements
@@ -0,0 +1,22 @@
1
+ # PostBoost::FreeToolCalculateSocialRoiRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **revenue** | **Float** | Revenue attributed to social media in the period, in USD. | |
8
+ | **costs** | [**FreeToolCalculateSocialRoiRequestCosts**](FreeToolCalculateSocialRoiRequestCosts.md) | | [optional] |
9
+ | **period** | **String** | Optional label for the period, e.g. \"Q3 2026\". | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'postboost'
15
+
16
+ instance = PostBoost::FreeToolCalculateSocialRoiRequest.new(
17
+ revenue: null,
18
+ costs: null,
19
+ period: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,28 @@
1
+ # PostBoost::FreeToolCalculateSocialRoiRequestCosts
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **ad_spend** | **Float** | Paid social ad spend. | [optional][default to 0] |
8
+ | **tools** | **Float** | Tools and software subscriptions. | [optional][default to 0] |
9
+ | **labor_hours** | **Float** | Hours spent on social media. | [optional][default to 0] |
10
+ | **hourly_rate** | **Float** | Cost of one hour of that work. | [optional][default to 0] |
11
+ | **content** | **Float** | Content production: design, video, photography, freelancers. | [optional][default to 0] |
12
+ | **other** | **Float** | Anything else. | [optional][default to 0] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'postboost'
18
+
19
+ instance = PostBoost::FreeToolCalculateSocialRoiRequestCosts.new(
20
+ ad_spend: null,
21
+ tools: null,
22
+ labor_hours: null,
23
+ hourly_rate: null,
24
+ content: null,
25
+ other: null
26
+ )
27
+ ```
28
+
@@ -0,0 +1,32 @@
1
+ # PostBoost::FreeToolCalculateSocialRoiResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **period** | **String** | | [optional] |
8
+ | **revenue** | **Float** | | [optional] |
9
+ | **total_cost** | **Float** | Sum of every cost, labor = hours × hourly rate. 2 decimals. | [optional] |
10
+ | **net_return** | **Float** | Revenue minus total cost. 2 decimals. | [optional] |
11
+ | **roi_percent** | **Float** | (revenue − total cost) ÷ total cost × 100, 1 decimal; null when the total cost is 0. | [optional] |
12
+ | **cost_breakdown** | [**Array<FreeToolCalculateSocialRoiResponseCostBreakdownInner>**](FreeToolCalculateSocialRoiResponseCostBreakdownInner.md) | Every cost above 0, with its share of the total cost (percent, 1 decimal). | [optional] |
13
+ | **warnings** | **Array<String>** | | [optional] |
14
+ | **formula** | **String** | | [optional] |
15
+
16
+ ## Example
17
+
18
+ ```ruby
19
+ require 'postboost'
20
+
21
+ instance = PostBoost::FreeToolCalculateSocialRoiResponse.new(
22
+ period: null,
23
+ revenue: null,
24
+ total_cost: null,
25
+ net_return: null,
26
+ roi_percent: null,
27
+ cost_breakdown: null,
28
+ warnings: null,
29
+ formula: null
30
+ )
31
+ ```
32
+
@@ -0,0 +1,24 @@
1
+ # PostBoost::FreeToolCalculateSocialRoiResponseCostBreakdownInner
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **key** | **String** | | [optional] |
8
+ | **label** | **String** | | [optional] |
9
+ | **amount** | **Float** | | [optional] |
10
+ | **share_percent** | **Float** | | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'postboost'
16
+
17
+ instance = PostBoost::FreeToolCalculateSocialRoiResponseCostBreakdownInner.new(
18
+ key: null,
19
+ label: null,
20
+ amount: null,
21
+ share_percent: null
22
+ )
23
+ ```
24
+
data/docs/FreeToolsApi.md CHANGED
@@ -8,6 +8,7 @@ All URIs are relative to *https://postboost.co/app/api*
8
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 |
9
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 |
10
10
  | [**calculate_engagement_rate**](FreeToolsApi.md#calculate_engagement_rate) | **POST** /tools/engagement-rate-calculator | Calculate an engagement rate |
11
+ | [**calculate_social_roi**](FreeToolsApi.md#calculate_social_roi) | **POST** /tools/social-media-roi-calculator | Calculate social media ROI |
11
12
  | [**check_link_preview**](FreeToolsApi.md#check_link_preview) | **POST** /tools/link-preview-checker | Check how a link previews on X, LinkedIn, Facebook and chat apps (Open Graph and Twitter card tags) |
12
13
  | [**check_post**](FreeToolsApi.md#check_post) | **POST** /tools/social-media-post-checker | Check a post against each network's publishing rules |
13
14
  | [**check_youtube_thumbnail**](FreeToolsApi.md#check_youtube_thumbnail) | **POST** /tools/youtube-thumbnail-size-checker | Check a YouTube thumbnail's ratio, width, file size and format against YouTube's requirements |
@@ -287,6 +288,70 @@ No authorization required
287
288
  - **Accept**: application/json
288
289
 
289
290
 
291
+ ## calculate_social_roi
292
+
293
+ > <FreeToolCalculateSocialRoiResponse> calculate_social_roi(free_tool_calculate_social_roi_request)
294
+
295
+ Calculate social media ROI
296
+
297
+ Calculate social media ROI. The same logic as the free web tool at https://postboost.co/tools/social-media-roi-calculator. No account needed: call it without a token, or with any API token.
298
+
299
+ ### Examples
300
+
301
+ ```ruby
302
+ require 'time'
303
+ require 'postboost'
304
+
305
+ api_instance = PostBoost::FreeToolsApi.new
306
+ free_tool_calculate_social_roi_request = PostBoost::FreeToolCalculateSocialRoiRequest.new({revenue: 3.56}) # FreeToolCalculateSocialRoiRequest |
307
+
308
+ begin
309
+ # Calculate social media ROI
310
+ result = api_instance.calculate_social_roi(free_tool_calculate_social_roi_request)
311
+ p result
312
+ rescue PostBoost::ApiError => e
313
+ puts "Error when calling FreeToolsApi->calculate_social_roi: #{e}"
314
+ end
315
+ ```
316
+
317
+ #### Using the calculate_social_roi_with_http_info variant
318
+
319
+ This returns an Array which contains the response data, status code and headers.
320
+
321
+ > <Array(<FreeToolCalculateSocialRoiResponse>, Integer, Hash)> calculate_social_roi_with_http_info(free_tool_calculate_social_roi_request)
322
+
323
+ ```ruby
324
+ begin
325
+ # Calculate social media ROI
326
+ data, status_code, headers = api_instance.calculate_social_roi_with_http_info(free_tool_calculate_social_roi_request)
327
+ p status_code # => 2xx
328
+ p headers # => { ... }
329
+ p data # => <FreeToolCalculateSocialRoiResponse>
330
+ rescue PostBoost::ApiError => e
331
+ puts "Error when calling FreeToolsApi->calculate_social_roi_with_http_info: #{e}"
332
+ end
333
+ ```
334
+
335
+ ### Parameters
336
+
337
+ | Name | Type | Description | Notes |
338
+ | ---- | ---- | ----------- | ----- |
339
+ | **free_tool_calculate_social_roi_request** | [**FreeToolCalculateSocialRoiRequest**](FreeToolCalculateSocialRoiRequest.md) | | |
340
+
341
+ ### Return type
342
+
343
+ [**FreeToolCalculateSocialRoiResponse**](FreeToolCalculateSocialRoiResponse.md)
344
+
345
+ ### Authorization
346
+
347
+ No authorization required
348
+
349
+ ### HTTP request headers
350
+
351
+ - **Content-Type**: application/json
352
+ - **Accept**: application/json
353
+
354
+
290
355
  ## check_link_preview
291
356
 
292
357
  > <FreeToolCheckLinkPreviewResponse> check_link_preview(free_tool_check_link_preview_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.45.0
6
+ The version of the OpenAPI document: 1.46.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.45.0
6
+ The version of the OpenAPI document: 1.46.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.45.0
6
+ The version of the OpenAPI document: 1.46.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.45.0
6
+ The version of the OpenAPI document: 1.46.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.45.0
6
+ The version of the OpenAPI document: 1.46.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.45.0
6
+ The version of the OpenAPI document: 1.46.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.45.0
6
+ The version of the OpenAPI document: 1.46.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.45.0
6
+ The version of the OpenAPI document: 1.46.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -291,6 +291,74 @@ module PostBoost
291
291
  return data, status_code, headers
292
292
  end
293
293
 
294
+ # Calculate social media ROI
295
+ # Calculate social media ROI. The same logic as the free web tool at https://postboost.co/tools/social-media-roi-calculator. No account needed: call it without a token, or with any API token.
296
+ # @param free_tool_calculate_social_roi_request [FreeToolCalculateSocialRoiRequest]
297
+ # @param [Hash] opts the optional parameters
298
+ # @return [FreeToolCalculateSocialRoiResponse]
299
+ def calculate_social_roi(free_tool_calculate_social_roi_request, opts = {})
300
+ data, _status_code, _headers = calculate_social_roi_with_http_info(free_tool_calculate_social_roi_request, opts)
301
+ data
302
+ end
303
+
304
+ # Calculate social media ROI
305
+ # Calculate social media ROI. The same logic as the free web tool at https://postboost.co/tools/social-media-roi-calculator. No account needed: call it without a token, or with any API token.
306
+ # @param free_tool_calculate_social_roi_request [FreeToolCalculateSocialRoiRequest]
307
+ # @param [Hash] opts the optional parameters
308
+ # @return [Array<(FreeToolCalculateSocialRoiResponse, Integer, Hash)>] FreeToolCalculateSocialRoiResponse data, response status code and response headers
309
+ def calculate_social_roi_with_http_info(free_tool_calculate_social_roi_request, opts = {})
310
+ if @api_client.config.debugging
311
+ @api_client.config.logger.debug 'Calling API: FreeToolsApi.calculate_social_roi ...'
312
+ end
313
+ # verify the required parameter 'free_tool_calculate_social_roi_request' is set
314
+ if @api_client.config.client_side_validation && free_tool_calculate_social_roi_request.nil?
315
+ fail ArgumentError, "Missing the required parameter 'free_tool_calculate_social_roi_request' when calling FreeToolsApi.calculate_social_roi"
316
+ end
317
+ # resource path
318
+ local_var_path = '/tools/social-media-roi-calculator'
319
+
320
+ # query parameters
321
+ query_params = opts[:query_params] || {}
322
+
323
+ # header parameters
324
+ header_params = opts[:header_params] || {}
325
+ # HTTP header 'Accept' (if needed)
326
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
327
+ # HTTP header 'Content-Type'
328
+ content_type = @api_client.select_header_content_type(['application/json'])
329
+ if !content_type.nil?
330
+ header_params['Content-Type'] = content_type
331
+ end
332
+
333
+ # form parameters
334
+ form_params = opts[:form_params] || {}
335
+
336
+ # http body (model)
337
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(free_tool_calculate_social_roi_request)
338
+
339
+ # return_type
340
+ return_type = opts[:debug_return_type] || 'FreeToolCalculateSocialRoiResponse'
341
+
342
+ # auth_names
343
+ auth_names = opts[:debug_auth_names] || []
344
+
345
+ new_options = opts.merge(
346
+ :operation => :"FreeToolsApi.calculate_social_roi",
347
+ :header_params => header_params,
348
+ :query_params => query_params,
349
+ :form_params => form_params,
350
+ :body => post_body,
351
+ :auth_names => auth_names,
352
+ :return_type => return_type
353
+ )
354
+
355
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
356
+ if @api_client.config.debugging
357
+ @api_client.config.logger.debug "API called: FreeToolsApi#calculate_social_roi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
358
+ end
359
+ return data, status_code, headers
360
+ end
361
+
294
362
  # Check how a link previews on X, LinkedIn, Facebook and chat apps (Open Graph and Twitter card tags)
295
363
  # Check how a link previews on X, LinkedIn, Facebook and chat apps (Open Graph and Twitter card tags). The same logic as the free web tool at https://postboost.co/tools/link-preview-checker. No account needed: call it without a token, or with any API token.
296
364
  # @param free_tool_check_link_preview_request [FreeToolCheckLinkPreviewRequest]
@@ -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.45.0
6
+ The version of the OpenAPI document: 1.46.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.45.0
6
+ The version of the OpenAPI document: 1.46.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.45.0
6
+ The version of the OpenAPI document: 1.46.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.45.0
6
+ The version of the OpenAPI document: 1.46.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.45.0
6
+ The version of the OpenAPI document: 1.46.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.45.0
6
+ The version of the OpenAPI document: 1.46.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.45.0
6
+ The version of the OpenAPI document: 1.46.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.45.0
6
+ The version of the OpenAPI document: 1.46.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.45.0
6
+ The version of the OpenAPI document: 1.46.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.45.0
6
+ The version of the OpenAPI document: 1.46.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.45.0
6
+ The version of the OpenAPI document: 1.46.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.45.0
6
+ The version of the OpenAPI document: 1.46.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.45.0
6
+ The version of the OpenAPI document: 1.46.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.45.0
6
+ The version of the OpenAPI document: 1.46.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.45.0
6
+ The version of the OpenAPI document: 1.46.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.45.0
6
+ The version of the OpenAPI document: 1.46.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0