postboost 1.19.0 → 1.21.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 (590) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/docs/AgentProposal.md +2 -2
  4. data/docs/AgentsApi.md +3 -3
  5. data/docs/CreatePost201Response.md +40 -0
  6. data/docs/PostWarning.md +22 -0
  7. data/docs/PostWarnings.md +18 -0
  8. data/docs/PostsApi.md +8 -8
  9. data/docs/UpdatePost200Response.md +20 -0
  10. data/docs/WorkspaceAgentSettings.md +3 -1
  11. data/lib/postboost/api/account_groups_api.rb +1 -1
  12. data/lib/postboost/api/accounts_api.rb +1 -1
  13. data/lib/postboost/api/activity_api.rb +1 -1
  14. data/lib/postboost/api/agents_api.rb +7 -7
  15. data/lib/postboost/api/ai_api.rb +1 -1
  16. data/lib/postboost/api/analytics_api.rb +1 -1
  17. data/lib/postboost/api/competitors_api.rb +1 -1
  18. data/lib/postboost/api/hashtag_groups_api.rb +1 -1
  19. data/lib/postboost/api/inbox_api.rb +1 -1
  20. data/lib/postboost/api/media_api.rb +1 -1
  21. data/lib/postboost/api/mentions_api.rb +1 -1
  22. data/lib/postboost/api/posting_schedule_api.rb +1 -1
  23. data/lib/postboost/api/posts_api.rb +7 -7
  24. data/lib/postboost/api/receipts_api.rb +1 -1
  25. data/lib/postboost/api/subscriptions_api.rb +1 -1
  26. data/lib/postboost/api/tags_api.rb +1 -1
  27. data/lib/postboost/api/templates_api.rb +1 -1
  28. data/lib/postboost/api/users_api.rb +1 -1
  29. data/lib/postboost/api/webhooks_api.rb +1 -1
  30. data/lib/postboost/api/workspaces_api.rb +1 -1
  31. data/lib/postboost/api_client.rb +1 -1
  32. data/lib/postboost/api_error.rb +1 -1
  33. data/lib/postboost/configuration.rb +1 -1
  34. data/lib/postboost/models/account.rb +1 -1
  35. data/lib/postboost/models/account_analytics.rb +1 -1
  36. data/lib/postboost/models/account_analytics_initial_sync.rb +1 -1
  37. data/lib/postboost/models/account_connection_health.rb +1 -1
  38. data/lib/postboost/models/account_errors_inner.rb +1 -1
  39. data/lib/postboost/models/account_errors_inner_one_of.rb +1 -1
  40. data/lib/postboost/models/account_group.rb +1 -1
  41. data/lib/postboost/models/account_group_input.rb +1 -1
  42. data/lib/postboost/models/account_health.rb +1 -1
  43. data/lib/postboost/models/account_health_daily_cap.rb +1 -1
  44. data/lib/postboost/models/account_schedule.rb +1 -1
  45. data/lib/postboost/models/add_competitor202_response.rb +1 -1
  46. data/lib/postboost/models/add_competitor409_response.rb +1 -1
  47. data/lib/postboost/models/add_generic_subscription_request.rb +1 -1
  48. data/lib/postboost/models/add_post_to_queue_request.rb +1 -1
  49. data/lib/postboost/models/agent_page_meta.rb +1 -1
  50. data/lib/postboost/models/agent_proposal.rb +5 -5
  51. data/lib/postboost/models/agent_proposal_decision.rb +1 -1
  52. data/lib/postboost/models/agent_run.rb +1 -1
  53. data/lib/postboost/models/ai_credits.rb +1 -1
  54. data/lib/postboost/models/ai_usage.rb +1 -1
  55. data/lib/postboost/models/ai_usage_text.rb +1 -1
  56. data/lib/postboost/models/analytics_period.rb +1 -1
  57. data/lib/postboost/models/analytics_summary.rb +1 -1
  58. data/lib/postboost/models/analytics_summary_data.rb +1 -1
  59. data/lib/postboost/models/api_activity.rb +1 -1
  60. data/lib/postboost/models/api_activity_outcome.rb +1 -1
  61. data/lib/postboost/models/api_key.rb +1 -1
  62. data/lib/postboost/models/api_key_ability.rb +1 -1
  63. data/lib/postboost/models/api_key_input.rb +1 -1
  64. data/lib/postboost/models/approve_agent_proposal200_response.rb +1 -1
  65. data/lib/postboost/models/approve_agent_proposal409_response.rb +1 -1
  66. data/lib/postboost/models/approve_inbox_reply_draft403_response.rb +1 -1
  67. data/lib/postboost/models/approve_post_request.rb +1 -1
  68. data/lib/postboost/models/best_posting_times.rb +1 -1
  69. data/lib/postboost/models/best_posting_times_times_inner.rb +1 -1
  70. data/lib/postboost/models/blog_to_social200_response.rb +1 -1
  71. data/lib/postboost/models/blog_to_social429_response.rb +1 -1
  72. data/lib/postboost/models/blog_to_social_caption.rb +1 -1
  73. data/lib/postboost/models/blog_to_social_input.rb +1 -1
  74. data/lib/postboost/models/blog_to_social_media.rb +1 -1
  75. data/lib/postboost/models/blog_to_social_response.rb +1 -1
  76. data/lib/postboost/models/brand_voice.rb +1 -1
  77. data/lib/postboost/models/brand_voice_input.rb +1 -1
  78. data/lib/postboost/models/brand_voice_meta.rb +1 -1
  79. data/lib/postboost/models/cancel_subscription422_response.rb +1 -1
  80. data/lib/postboost/models/cancel_subscription422_response_errors.rb +1 -1
  81. data/lib/postboost/models/cancel_subscription_request.rb +1 -1
  82. data/lib/postboost/models/change_subscription_plan_request.rb +1 -1
  83. data/lib/postboost/models/channel_account.rb +1 -1
  84. data/lib/postboost/models/checkout_subscription200_response.rb +1 -1
  85. data/lib/postboost/models/checkout_subscription_request.rb +1 -1
  86. data/lib/postboost/models/coded_error.rb +1 -1
  87. data/lib/postboost/models/competitor.rb +1 -1
  88. data/lib/postboost/models/competitor_detail.rb +1 -1
  89. data/lib/postboost/models/competitor_input.rb +1 -1
  90. data/lib/postboost/models/competitor_media.rb +1 -1
  91. data/lib/postboost/models/competitor_snapshot.rb +1 -1
  92. data/lib/postboost/models/complete_chunked_upload_request.rb +1 -1
  93. data/lib/postboost/models/connect_channel_input.rb +1 -1
  94. data/lib/postboost/models/create_account_group201_response.rb +1 -1
  95. data/lib/postboost/models/create_agent201_response.rb +1 -1
  96. data/lib/postboost/models/create_api_key201_response.rb +1 -1
  97. data/lib/postboost/models/create_api_key201_response_data.rb +1 -1
  98. data/lib/postboost/models/create_hashtag_group201_response.rb +1 -1
  99. data/lib/postboost/models/create_inbox_reply_draft201_response.rb +1 -1
  100. data/lib/postboost/models/create_media_folder_request.rb +1 -1
  101. data/lib/postboost/models/create_mention201_response.rb +1 -1
  102. data/lib/postboost/models/create_post201_response.rb +409 -0
  103. data/lib/postboost/models/create_recycling_rule201_response.rb +1 -1
  104. data/lib/postboost/models/create_report_export201_response.rb +1 -1
  105. data/lib/postboost/models/create_reseller_client201_response.rb +1 -1
  106. data/lib/postboost/models/create_rss_feed201_response.rb +1 -1
  107. data/lib/postboost/models/create_template201_response.rb +1 -1
  108. data/lib/postboost/models/create_webhook_subscription201_response.rb +1 -1
  109. data/lib/postboost/models/create_webhook_subscription201_response_data.rb +1 -1
  110. data/lib/postboost/models/delete_agent200_response.rb +1 -1
  111. data/lib/postboost/models/delete_media_bulk_request.rb +1 -1
  112. data/lib/postboost/models/delete_media_bulk_request_items_inner.rb +1 -1
  113. data/lib/postboost/models/delete_media_folder_request.rb +1 -1
  114. data/lib/postboost/models/delete_mode.rb +1 -1
  115. data/lib/postboost/models/delete_post_request.rb +1 -1
  116. data/lib/postboost/models/delete_posts_bulk_request.rb +1 -1
  117. data/lib/postboost/models/delete_receipts_bulk_request.rb +1 -1
  118. data/lib/postboost/models/delete_result.rb +1 -1
  119. data/lib/postboost/models/delete_user400_response.rb +1 -1
  120. data/lib/postboost/models/delete_users_bulk_request.rb +1 -1
  121. data/lib/postboost/models/delete_workspaces_bulk_request.rb +1 -1
  122. data/lib/postboost/models/get_account_health200_response.rb +1 -1
  123. data/lib/postboost/models/get_brand_voice200_response.rb +1 -1
  124. data/lib/postboost/models/get_competitor200_response.rb +1 -1
  125. data/lib/postboost/models/get_inbox_conversation200_response.rb +1 -1
  126. data/lib/postboost/models/get_posting_schedule200_response.rb +1 -1
  127. data/lib/postboost/models/get_remote_upload_status200_response.rb +1 -1
  128. data/lib/postboost/models/get_report_branding200_response.rb +1 -1
  129. data/lib/postboost/models/get_repurpose_run200_response.rb +1 -1
  130. data/lib/postboost/models/guardrail_error.rb +1 -1
  131. data/lib/postboost/models/hashtag_group.rb +1 -1
  132. data/lib/postboost/models/hashtag_group_input.rb +1 -1
  133. data/lib/postboost/models/image_alt_text200_response.rb +1 -1
  134. data/lib/postboost/models/image_alt_text_input.rb +1 -1
  135. data/lib/postboost/models/image_alt_text_response.rb +1 -1
  136. data/lib/postboost/models/image_credit_balance.rb +1 -1
  137. data/lib/postboost/models/image_edit_input.rb +1 -1
  138. data/lib/postboost/models/image_generate200_response.rb +1 -1
  139. data/lib/postboost/models/image_generate429_response.rb +1 -1
  140. data/lib/postboost/models/image_generate_input.rb +1 -1
  141. data/lib/postboost/models/image_generation_response.rb +1 -1
  142. data/lib/postboost/models/image_prompt200_response.rb +1 -1
  143. data/lib/postboost/models/image_prompt429_response.rb +1 -1
  144. data/lib/postboost/models/image_prompt_input.rb +1 -1
  145. data/lib/postboost/models/image_prompt_response.rb +1 -1
  146. data/lib/postboost/models/image_variations200_response.rb +1 -1
  147. data/lib/postboost/models/image_variations_input.rb +1 -1
  148. data/lib/postboost/models/image_variations_response.rb +1 -1
  149. data/lib/postboost/models/inbox_author.rb +1 -1
  150. data/lib/postboost/models/inbox_conversation.rb +1 -1
  151. data/lib/postboost/models/inbox_conversation_account.rb +1 -1
  152. data/lib/postboost/models/inbox_conversation_update.rb +1 -1
  153. data/lib/postboost/models/inbox_message.rb +1 -1
  154. data/lib/postboost/models/inbox_message_author.rb +1 -1
  155. data/lib/postboost/models/inbox_reply_draft.rb +1 -1
  156. data/lib/postboost/models/inbox_reply_draft_approve.rb +1 -1
  157. data/lib/postboost/models/inbox_reply_draft_edit.rb +1 -1
  158. data/lib/postboost/models/inbox_reply_draft_input.rb +1 -1
  159. data/lib/postboost/models/initiate_chunked_upload201_response.rb +1 -1
  160. data/lib/postboost/models/initiate_chunked_upload_request.rb +1 -1
  161. data/lib/postboost/models/initiate_remote_upload201_response.rb +1 -1
  162. data/lib/postboost/models/initiate_remote_upload201_response_one_of.rb +1 -1
  163. data/lib/postboost/models/initiate_remote_upload_request.rb +1 -1
  164. data/lib/postboost/models/learn_brand_voice_input.rb +1 -1
  165. data/lib/postboost/models/learn_brand_voice_response.rb +1 -1
  166. data/lib/postboost/models/learn_brand_voice_response_meta.rb +1 -1
  167. data/lib/postboost/models/list_account_groups200_response.rb +1 -1
  168. data/lib/postboost/models/list_accounts200_response.rb +1 -1
  169. data/lib/postboost/models/list_agent_proposals200_response.rb +1 -1
  170. data/lib/postboost/models/list_agent_runs200_response.rb +1 -1
  171. data/lib/postboost/models/list_agents200_response.rb +1 -1
  172. data/lib/postboost/models/list_api_activity200_response.rb +1 -1
  173. data/lib/postboost/models/list_api_keys200_response.rb +1 -1
  174. data/lib/postboost/models/list_competitors200_response.rb +1 -1
  175. data/lib/postboost/models/list_hashtag_groups200_response.rb +1 -1
  176. data/lib/postboost/models/list_inbox_conversations200_response.rb +1 -1
  177. data/lib/postboost/models/list_inbox_reply_drafts200_response.rb +1 -1
  178. data/lib/postboost/models/list_media200_response.rb +1 -1
  179. data/lib/postboost/models/list_media_folders200_response.rb +1 -1
  180. data/lib/postboost/models/list_mentions200_response.rb +1 -1
  181. data/lib/postboost/models/list_my_workspaces200_response.rb +1 -1
  182. data/lib/postboost/models/list_posts200_response.rb +1 -1
  183. data/lib/postboost/models/list_receipts200_response.rb +1 -1
  184. data/lib/postboost/models/list_recycling_rules200_response.rb +1 -1
  185. data/lib/postboost/models/list_recycling_runs200_response.rb +1 -1
  186. data/lib/postboost/models/list_report_exports200_response.rb +1 -1
  187. data/lib/postboost/models/list_reseller_clients200_response.rb +1 -1
  188. data/lib/postboost/models/list_rss_feeds200_response.rb +1 -1
  189. data/lib/postboost/models/list_tags200_response.rb +1 -1
  190. data/lib/postboost/models/list_templates200_response.rb +1 -1
  191. data/lib/postboost/models/list_users200_response.rb +1 -1
  192. data/lib/postboost/models/list_webhook_subscriptions200_response.rb +1 -1
  193. data/lib/postboost/models/list_workspaces200_response.rb +1 -1
  194. data/lib/postboost/models/media.rb +1 -1
  195. data/lib/postboost/models/media_base64_input.rb +1 -1
  196. data/lib/postboost/models/media_folder.rb +1 -1
  197. data/lib/postboost/models/media_folder_input.rb +1 -1
  198. data/lib/postboost/models/media_folder_ref.rb +1 -1
  199. data/lib/postboost/models/mention.rb +1 -1
  200. data/lib/postboost/models/mention_identity.rb +1 -1
  201. data/lib/postboost/models/mention_identity_input.rb +1 -1
  202. data/lib/postboost/models/mention_input.rb +1 -1
  203. data/lib/postboost/models/message_only.rb +1 -1
  204. data/lib/postboost/models/pagination_meta.rb +1 -1
  205. data/lib/postboost/models/pagination_meta_links.rb +1 -1
  206. data/lib/postboost/models/pagination_meta_meta.rb +1 -1
  207. data/lib/postboost/models/poll_rss_feed200_response.rb +1 -1
  208. data/lib/postboost/models/post.rb +1 -1
  209. data/lib/postboost/models/post_analytics.rb +1 -1
  210. data/lib/postboost/models/post_content.rb +1 -1
  211. data/lib/postboost/models/post_input.rb +1 -1
  212. data/lib/postboost/models/post_options_instagram.rb +1 -1
  213. data/lib/postboost/models/post_options_tik_tok.rb +1 -1
  214. data/lib/postboost/models/post_options_youtube.rb +1 -1
  215. data/lib/postboost/models/post_status.rb +1 -1
  216. data/lib/postboost/models/post_version.rb +1 -1
  217. data/lib/postboost/models/post_version_options.rb +1 -1
  218. data/lib/postboost/models/post_warning.rb +285 -0
  219. data/lib/postboost/models/post_warnings.rb +217 -0
  220. data/lib/postboost/models/posting_schedule.rb +1 -1
  221. data/lib/postboost/models/posting_schedule_day.rb +1 -1
  222. data/lib/postboost/models/posting_schedule_day_times_inner.rb +1 -1
  223. data/lib/postboost/models/posting_schedule_input.rb +1 -1
  224. data/lib/postboost/models/posting_time_slot.rb +1 -1
  225. data/lib/postboost/models/posting_times.rb +1 -1
  226. data/lib/postboost/models/posting_times_best_inner.rb +1 -1
  227. data/lib/postboost/models/posting_times_day_intervals_inner_inner.rb +1 -1
  228. data/lib/postboost/models/posting_times_days_inner.rb +1 -1
  229. data/lib/postboost/models/preflight_result.rb +1 -1
  230. data/lib/postboost/models/public_workspace.rb +1 -1
  231. data/lib/postboost/models/public_workspace_pivot.rb +1 -1
  232. data/lib/postboost/models/publish_progress.rb +1 -1
  233. data/lib/postboost/models/queue_slots.rb +1 -1
  234. data/lib/postboost/models/receipt.rb +1 -1
  235. data/lib/postboost/models/receipt_input.rb +1 -1
  236. data/lib/postboost/models/receipt_update_input.rb +1 -1
  237. data/lib/postboost/models/recommended_posting_times.rb +1 -1
  238. data/lib/postboost/models/reconnect_link.rb +1 -1
  239. data/lib/postboost/models/recycling_rule.rb +1 -1
  240. data/lib/postboost/models/recycling_rule_input.rb +1 -1
  241. data/lib/postboost/models/recycling_rule_settings.rb +1 -1
  242. data/lib/postboost/models/recycling_rule_update.rb +1 -1
  243. data/lib/postboost/models/recycling_run.rb +1 -1
  244. data/lib/postboost/models/remove_generic_subscription422_response.rb +1 -1
  245. data/lib/postboost/models/remove_user_from_workspace_request.rb +1 -1
  246. data/lib/postboost/models/report_branding.rb +1 -1
  247. data/lib/postboost/models/report_branding_input.rb +1 -1
  248. data/lib/postboost/models/report_export.rb +1 -1
  249. data/lib/postboost/models/report_export_input.rb +1 -1
  250. data/lib/postboost/models/repurpose_content200_response.rb +1 -1
  251. data/lib/postboost/models/repurpose_content202_response.rb +1 -1
  252. data/lib/postboost/models/repurpose_content500_response.rb +1 -1
  253. data/lib/postboost/models/repurpose_input.rb +1 -1
  254. data/lib/postboost/models/repurpose_input_theme.rb +1 -1
  255. data/lib/postboost/models/repurpose_result.rb +1 -1
  256. data/lib/postboost/models/repurpose_result_media.rb +1 -1
  257. data/lib/postboost/models/repurpose_result_source.rb +1 -1
  258. data/lib/postboost/models/repurpose_run.rb +1 -1
  259. data/lib/postboost/models/repurpose_run_accepted.rb +1 -1
  260. data/lib/postboost/models/repurpose_slide.rb +1 -1
  261. data/lib/postboost/models/reseller_client.rb +1 -1
  262. data/lib/postboost/models/reseller_client_input.rb +1 -1
  263. data/lib/postboost/models/reseller_client_usage.rb +1 -1
  264. data/lib/postboost/models/retry_post_account_result.rb +1 -1
  265. data/lib/postboost/models/rss_feed.rb +1 -1
  266. data/lib/postboost/models/rss_feed_input.rb +1 -1
  267. data/lib/postboost/models/rss_feed_update.rb +1 -1
  268. data/lib/postboost/models/run_agent202_response.rb +1 -1
  269. data/lib/postboost/models/schedule_post_request.rb +1 -1
  270. data/lib/postboost/models/schedule_result.rb +1 -1
  271. data/lib/postboost/models/subscription.rb +1 -1
  272. data/lib/postboost/models/subscription_input.rb +1 -1
  273. data/lib/postboost/models/subscription_status.rb +1 -1
  274. data/lib/postboost/models/subscription_update_input.rb +1 -1
  275. data/lib/postboost/models/tag.rb +1 -1
  276. data/lib/postboost/models/tag_input.rb +1 -1
  277. data/lib/postboost/models/template.rb +1 -1
  278. data/lib/postboost/models/template_content_item.rb +1 -1
  279. data/lib/postboost/models/template_input.rb +1 -1
  280. data/lib/postboost/models/template_input_content_inner.rb +1 -1
  281. data/lib/postboost/models/update_media_request.rb +1 -1
  282. data/lib/postboost/models/update_post200_response.rb +233 -0
  283. data/lib/postboost/models/upload_chunk201_response.rb +1 -1
  284. data/lib/postboost/models/user.rb +1 -1
  285. data/lib/postboost/models/user_input.rb +1 -1
  286. data/lib/postboost/models/user_update_input.rb +1 -1
  287. data/lib/postboost/models/webhook_event_name.rb +1 -1
  288. data/lib/postboost/models/webhook_event_payload.rb +1 -1
  289. data/lib/postboost/models/webhook_subscription.rb +1 -1
  290. data/lib/postboost/models/webhook_subscription_input.rb +1 -1
  291. data/lib/postboost/models/workspace.rb +1 -1
  292. data/lib/postboost/models/workspace_agent.rb +3 -3
  293. data/lib/postboost/models/workspace_agent_input.rb +3 -3
  294. data/lib/postboost/models/workspace_agent_settings.rb +46 -6
  295. data/lib/postboost/models/workspace_agent_update.rb +1 -1
  296. data/lib/postboost/models/workspace_input.rb +1 -1
  297. data/lib/postboost/models/workspace_user_input.rb +1 -1
  298. data/lib/postboost/models/x_usage.rb +1 -1
  299. data/lib/postboost/models/x_usage_counter.rb +1 -1
  300. data/lib/postboost/version.rb +2 -2
  301. data/lib/postboost.rb +5 -1
  302. data/postboost.gemspec +1 -1
  303. data/spec/api/account_groups_api_spec.rb +1 -1
  304. data/spec/api/accounts_api_spec.rb +1 -1
  305. data/spec/api/activity_api_spec.rb +1 -1
  306. data/spec/api/agents_api_spec.rb +4 -4
  307. data/spec/api/ai_api_spec.rb +1 -1
  308. data/spec/api/analytics_api_spec.rb +1 -1
  309. data/spec/api/competitors_api_spec.rb +1 -1
  310. data/spec/api/hashtag_groups_api_spec.rb +1 -1
  311. data/spec/api/inbox_api_spec.rb +1 -1
  312. data/spec/api/media_api_spec.rb +1 -1
  313. data/spec/api/mentions_api_spec.rb +1 -1
  314. data/spec/api/posting_schedule_api_spec.rb +1 -1
  315. data/spec/api/posts_api_spec.rb +3 -3
  316. data/spec/api/receipts_api_spec.rb +1 -1
  317. data/spec/api/subscriptions_api_spec.rb +1 -1
  318. data/spec/api/tags_api_spec.rb +1 -1
  319. data/spec/api/templates_api_spec.rb +1 -1
  320. data/spec/api/users_api_spec.rb +1 -1
  321. data/spec/api/webhooks_api_spec.rb +1 -1
  322. data/spec/api/workspaces_api_spec.rb +1 -1
  323. data/spec/models/account_analytics_initial_sync_spec.rb +1 -1
  324. data/spec/models/account_analytics_spec.rb +1 -1
  325. data/spec/models/account_connection_health_spec.rb +1 -1
  326. data/spec/models/account_errors_inner_one_of_spec.rb +1 -1
  327. data/spec/models/account_errors_inner_spec.rb +1 -1
  328. data/spec/models/account_group_input_spec.rb +1 -1
  329. data/spec/models/account_group_spec.rb +1 -1
  330. data/spec/models/account_health_daily_cap_spec.rb +1 -1
  331. data/spec/models/account_health_spec.rb +1 -1
  332. data/spec/models/account_schedule_spec.rb +1 -1
  333. data/spec/models/account_spec.rb +1 -1
  334. data/spec/models/add_competitor202_response_spec.rb +1 -1
  335. data/spec/models/add_competitor409_response_spec.rb +1 -1
  336. data/spec/models/add_generic_subscription_request_spec.rb +1 -1
  337. data/spec/models/add_post_to_queue_request_spec.rb +1 -1
  338. data/spec/models/agent_page_meta_spec.rb +1 -1
  339. data/spec/models/agent_proposal_decision_spec.rb +1 -1
  340. data/spec/models/agent_proposal_spec.rb +2 -2
  341. data/spec/models/agent_run_spec.rb +1 -1
  342. data/spec/models/ai_credits_spec.rb +1 -1
  343. data/spec/models/ai_usage_spec.rb +1 -1
  344. data/spec/models/ai_usage_text_spec.rb +1 -1
  345. data/spec/models/analytics_period_spec.rb +1 -1
  346. data/spec/models/analytics_summary_data_spec.rb +1 -1
  347. data/spec/models/analytics_summary_spec.rb +1 -1
  348. data/spec/models/api_activity_outcome_spec.rb +1 -1
  349. data/spec/models/api_activity_spec.rb +1 -1
  350. data/spec/models/api_key_ability_spec.rb +1 -1
  351. data/spec/models/api_key_input_spec.rb +1 -1
  352. data/spec/models/api_key_spec.rb +1 -1
  353. data/spec/models/approve_agent_proposal200_response_spec.rb +1 -1
  354. data/spec/models/approve_agent_proposal409_response_spec.rb +1 -1
  355. data/spec/models/approve_inbox_reply_draft403_response_spec.rb +1 -1
  356. data/spec/models/approve_post_request_spec.rb +1 -1
  357. data/spec/models/best_posting_times_spec.rb +1 -1
  358. data/spec/models/best_posting_times_times_inner_spec.rb +1 -1
  359. data/spec/models/blog_to_social200_response_spec.rb +1 -1
  360. data/spec/models/blog_to_social429_response_spec.rb +1 -1
  361. data/spec/models/blog_to_social_caption_spec.rb +1 -1
  362. data/spec/models/blog_to_social_input_spec.rb +1 -1
  363. data/spec/models/blog_to_social_media_spec.rb +1 -1
  364. data/spec/models/blog_to_social_response_spec.rb +1 -1
  365. data/spec/models/brand_voice_input_spec.rb +1 -1
  366. data/spec/models/brand_voice_meta_spec.rb +1 -1
  367. data/spec/models/brand_voice_spec.rb +1 -1
  368. data/spec/models/cancel_subscription422_response_errors_spec.rb +1 -1
  369. data/spec/models/cancel_subscription422_response_spec.rb +1 -1
  370. data/spec/models/cancel_subscription_request_spec.rb +1 -1
  371. data/spec/models/change_subscription_plan_request_spec.rb +1 -1
  372. data/spec/models/channel_account_spec.rb +1 -1
  373. data/spec/models/checkout_subscription200_response_spec.rb +1 -1
  374. data/spec/models/checkout_subscription_request_spec.rb +1 -1
  375. data/spec/models/coded_error_spec.rb +1 -1
  376. data/spec/models/competitor_detail_spec.rb +1 -1
  377. data/spec/models/competitor_input_spec.rb +1 -1
  378. data/spec/models/competitor_media_spec.rb +1 -1
  379. data/spec/models/competitor_snapshot_spec.rb +1 -1
  380. data/spec/models/competitor_spec.rb +1 -1
  381. data/spec/models/complete_chunked_upload_request_spec.rb +1 -1
  382. data/spec/models/connect_channel_input_spec.rb +1 -1
  383. data/spec/models/create_account_group201_response_spec.rb +1 -1
  384. data/spec/models/create_agent201_response_spec.rb +1 -1
  385. data/spec/models/create_api_key201_response_data_spec.rb +1 -1
  386. data/spec/models/create_api_key201_response_spec.rb +1 -1
  387. data/spec/models/create_hashtag_group201_response_spec.rb +1 -1
  388. data/spec/models/create_inbox_reply_draft201_response_spec.rb +1 -1
  389. data/spec/models/create_media_folder_request_spec.rb +1 -1
  390. data/spec/models/create_mention201_response_spec.rb +1 -1
  391. data/spec/models/create_post201_response_spec.rb +102 -0
  392. data/spec/models/create_recycling_rule201_response_spec.rb +1 -1
  393. data/spec/models/create_report_export201_response_spec.rb +1 -1
  394. data/spec/models/create_reseller_client201_response_spec.rb +1 -1
  395. data/spec/models/create_rss_feed201_response_spec.rb +1 -1
  396. data/spec/models/create_template201_response_spec.rb +1 -1
  397. data/spec/models/create_webhook_subscription201_response_data_spec.rb +1 -1
  398. data/spec/models/create_webhook_subscription201_response_spec.rb +1 -1
  399. data/spec/models/delete_agent200_response_spec.rb +1 -1
  400. data/spec/models/delete_media_bulk_request_items_inner_spec.rb +1 -1
  401. data/spec/models/delete_media_bulk_request_spec.rb +1 -1
  402. data/spec/models/delete_media_folder_request_spec.rb +1 -1
  403. data/spec/models/delete_mode_spec.rb +1 -1
  404. data/spec/models/delete_post_request_spec.rb +1 -1
  405. data/spec/models/delete_posts_bulk_request_spec.rb +1 -1
  406. data/spec/models/delete_receipts_bulk_request_spec.rb +1 -1
  407. data/spec/models/delete_result_spec.rb +1 -1
  408. data/spec/models/delete_user400_response_spec.rb +1 -1
  409. data/spec/models/delete_users_bulk_request_spec.rb +1 -1
  410. data/spec/models/delete_workspaces_bulk_request_spec.rb +1 -1
  411. data/spec/models/get_account_health200_response_spec.rb +1 -1
  412. data/spec/models/get_brand_voice200_response_spec.rb +1 -1
  413. data/spec/models/get_competitor200_response_spec.rb +1 -1
  414. data/spec/models/get_inbox_conversation200_response_spec.rb +1 -1
  415. data/spec/models/get_posting_schedule200_response_spec.rb +1 -1
  416. data/spec/models/get_remote_upload_status200_response_spec.rb +1 -1
  417. data/spec/models/get_report_branding200_response_spec.rb +1 -1
  418. data/spec/models/get_repurpose_run200_response_spec.rb +1 -1
  419. data/spec/models/guardrail_error_spec.rb +1 -1
  420. data/spec/models/hashtag_group_input_spec.rb +1 -1
  421. data/spec/models/hashtag_group_spec.rb +1 -1
  422. data/spec/models/image_alt_text200_response_spec.rb +1 -1
  423. data/spec/models/image_alt_text_input_spec.rb +1 -1
  424. data/spec/models/image_alt_text_response_spec.rb +1 -1
  425. data/spec/models/image_credit_balance_spec.rb +1 -1
  426. data/spec/models/image_edit_input_spec.rb +1 -1
  427. data/spec/models/image_generate200_response_spec.rb +1 -1
  428. data/spec/models/image_generate429_response_spec.rb +1 -1
  429. data/spec/models/image_generate_input_spec.rb +1 -1
  430. data/spec/models/image_generation_response_spec.rb +1 -1
  431. data/spec/models/image_prompt200_response_spec.rb +1 -1
  432. data/spec/models/image_prompt429_response_spec.rb +1 -1
  433. data/spec/models/image_prompt_input_spec.rb +1 -1
  434. data/spec/models/image_prompt_response_spec.rb +1 -1
  435. data/spec/models/image_variations200_response_spec.rb +1 -1
  436. data/spec/models/image_variations_input_spec.rb +1 -1
  437. data/spec/models/image_variations_response_spec.rb +1 -1
  438. data/spec/models/inbox_author_spec.rb +1 -1
  439. data/spec/models/inbox_conversation_account_spec.rb +1 -1
  440. data/spec/models/inbox_conversation_spec.rb +1 -1
  441. data/spec/models/inbox_conversation_update_spec.rb +1 -1
  442. data/spec/models/inbox_message_author_spec.rb +1 -1
  443. data/spec/models/inbox_message_spec.rb +1 -1
  444. data/spec/models/inbox_reply_draft_approve_spec.rb +1 -1
  445. data/spec/models/inbox_reply_draft_edit_spec.rb +1 -1
  446. data/spec/models/inbox_reply_draft_input_spec.rb +1 -1
  447. data/spec/models/inbox_reply_draft_spec.rb +1 -1
  448. data/spec/models/initiate_chunked_upload201_response_spec.rb +1 -1
  449. data/spec/models/initiate_chunked_upload_request_spec.rb +1 -1
  450. data/spec/models/initiate_remote_upload201_response_one_of_spec.rb +1 -1
  451. data/spec/models/initiate_remote_upload201_response_spec.rb +1 -1
  452. data/spec/models/initiate_remote_upload_request_spec.rb +1 -1
  453. data/spec/models/learn_brand_voice_input_spec.rb +1 -1
  454. data/spec/models/learn_brand_voice_response_meta_spec.rb +1 -1
  455. data/spec/models/learn_brand_voice_response_spec.rb +1 -1
  456. data/spec/models/list_account_groups200_response_spec.rb +1 -1
  457. data/spec/models/list_accounts200_response_spec.rb +1 -1
  458. data/spec/models/list_agent_proposals200_response_spec.rb +1 -1
  459. data/spec/models/list_agent_runs200_response_spec.rb +1 -1
  460. data/spec/models/list_agents200_response_spec.rb +1 -1
  461. data/spec/models/list_api_activity200_response_spec.rb +1 -1
  462. data/spec/models/list_api_keys200_response_spec.rb +1 -1
  463. data/spec/models/list_competitors200_response_spec.rb +1 -1
  464. data/spec/models/list_hashtag_groups200_response_spec.rb +1 -1
  465. data/spec/models/list_inbox_conversations200_response_spec.rb +1 -1
  466. data/spec/models/list_inbox_reply_drafts200_response_spec.rb +1 -1
  467. data/spec/models/list_media200_response_spec.rb +1 -1
  468. data/spec/models/list_media_folders200_response_spec.rb +1 -1
  469. data/spec/models/list_mentions200_response_spec.rb +1 -1
  470. data/spec/models/list_my_workspaces200_response_spec.rb +1 -1
  471. data/spec/models/list_posts200_response_spec.rb +1 -1
  472. data/spec/models/list_receipts200_response_spec.rb +1 -1
  473. data/spec/models/list_recycling_rules200_response_spec.rb +1 -1
  474. data/spec/models/list_recycling_runs200_response_spec.rb +1 -1
  475. data/spec/models/list_report_exports200_response_spec.rb +1 -1
  476. data/spec/models/list_reseller_clients200_response_spec.rb +1 -1
  477. data/spec/models/list_rss_feeds200_response_spec.rb +1 -1
  478. data/spec/models/list_tags200_response_spec.rb +1 -1
  479. data/spec/models/list_templates200_response_spec.rb +1 -1
  480. data/spec/models/list_users200_response_spec.rb +1 -1
  481. data/spec/models/list_webhook_subscriptions200_response_spec.rb +1 -1
  482. data/spec/models/list_workspaces200_response_spec.rb +1 -1
  483. data/spec/models/media_base64_input_spec.rb +1 -1
  484. data/spec/models/media_folder_input_spec.rb +1 -1
  485. data/spec/models/media_folder_ref_spec.rb +1 -1
  486. data/spec/models/media_folder_spec.rb +1 -1
  487. data/spec/models/media_spec.rb +1 -1
  488. data/spec/models/mention_identity_input_spec.rb +1 -1
  489. data/spec/models/mention_identity_spec.rb +1 -1
  490. data/spec/models/mention_input_spec.rb +1 -1
  491. data/spec/models/mention_spec.rb +1 -1
  492. data/spec/models/message_only_spec.rb +1 -1
  493. data/spec/models/pagination_meta_links_spec.rb +1 -1
  494. data/spec/models/pagination_meta_meta_spec.rb +1 -1
  495. data/spec/models/pagination_meta_spec.rb +1 -1
  496. data/spec/models/poll_rss_feed200_response_spec.rb +1 -1
  497. data/spec/models/post_analytics_spec.rb +1 -1
  498. data/spec/models/post_content_spec.rb +1 -1
  499. data/spec/models/post_input_spec.rb +1 -1
  500. data/spec/models/post_options_instagram_spec.rb +1 -1
  501. data/spec/models/post_options_tik_tok_spec.rb +1 -1
  502. data/spec/models/post_options_youtube_spec.rb +1 -1
  503. data/spec/models/post_spec.rb +1 -1
  504. data/spec/models/post_status_spec.rb +1 -1
  505. data/spec/models/post_version_options_spec.rb +1 -1
  506. data/spec/models/post_version_spec.rb +1 -1
  507. data/spec/models/post_warning_spec.rb +52 -0
  508. data/spec/models/post_warnings_spec.rb +36 -0
  509. data/spec/models/posting_schedule_day_spec.rb +1 -1
  510. data/spec/models/posting_schedule_day_times_inner_spec.rb +1 -1
  511. data/spec/models/posting_schedule_input_spec.rb +1 -1
  512. data/spec/models/posting_schedule_spec.rb +1 -1
  513. data/spec/models/posting_time_slot_spec.rb +1 -1
  514. data/spec/models/posting_times_best_inner_spec.rb +1 -1
  515. data/spec/models/posting_times_day_intervals_inner_inner_spec.rb +1 -1
  516. data/spec/models/posting_times_days_inner_spec.rb +1 -1
  517. data/spec/models/posting_times_spec.rb +1 -1
  518. data/spec/models/preflight_result_spec.rb +1 -1
  519. data/spec/models/public_workspace_pivot_spec.rb +1 -1
  520. data/spec/models/public_workspace_spec.rb +1 -1
  521. data/spec/models/publish_progress_spec.rb +1 -1
  522. data/spec/models/queue_slots_spec.rb +1 -1
  523. data/spec/models/receipt_input_spec.rb +1 -1
  524. data/spec/models/receipt_spec.rb +1 -1
  525. data/spec/models/receipt_update_input_spec.rb +1 -1
  526. data/spec/models/recommended_posting_times_spec.rb +1 -1
  527. data/spec/models/reconnect_link_spec.rb +1 -1
  528. data/spec/models/recycling_rule_input_spec.rb +1 -1
  529. data/spec/models/recycling_rule_settings_spec.rb +1 -1
  530. data/spec/models/recycling_rule_spec.rb +1 -1
  531. data/spec/models/recycling_rule_update_spec.rb +1 -1
  532. data/spec/models/recycling_run_spec.rb +1 -1
  533. data/spec/models/remove_generic_subscription422_response_spec.rb +1 -1
  534. data/spec/models/remove_user_from_workspace_request_spec.rb +1 -1
  535. data/spec/models/report_branding_input_spec.rb +1 -1
  536. data/spec/models/report_branding_spec.rb +1 -1
  537. data/spec/models/report_export_input_spec.rb +1 -1
  538. data/spec/models/report_export_spec.rb +1 -1
  539. data/spec/models/repurpose_content200_response_spec.rb +1 -1
  540. data/spec/models/repurpose_content202_response_spec.rb +1 -1
  541. data/spec/models/repurpose_content500_response_spec.rb +1 -1
  542. data/spec/models/repurpose_input_spec.rb +1 -1
  543. data/spec/models/repurpose_input_theme_spec.rb +1 -1
  544. data/spec/models/repurpose_result_media_spec.rb +1 -1
  545. data/spec/models/repurpose_result_source_spec.rb +1 -1
  546. data/spec/models/repurpose_result_spec.rb +1 -1
  547. data/spec/models/repurpose_run_accepted_spec.rb +1 -1
  548. data/spec/models/repurpose_run_spec.rb +1 -1
  549. data/spec/models/repurpose_slide_spec.rb +1 -1
  550. data/spec/models/reseller_client_input_spec.rb +1 -1
  551. data/spec/models/reseller_client_spec.rb +1 -1
  552. data/spec/models/reseller_client_usage_spec.rb +1 -1
  553. data/spec/models/retry_post_account_result_spec.rb +1 -1
  554. data/spec/models/rss_feed_input_spec.rb +1 -1
  555. data/spec/models/rss_feed_spec.rb +1 -1
  556. data/spec/models/rss_feed_update_spec.rb +1 -1
  557. data/spec/models/run_agent202_response_spec.rb +1 -1
  558. data/spec/models/schedule_post_request_spec.rb +1 -1
  559. data/spec/models/schedule_result_spec.rb +1 -1
  560. data/spec/models/subscription_input_spec.rb +1 -1
  561. data/spec/models/subscription_spec.rb +1 -1
  562. data/spec/models/subscription_status_spec.rb +1 -1
  563. data/spec/models/subscription_update_input_spec.rb +1 -1
  564. data/spec/models/tag_input_spec.rb +1 -1
  565. data/spec/models/tag_spec.rb +1 -1
  566. data/spec/models/template_content_item_spec.rb +1 -1
  567. data/spec/models/template_input_content_inner_spec.rb +1 -1
  568. data/spec/models/template_input_spec.rb +1 -1
  569. data/spec/models/template_spec.rb +1 -1
  570. data/spec/models/update_media_request_spec.rb +1 -1
  571. data/spec/models/update_post200_response_spec.rb +42 -0
  572. data/spec/models/upload_chunk201_response_spec.rb +1 -1
  573. data/spec/models/user_input_spec.rb +1 -1
  574. data/spec/models/user_spec.rb +1 -1
  575. data/spec/models/user_update_input_spec.rb +1 -1
  576. data/spec/models/webhook_event_name_spec.rb +1 -1
  577. data/spec/models/webhook_event_payload_spec.rb +1 -1
  578. data/spec/models/webhook_subscription_input_spec.rb +1 -1
  579. data/spec/models/webhook_subscription_spec.rb +1 -1
  580. data/spec/models/workspace_agent_input_spec.rb +2 -2
  581. data/spec/models/workspace_agent_settings_spec.rb +7 -1
  582. data/spec/models/workspace_agent_spec.rb +2 -2
  583. data/spec/models/workspace_agent_update_spec.rb +1 -1
  584. data/spec/models/workspace_input_spec.rb +1 -1
  585. data/spec/models/workspace_spec.rb +1 -1
  586. data/spec/models/workspace_user_input_spec.rb +1 -1
  587. data/spec/models/x_usage_counter_spec.rb +1 -1
  588. data/spec/models/x_usage_spec.rb +1 -1
  589. data/spec/spec_helper.rb +1 -1
  590. metadata +17 -1
@@ -0,0 +1,409 @@
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.21.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 'date'
14
+ require 'time'
15
+
16
+ module PostBoost
17
+ class CreatePost201Response
18
+ attr_accessor :id
19
+
20
+ attr_accessor :uuid
21
+
22
+ attr_accessor :status
23
+
24
+ # Only present while the post is publishing.
25
+ attr_accessor :publish_progress
26
+
27
+ attr_accessor :accounts
28
+
29
+ attr_accessor :versions
30
+
31
+ attr_accessor :tags
32
+
33
+ attr_accessor :scheduled_at
34
+
35
+ attr_accessor :published_at
36
+
37
+ attr_accessor :created_at
38
+
39
+ attr_accessor :trashed
40
+
41
+ # Present only when there is at least one warning.
42
+ attr_accessor :warnings
43
+
44
+ class EnumAttributeValidator
45
+ attr_reader :datatype
46
+ attr_reader :allowable_values
47
+
48
+ def initialize(datatype, allowable_values)
49
+ @allowable_values = allowable_values.map do |value|
50
+ case datatype.to_s
51
+ when /Integer/i
52
+ value.to_i
53
+ when /Float/i
54
+ value.to_f
55
+ else
56
+ value
57
+ end
58
+ end
59
+ end
60
+
61
+ def valid?(value)
62
+ !value || allowable_values.include?(value)
63
+ end
64
+ end
65
+
66
+ # Attribute mapping from ruby-style variable name to JSON key.
67
+ def self.attribute_map
68
+ {
69
+ :'id' => :'id',
70
+ :'uuid' => :'uuid',
71
+ :'status' => :'status',
72
+ :'publish_progress' => :'publish_progress',
73
+ :'accounts' => :'accounts',
74
+ :'versions' => :'versions',
75
+ :'tags' => :'tags',
76
+ :'scheduled_at' => :'scheduled_at',
77
+ :'published_at' => :'published_at',
78
+ :'created_at' => :'created_at',
79
+ :'trashed' => :'trashed',
80
+ :'warnings' => :'warnings'
81
+ }
82
+ end
83
+
84
+ # Returns all the JSON keys this model knows about
85
+ def self.acceptable_attributes
86
+ attribute_map.values
87
+ end
88
+
89
+ # Attribute type mapping.
90
+ def self.openapi_types
91
+ {
92
+ :'id' => :'Integer',
93
+ :'uuid' => :'String',
94
+ :'status' => :'PostStatus',
95
+ :'publish_progress' => :'PublishProgress',
96
+ :'accounts' => :'Array<Account>',
97
+ :'versions' => :'Array<PostVersion>',
98
+ :'tags' => :'Array<Tag>',
99
+ :'scheduled_at' => :'Time',
100
+ :'published_at' => :'Time',
101
+ :'created_at' => :'Time',
102
+ :'trashed' => :'Boolean',
103
+ :'warnings' => :'Array<PostWarning>'
104
+ }
105
+ end
106
+
107
+ # List of attributes with nullable: true
108
+ def self.openapi_nullable
109
+ Set.new([
110
+ ])
111
+ end
112
+
113
+ # List of class defined in allOf (OpenAPI v3)
114
+ def self.openapi_all_of
115
+ [
116
+ :'Post',
117
+ :'PostWarnings'
118
+ ]
119
+ end
120
+
121
+ # Initializes the object
122
+ # @param [Hash] attributes Model attributes in the form of hash
123
+ def initialize(attributes = {})
124
+ if (!attributes.is_a?(Hash))
125
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PostBoost::CreatePost201Response` initialize method"
126
+ end
127
+
128
+ # check to see if the attribute exists and convert string to symbol for hash key
129
+ attributes = attributes.each_with_object({}) { |(k, v), h|
130
+ if (!self.class.attribute_map.key?(k.to_sym))
131
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PostBoost::CreatePost201Response`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
132
+ end
133
+ h[k.to_sym] = v
134
+ }
135
+
136
+ if attributes.key?(:'id')
137
+ self.id = attributes[:'id']
138
+ else
139
+ self.id = nil
140
+ end
141
+
142
+ if attributes.key?(:'uuid')
143
+ self.uuid = attributes[:'uuid']
144
+ else
145
+ self.uuid = nil
146
+ end
147
+
148
+ if attributes.key?(:'status')
149
+ self.status = attributes[:'status']
150
+ else
151
+ self.status = nil
152
+ end
153
+
154
+ if attributes.key?(:'publish_progress')
155
+ self.publish_progress = attributes[:'publish_progress']
156
+ end
157
+
158
+ if attributes.key?(:'accounts')
159
+ if (value = attributes[:'accounts']).is_a?(Array)
160
+ self.accounts = value
161
+ end
162
+ else
163
+ self.accounts = nil
164
+ end
165
+
166
+ if attributes.key?(:'versions')
167
+ if (value = attributes[:'versions']).is_a?(Array)
168
+ self.versions = value
169
+ end
170
+ else
171
+ self.versions = nil
172
+ end
173
+
174
+ if attributes.key?(:'tags')
175
+ if (value = attributes[:'tags']).is_a?(Array)
176
+ self.tags = value
177
+ end
178
+ else
179
+ self.tags = nil
180
+ end
181
+
182
+ if attributes.key?(:'scheduled_at')
183
+ self.scheduled_at = attributes[:'scheduled_at']
184
+ end
185
+
186
+ if attributes.key?(:'published_at')
187
+ self.published_at = attributes[:'published_at']
188
+ end
189
+
190
+ if attributes.key?(:'created_at')
191
+ self.created_at = attributes[:'created_at']
192
+ else
193
+ self.created_at = nil
194
+ end
195
+
196
+ if attributes.key?(:'trashed')
197
+ self.trashed = attributes[:'trashed']
198
+ else
199
+ self.trashed = nil
200
+ end
201
+
202
+ if attributes.key?(:'warnings')
203
+ if (value = attributes[:'warnings']).is_a?(Array)
204
+ self.warnings = value
205
+ end
206
+ end
207
+ end
208
+
209
+ # Show invalid properties with the reasons. Usually used together with valid?
210
+ # @return Array for valid properties with the reasons
211
+ def list_invalid_properties
212
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
213
+ invalid_properties = Array.new
214
+ if @id.nil?
215
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
216
+ end
217
+
218
+ if @uuid.nil?
219
+ invalid_properties.push('invalid value for "uuid", uuid cannot be nil.')
220
+ end
221
+
222
+ if @status.nil?
223
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
224
+ end
225
+
226
+ if @accounts.nil?
227
+ invalid_properties.push('invalid value for "accounts", accounts cannot be nil.')
228
+ end
229
+
230
+ if @versions.nil?
231
+ invalid_properties.push('invalid value for "versions", versions cannot be nil.')
232
+ end
233
+
234
+ if @tags.nil?
235
+ invalid_properties.push('invalid value for "tags", tags cannot be nil.')
236
+ end
237
+
238
+ if @created_at.nil?
239
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
240
+ end
241
+
242
+ if @trashed.nil?
243
+ invalid_properties.push('invalid value for "trashed", trashed cannot be nil.')
244
+ end
245
+
246
+ invalid_properties
247
+ end
248
+
249
+ # Check to see if the all the properties in the model are valid
250
+ # @return true if the model is valid
251
+ def valid?
252
+ warn '[DEPRECATED] the `valid?` method is obsolete'
253
+ return false if @id.nil?
254
+ return false if @uuid.nil?
255
+ return false if @status.nil?
256
+ return false if @accounts.nil?
257
+ return false if @versions.nil?
258
+ return false if @tags.nil?
259
+ return false if @created_at.nil?
260
+ return false if @trashed.nil?
261
+ true
262
+ end
263
+
264
+ # Checks equality by comparing each attribute.
265
+ # @param [Object] Object to be compared
266
+ def ==(o)
267
+ return true if self.equal?(o)
268
+ self.class == o.class &&
269
+ id == o.id &&
270
+ uuid == o.uuid &&
271
+ status == o.status &&
272
+ publish_progress == o.publish_progress &&
273
+ accounts == o.accounts &&
274
+ versions == o.versions &&
275
+ tags == o.tags &&
276
+ scheduled_at == o.scheduled_at &&
277
+ published_at == o.published_at &&
278
+ created_at == o.created_at &&
279
+ trashed == o.trashed &&
280
+ warnings == o.warnings
281
+ end
282
+
283
+ # @see the `==` method
284
+ # @param [Object] Object to be compared
285
+ def eql?(o)
286
+ self == o
287
+ end
288
+
289
+ # Calculates hash code according to all attributes.
290
+ # @return [Integer] Hash code
291
+ def hash
292
+ [id, uuid, status, publish_progress, accounts, versions, tags, scheduled_at, published_at, created_at, trashed, warnings].hash
293
+ end
294
+
295
+ # Builds the object from hash
296
+ # @param [Hash] attributes Model attributes in the form of hash
297
+ # @return [Object] Returns the model itself
298
+ def self.build_from_hash(attributes)
299
+ return nil unless attributes.is_a?(Hash)
300
+ attributes = attributes.transform_keys(&:to_sym)
301
+ transformed_hash = {}
302
+ openapi_types.each_pair do |key, type|
303
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
304
+ transformed_hash["#{key}"] = nil
305
+ elsif type =~ /\AArray<(.*)>/i
306
+ # check to ensure the input is an array given that the attribute
307
+ # is documented as an array but the input is not
308
+ if attributes[attribute_map[key]].is_a?(Array)
309
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
310
+ end
311
+ elsif !attributes[attribute_map[key]].nil?
312
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
313
+ end
314
+ end
315
+ new(transformed_hash)
316
+ end
317
+
318
+ # Deserializes the data based on type
319
+ # @param string type Data type
320
+ # @param string value Value to be deserialized
321
+ # @return [Object] Deserialized data
322
+ def self._deserialize(type, value)
323
+ case type.to_sym
324
+ when :Time
325
+ Time.parse(value)
326
+ when :Date
327
+ Date.parse(value)
328
+ when :String
329
+ value.to_s
330
+ when :Integer
331
+ value.to_i
332
+ when :Float
333
+ value.to_f
334
+ when :Boolean
335
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
336
+ true
337
+ else
338
+ false
339
+ end
340
+ when :Object
341
+ # generic object (usually a Hash), return directly
342
+ value
343
+ when /\AArray<(?<inner_type>.+)>\z/
344
+ inner_type = Regexp.last_match[:inner_type]
345
+ value.map { |v| _deserialize(inner_type, v) }
346
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
347
+ k_type = Regexp.last_match[:k_type]
348
+ v_type = Regexp.last_match[:v_type]
349
+ {}.tap do |hash|
350
+ value.each do |k, v|
351
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
352
+ end
353
+ end
354
+ else # model
355
+ # models (e.g. Pet) or oneOf
356
+ klass = PostBoost.const_get(type)
357
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
358
+ end
359
+ end
360
+
361
+ # Returns the string representation of the object
362
+ # @return [String] String presentation of the object
363
+ def to_s
364
+ to_hash.to_s
365
+ end
366
+
367
+ # to_body is an alias to to_hash (backward compatibility)
368
+ # @return [Hash] Returns the object in the form of hash
369
+ def to_body
370
+ to_hash
371
+ end
372
+
373
+ # Returns the object in the form of hash
374
+ # @return [Hash] Returns the object in the form of hash
375
+ def to_hash
376
+ hash = {}
377
+ self.class.attribute_map.each_pair do |attr, param|
378
+ value = self.send(attr)
379
+ if value.nil?
380
+ is_nullable = self.class.openapi_nullable.include?(attr)
381
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
382
+ end
383
+
384
+ hash[param] = _to_hash(value)
385
+ end
386
+ hash
387
+ end
388
+
389
+ # Outputs non-array value in the form of hash
390
+ # For object, use to_hash. Otherwise, just return the value
391
+ # @param [Object] value Any valid value
392
+ # @return [Hash] Returns the value in the form of hash
393
+ def _to_hash(value)
394
+ if value.is_a?(Array)
395
+ value.compact.map { |v| _to_hash(v) }
396
+ elsif value.is_a?(Hash)
397
+ {}.tap do |hash|
398
+ value.each { |k, v| hash[k] = _to_hash(v) }
399
+ end
400
+ elsif value.respond_to? :to_hash
401
+ value.to_hash
402
+ else
403
+ value
404
+ end
405
+ end
406
+
407
+ end
408
+
409
+ 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.19.0
6
+ The version of the OpenAPI document: 1.21.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.19.0
6
+ The version of the OpenAPI document: 1.21.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.19.0
6
+ The version of the OpenAPI document: 1.21.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.19.0
6
+ The version of the OpenAPI document: 1.21.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.19.0
6
+ The version of the OpenAPI document: 1.21.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.19.0
6
+ The version of the OpenAPI document: 1.21.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.19.0
6
+ The version of the OpenAPI document: 1.21.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.19.0
6
+ The version of the OpenAPI document: 1.21.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.19.0
6
+ The version of the OpenAPI document: 1.21.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.19.0
6
+ The version of the OpenAPI document: 1.21.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.19.0
6
+ The version of the OpenAPI document: 1.21.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.19.0
6
+ The version of the OpenAPI document: 1.21.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.19.0
6
+ The version of the OpenAPI document: 1.21.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.19.0
6
+ The version of the OpenAPI document: 1.21.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.19.0
6
+ The version of the OpenAPI document: 1.21.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.19.0
6
+ The version of the OpenAPI document: 1.21.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.19.0
6
+ The version of the OpenAPI document: 1.21.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.19.0
6
+ The version of the OpenAPI document: 1.21.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0