postboost 1.20.0 → 1.22.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 (642) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +8 -1
  3. data/docs/AgentProposal.md +2 -2
  4. data/docs/AgentsApi.md +3 -3
  5. data/docs/FreeToolBuildUtmUrlRequest.md +30 -0
  6. data/docs/FreeToolBuildUtmUrlResponse.md +20 -0
  7. data/docs/FreeToolCalculateEngagementRateRequest.md +32 -0
  8. data/docs/FreeToolCalculateEngagementRateResponse.md +24 -0
  9. data/docs/FreeToolCountCharactersRequest.md +20 -0
  10. data/docs/FreeToolCountCharactersResponse.md +20 -0
  11. data/docs/FreeToolCountCharactersResponseNetworksInner.md +28 -0
  12. data/docs/FreeToolError.md +18 -0
  13. data/docs/FreeToolFormatLinkedInPostRequest.md +22 -0
  14. data/docs/FreeToolFormatLinkedInPostResponse.md +26 -0
  15. data/docs/FreeToolGenerateFancyTextRequest.md +20 -0
  16. data/docs/FreeToolGenerateFancyTextResponse.md +18 -0
  17. data/docs/FreeToolGenerateFancyTextResponseStylesInner.md +22 -0
  18. data/docs/FreeToolList.md +18 -0
  19. data/docs/FreeToolListItem.md +30 -0
  20. data/docs/FreeToolSplitThreadRequest.md +22 -0
  21. data/docs/FreeToolSplitThreadResponse.md +20 -0
  22. data/docs/FreeToolSplitThreadResponsePostsInner.md +20 -0
  23. data/docs/FreeToolsApi.md +459 -0
  24. data/docs/WorkspaceAgentSettings.md +3 -1
  25. data/lib/postboost/api/account_groups_api.rb +1 -1
  26. data/lib/postboost/api/accounts_api.rb +1 -1
  27. data/lib/postboost/api/activity_api.rb +1 -1
  28. data/lib/postboost/api/agents_api.rb +7 -7
  29. data/lib/postboost/api/ai_api.rb +1 -1
  30. data/lib/postboost/api/analytics_api.rb +1 -1
  31. data/lib/postboost/api/competitors_api.rb +1 -1
  32. data/lib/postboost/api/free_tools_api.rb +487 -0
  33. data/lib/postboost/api/hashtag_groups_api.rb +1 -1
  34. data/lib/postboost/api/inbox_api.rb +1 -1
  35. data/lib/postboost/api/media_api.rb +1 -1
  36. data/lib/postboost/api/mentions_api.rb +1 -1
  37. data/lib/postboost/api/posting_schedule_api.rb +1 -1
  38. data/lib/postboost/api/posts_api.rb +1 -1
  39. data/lib/postboost/api/receipts_api.rb +1 -1
  40. data/lib/postboost/api/subscriptions_api.rb +1 -1
  41. data/lib/postboost/api/tags_api.rb +1 -1
  42. data/lib/postboost/api/templates_api.rb +1 -1
  43. data/lib/postboost/api/users_api.rb +1 -1
  44. data/lib/postboost/api/webhooks_api.rb +1 -1
  45. data/lib/postboost/api/workspaces_api.rb +1 -1
  46. data/lib/postboost/api_client.rb +1 -1
  47. data/lib/postboost/api_error.rb +1 -1
  48. data/lib/postboost/configuration.rb +1 -1
  49. data/lib/postboost/models/account.rb +1 -1
  50. data/lib/postboost/models/account_analytics.rb +1 -1
  51. data/lib/postboost/models/account_analytics_initial_sync.rb +1 -1
  52. data/lib/postboost/models/account_connection_health.rb +1 -1
  53. data/lib/postboost/models/account_errors_inner.rb +1 -1
  54. data/lib/postboost/models/account_errors_inner_one_of.rb +1 -1
  55. data/lib/postboost/models/account_group.rb +1 -1
  56. data/lib/postboost/models/account_group_input.rb +1 -1
  57. data/lib/postboost/models/account_health.rb +1 -1
  58. data/lib/postboost/models/account_health_daily_cap.rb +1 -1
  59. data/lib/postboost/models/account_schedule.rb +1 -1
  60. data/lib/postboost/models/add_competitor202_response.rb +1 -1
  61. data/lib/postboost/models/add_competitor409_response.rb +1 -1
  62. data/lib/postboost/models/add_generic_subscription_request.rb +1 -1
  63. data/lib/postboost/models/add_post_to_queue_request.rb +1 -1
  64. data/lib/postboost/models/agent_page_meta.rb +1 -1
  65. data/lib/postboost/models/agent_proposal.rb +5 -5
  66. data/lib/postboost/models/agent_proposal_decision.rb +1 -1
  67. data/lib/postboost/models/agent_run.rb +1 -1
  68. data/lib/postboost/models/ai_credits.rb +1 -1
  69. data/lib/postboost/models/ai_usage.rb +1 -1
  70. data/lib/postboost/models/ai_usage_text.rb +1 -1
  71. data/lib/postboost/models/analytics_period.rb +1 -1
  72. data/lib/postboost/models/analytics_summary.rb +1 -1
  73. data/lib/postboost/models/analytics_summary_data.rb +1 -1
  74. data/lib/postboost/models/api_activity.rb +1 -1
  75. data/lib/postboost/models/api_activity_outcome.rb +1 -1
  76. data/lib/postboost/models/api_key.rb +1 -1
  77. data/lib/postboost/models/api_key_ability.rb +1 -1
  78. data/lib/postboost/models/api_key_input.rb +1 -1
  79. data/lib/postboost/models/approve_agent_proposal200_response.rb +1 -1
  80. data/lib/postboost/models/approve_agent_proposal409_response.rb +1 -1
  81. data/lib/postboost/models/approve_inbox_reply_draft403_response.rb +1 -1
  82. data/lib/postboost/models/approve_post_request.rb +1 -1
  83. data/lib/postboost/models/best_posting_times.rb +1 -1
  84. data/lib/postboost/models/best_posting_times_times_inner.rb +1 -1
  85. data/lib/postboost/models/blog_to_social200_response.rb +1 -1
  86. data/lib/postboost/models/blog_to_social429_response.rb +1 -1
  87. data/lib/postboost/models/blog_to_social_caption.rb +1 -1
  88. data/lib/postboost/models/blog_to_social_input.rb +1 -1
  89. data/lib/postboost/models/blog_to_social_media.rb +1 -1
  90. data/lib/postboost/models/blog_to_social_response.rb +1 -1
  91. data/lib/postboost/models/brand_voice.rb +1 -1
  92. data/lib/postboost/models/brand_voice_input.rb +1 -1
  93. data/lib/postboost/models/brand_voice_meta.rb +1 -1
  94. data/lib/postboost/models/cancel_subscription422_response.rb +1 -1
  95. data/lib/postboost/models/cancel_subscription422_response_errors.rb +1 -1
  96. data/lib/postboost/models/cancel_subscription_request.rb +1 -1
  97. data/lib/postboost/models/change_subscription_plan_request.rb +1 -1
  98. data/lib/postboost/models/channel_account.rb +1 -1
  99. data/lib/postboost/models/checkout_subscription200_response.rb +1 -1
  100. data/lib/postboost/models/checkout_subscription_request.rb +1 -1
  101. data/lib/postboost/models/coded_error.rb +1 -1
  102. data/lib/postboost/models/competitor.rb +1 -1
  103. data/lib/postboost/models/competitor_detail.rb +1 -1
  104. data/lib/postboost/models/competitor_input.rb +1 -1
  105. data/lib/postboost/models/competitor_media.rb +1 -1
  106. data/lib/postboost/models/competitor_snapshot.rb +1 -1
  107. data/lib/postboost/models/complete_chunked_upload_request.rb +1 -1
  108. data/lib/postboost/models/connect_channel_input.rb +1 -1
  109. data/lib/postboost/models/create_account_group201_response.rb +1 -1
  110. data/lib/postboost/models/create_agent201_response.rb +1 -1
  111. data/lib/postboost/models/create_api_key201_response.rb +1 -1
  112. data/lib/postboost/models/create_api_key201_response_data.rb +1 -1
  113. data/lib/postboost/models/create_hashtag_group201_response.rb +1 -1
  114. data/lib/postboost/models/create_inbox_reply_draft201_response.rb +1 -1
  115. data/lib/postboost/models/create_media_folder_request.rb +1 -1
  116. data/lib/postboost/models/create_mention201_response.rb +1 -1
  117. data/lib/postboost/models/create_post201_response.rb +1 -1
  118. data/lib/postboost/models/create_recycling_rule201_response.rb +1 -1
  119. data/lib/postboost/models/create_report_export201_response.rb +1 -1
  120. data/lib/postboost/models/create_reseller_client201_response.rb +1 -1
  121. data/lib/postboost/models/create_rss_feed201_response.rb +1 -1
  122. data/lib/postboost/models/create_template201_response.rb +1 -1
  123. data/lib/postboost/models/create_webhook_subscription201_response.rb +1 -1
  124. data/lib/postboost/models/create_webhook_subscription201_response_data.rb +1 -1
  125. data/lib/postboost/models/delete_agent200_response.rb +1 -1
  126. data/lib/postboost/models/delete_media_bulk_request.rb +1 -1
  127. data/lib/postboost/models/delete_media_bulk_request_items_inner.rb +1 -1
  128. data/lib/postboost/models/delete_media_folder_request.rb +1 -1
  129. data/lib/postboost/models/delete_mode.rb +1 -1
  130. data/lib/postboost/models/delete_post_request.rb +1 -1
  131. data/lib/postboost/models/delete_posts_bulk_request.rb +1 -1
  132. data/lib/postboost/models/delete_receipts_bulk_request.rb +1 -1
  133. data/lib/postboost/models/delete_result.rb +1 -1
  134. data/lib/postboost/models/delete_user400_response.rb +1 -1
  135. data/lib/postboost/models/delete_users_bulk_request.rb +1 -1
  136. data/lib/postboost/models/delete_workspaces_bulk_request.rb +1 -1
  137. data/lib/postboost/models/free_tool_build_utm_url_request.rb +420 -0
  138. data/lib/postboost/models/free_tool_build_utm_url_response.rb +226 -0
  139. data/lib/postboost/models/free_tool_calculate_engagement_rate_request.rb +468 -0
  140. data/lib/postboost/models/free_tool_calculate_engagement_rate_response.rb +242 -0
  141. data/lib/postboost/models/free_tool_count_characters_request.rb +280 -0
  142. data/lib/postboost/models/free_tool_count_characters_response.rb +226 -0
  143. data/lib/postboost/models/free_tool_count_characters_response_networks_inner.rb +259 -0
  144. data/lib/postboost/models/free_tool_error.rb +221 -0
  145. data/lib/postboost/models/free_tool_format_linked_in_post_request.rb +306 -0
  146. data/lib/postboost/models/free_tool_format_linked_in_post_response.rb +251 -0
  147. data/lib/postboost/models/free_tool_generate_fancy_text_request.rb +284 -0
  148. data/lib/postboost/models/free_tool_generate_fancy_text_response.rb +216 -0
  149. data/lib/postboost/models/free_tool_generate_fancy_text_response_styles_inner.rb +233 -0
  150. data/lib/postboost/models/free_tool_list.rb +223 -0
  151. data/lib/postboost/models/free_tool_list_item.rb +344 -0
  152. data/lib/postboost/models/free_tool_split_thread_request.rb +293 -0
  153. data/lib/postboost/models/free_tool_split_thread_response.rb +225 -0
  154. data/lib/postboost/models/free_tool_split_thread_response_posts_inner.rb +224 -0
  155. data/lib/postboost/models/get_account_health200_response.rb +1 -1
  156. data/lib/postboost/models/get_brand_voice200_response.rb +1 -1
  157. data/lib/postboost/models/get_competitor200_response.rb +1 -1
  158. data/lib/postboost/models/get_inbox_conversation200_response.rb +1 -1
  159. data/lib/postboost/models/get_posting_schedule200_response.rb +1 -1
  160. data/lib/postboost/models/get_remote_upload_status200_response.rb +1 -1
  161. data/lib/postboost/models/get_report_branding200_response.rb +1 -1
  162. data/lib/postboost/models/get_repurpose_run200_response.rb +1 -1
  163. data/lib/postboost/models/guardrail_error.rb +1 -1
  164. data/lib/postboost/models/hashtag_group.rb +1 -1
  165. data/lib/postboost/models/hashtag_group_input.rb +1 -1
  166. data/lib/postboost/models/image_alt_text200_response.rb +1 -1
  167. data/lib/postboost/models/image_alt_text_input.rb +1 -1
  168. data/lib/postboost/models/image_alt_text_response.rb +1 -1
  169. data/lib/postboost/models/image_credit_balance.rb +1 -1
  170. data/lib/postboost/models/image_edit_input.rb +1 -1
  171. data/lib/postboost/models/image_generate200_response.rb +1 -1
  172. data/lib/postboost/models/image_generate429_response.rb +1 -1
  173. data/lib/postboost/models/image_generate_input.rb +1 -1
  174. data/lib/postboost/models/image_generation_response.rb +1 -1
  175. data/lib/postboost/models/image_prompt200_response.rb +1 -1
  176. data/lib/postboost/models/image_prompt429_response.rb +1 -1
  177. data/lib/postboost/models/image_prompt_input.rb +1 -1
  178. data/lib/postboost/models/image_prompt_response.rb +1 -1
  179. data/lib/postboost/models/image_variations200_response.rb +1 -1
  180. data/lib/postboost/models/image_variations_input.rb +1 -1
  181. data/lib/postboost/models/image_variations_response.rb +1 -1
  182. data/lib/postboost/models/inbox_author.rb +1 -1
  183. data/lib/postboost/models/inbox_conversation.rb +1 -1
  184. data/lib/postboost/models/inbox_conversation_account.rb +1 -1
  185. data/lib/postboost/models/inbox_conversation_update.rb +1 -1
  186. data/lib/postboost/models/inbox_message.rb +1 -1
  187. data/lib/postboost/models/inbox_message_author.rb +1 -1
  188. data/lib/postboost/models/inbox_reply_draft.rb +1 -1
  189. data/lib/postboost/models/inbox_reply_draft_approve.rb +1 -1
  190. data/lib/postboost/models/inbox_reply_draft_edit.rb +1 -1
  191. data/lib/postboost/models/inbox_reply_draft_input.rb +1 -1
  192. data/lib/postboost/models/initiate_chunked_upload201_response.rb +1 -1
  193. data/lib/postboost/models/initiate_chunked_upload_request.rb +1 -1
  194. data/lib/postboost/models/initiate_remote_upload201_response.rb +1 -1
  195. data/lib/postboost/models/initiate_remote_upload201_response_one_of.rb +1 -1
  196. data/lib/postboost/models/initiate_remote_upload_request.rb +1 -1
  197. data/lib/postboost/models/learn_brand_voice_input.rb +1 -1
  198. data/lib/postboost/models/learn_brand_voice_response.rb +1 -1
  199. data/lib/postboost/models/learn_brand_voice_response_meta.rb +1 -1
  200. data/lib/postboost/models/list_account_groups200_response.rb +1 -1
  201. data/lib/postboost/models/list_accounts200_response.rb +1 -1
  202. data/lib/postboost/models/list_agent_proposals200_response.rb +1 -1
  203. data/lib/postboost/models/list_agent_runs200_response.rb +1 -1
  204. data/lib/postboost/models/list_agents200_response.rb +1 -1
  205. data/lib/postboost/models/list_api_activity200_response.rb +1 -1
  206. data/lib/postboost/models/list_api_keys200_response.rb +1 -1
  207. data/lib/postboost/models/list_competitors200_response.rb +1 -1
  208. data/lib/postboost/models/list_hashtag_groups200_response.rb +1 -1
  209. data/lib/postboost/models/list_inbox_conversations200_response.rb +1 -1
  210. data/lib/postboost/models/list_inbox_reply_drafts200_response.rb +1 -1
  211. data/lib/postboost/models/list_media200_response.rb +1 -1
  212. data/lib/postboost/models/list_media_folders200_response.rb +1 -1
  213. data/lib/postboost/models/list_mentions200_response.rb +1 -1
  214. data/lib/postboost/models/list_my_workspaces200_response.rb +1 -1
  215. data/lib/postboost/models/list_posts200_response.rb +1 -1
  216. data/lib/postboost/models/list_receipts200_response.rb +1 -1
  217. data/lib/postboost/models/list_recycling_rules200_response.rb +1 -1
  218. data/lib/postboost/models/list_recycling_runs200_response.rb +1 -1
  219. data/lib/postboost/models/list_report_exports200_response.rb +1 -1
  220. data/lib/postboost/models/list_reseller_clients200_response.rb +1 -1
  221. data/lib/postboost/models/list_rss_feeds200_response.rb +1 -1
  222. data/lib/postboost/models/list_tags200_response.rb +1 -1
  223. data/lib/postboost/models/list_templates200_response.rb +1 -1
  224. data/lib/postboost/models/list_users200_response.rb +1 -1
  225. data/lib/postboost/models/list_webhook_subscriptions200_response.rb +1 -1
  226. data/lib/postboost/models/list_workspaces200_response.rb +1 -1
  227. data/lib/postboost/models/media.rb +1 -1
  228. data/lib/postboost/models/media_base64_input.rb +1 -1
  229. data/lib/postboost/models/media_folder.rb +1 -1
  230. data/lib/postboost/models/media_folder_input.rb +1 -1
  231. data/lib/postboost/models/media_folder_ref.rb +1 -1
  232. data/lib/postboost/models/mention.rb +1 -1
  233. data/lib/postboost/models/mention_identity.rb +1 -1
  234. data/lib/postboost/models/mention_identity_input.rb +1 -1
  235. data/lib/postboost/models/mention_input.rb +1 -1
  236. data/lib/postboost/models/message_only.rb +1 -1
  237. data/lib/postboost/models/pagination_meta.rb +1 -1
  238. data/lib/postboost/models/pagination_meta_links.rb +1 -1
  239. data/lib/postboost/models/pagination_meta_meta.rb +1 -1
  240. data/lib/postboost/models/poll_rss_feed200_response.rb +1 -1
  241. data/lib/postboost/models/post.rb +1 -1
  242. data/lib/postboost/models/post_analytics.rb +1 -1
  243. data/lib/postboost/models/post_content.rb +1 -1
  244. data/lib/postboost/models/post_input.rb +1 -1
  245. data/lib/postboost/models/post_options_instagram.rb +1 -1
  246. data/lib/postboost/models/post_options_tik_tok.rb +1 -1
  247. data/lib/postboost/models/post_options_youtube.rb +1 -1
  248. data/lib/postboost/models/post_status.rb +1 -1
  249. data/lib/postboost/models/post_version.rb +1 -1
  250. data/lib/postboost/models/post_version_options.rb +1 -1
  251. data/lib/postboost/models/post_warning.rb +1 -1
  252. data/lib/postboost/models/post_warnings.rb +1 -1
  253. data/lib/postboost/models/posting_schedule.rb +1 -1
  254. data/lib/postboost/models/posting_schedule_day.rb +1 -1
  255. data/lib/postboost/models/posting_schedule_day_times_inner.rb +1 -1
  256. data/lib/postboost/models/posting_schedule_input.rb +1 -1
  257. data/lib/postboost/models/posting_time_slot.rb +1 -1
  258. data/lib/postboost/models/posting_times.rb +1 -1
  259. data/lib/postboost/models/posting_times_best_inner.rb +1 -1
  260. data/lib/postboost/models/posting_times_day_intervals_inner_inner.rb +1 -1
  261. data/lib/postboost/models/posting_times_days_inner.rb +1 -1
  262. data/lib/postboost/models/preflight_result.rb +1 -1
  263. data/lib/postboost/models/public_workspace.rb +1 -1
  264. data/lib/postboost/models/public_workspace_pivot.rb +1 -1
  265. data/lib/postboost/models/publish_progress.rb +1 -1
  266. data/lib/postboost/models/queue_slots.rb +1 -1
  267. data/lib/postboost/models/receipt.rb +1 -1
  268. data/lib/postboost/models/receipt_input.rb +1 -1
  269. data/lib/postboost/models/receipt_update_input.rb +1 -1
  270. data/lib/postboost/models/recommended_posting_times.rb +1 -1
  271. data/lib/postboost/models/reconnect_link.rb +1 -1
  272. data/lib/postboost/models/recycling_rule.rb +1 -1
  273. data/lib/postboost/models/recycling_rule_input.rb +1 -1
  274. data/lib/postboost/models/recycling_rule_settings.rb +1 -1
  275. data/lib/postboost/models/recycling_rule_update.rb +1 -1
  276. data/lib/postboost/models/recycling_run.rb +1 -1
  277. data/lib/postboost/models/remove_generic_subscription422_response.rb +1 -1
  278. data/lib/postboost/models/remove_user_from_workspace_request.rb +1 -1
  279. data/lib/postboost/models/report_branding.rb +1 -1
  280. data/lib/postboost/models/report_branding_input.rb +1 -1
  281. data/lib/postboost/models/report_export.rb +1 -1
  282. data/lib/postboost/models/report_export_input.rb +1 -1
  283. data/lib/postboost/models/repurpose_content200_response.rb +1 -1
  284. data/lib/postboost/models/repurpose_content202_response.rb +1 -1
  285. data/lib/postboost/models/repurpose_content500_response.rb +1 -1
  286. data/lib/postboost/models/repurpose_input.rb +1 -1
  287. data/lib/postboost/models/repurpose_input_theme.rb +1 -1
  288. data/lib/postboost/models/repurpose_result.rb +1 -1
  289. data/lib/postboost/models/repurpose_result_media.rb +1 -1
  290. data/lib/postboost/models/repurpose_result_source.rb +1 -1
  291. data/lib/postboost/models/repurpose_run.rb +1 -1
  292. data/lib/postboost/models/repurpose_run_accepted.rb +1 -1
  293. data/lib/postboost/models/repurpose_slide.rb +1 -1
  294. data/lib/postboost/models/reseller_client.rb +1 -1
  295. data/lib/postboost/models/reseller_client_input.rb +1 -1
  296. data/lib/postboost/models/reseller_client_usage.rb +1 -1
  297. data/lib/postboost/models/retry_post_account_result.rb +1 -1
  298. data/lib/postboost/models/rss_feed.rb +1 -1
  299. data/lib/postboost/models/rss_feed_input.rb +1 -1
  300. data/lib/postboost/models/rss_feed_update.rb +1 -1
  301. data/lib/postboost/models/run_agent202_response.rb +1 -1
  302. data/lib/postboost/models/schedule_post_request.rb +1 -1
  303. data/lib/postboost/models/schedule_result.rb +1 -1
  304. data/lib/postboost/models/subscription.rb +1 -1
  305. data/lib/postboost/models/subscription_input.rb +1 -1
  306. data/lib/postboost/models/subscription_status.rb +1 -1
  307. data/lib/postboost/models/subscription_update_input.rb +1 -1
  308. data/lib/postboost/models/tag.rb +1 -1
  309. data/lib/postboost/models/tag_input.rb +1 -1
  310. data/lib/postboost/models/template.rb +1 -1
  311. data/lib/postboost/models/template_content_item.rb +1 -1
  312. data/lib/postboost/models/template_input.rb +1 -1
  313. data/lib/postboost/models/template_input_content_inner.rb +1 -1
  314. data/lib/postboost/models/update_media_request.rb +1 -1
  315. data/lib/postboost/models/update_post200_response.rb +1 -1
  316. data/lib/postboost/models/upload_chunk201_response.rb +1 -1
  317. data/lib/postboost/models/user.rb +1 -1
  318. data/lib/postboost/models/user_input.rb +1 -1
  319. data/lib/postboost/models/user_update_input.rb +1 -1
  320. data/lib/postboost/models/webhook_event_name.rb +1 -1
  321. data/lib/postboost/models/webhook_event_payload.rb +1 -1
  322. data/lib/postboost/models/webhook_subscription.rb +1 -1
  323. data/lib/postboost/models/webhook_subscription_input.rb +1 -1
  324. data/lib/postboost/models/workspace.rb +1 -1
  325. data/lib/postboost/models/workspace_agent.rb +3 -3
  326. data/lib/postboost/models/workspace_agent_input.rb +3 -3
  327. data/lib/postboost/models/workspace_agent_settings.rb +46 -6
  328. data/lib/postboost/models/workspace_agent_update.rb +1 -1
  329. data/lib/postboost/models/workspace_input.rb +1 -1
  330. data/lib/postboost/models/workspace_user_input.rb +1 -1
  331. data/lib/postboost/models/x_usage.rb +1 -1
  332. data/lib/postboost/models/x_usage_counter.rb +1 -1
  333. data/lib/postboost/version.rb +2 -2
  334. data/lib/postboost.rb +20 -1
  335. data/postboost.gemspec +1 -1
  336. data/spec/api/account_groups_api_spec.rb +1 -1
  337. data/spec/api/accounts_api_spec.rb +1 -1
  338. data/spec/api/activity_api_spec.rb +1 -1
  339. data/spec/api/agents_api_spec.rb +4 -4
  340. data/spec/api/ai_api_spec.rb +1 -1
  341. data/spec/api/analytics_api_spec.rb +1 -1
  342. data/spec/api/competitors_api_spec.rb +1 -1
  343. data/spec/api/free_tools_api_spec.rb +118 -0
  344. data/spec/api/hashtag_groups_api_spec.rb +1 -1
  345. data/spec/api/inbox_api_spec.rb +1 -1
  346. data/spec/api/media_api_spec.rb +1 -1
  347. data/spec/api/mentions_api_spec.rb +1 -1
  348. data/spec/api/posting_schedule_api_spec.rb +1 -1
  349. data/spec/api/posts_api_spec.rb +1 -1
  350. data/spec/api/receipts_api_spec.rb +1 -1
  351. data/spec/api/subscriptions_api_spec.rb +1 -1
  352. data/spec/api/tags_api_spec.rb +1 -1
  353. data/spec/api/templates_api_spec.rb +1 -1
  354. data/spec/api/users_api_spec.rb +1 -1
  355. data/spec/api/webhooks_api_spec.rb +1 -1
  356. data/spec/api/workspaces_api_spec.rb +1 -1
  357. data/spec/models/account_analytics_initial_sync_spec.rb +1 -1
  358. data/spec/models/account_analytics_spec.rb +1 -1
  359. data/spec/models/account_connection_health_spec.rb +1 -1
  360. data/spec/models/account_errors_inner_one_of_spec.rb +1 -1
  361. data/spec/models/account_errors_inner_spec.rb +1 -1
  362. data/spec/models/account_group_input_spec.rb +1 -1
  363. data/spec/models/account_group_spec.rb +1 -1
  364. data/spec/models/account_health_daily_cap_spec.rb +1 -1
  365. data/spec/models/account_health_spec.rb +1 -1
  366. data/spec/models/account_schedule_spec.rb +1 -1
  367. data/spec/models/account_spec.rb +1 -1
  368. data/spec/models/add_competitor202_response_spec.rb +1 -1
  369. data/spec/models/add_competitor409_response_spec.rb +1 -1
  370. data/spec/models/add_generic_subscription_request_spec.rb +1 -1
  371. data/spec/models/add_post_to_queue_request_spec.rb +1 -1
  372. data/spec/models/agent_page_meta_spec.rb +1 -1
  373. data/spec/models/agent_proposal_decision_spec.rb +1 -1
  374. data/spec/models/agent_proposal_spec.rb +2 -2
  375. data/spec/models/agent_run_spec.rb +1 -1
  376. data/spec/models/ai_credits_spec.rb +1 -1
  377. data/spec/models/ai_usage_spec.rb +1 -1
  378. data/spec/models/ai_usage_text_spec.rb +1 -1
  379. data/spec/models/analytics_period_spec.rb +1 -1
  380. data/spec/models/analytics_summary_data_spec.rb +1 -1
  381. data/spec/models/analytics_summary_spec.rb +1 -1
  382. data/spec/models/api_activity_outcome_spec.rb +1 -1
  383. data/spec/models/api_activity_spec.rb +1 -1
  384. data/spec/models/api_key_ability_spec.rb +1 -1
  385. data/spec/models/api_key_input_spec.rb +1 -1
  386. data/spec/models/api_key_spec.rb +1 -1
  387. data/spec/models/approve_agent_proposal200_response_spec.rb +1 -1
  388. data/spec/models/approve_agent_proposal409_response_spec.rb +1 -1
  389. data/spec/models/approve_inbox_reply_draft403_response_spec.rb +1 -1
  390. data/spec/models/approve_post_request_spec.rb +1 -1
  391. data/spec/models/best_posting_times_spec.rb +1 -1
  392. data/spec/models/best_posting_times_times_inner_spec.rb +1 -1
  393. data/spec/models/blog_to_social200_response_spec.rb +1 -1
  394. data/spec/models/blog_to_social429_response_spec.rb +1 -1
  395. data/spec/models/blog_to_social_caption_spec.rb +1 -1
  396. data/spec/models/blog_to_social_input_spec.rb +1 -1
  397. data/spec/models/blog_to_social_media_spec.rb +1 -1
  398. data/spec/models/blog_to_social_response_spec.rb +1 -1
  399. data/spec/models/brand_voice_input_spec.rb +1 -1
  400. data/spec/models/brand_voice_meta_spec.rb +1 -1
  401. data/spec/models/brand_voice_spec.rb +1 -1
  402. data/spec/models/cancel_subscription422_response_errors_spec.rb +1 -1
  403. data/spec/models/cancel_subscription422_response_spec.rb +1 -1
  404. data/spec/models/cancel_subscription_request_spec.rb +1 -1
  405. data/spec/models/change_subscription_plan_request_spec.rb +1 -1
  406. data/spec/models/channel_account_spec.rb +1 -1
  407. data/spec/models/checkout_subscription200_response_spec.rb +1 -1
  408. data/spec/models/checkout_subscription_request_spec.rb +1 -1
  409. data/spec/models/coded_error_spec.rb +1 -1
  410. data/spec/models/competitor_detail_spec.rb +1 -1
  411. data/spec/models/competitor_input_spec.rb +1 -1
  412. data/spec/models/competitor_media_spec.rb +1 -1
  413. data/spec/models/competitor_snapshot_spec.rb +1 -1
  414. data/spec/models/competitor_spec.rb +1 -1
  415. data/spec/models/complete_chunked_upload_request_spec.rb +1 -1
  416. data/spec/models/connect_channel_input_spec.rb +1 -1
  417. data/spec/models/create_account_group201_response_spec.rb +1 -1
  418. data/spec/models/create_agent201_response_spec.rb +1 -1
  419. data/spec/models/create_api_key201_response_data_spec.rb +1 -1
  420. data/spec/models/create_api_key201_response_spec.rb +1 -1
  421. data/spec/models/create_hashtag_group201_response_spec.rb +1 -1
  422. data/spec/models/create_inbox_reply_draft201_response_spec.rb +1 -1
  423. data/spec/models/create_media_folder_request_spec.rb +1 -1
  424. data/spec/models/create_mention201_response_spec.rb +1 -1
  425. data/spec/models/create_post201_response_spec.rb +1 -1
  426. data/spec/models/create_recycling_rule201_response_spec.rb +1 -1
  427. data/spec/models/create_report_export201_response_spec.rb +1 -1
  428. data/spec/models/create_reseller_client201_response_spec.rb +1 -1
  429. data/spec/models/create_rss_feed201_response_spec.rb +1 -1
  430. data/spec/models/create_template201_response_spec.rb +1 -1
  431. data/spec/models/create_webhook_subscription201_response_data_spec.rb +1 -1
  432. data/spec/models/create_webhook_subscription201_response_spec.rb +1 -1
  433. data/spec/models/delete_agent200_response_spec.rb +1 -1
  434. data/spec/models/delete_media_bulk_request_items_inner_spec.rb +1 -1
  435. data/spec/models/delete_media_bulk_request_spec.rb +1 -1
  436. data/spec/models/delete_media_folder_request_spec.rb +1 -1
  437. data/spec/models/delete_mode_spec.rb +1 -1
  438. data/spec/models/delete_post_request_spec.rb +1 -1
  439. data/spec/models/delete_posts_bulk_request_spec.rb +1 -1
  440. data/spec/models/delete_receipts_bulk_request_spec.rb +1 -1
  441. data/spec/models/delete_result_spec.rb +1 -1
  442. data/spec/models/delete_user400_response_spec.rb +1 -1
  443. data/spec/models/delete_users_bulk_request_spec.rb +1 -1
  444. data/spec/models/delete_workspaces_bulk_request_spec.rb +1 -1
  445. data/spec/models/free_tool_build_utm_url_request_spec.rb +72 -0
  446. data/spec/models/free_tool_build_utm_url_response_spec.rb +42 -0
  447. data/spec/models/free_tool_calculate_engagement_rate_request_spec.rb +82 -0
  448. data/spec/models/free_tool_calculate_engagement_rate_response_spec.rb +54 -0
  449. data/spec/models/free_tool_count_characters_request_spec.rb +46 -0
  450. data/spec/models/free_tool_count_characters_response_networks_inner_spec.rb +66 -0
  451. data/spec/models/free_tool_count_characters_response_spec.rb +42 -0
  452. data/spec/models/free_tool_error_spec.rb +36 -0
  453. data/spec/models/free_tool_format_linked_in_post_request_spec.rb +56 -0
  454. data/spec/models/free_tool_format_linked_in_post_response_spec.rb +60 -0
  455. data/spec/models/free_tool_generate_fancy_text_request_spec.rb +46 -0
  456. data/spec/models/free_tool_generate_fancy_text_response_spec.rb +36 -0
  457. data/spec/models/free_tool_generate_fancy_text_response_styles_inner_spec.rb +48 -0
  458. data/spec/models/free_tool_list_item_spec.rb +76 -0
  459. data/spec/models/free_tool_list_spec.rb +36 -0
  460. data/spec/models/free_tool_split_thread_request_spec.rb +52 -0
  461. data/spec/models/free_tool_split_thread_response_posts_inner_spec.rb +42 -0
  462. data/spec/models/free_tool_split_thread_response_spec.rb +42 -0
  463. data/spec/models/get_account_health200_response_spec.rb +1 -1
  464. data/spec/models/get_brand_voice200_response_spec.rb +1 -1
  465. data/spec/models/get_competitor200_response_spec.rb +1 -1
  466. data/spec/models/get_inbox_conversation200_response_spec.rb +1 -1
  467. data/spec/models/get_posting_schedule200_response_spec.rb +1 -1
  468. data/spec/models/get_remote_upload_status200_response_spec.rb +1 -1
  469. data/spec/models/get_report_branding200_response_spec.rb +1 -1
  470. data/spec/models/get_repurpose_run200_response_spec.rb +1 -1
  471. data/spec/models/guardrail_error_spec.rb +1 -1
  472. data/spec/models/hashtag_group_input_spec.rb +1 -1
  473. data/spec/models/hashtag_group_spec.rb +1 -1
  474. data/spec/models/image_alt_text200_response_spec.rb +1 -1
  475. data/spec/models/image_alt_text_input_spec.rb +1 -1
  476. data/spec/models/image_alt_text_response_spec.rb +1 -1
  477. data/spec/models/image_credit_balance_spec.rb +1 -1
  478. data/spec/models/image_edit_input_spec.rb +1 -1
  479. data/spec/models/image_generate200_response_spec.rb +1 -1
  480. data/spec/models/image_generate429_response_spec.rb +1 -1
  481. data/spec/models/image_generate_input_spec.rb +1 -1
  482. data/spec/models/image_generation_response_spec.rb +1 -1
  483. data/spec/models/image_prompt200_response_spec.rb +1 -1
  484. data/spec/models/image_prompt429_response_spec.rb +1 -1
  485. data/spec/models/image_prompt_input_spec.rb +1 -1
  486. data/spec/models/image_prompt_response_spec.rb +1 -1
  487. data/spec/models/image_variations200_response_spec.rb +1 -1
  488. data/spec/models/image_variations_input_spec.rb +1 -1
  489. data/spec/models/image_variations_response_spec.rb +1 -1
  490. data/spec/models/inbox_author_spec.rb +1 -1
  491. data/spec/models/inbox_conversation_account_spec.rb +1 -1
  492. data/spec/models/inbox_conversation_spec.rb +1 -1
  493. data/spec/models/inbox_conversation_update_spec.rb +1 -1
  494. data/spec/models/inbox_message_author_spec.rb +1 -1
  495. data/spec/models/inbox_message_spec.rb +1 -1
  496. data/spec/models/inbox_reply_draft_approve_spec.rb +1 -1
  497. data/spec/models/inbox_reply_draft_edit_spec.rb +1 -1
  498. data/spec/models/inbox_reply_draft_input_spec.rb +1 -1
  499. data/spec/models/inbox_reply_draft_spec.rb +1 -1
  500. data/spec/models/initiate_chunked_upload201_response_spec.rb +1 -1
  501. data/spec/models/initiate_chunked_upload_request_spec.rb +1 -1
  502. data/spec/models/initiate_remote_upload201_response_one_of_spec.rb +1 -1
  503. data/spec/models/initiate_remote_upload201_response_spec.rb +1 -1
  504. data/spec/models/initiate_remote_upload_request_spec.rb +1 -1
  505. data/spec/models/learn_brand_voice_input_spec.rb +1 -1
  506. data/spec/models/learn_brand_voice_response_meta_spec.rb +1 -1
  507. data/spec/models/learn_brand_voice_response_spec.rb +1 -1
  508. data/spec/models/list_account_groups200_response_spec.rb +1 -1
  509. data/spec/models/list_accounts200_response_spec.rb +1 -1
  510. data/spec/models/list_agent_proposals200_response_spec.rb +1 -1
  511. data/spec/models/list_agent_runs200_response_spec.rb +1 -1
  512. data/spec/models/list_agents200_response_spec.rb +1 -1
  513. data/spec/models/list_api_activity200_response_spec.rb +1 -1
  514. data/spec/models/list_api_keys200_response_spec.rb +1 -1
  515. data/spec/models/list_competitors200_response_spec.rb +1 -1
  516. data/spec/models/list_hashtag_groups200_response_spec.rb +1 -1
  517. data/spec/models/list_inbox_conversations200_response_spec.rb +1 -1
  518. data/spec/models/list_inbox_reply_drafts200_response_spec.rb +1 -1
  519. data/spec/models/list_media200_response_spec.rb +1 -1
  520. data/spec/models/list_media_folders200_response_spec.rb +1 -1
  521. data/spec/models/list_mentions200_response_spec.rb +1 -1
  522. data/spec/models/list_my_workspaces200_response_spec.rb +1 -1
  523. data/spec/models/list_posts200_response_spec.rb +1 -1
  524. data/spec/models/list_receipts200_response_spec.rb +1 -1
  525. data/spec/models/list_recycling_rules200_response_spec.rb +1 -1
  526. data/spec/models/list_recycling_runs200_response_spec.rb +1 -1
  527. data/spec/models/list_report_exports200_response_spec.rb +1 -1
  528. data/spec/models/list_reseller_clients200_response_spec.rb +1 -1
  529. data/spec/models/list_rss_feeds200_response_spec.rb +1 -1
  530. data/spec/models/list_tags200_response_spec.rb +1 -1
  531. data/spec/models/list_templates200_response_spec.rb +1 -1
  532. data/spec/models/list_users200_response_spec.rb +1 -1
  533. data/spec/models/list_webhook_subscriptions200_response_spec.rb +1 -1
  534. data/spec/models/list_workspaces200_response_spec.rb +1 -1
  535. data/spec/models/media_base64_input_spec.rb +1 -1
  536. data/spec/models/media_folder_input_spec.rb +1 -1
  537. data/spec/models/media_folder_ref_spec.rb +1 -1
  538. data/spec/models/media_folder_spec.rb +1 -1
  539. data/spec/models/media_spec.rb +1 -1
  540. data/spec/models/mention_identity_input_spec.rb +1 -1
  541. data/spec/models/mention_identity_spec.rb +1 -1
  542. data/spec/models/mention_input_spec.rb +1 -1
  543. data/spec/models/mention_spec.rb +1 -1
  544. data/spec/models/message_only_spec.rb +1 -1
  545. data/spec/models/pagination_meta_links_spec.rb +1 -1
  546. data/spec/models/pagination_meta_meta_spec.rb +1 -1
  547. data/spec/models/pagination_meta_spec.rb +1 -1
  548. data/spec/models/poll_rss_feed200_response_spec.rb +1 -1
  549. data/spec/models/post_analytics_spec.rb +1 -1
  550. data/spec/models/post_content_spec.rb +1 -1
  551. data/spec/models/post_input_spec.rb +1 -1
  552. data/spec/models/post_options_instagram_spec.rb +1 -1
  553. data/spec/models/post_options_tik_tok_spec.rb +1 -1
  554. data/spec/models/post_options_youtube_spec.rb +1 -1
  555. data/spec/models/post_spec.rb +1 -1
  556. data/spec/models/post_status_spec.rb +1 -1
  557. data/spec/models/post_version_options_spec.rb +1 -1
  558. data/spec/models/post_version_spec.rb +1 -1
  559. data/spec/models/post_warning_spec.rb +1 -1
  560. data/spec/models/post_warnings_spec.rb +1 -1
  561. data/spec/models/posting_schedule_day_spec.rb +1 -1
  562. data/spec/models/posting_schedule_day_times_inner_spec.rb +1 -1
  563. data/spec/models/posting_schedule_input_spec.rb +1 -1
  564. data/spec/models/posting_schedule_spec.rb +1 -1
  565. data/spec/models/posting_time_slot_spec.rb +1 -1
  566. data/spec/models/posting_times_best_inner_spec.rb +1 -1
  567. data/spec/models/posting_times_day_intervals_inner_inner_spec.rb +1 -1
  568. data/spec/models/posting_times_days_inner_spec.rb +1 -1
  569. data/spec/models/posting_times_spec.rb +1 -1
  570. data/spec/models/preflight_result_spec.rb +1 -1
  571. data/spec/models/public_workspace_pivot_spec.rb +1 -1
  572. data/spec/models/public_workspace_spec.rb +1 -1
  573. data/spec/models/publish_progress_spec.rb +1 -1
  574. data/spec/models/queue_slots_spec.rb +1 -1
  575. data/spec/models/receipt_input_spec.rb +1 -1
  576. data/spec/models/receipt_spec.rb +1 -1
  577. data/spec/models/receipt_update_input_spec.rb +1 -1
  578. data/spec/models/recommended_posting_times_spec.rb +1 -1
  579. data/spec/models/reconnect_link_spec.rb +1 -1
  580. data/spec/models/recycling_rule_input_spec.rb +1 -1
  581. data/spec/models/recycling_rule_settings_spec.rb +1 -1
  582. data/spec/models/recycling_rule_spec.rb +1 -1
  583. data/spec/models/recycling_rule_update_spec.rb +1 -1
  584. data/spec/models/recycling_run_spec.rb +1 -1
  585. data/spec/models/remove_generic_subscription422_response_spec.rb +1 -1
  586. data/spec/models/remove_user_from_workspace_request_spec.rb +1 -1
  587. data/spec/models/report_branding_input_spec.rb +1 -1
  588. data/spec/models/report_branding_spec.rb +1 -1
  589. data/spec/models/report_export_input_spec.rb +1 -1
  590. data/spec/models/report_export_spec.rb +1 -1
  591. data/spec/models/repurpose_content200_response_spec.rb +1 -1
  592. data/spec/models/repurpose_content202_response_spec.rb +1 -1
  593. data/spec/models/repurpose_content500_response_spec.rb +1 -1
  594. data/spec/models/repurpose_input_spec.rb +1 -1
  595. data/spec/models/repurpose_input_theme_spec.rb +1 -1
  596. data/spec/models/repurpose_result_media_spec.rb +1 -1
  597. data/spec/models/repurpose_result_source_spec.rb +1 -1
  598. data/spec/models/repurpose_result_spec.rb +1 -1
  599. data/spec/models/repurpose_run_accepted_spec.rb +1 -1
  600. data/spec/models/repurpose_run_spec.rb +1 -1
  601. data/spec/models/repurpose_slide_spec.rb +1 -1
  602. data/spec/models/reseller_client_input_spec.rb +1 -1
  603. data/spec/models/reseller_client_spec.rb +1 -1
  604. data/spec/models/reseller_client_usage_spec.rb +1 -1
  605. data/spec/models/retry_post_account_result_spec.rb +1 -1
  606. data/spec/models/rss_feed_input_spec.rb +1 -1
  607. data/spec/models/rss_feed_spec.rb +1 -1
  608. data/spec/models/rss_feed_update_spec.rb +1 -1
  609. data/spec/models/run_agent202_response_spec.rb +1 -1
  610. data/spec/models/schedule_post_request_spec.rb +1 -1
  611. data/spec/models/schedule_result_spec.rb +1 -1
  612. data/spec/models/subscription_input_spec.rb +1 -1
  613. data/spec/models/subscription_spec.rb +1 -1
  614. data/spec/models/subscription_status_spec.rb +1 -1
  615. data/spec/models/subscription_update_input_spec.rb +1 -1
  616. data/spec/models/tag_input_spec.rb +1 -1
  617. data/spec/models/tag_spec.rb +1 -1
  618. data/spec/models/template_content_item_spec.rb +1 -1
  619. data/spec/models/template_input_content_inner_spec.rb +1 -1
  620. data/spec/models/template_input_spec.rb +1 -1
  621. data/spec/models/template_spec.rb +1 -1
  622. data/spec/models/update_media_request_spec.rb +1 -1
  623. data/spec/models/update_post200_response_spec.rb +1 -1
  624. data/spec/models/upload_chunk201_response_spec.rb +1 -1
  625. data/spec/models/user_input_spec.rb +1 -1
  626. data/spec/models/user_spec.rb +1 -1
  627. data/spec/models/user_update_input_spec.rb +1 -1
  628. data/spec/models/webhook_event_name_spec.rb +1 -1
  629. data/spec/models/webhook_event_payload_spec.rb +1 -1
  630. data/spec/models/webhook_subscription_input_spec.rb +1 -1
  631. data/spec/models/webhook_subscription_spec.rb +1 -1
  632. data/spec/models/workspace_agent_input_spec.rb +2 -2
  633. data/spec/models/workspace_agent_settings_spec.rb +7 -1
  634. data/spec/models/workspace_agent_spec.rb +2 -2
  635. data/spec/models/workspace_agent_update_spec.rb +1 -1
  636. data/spec/models/workspace_input_spec.rb +1 -1
  637. data/spec/models/workspace_spec.rb +1 -1
  638. data/spec/models/workspace_user_input_spec.rb +1 -1
  639. data/spec/models/x_usage_counter_spec.rb +1 -1
  640. data/spec/models/x_usage_spec.rb +1 -1
  641. data/spec/spec_helper.rb +1 -1
  642. metadata +77 -1
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -11,5 +11,5 @@ Generator version: 7.9.0
11
11
  =end
12
12
 
13
13
  module PostBoost
14
- VERSION = '1.20.0'
14
+ VERSION = '1.22.0'
15
15
  end
data/lib/postboost.rb CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -105,6 +105,24 @@ require 'postboost/models/delete_result'
105
105
  require 'postboost/models/delete_user400_response'
106
106
  require 'postboost/models/delete_users_bulk_request'
107
107
  require 'postboost/models/delete_workspaces_bulk_request'
108
+ require 'postboost/models/free_tool_build_utm_url_request'
109
+ require 'postboost/models/free_tool_build_utm_url_response'
110
+ require 'postboost/models/free_tool_calculate_engagement_rate_request'
111
+ require 'postboost/models/free_tool_calculate_engagement_rate_response'
112
+ require 'postboost/models/free_tool_count_characters_request'
113
+ require 'postboost/models/free_tool_count_characters_response'
114
+ require 'postboost/models/free_tool_count_characters_response_networks_inner'
115
+ require 'postboost/models/free_tool_error'
116
+ require 'postboost/models/free_tool_format_linked_in_post_request'
117
+ require 'postboost/models/free_tool_format_linked_in_post_response'
118
+ require 'postboost/models/free_tool_generate_fancy_text_request'
119
+ require 'postboost/models/free_tool_generate_fancy_text_response'
120
+ require 'postboost/models/free_tool_generate_fancy_text_response_styles_inner'
121
+ require 'postboost/models/free_tool_list'
122
+ require 'postboost/models/free_tool_list_item'
123
+ require 'postboost/models/free_tool_split_thread_request'
124
+ require 'postboost/models/free_tool_split_thread_response'
125
+ require 'postboost/models/free_tool_split_thread_response_posts_inner'
108
126
  require 'postboost/models/get_account_health200_response'
109
127
  require 'postboost/models/get_brand_voice200_response'
110
128
  require 'postboost/models/get_competitor200_response'
@@ -292,6 +310,7 @@ require 'postboost/api/activity_api'
292
310
  require 'postboost/api/agents_api'
293
311
  require 'postboost/api/analytics_api'
294
312
  require 'postboost/api/competitors_api'
313
+ require 'postboost/api/free_tools_api'
295
314
  require 'postboost/api/hashtag_groups_api'
296
315
  require 'postboost/api/inbox_api'
297
316
  require 'postboost/api/media_api'
data/postboost.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms 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 ```
7
7
 
8
- The version of the OpenAPI document: 1.20.0
8
+ The version of the OpenAPI document: 1.22.0
9
9
  Contact: hi@postboost.co
10
10
  Generated by: https://openapi-generator.tech
11
11
  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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -34,7 +34,7 @@ describe 'AgentsApi' do
34
34
 
35
35
  # unit tests for approve_agent_proposal
36
36
  # Approve and apply an agent proposal
37
- # Applies the proposal at once: `hold_post` moves the post back to draft, `edit_caption` replaces the caption. When the post was edited, deleted or left the schedule since the proposal was made, nothing changes and the proposal becomes `stale`. Admins and members only.
37
+ # Applies the proposal at once: `hold_post` moves the post back to draft, `edit_caption` replaces the caption, `retry_account` saves the shortened caption (if any) on that account's version and publishes that account again, `reconnect_account` only records the decision. When the post was edited, deleted or left the schedule since the proposal was made (for `retry_account`: the account is no longer failed, the post is publishing, or the plan does not allow scheduling), nothing changes and the proposal becomes `stale`. Admins and members only.
38
38
  # @param workspace_uuid UUID of the workspace.
39
39
  # @param proposal_uuid
40
40
  # @param [Hash] opts the optional parameters
@@ -48,7 +48,7 @@ describe 'AgentsApi' do
48
48
 
49
49
  # unit tests for create_agent
50
50
  # Switch on a background agent
51
- # Creates an agent (one per type per workspace). It first runs within five minutes, then on its `schedule`. **Pre-publish checker** looks at posts scheduled in the next `horizon_hours` and proposes holding (back to draft) posts that would fail: disconnected accounts, network requirements, daily caps, the X allowance and links that answer an error. It proposes caption edits that drop `banned_phrases`. With `ai_review: true` it also asks AI to review up to `max_ai_reviews_per_run` posts per run (one AI credit each). Admins and members only.
51
+ # Creates an agent (one per type per workspace). It first runs within five minutes, then on its `schedule`. **Pre-publish checker** looks at posts scheduled in the next `horizon_hours` and proposes holding (back to draft) posts that would fail: disconnected accounts, network requirements, daily caps, the X allowance and links that answer an error. It proposes caption edits that drop `banned_phrases`. With `ai_review: true` it also asks AI to review up to `max_ai_reviews_per_run` posts per run (one AI credit each). **Failed-post fixer** looks at posts that failed on an account in the last `lookback_hours` and proposes, per post and account, `reconnect_account` (the account's token expired), or `retry_account`, with a caption trimmed to the network limit when the text is over it. One open proposal per post and account. It uses no AI. Admins and members only.
52
52
  # @param workspace_uuid UUID of the workspace.
53
53
  # @param workspace_agent_input
54
54
  # @param [Hash] opts the optional parameters
@@ -116,7 +116,7 @@ describe 'AgentsApi' do
116
116
 
117
117
  # unit tests for list_agents
118
118
  # List background agents
119
- # Background agents switched on for the workspace. Agents run on a schedule, record every run and never change a post themselves: each change is a proposal that a workspace admin or member approves. Available type: `pre_publish_checker`.
119
+ # Background agents switched on for the workspace. Agents run on a schedule, record every run and never change a post themselves: each change is a proposal that a workspace admin or member approves. Available types: `pre_publish_checker`, `failed_post_fixer`.
120
120
  # @param workspace_uuid UUID of the workspace.
121
121
  # @param [Hash] opts the optional parameters
122
122
  # @return [ListAgents200Response]
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -0,0 +1,118 @@
1
+ =begin
2
+ #PostBoost API
3
+
4
+ #The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
+
6
+ The version of the OpenAPI document: 1.22.0
7
+ Contact: hi@postboost.co
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.9.0
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+
16
+ # Unit tests for PostBoost::FreeToolsApi
17
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
18
+ # Please update as you see appropriate
19
+ describe 'FreeToolsApi' do
20
+ before do
21
+ # run before each test
22
+ @api_instance = PostBoost::FreeToolsApi.new
23
+ end
24
+
25
+ after do
26
+ # run after each test
27
+ end
28
+
29
+ describe 'test an instance of FreeToolsApi' do
30
+ it 'should create an instance of FreeToolsApi' do
31
+ expect(@api_instance).to be_instance_of(PostBoost::FreeToolsApi)
32
+ end
33
+ end
34
+
35
+ # unit tests for build_utm_url
36
+ # Build a UTM-tagged campaign URL
37
+ # Build a UTM-tagged campaign URL. The same logic as the free web tool at https://postboost.co/tools/utm-builder. No account needed: call it without a token, or with any API token.
38
+ # @param free_tool_build_utm_url_request
39
+ # @param [Hash] opts the optional parameters
40
+ # @return [FreeToolBuildUtmUrlResponse]
41
+ describe 'build_utm_url test' do
42
+ it 'should work' do
43
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
44
+ end
45
+ end
46
+
47
+ # unit tests for calculate_engagement_rate
48
+ # Calculate an engagement rate
49
+ # Calculate an engagement rate. The same logic as the free web tool at https://postboost.co/tools/engagement-rate-calculator. No account needed: call it without a token, or with any API token.
50
+ # @param free_tool_calculate_engagement_rate_request
51
+ # @param [Hash] opts the optional parameters
52
+ # @return [FreeToolCalculateEngagementRateResponse]
53
+ describe 'calculate_engagement_rate test' do
54
+ it 'should work' do
55
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
56
+ end
57
+ end
58
+
59
+ # unit tests for count_characters
60
+ # Count characters as each network counts them
61
+ # Count characters as each network counts them. The same logic as the free web tool at https://postboost.co/tools/social-media-character-counter. No account needed: call it without a token, or with any API token.
62
+ # @param free_tool_count_characters_request
63
+ # @param [Hash] opts the optional parameters
64
+ # @return [FreeToolCountCharactersResponse]
65
+ describe 'count_characters test' do
66
+ it 'should work' do
67
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
68
+ end
69
+ end
70
+
71
+ # unit tests for format_linked_in_post
72
+ # Format a LinkedIn post with bold, italic and lists
73
+ # Format a LinkedIn post with bold, italic and lists. The same logic as the free web tool at https://postboost.co/tools/linkedin-post-formatter. No account needed: call it without a token, or with any API token.
74
+ # @param free_tool_format_linked_in_post_request
75
+ # @param [Hash] opts the optional parameters
76
+ # @return [FreeToolFormatLinkedInPostResponse]
77
+ describe 'format_linked_in_post test' do
78
+ it 'should work' do
79
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
80
+ end
81
+ end
82
+
83
+ # unit tests for generate_fancy_text
84
+ # Convert text to fancy Unicode styles
85
+ # Convert text to fancy Unicode styles. The same logic as the free web tool at https://postboost.co/tools/fancy-text-generator. No account needed: call it without a token, or with any API token.
86
+ # @param free_tool_generate_fancy_text_request
87
+ # @param [Hash] opts the optional parameters
88
+ # @return [FreeToolGenerateFancyTextResponse]
89
+ describe 'generate_fancy_text test' do
90
+ it 'should work' do
91
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
92
+ end
93
+ end
94
+
95
+ # unit tests for list_free_tools
96
+ # List the free tools
97
+ # Every free tool the API serves, with its operationId and web page. No token needed.
98
+ # @param [Hash] opts the optional parameters
99
+ # @return [FreeToolList]
100
+ describe 'list_free_tools test' do
101
+ it 'should work' do
102
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
103
+ end
104
+ end
105
+
106
+ # unit tests for split_thread
107
+ # Split long text into a thread
108
+ # Split long text into a thread. The same logic as the free web tool at https://postboost.co/tools/x-thread-maker. No account needed: call it without a token, or with any API token.
109
+ # @param free_tool_split_thread_request
110
+ # @param [Hash] opts the optional parameters
111
+ # @return [FreeToolSplitThreadResponse]
112
+ describe 'split_thread test' do
113
+ it 'should work' do
114
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
115
+ end
116
+ end
117
+
118
+ end
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.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 across 12+ platforms 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.20.0
6
+ The version of the OpenAPI document: 1.22.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0