postboost 1.8.0 → 1.14.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 (735) hide show
  1. checksums.yaml +4 -4
  2. data/CODE_OF_CONDUCT.md +7 -0
  3. data/CONTRIBUTING.md +31 -0
  4. data/README.md +134 -1
  5. data/SECURITY.md +9 -0
  6. data/docs/AIApi.md +432 -0
  7. data/docs/AIUsage.md +20 -0
  8. data/docs/AIUsageText.md +24 -0
  9. data/docs/Account.md +6 -2
  10. data/docs/AccountConnectionHealth.md +34 -0
  11. data/docs/AccountErrorsInner.md +49 -0
  12. data/docs/AccountErrorsInnerOneOf.md +24 -0
  13. data/docs/AccountGroup.md +24 -0
  14. data/docs/AccountGroupInput.md +20 -0
  15. data/docs/AccountGroupsApi.md +372 -0
  16. data/docs/AccountHealth.md +34 -0
  17. data/docs/AccountHealthDailyCap.md +20 -0
  18. data/docs/AccountsApi.md +216 -0
  19. data/docs/ActivityApi.md +87 -0
  20. data/docs/AddCompetitor202Response.md +20 -0
  21. data/docs/AddCompetitor409Response.md +20 -0
  22. data/docs/AgentPageMeta.md +24 -0
  23. data/docs/AgentProposal.md +44 -0
  24. data/docs/AgentProposalDecision.md +18 -0
  25. data/docs/AgentRun.md +44 -0
  26. data/docs/AgentsApi.md +745 -0
  27. data/docs/AnalyticsApi.md +498 -0
  28. data/docs/ApiActivity.md +36 -0
  29. data/docs/ApiActivityOutcome.md +15 -0
  30. data/docs/ApiKey.md +32 -0
  31. data/docs/ApiKeyAbility.md +15 -0
  32. data/docs/ApiKeyInput.md +24 -0
  33. data/docs/ApproveAgentProposal200Response.md +18 -0
  34. data/docs/ApproveAgentProposal409Response.md +20 -0
  35. data/docs/ApproveInboxReplyDraft403Response.md +20 -0
  36. data/docs/BlogToSocial200Response.md +3 -1
  37. data/docs/BlogToSocialInput.md +3 -1
  38. data/docs/BrandVoice.md +48 -0
  39. data/docs/BrandVoiceInput.md +46 -0
  40. data/docs/BrandVoiceMeta.md +18 -0
  41. data/docs/ChannelAccount.md +36 -0
  42. data/docs/CodedError.md +22 -0
  43. data/docs/Competitor.md +34 -0
  44. data/docs/CompetitorDetail.md +38 -0
  45. data/docs/CompetitorInput.md +20 -0
  46. data/docs/CompetitorMedia.md +28 -0
  47. data/docs/CompetitorSnapshot.md +22 -0
  48. data/docs/CompetitorsApi.md +296 -0
  49. data/docs/ConnectChannelInput.md +24 -0
  50. data/docs/CreateAccountGroup201Response.md +18 -0
  51. data/docs/CreateAgent201Response.md +18 -0
  52. data/docs/CreateApiKey201Response.md +18 -0
  53. data/docs/CreateApiKey201ResponseData.md +34 -0
  54. data/docs/CreateHashtagGroup201Response.md +18 -0
  55. data/docs/CreateInboxReplyDraft201Response.md +18 -0
  56. data/docs/CreateRecyclingRule201Response.md +18 -0
  57. data/docs/CreateReportExport201Response.md +18 -0
  58. data/docs/CreateResellerClient201Response.md +18 -0
  59. data/docs/CreateRssFeed201Response.md +18 -0
  60. data/docs/CreateTemplate201Response.md +18 -0
  61. data/docs/CreateWebhookSubscription201Response.md +18 -0
  62. data/docs/CreateWebhookSubscription201ResponseData.md +30 -0
  63. data/docs/DeleteAgent200Response.md +18 -0
  64. data/docs/GetAccountHealth200Response.md +18 -0
  65. data/docs/GetBrandVoice200Response.md +18 -0
  66. data/docs/GetCompetitor200Response.md +18 -0
  67. data/docs/GetInboxConversation200Response.md +18 -0
  68. data/docs/GetPostingSchedule200Response.md +18 -0
  69. data/docs/GetReportBranding200Response.md +18 -0
  70. data/docs/GuardrailError.md +28 -0
  71. data/docs/HashtagGroup.md +22 -0
  72. data/docs/HashtagGroupInput.md +20 -0
  73. data/docs/HashtagGroupsApi.md +372 -0
  74. data/docs/ImageCreditBalance.md +28 -0
  75. data/docs/ImageEditInput.md +2 -0
  76. data/docs/ImageGenerate200Response.md +3 -1
  77. data/docs/ImageGenerateInput.md +3 -1
  78. data/docs/ImagePrompt200Response.md +3 -1
  79. data/docs/ImagePromptInput.md +3 -1
  80. data/docs/InboxApi.md +758 -0
  81. data/docs/InboxAuthor.md +22 -0
  82. data/docs/InboxConversation.md +46 -0
  83. data/docs/InboxConversationAccount.md +24 -0
  84. data/docs/InboxConversationUpdate.md +20 -0
  85. data/docs/InboxMessage.md +32 -0
  86. data/docs/InboxMessageAuthor.md +22 -0
  87. data/docs/InboxReplyDraft.md +42 -0
  88. data/docs/InboxReplyDraftApprove.md +18 -0
  89. data/docs/InboxReplyDraftEdit.md +18 -0
  90. data/docs/InboxReplyDraftInput.md +20 -0
  91. data/docs/LearnBrandVoiceInput.md +24 -0
  92. data/docs/LearnBrandVoiceResponse.md +20 -0
  93. data/docs/LearnBrandVoiceResponseMeta.md +26 -0
  94. data/docs/ListAccountGroups200Response.md +22 -0
  95. data/docs/ListAgentProposals200Response.md +20 -0
  96. data/docs/ListAgentRuns200Response.md +20 -0
  97. data/docs/ListAgents200Response.md +18 -0
  98. data/docs/ListApiActivity200Response.md +22 -0
  99. data/docs/ListApiKeys200Response.md +18 -0
  100. data/docs/ListCompetitors200Response.md +18 -0
  101. data/docs/ListHashtagGroups200Response.md +22 -0
  102. data/docs/ListInboxConversations200Response.md +22 -0
  103. data/docs/ListInboxReplyDrafts200Response.md +22 -0
  104. data/docs/ListRecyclingRules200Response.md +18 -0
  105. data/docs/ListRecyclingRuns200Response.md +18 -0
  106. data/docs/ListReportExports200Response.md +18 -0
  107. data/docs/ListResellerClients200Response.md +20 -0
  108. data/docs/ListRssFeeds200Response.md +18 -0
  109. data/docs/ListTemplates200Response.md +22 -0
  110. data/docs/ListWebhookSubscriptions200Response.md +18 -0
  111. data/docs/MediaApi.md +103 -13
  112. data/docs/MediaBase64Input.md +24 -0
  113. data/docs/MentionsApi.md +8 -4
  114. data/docs/MessageOnly.md +18 -0
  115. data/docs/PollRssFeed200Response.md +22 -0
  116. data/docs/PostContent.md +1 -1
  117. data/docs/PostInput.md +5 -1
  118. data/docs/PostOptionsInstagram.md +22 -0
  119. data/docs/PostOptionsTikTok.md +34 -0
  120. data/docs/PostOptionsYoutube.md +24 -0
  121. data/docs/PostVersion.md +2 -2
  122. data/docs/PostVersionOptions.md +24 -0
  123. data/docs/PostingSchedule.md +28 -0
  124. data/docs/PostingScheduleApi.md +377 -0
  125. data/docs/PostingScheduleDay.md +22 -0
  126. data/docs/PostingScheduleDayTimesInner.md +18 -0
  127. data/docs/PostingScheduleInput.md +24 -0
  128. data/docs/PostsApi.md +1132 -110
  129. data/docs/PreflightResult.md +26 -0
  130. data/docs/QueueSlots.md +20 -0
  131. data/docs/RecommendedPostingTimes.md +26 -0
  132. data/docs/ReconnectLink.md +22 -0
  133. data/docs/RecyclingRule.md +42 -0
  134. data/docs/RecyclingRuleInput.md +34 -0
  135. data/docs/RecyclingRuleSettings.md +28 -0
  136. data/docs/RecyclingRuleUpdate.md +28 -0
  137. data/docs/RecyclingRun.md +28 -0
  138. data/docs/ReportBranding.md +28 -0
  139. data/docs/ReportBrandingInput.md +24 -0
  140. data/docs/ReportExport.md +42 -0
  141. data/docs/ReportExportInput.md +28 -0
  142. data/docs/RepurposeContent200Response.md +20 -0
  143. data/docs/RepurposeInput.md +54 -0
  144. data/docs/RepurposeInputTheme.md +22 -0
  145. data/docs/RepurposeResult.md +32 -0
  146. data/docs/RepurposeResultMedia.md +20 -0
  147. data/docs/RepurposeResultSource.md +22 -0
  148. data/docs/RepurposeSlide.md +20 -0
  149. data/docs/ResellerClient.md +32 -0
  150. data/docs/ResellerClientInput.md +18 -0
  151. data/docs/ResellerClientUsage.md +20 -0
  152. data/docs/RssFeed.md +38 -0
  153. data/docs/RssFeedInput.md +30 -0
  154. data/docs/RssFeedUpdate.md +30 -0
  155. data/docs/RunAgent202Response.md +18 -0
  156. data/docs/TagsApi.md +8 -4
  157. data/docs/Template.md +22 -0
  158. data/docs/TemplateContentItem.md +20 -0
  159. data/docs/TemplateInput.md +20 -0
  160. data/docs/TemplateInputContentInner.md +20 -0
  161. data/docs/TemplatesApi.md +372 -0
  162. data/docs/WebhookEventName.md +15 -0
  163. data/docs/WebhookEventPayload.md +20 -0
  164. data/docs/WebhookSubscription.md +28 -0
  165. data/docs/WebhookSubscriptionInput.md +24 -0
  166. data/docs/WebhooksApi.md +221 -0
  167. data/docs/WorkspaceAgent.md +34 -0
  168. data/docs/WorkspaceAgentInput.md +26 -0
  169. data/docs/WorkspaceAgentSettings.md +26 -0
  170. data/docs/WorkspaceAgentUpdate.md +24 -0
  171. data/docs/WorkspacesApi.md +426 -0
  172. data/docs/XUsage.md +28 -0
  173. data/docs/XUsageCounter.md +20 -0
  174. data/lib/postboost/api/account_groups_api.rb +395 -0
  175. data/lib/postboost/api/accounts_api.rb +219 -2
  176. data/lib/postboost/api/activity_api.rb +97 -0
  177. data/lib/postboost/api/agents_api.rb +771 -0
  178. data/lib/postboost/api/ai_api.rb +420 -2
  179. data/lib/postboost/api/analytics_api.rb +487 -2
  180. data/lib/postboost/api/competitors_api.rb +300 -0
  181. data/lib/postboost/api/hashtag_groups_api.rb +395 -0
  182. data/lib/postboost/api/inbox_api.rb +789 -0
  183. data/lib/postboost/api/media_api.rb +133 -4
  184. data/lib/postboost/api/mentions_api.rb +13 -2
  185. data/lib/postboost/api/posting_schedule_api.rb +389 -0
  186. data/lib/postboost/api/posts_api.rb +1149 -96
  187. data/lib/postboost/api/receipts_api.rb +2 -2
  188. data/lib/postboost/api/subscriptions_api.rb +2 -2
  189. data/lib/postboost/api/tags_api.rb +13 -2
  190. data/lib/postboost/api/templates_api.rb +395 -0
  191. data/lib/postboost/api/users_api.rb +2 -2
  192. data/lib/postboost/api/webhooks_api.rb +228 -0
  193. data/lib/postboost/api/workspaces_api.rb +408 -2
  194. data/lib/postboost/api_client.rb +2 -2
  195. data/lib/postboost/api_error.rb +2 -2
  196. data/lib/postboost/configuration.rb +2 -2
  197. data/lib/postboost/models/account.rb +28 -4
  198. data/lib/postboost/models/account_analytics.rb +2 -2
  199. data/lib/postboost/models/account_analytics_initial_sync.rb +2 -2
  200. data/lib/postboost/models/account_connection_health.rb +389 -0
  201. data/lib/postboost/models/account_errors_inner.rb +105 -0
  202. data/lib/postboost/models/account_errors_inner_one_of.rb +243 -0
  203. data/lib/postboost/models/account_group.rb +271 -0
  204. data/lib/postboost/models/account_group_input.rb +252 -0
  205. data/lib/postboost/models/account_health.rb +352 -0
  206. data/lib/postboost/models/account_health_daily_cap.rb +239 -0
  207. data/lib/postboost/models/account_schedule.rb +2 -2
  208. data/lib/postboost/models/add_competitor202_response.rb +271 -0
  209. data/lib/postboost/models/add_competitor409_response.rb +223 -0
  210. data/lib/postboost/models/add_generic_subscription_request.rb +2 -2
  211. data/lib/postboost/models/add_post_to_queue_request.rb +2 -2
  212. data/lib/postboost/models/agent_page_meta.rb +269 -0
  213. data/lib/postboost/models/agent_proposal.rb +444 -0
  214. data/lib/postboost/models/agent_proposal_decision.rb +233 -0
  215. data/lib/postboost/models/agent_run.rb +434 -0
  216. data/lib/postboost/models/ai_credits.rb +2 -2
  217. data/lib/postboost/models/ai_usage.rb +237 -0
  218. data/lib/postboost/models/ai_usage_text.rb +252 -0
  219. data/lib/postboost/models/analytics_period.rb +2 -2
  220. data/lib/postboost/models/analytics_summary.rb +2 -2
  221. data/lib/postboost/models/analytics_summary_data.rb +2 -2
  222. data/lib/postboost/models/api_activity.rb +359 -0
  223. data/lib/postboost/models/api_activity_outcome.rb +49 -0
  224. data/lib/postboost/models/api_key.rb +308 -0
  225. data/lib/postboost/models/api_key_ability.rb +43 -0
  226. data/lib/postboost/models/api_key_input.rb +316 -0
  227. data/lib/postboost/models/approve_agent_proposal200_response.rb +221 -0
  228. data/lib/postboost/models/approve_agent_proposal409_response.rb +237 -0
  229. data/lib/postboost/models/approve_inbox_reply_draft403_response.rb +264 -0
  230. data/lib/postboost/models/approve_post_request.rb +2 -2
  231. data/lib/postboost/models/best_posting_times.rb +2 -2
  232. data/lib/postboost/models/best_posting_times_times_inner.rb +2 -2
  233. data/lib/postboost/models/blog_to_social200_response.rb +15 -6
  234. data/lib/postboost/models/blog_to_social429_response.rb +2 -2
  235. data/lib/postboost/models/blog_to_social_caption.rb +2 -2
  236. data/lib/postboost/models/blog_to_social_input.rb +18 -6
  237. data/lib/postboost/models/blog_to_social_media.rb +2 -2
  238. data/lib/postboost/models/blog_to_social_response.rb +2 -2
  239. data/lib/postboost/models/brand_voice.rb +531 -0
  240. data/lib/postboost/models/brand_voice_input.rb +646 -0
  241. data/lib/postboost/models/brand_voice_meta.rb +222 -0
  242. data/lib/postboost/models/cancel_subscription422_response.rb +2 -2
  243. data/lib/postboost/models/cancel_subscription422_response_errors.rb +2 -2
  244. data/lib/postboost/models/cancel_subscription_request.rb +2 -2
  245. data/lib/postboost/models/change_subscription_plan_request.rb +2 -2
  246. data/lib/postboost/models/channel_account.rb +380 -0
  247. data/lib/postboost/models/checkout_subscription200_response.rb +2 -2
  248. data/lib/postboost/models/checkout_subscription_request.rb +2 -2
  249. data/lib/postboost/models/coded_error.rb +242 -0
  250. data/lib/postboost/models/competitor.rb +320 -0
  251. data/lib/postboost/models/competitor_detail.rb +358 -0
  252. data/lib/postboost/models/competitor_input.rb +258 -0
  253. data/lib/postboost/models/competitor_media.rb +263 -0
  254. data/lib/postboost/models/competitor_snapshot.rb +234 -0
  255. data/lib/postboost/models/complete_chunked_upload_request.rb +2 -2
  256. data/lib/postboost/models/connect_channel_input.rb +265 -0
  257. data/lib/postboost/models/create_account_group201_response.rb +221 -0
  258. data/lib/postboost/models/create_agent201_response.rb +221 -0
  259. data/lib/postboost/models/create_api_key201_response.rb +221 -0
  260. data/lib/postboost/models/create_api_key201_response_data.rb +327 -0
  261. data/lib/postboost/models/create_hashtag_group201_response.rb +221 -0
  262. data/lib/postboost/models/create_inbox_reply_draft201_response.rb +221 -0
  263. data/lib/postboost/models/create_media_folder_request.rb +2 -2
  264. data/lib/postboost/models/create_mention201_response.rb +2 -2
  265. data/lib/postboost/models/create_recycling_rule201_response.rb +221 -0
  266. data/lib/postboost/models/create_report_export201_response.rb +221 -0
  267. data/lib/postboost/models/create_reseller_client201_response.rb +221 -0
  268. data/lib/postboost/models/create_rss_feed201_response.rb +221 -0
  269. data/lib/postboost/models/create_template201_response.rb +221 -0
  270. data/lib/postboost/models/create_webhook_subscription201_response.rb +221 -0
  271. data/lib/postboost/models/create_webhook_subscription201_response_data.rb +320 -0
  272. data/lib/postboost/models/delete_agent200_response.rb +221 -0
  273. data/lib/postboost/models/delete_media_bulk_request.rb +2 -2
  274. data/lib/postboost/models/delete_media_bulk_request_items_inner.rb +2 -2
  275. data/lib/postboost/models/delete_media_folder_request.rb +2 -2
  276. data/lib/postboost/models/delete_mode.rb +2 -2
  277. data/lib/postboost/models/delete_post_request.rb +2 -2
  278. data/lib/postboost/models/delete_posts_bulk_request.rb +2 -2
  279. data/lib/postboost/models/delete_receipts_bulk_request.rb +2 -2
  280. data/lib/postboost/models/delete_result.rb +2 -2
  281. data/lib/postboost/models/delete_user400_response.rb +2 -2
  282. data/lib/postboost/models/delete_users_bulk_request.rb +2 -2
  283. data/lib/postboost/models/delete_workspaces_bulk_request.rb +2 -2
  284. data/lib/postboost/models/get_account_health200_response.rb +223 -0
  285. data/lib/postboost/models/get_brand_voice200_response.rb +217 -0
  286. data/lib/postboost/models/get_competitor200_response.rb +221 -0
  287. data/lib/postboost/models/get_inbox_conversation200_response.rb +221 -0
  288. data/lib/postboost/models/get_posting_schedule200_response.rb +221 -0
  289. data/lib/postboost/models/get_remote_upload_status200_response.rb +2 -2
  290. data/lib/postboost/models/get_report_branding200_response.rb +221 -0
  291. data/lib/postboost/models/guardrail_error.rb +304 -0
  292. data/lib/postboost/models/hashtag_group.rb +254 -0
  293. data/lib/postboost/models/hashtag_group_input.rb +275 -0
  294. data/lib/postboost/models/image_alt_text200_response.rb +2 -2
  295. data/lib/postboost/models/image_alt_text_input.rb +2 -2
  296. data/lib/postboost/models/image_alt_text_response.rb +2 -2
  297. data/lib/postboost/models/image_credit_balance.rb +295 -0
  298. data/lib/postboost/models/image_edit_input.rb +15 -3
  299. data/lib/postboost/models/image_generate200_response.rb +15 -6
  300. data/lib/postboost/models/image_generate429_response.rb +2 -2
  301. data/lib/postboost/models/image_generate_input.rb +35 -3
  302. data/lib/postboost/models/image_generation_response.rb +2 -2
  303. data/lib/postboost/models/image_prompt200_response.rb +15 -6
  304. data/lib/postboost/models/image_prompt429_response.rb +2 -2
  305. data/lib/postboost/models/image_prompt_input.rb +35 -3
  306. data/lib/postboost/models/image_prompt_response.rb +2 -2
  307. data/lib/postboost/models/image_variations200_response.rb +2 -2
  308. data/lib/postboost/models/image_variations_input.rb +2 -2
  309. data/lib/postboost/models/image_variations_response.rb +2 -2
  310. data/lib/postboost/models/inbox_author.rb +235 -0
  311. data/lib/postboost/models/inbox_conversation.rb +425 -0
  312. data/lib/postboost/models/inbox_conversation_account.rb +241 -0
  313. data/lib/postboost/models/inbox_conversation_update.rb +257 -0
  314. data/lib/postboost/models/inbox_message.rb +360 -0
  315. data/lib/postboost/models/inbox_message_author.rb +235 -0
  316. data/lib/postboost/models/inbox_reply_draft.rb +410 -0
  317. data/lib/postboost/models/inbox_reply_draft_approve.rb +215 -0
  318. data/lib/postboost/models/inbox_reply_draft_edit.rb +221 -0
  319. data/lib/postboost/models/inbox_reply_draft_input.rb +232 -0
  320. data/lib/postboost/models/initiate_chunked_upload201_response.rb +2 -2
  321. data/lib/postboost/models/initiate_chunked_upload_request.rb +2 -2
  322. data/lib/postboost/models/initiate_remote_upload201_response.rb +2 -2
  323. data/lib/postboost/models/initiate_remote_upload201_response_one_of.rb +2 -2
  324. data/lib/postboost/models/initiate_remote_upload_request.rb +2 -2
  325. data/lib/postboost/models/learn_brand_voice_input.rb +300 -0
  326. data/lib/postboost/models/learn_brand_voice_response.rb +237 -0
  327. data/lib/postboost/models/learn_brand_voice_response_meta.rb +281 -0
  328. data/lib/postboost/models/list_account_groups200_response.rb +248 -0
  329. data/lib/postboost/models/list_accounts200_response.rb +2 -2
  330. data/lib/postboost/models/list_agent_proposals200_response.rb +239 -0
  331. data/lib/postboost/models/list_agent_runs200_response.rb +239 -0
  332. data/lib/postboost/models/list_agents200_response.rb +223 -0
  333. data/lib/postboost/models/list_api_activity200_response.rb +241 -0
  334. data/lib/postboost/models/list_api_keys200_response.rb +223 -0
  335. data/lib/postboost/models/list_competitors200_response.rb +223 -0
  336. data/lib/postboost/models/list_hashtag_groups200_response.rb +248 -0
  337. data/lib/postboost/models/list_inbox_conversations200_response.rb +241 -0
  338. data/lib/postboost/models/list_inbox_reply_drafts200_response.rb +241 -0
  339. data/lib/postboost/models/list_media200_response.rb +2 -2
  340. data/lib/postboost/models/list_media_folders200_response.rb +2 -2
  341. data/lib/postboost/models/list_mentions200_response.rb +2 -2
  342. data/lib/postboost/models/list_my_workspaces200_response.rb +2 -2
  343. data/lib/postboost/models/list_posts200_response.rb +2 -2
  344. data/lib/postboost/models/list_receipts200_response.rb +2 -2
  345. data/lib/postboost/models/list_recycling_rules200_response.rb +223 -0
  346. data/lib/postboost/models/list_recycling_runs200_response.rb +223 -0
  347. data/lib/postboost/models/list_report_exports200_response.rb +223 -0
  348. data/lib/postboost/models/list_reseller_clients200_response.rb +239 -0
  349. data/lib/postboost/models/list_rss_feeds200_response.rb +223 -0
  350. data/lib/postboost/models/list_tags200_response.rb +2 -2
  351. data/lib/postboost/models/list_templates200_response.rb +248 -0
  352. data/lib/postboost/models/list_users200_response.rb +2 -2
  353. data/lib/postboost/models/list_webhook_subscriptions200_response.rb +223 -0
  354. data/lib/postboost/models/list_workspaces200_response.rb +2 -2
  355. data/lib/postboost/models/media.rb +2 -2
  356. data/lib/postboost/models/media_base64_input.rb +295 -0
  357. data/lib/postboost/models/media_folder.rb +2 -2
  358. data/lib/postboost/models/media_folder_input.rb +2 -2
  359. data/lib/postboost/models/media_folder_ref.rb +2 -2
  360. data/lib/postboost/models/mention.rb +2 -2
  361. data/lib/postboost/models/mention_identity.rb +2 -2
  362. data/lib/postboost/models/mention_identity_input.rb +2 -2
  363. data/lib/postboost/models/mention_input.rb +2 -2
  364. data/lib/postboost/models/message_only.rb +221 -0
  365. data/lib/postboost/models/pagination_meta.rb +2 -2
  366. data/lib/postboost/models/pagination_meta_links.rb +4 -2
  367. data/lib/postboost/models/pagination_meta_meta.rb +4 -2
  368. data/lib/postboost/models/poll_rss_feed200_response.rb +255 -0
  369. data/lib/postboost/models/post.rb +2 -2
  370. data/lib/postboost/models/post_analytics.rb +2 -2
  371. data/lib/postboost/models/post_content.rb +4 -3
  372. data/lib/postboost/models/post_input.rb +28 -6
  373. data/lib/postboost/models/post_options_instagram.rb +294 -0
  374. data/lib/postboost/models/post_options_tik_tok.rb +329 -0
  375. data/lib/postboost/models/post_options_youtube.rb +302 -0
  376. data/lib/postboost/models/post_status.rb +2 -2
  377. data/lib/postboost/models/post_version.rb +23 -4
  378. data/lib/postboost/models/post_version_options.rb +242 -0
  379. data/lib/postboost/models/posting_schedule.rb +303 -0
  380. data/lib/postboost/models/posting_schedule_day.rb +285 -0
  381. data/lib/postboost/models/posting_schedule_day_times_inner.rb +222 -0
  382. data/lib/postboost/models/posting_schedule_input.rb +312 -0
  383. data/lib/postboost/models/posting_time_slot.rb +2 -2
  384. data/lib/postboost/models/posting_times.rb +2 -2
  385. data/lib/postboost/models/posting_times_best_inner.rb +2 -2
  386. data/lib/postboost/models/posting_times_day_intervals_inner_inner.rb +2 -2
  387. data/lib/postboost/models/posting_times_days_inner.rb +2 -2
  388. data/lib/postboost/models/preflight_result.rb +291 -0
  389. data/lib/postboost/models/public_workspace.rb +2 -2
  390. data/lib/postboost/models/public_workspace_pivot.rb +2 -2
  391. data/lib/postboost/models/publish_progress.rb +2 -2
  392. data/lib/postboost/models/queue_slots.rb +237 -0
  393. data/lib/postboost/models/receipt.rb +2 -2
  394. data/lib/postboost/models/receipt_input.rb +2 -2
  395. data/lib/postboost/models/receipt_update_input.rb +2 -2
  396. data/lib/postboost/models/recommended_posting_times.rb +282 -0
  397. data/lib/postboost/models/reconnect_link.rb +254 -0
  398. data/lib/postboost/models/recycling_rule.rb +434 -0
  399. data/lib/postboost/models/recycling_rule_input.rb +435 -0
  400. data/lib/postboost/models/recycling_rule_settings.rb +381 -0
  401. data/lib/postboost/models/recycling_rule_update.rb +366 -0
  402. data/lib/postboost/models/recycling_run.rb +320 -0
  403. data/lib/postboost/models/remove_generic_subscription422_response.rb +2 -2
  404. data/lib/postboost/models/remove_user_from_workspace_request.rb +2 -2
  405. data/lib/postboost/models/report_branding.rb +285 -0
  406. data/lib/postboost/models/report_branding_input.rb +293 -0
  407. data/lib/postboost/models/report_export.rb +442 -0
  408. data/lib/postboost/models/report_export_input.rb +350 -0
  409. data/lib/postboost/models/repurpose_content200_response.rb +237 -0
  410. data/lib/postboost/models/repurpose_input.rb +667 -0
  411. data/lib/postboost/models/repurpose_input_theme.rb +296 -0
  412. data/lib/postboost/models/repurpose_result.rb +328 -0
  413. data/lib/postboost/models/repurpose_result_media.rb +224 -0
  414. data/lib/postboost/models/repurpose_result_source.rb +283 -0
  415. data/lib/postboost/models/repurpose_slide.rb +239 -0
  416. data/lib/postboost/models/reseller_client.rb +360 -0
  417. data/lib/postboost/models/reseller_client_input.rb +240 -0
  418. data/lib/postboost/models/reseller_client_usage.rb +239 -0
  419. data/lib/postboost/models/retry_post_account_result.rb +2 -2
  420. data/lib/postboost/models/rss_feed.rb +402 -0
  421. data/lib/postboost/models/rss_feed_input.rb +433 -0
  422. data/lib/postboost/models/rss_feed_update.rb +396 -0
  423. data/lib/postboost/models/run_agent202_response.rb +221 -0
  424. data/lib/postboost/models/schedule_post_request.rb +2 -2
  425. data/lib/postboost/models/schedule_result.rb +2 -2
  426. data/lib/postboost/models/subscription.rb +2 -2
  427. data/lib/postboost/models/subscription_input.rb +2 -2
  428. data/lib/postboost/models/subscription_status.rb +2 -2
  429. data/lib/postboost/models/subscription_update_input.rb +2 -2
  430. data/lib/postboost/models/tag.rb +2 -2
  431. data/lib/postboost/models/tag_input.rb +2 -2
  432. data/lib/postboost/models/template.rb +256 -0
  433. data/lib/postboost/models/template_content_item.rb +240 -0
  434. data/lib/postboost/models/template_input.rb +271 -0
  435. data/lib/postboost/models/template_input_content_inner.rb +227 -0
  436. data/lib/postboost/models/update_media_request.rb +2 -2
  437. data/lib/postboost/models/upload_chunk201_response.rb +2 -2
  438. data/lib/postboost/models/user.rb +2 -2
  439. data/lib/postboost/models/user_input.rb +2 -2
  440. data/lib/postboost/models/user_update_input.rb +2 -2
  441. data/lib/postboost/models/webhook_event_name.rb +50 -0
  442. data/lib/postboost/models/webhook_event_payload.rb +262 -0
  443. data/lib/postboost/models/webhook_subscription.rb +297 -0
  444. data/lib/postboost/models/webhook_subscription_input.rb +349 -0
  445. data/lib/postboost/models/workspace.rb +2 -2
  446. data/lib/postboost/models/workspace_agent.rb +381 -0
  447. data/lib/postboost/models/workspace_agent_input.rb +326 -0
  448. data/lib/postboost/models/workspace_agent_settings.rb +340 -0
  449. data/lib/postboost/models/workspace_agent_update.rb +294 -0
  450. data/lib/postboost/models/workspace_input.rb +2 -2
  451. data/lib/postboost/models/workspace_user_input.rb +2 -2
  452. data/lib/postboost/models/x_usage.rb +303 -0
  453. data/lib/postboost/models/x_usage_counter.rb +234 -0
  454. data/lib/postboost/version.rb +3 -3
  455. data/lib/postboost.rb +151 -2
  456. data/postboost.gemspec +3 -3
  457. data/spec/api/account_groups_api_spec.rb +102 -0
  458. data/spec/api/accounts_api_spec.rb +41 -2
  459. data/spec/api/activity_api_spec.rb +51 -0
  460. data/spec/api/agents_api_spec.rb +170 -0
  461. data/spec/api/ai_api_spec.rb +78 -2
  462. data/spec/api/analytics_api_spec.rb +90 -2
  463. data/spec/api/competitors_api_spec.rb +87 -0
  464. data/spec/api/hashtag_groups_api_spec.rb +102 -0
  465. data/spec/api/inbox_api_spec.rb +178 -0
  466. data/spec/api/media_api_spec.rb +21 -3
  467. data/spec/api/mentions_api_spec.rb +3 -2
  468. data/spec/api/posting_schedule_api_spec.rb +102 -0
  469. data/spec/api/posts_api_spec.rb +189 -3
  470. data/spec/api/receipts_api_spec.rb +2 -2
  471. data/spec/api/subscriptions_api_spec.rb +2 -2
  472. data/spec/api/tags_api_spec.rb +3 -2
  473. data/spec/api/templates_api_spec.rb +102 -0
  474. data/spec/api/users_api_spec.rb +2 -2
  475. data/spec/api/webhooks_api_spec.rb +73 -0
  476. data/spec/api/workspaces_api_spec.rb +77 -2
  477. data/spec/models/account_analytics_initial_sync_spec.rb +2 -2
  478. data/spec/models/account_analytics_spec.rb +2 -2
  479. data/spec/models/account_connection_health_spec.rb +92 -0
  480. data/spec/models/account_errors_inner_one_of_spec.rb +54 -0
  481. data/spec/models/account_errors_inner_spec.rb +32 -0
  482. data/spec/models/account_group_input_spec.rb +42 -0
  483. data/spec/models/account_group_spec.rb +54 -0
  484. data/spec/models/account_health_daily_cap_spec.rb +42 -0
  485. data/spec/models/account_health_spec.rb +84 -0
  486. data/spec/models/account_schedule_spec.rb +2 -2
  487. data/spec/models/account_spec.rb +14 -2
  488. data/spec/models/add_competitor202_response_spec.rb +46 -0
  489. data/spec/models/add_competitor409_response_spec.rb +42 -0
  490. data/spec/models/add_generic_subscription_request_spec.rb +2 -2
  491. data/spec/models/add_post_to_queue_request_spec.rb +2 -2
  492. data/spec/models/agent_page_meta_spec.rb +54 -0
  493. data/spec/models/agent_proposal_decision_spec.rb +36 -0
  494. data/spec/models/agent_proposal_spec.rb +126 -0
  495. data/spec/models/agent_run_spec.rb +122 -0
  496. data/spec/models/ai_credits_spec.rb +2 -2
  497. data/spec/models/ai_usage_spec.rb +42 -0
  498. data/spec/models/ai_usage_text_spec.rb +54 -0
  499. data/spec/models/analytics_period_spec.rb +2 -2
  500. data/spec/models/analytics_summary_data_spec.rb +2 -2
  501. data/spec/models/analytics_summary_spec.rb +2 -2
  502. data/spec/models/api_activity_outcome_spec.rb +30 -0
  503. data/spec/models/api_activity_spec.rb +90 -0
  504. data/spec/models/api_key_ability_spec.rb +30 -0
  505. data/spec/models/api_key_input_spec.rb +54 -0
  506. data/spec/models/api_key_spec.rb +78 -0
  507. data/spec/models/approve_agent_proposal200_response_spec.rb +36 -0
  508. data/spec/models/approve_agent_proposal409_response_spec.rb +42 -0
  509. data/spec/models/approve_inbox_reply_draft403_response_spec.rb +46 -0
  510. data/spec/models/approve_post_request_spec.rb +2 -2
  511. data/spec/models/best_posting_times_spec.rb +2 -2
  512. data/spec/models/best_posting_times_times_inner_spec.rb +2 -2
  513. data/spec/models/blog_to_social200_response_spec.rb +8 -2
  514. data/spec/models/blog_to_social429_response_spec.rb +2 -2
  515. data/spec/models/blog_to_social_caption_spec.rb +2 -2
  516. data/spec/models/blog_to_social_input_spec.rb +8 -2
  517. data/spec/models/blog_to_social_media_spec.rb +2 -2
  518. data/spec/models/blog_to_social_response_spec.rb +2 -2
  519. data/spec/models/brand_voice_input_spec.rb +128 -0
  520. data/spec/models/brand_voice_meta_spec.rb +36 -0
  521. data/spec/models/brand_voice_spec.rb +134 -0
  522. data/spec/models/cancel_subscription422_response_errors_spec.rb +2 -2
  523. data/spec/models/cancel_subscription422_response_spec.rb +2 -2
  524. data/spec/models/cancel_subscription_request_spec.rb +2 -2
  525. data/spec/models/change_subscription_plan_request_spec.rb +2 -2
  526. data/spec/models/channel_account_spec.rb +94 -0
  527. data/spec/models/checkout_subscription200_response_spec.rb +2 -2
  528. data/spec/models/checkout_subscription_request_spec.rb +2 -2
  529. data/spec/models/coded_error_spec.rb +48 -0
  530. data/spec/models/competitor_detail_spec.rb +96 -0
  531. data/spec/models/competitor_input_spec.rb +42 -0
  532. data/spec/models/competitor_media_spec.rb +66 -0
  533. data/spec/models/competitor_snapshot_spec.rb +48 -0
  534. data/spec/models/competitor_spec.rb +84 -0
  535. data/spec/models/complete_chunked_upload_request_spec.rb +2 -2
  536. data/spec/models/connect_channel_input_spec.rb +54 -0
  537. data/spec/models/create_account_group201_response_spec.rb +36 -0
  538. data/spec/models/create_agent201_response_spec.rb +36 -0
  539. data/spec/models/create_api_key201_response_data_spec.rb +84 -0
  540. data/spec/models/create_api_key201_response_spec.rb +36 -0
  541. data/spec/models/create_hashtag_group201_response_spec.rb +36 -0
  542. data/spec/models/create_inbox_reply_draft201_response_spec.rb +36 -0
  543. data/spec/models/create_media_folder_request_spec.rb +2 -2
  544. data/spec/models/create_mention201_response_spec.rb +2 -2
  545. data/spec/models/create_recycling_rule201_response_spec.rb +36 -0
  546. data/spec/models/create_report_export201_response_spec.rb +36 -0
  547. data/spec/models/create_reseller_client201_response_spec.rb +36 -0
  548. data/spec/models/create_rss_feed201_response_spec.rb +36 -0
  549. data/spec/models/create_template201_response_spec.rb +36 -0
  550. data/spec/models/create_webhook_subscription201_response_data_spec.rb +72 -0
  551. data/spec/models/create_webhook_subscription201_response_spec.rb +36 -0
  552. data/spec/models/delete_agent200_response_spec.rb +36 -0
  553. data/spec/models/delete_media_bulk_request_items_inner_spec.rb +2 -2
  554. data/spec/models/delete_media_bulk_request_spec.rb +2 -2
  555. data/spec/models/delete_media_folder_request_spec.rb +2 -2
  556. data/spec/models/delete_mode_spec.rb +2 -2
  557. data/spec/models/delete_post_request_spec.rb +2 -2
  558. data/spec/models/delete_posts_bulk_request_spec.rb +2 -2
  559. data/spec/models/delete_receipts_bulk_request_spec.rb +2 -2
  560. data/spec/models/delete_result_spec.rb +2 -2
  561. data/spec/models/delete_user400_response_spec.rb +2 -2
  562. data/spec/models/delete_users_bulk_request_spec.rb +2 -2
  563. data/spec/models/delete_workspaces_bulk_request_spec.rb +2 -2
  564. data/spec/models/get_account_health200_response_spec.rb +36 -0
  565. data/spec/models/get_brand_voice200_response_spec.rb +36 -0
  566. data/spec/models/get_competitor200_response_spec.rb +36 -0
  567. data/spec/models/get_inbox_conversation200_response_spec.rb +36 -0
  568. data/spec/models/get_posting_schedule200_response_spec.rb +36 -0
  569. data/spec/models/get_remote_upload_status200_response_spec.rb +2 -2
  570. data/spec/models/get_report_branding200_response_spec.rb +36 -0
  571. data/spec/models/guardrail_error_spec.rb +70 -0
  572. data/spec/models/hashtag_group_input_spec.rb +42 -0
  573. data/spec/models/hashtag_group_spec.rb +48 -0
  574. data/spec/models/image_alt_text200_response_spec.rb +2 -2
  575. data/spec/models/image_alt_text_input_spec.rb +2 -2
  576. data/spec/models/image_alt_text_response_spec.rb +2 -2
  577. data/spec/models/image_credit_balance_spec.rb +66 -0
  578. data/spec/models/image_edit_input_spec.rb +8 -2
  579. data/spec/models/image_generate200_response_spec.rb +8 -2
  580. data/spec/models/image_generate429_response_spec.rb +2 -2
  581. data/spec/models/image_generate_input_spec.rb +8 -2
  582. data/spec/models/image_generation_response_spec.rb +2 -2
  583. data/spec/models/image_prompt200_response_spec.rb +8 -2
  584. data/spec/models/image_prompt429_response_spec.rb +2 -2
  585. data/spec/models/image_prompt_input_spec.rb +8 -2
  586. data/spec/models/image_prompt_response_spec.rb +2 -2
  587. data/spec/models/image_variations200_response_spec.rb +2 -2
  588. data/spec/models/image_variations_input_spec.rb +2 -2
  589. data/spec/models/image_variations_response_spec.rb +2 -2
  590. data/spec/models/inbox_author_spec.rb +48 -0
  591. data/spec/models/inbox_conversation_account_spec.rb +54 -0
  592. data/spec/models/inbox_conversation_spec.rb +128 -0
  593. data/spec/models/inbox_conversation_update_spec.rb +46 -0
  594. data/spec/models/inbox_message_author_spec.rb +48 -0
  595. data/spec/models/inbox_message_spec.rb +90 -0
  596. data/spec/models/inbox_reply_draft_approve_spec.rb +36 -0
  597. data/spec/models/inbox_reply_draft_edit_spec.rb +36 -0
  598. data/spec/models/inbox_reply_draft_input_spec.rb +42 -0
  599. data/spec/models/inbox_reply_draft_spec.rb +116 -0
  600. data/spec/models/initiate_chunked_upload201_response_spec.rb +2 -2
  601. data/spec/models/initiate_chunked_upload_request_spec.rb +2 -2
  602. data/spec/models/initiate_remote_upload201_response_one_of_spec.rb +2 -2
  603. data/spec/models/initiate_remote_upload201_response_spec.rb +2 -2
  604. data/spec/models/initiate_remote_upload_request_spec.rb +2 -2
  605. data/spec/models/learn_brand_voice_input_spec.rb +54 -0
  606. data/spec/models/learn_brand_voice_response_meta_spec.rb +60 -0
  607. data/spec/models/learn_brand_voice_response_spec.rb +42 -0
  608. data/spec/models/list_account_groups200_response_spec.rb +48 -0
  609. data/spec/models/list_accounts200_response_spec.rb +2 -2
  610. data/spec/models/list_agent_proposals200_response_spec.rb +42 -0
  611. data/spec/models/list_agent_runs200_response_spec.rb +42 -0
  612. data/spec/models/list_agents200_response_spec.rb +36 -0
  613. data/spec/models/list_api_activity200_response_spec.rb +48 -0
  614. data/spec/models/list_api_keys200_response_spec.rb +36 -0
  615. data/spec/models/list_competitors200_response_spec.rb +36 -0
  616. data/spec/models/list_hashtag_groups200_response_spec.rb +48 -0
  617. data/spec/models/list_inbox_conversations200_response_spec.rb +48 -0
  618. data/spec/models/list_inbox_reply_drafts200_response_spec.rb +48 -0
  619. data/spec/models/list_media200_response_spec.rb +2 -2
  620. data/spec/models/list_media_folders200_response_spec.rb +2 -2
  621. data/spec/models/list_mentions200_response_spec.rb +2 -2
  622. data/spec/models/list_my_workspaces200_response_spec.rb +2 -2
  623. data/spec/models/list_posts200_response_spec.rb +2 -2
  624. data/spec/models/list_receipts200_response_spec.rb +2 -2
  625. data/spec/models/list_recycling_rules200_response_spec.rb +36 -0
  626. data/spec/models/list_recycling_runs200_response_spec.rb +36 -0
  627. data/spec/models/list_report_exports200_response_spec.rb +36 -0
  628. data/spec/models/list_reseller_clients200_response_spec.rb +42 -0
  629. data/spec/models/list_rss_feeds200_response_spec.rb +36 -0
  630. data/spec/models/list_tags200_response_spec.rb +2 -2
  631. data/spec/models/list_templates200_response_spec.rb +48 -0
  632. data/spec/models/list_users200_response_spec.rb +2 -2
  633. data/spec/models/list_webhook_subscriptions200_response_spec.rb +36 -0
  634. data/spec/models/list_workspaces200_response_spec.rb +2 -2
  635. data/spec/models/media_base64_input_spec.rb +54 -0
  636. data/spec/models/media_folder_input_spec.rb +2 -2
  637. data/spec/models/media_folder_ref_spec.rb +2 -2
  638. data/spec/models/media_folder_spec.rb +2 -2
  639. data/spec/models/media_spec.rb +2 -2
  640. data/spec/models/mention_identity_input_spec.rb +2 -2
  641. data/spec/models/mention_identity_spec.rb +2 -2
  642. data/spec/models/mention_input_spec.rb +2 -2
  643. data/spec/models/mention_spec.rb +2 -2
  644. data/spec/models/message_only_spec.rb +36 -0
  645. data/spec/models/pagination_meta_links_spec.rb +2 -2
  646. data/spec/models/pagination_meta_meta_spec.rb +2 -2
  647. data/spec/models/pagination_meta_spec.rb +2 -2
  648. data/spec/models/poll_rss_feed200_response_spec.rb +48 -0
  649. data/spec/models/post_analytics_spec.rb +2 -2
  650. data/spec/models/post_content_spec.rb +2 -2
  651. data/spec/models/post_input_spec.rb +14 -2
  652. data/spec/models/post_options_instagram_spec.rb +52 -0
  653. data/spec/models/post_options_tik_tok_spec.rb +88 -0
  654. data/spec/models/post_options_youtube_spec.rb +58 -0
  655. data/spec/models/post_spec.rb +2 -2
  656. data/spec/models/post_status_spec.rb +2 -2
  657. data/spec/models/post_version_options_spec.rb +54 -0
  658. data/spec/models/post_version_spec.rb +2 -2
  659. data/spec/models/posting_schedule_day_spec.rb +48 -0
  660. data/spec/models/posting_schedule_day_times_inner_spec.rb +36 -0
  661. data/spec/models/posting_schedule_input_spec.rb +54 -0
  662. data/spec/models/posting_schedule_spec.rb +66 -0
  663. data/spec/models/posting_time_slot_spec.rb +2 -2
  664. data/spec/models/posting_times_best_inner_spec.rb +2 -2
  665. data/spec/models/posting_times_day_intervals_inner_inner_spec.rb +2 -2
  666. data/spec/models/posting_times_days_inner_spec.rb +2 -2
  667. data/spec/models/posting_times_spec.rb +2 -2
  668. data/spec/models/preflight_result_spec.rb +60 -0
  669. data/spec/models/public_workspace_pivot_spec.rb +2 -2
  670. data/spec/models/public_workspace_spec.rb +2 -2
  671. data/spec/models/publish_progress_spec.rb +2 -2
  672. data/spec/models/queue_slots_spec.rb +42 -0
  673. data/spec/models/receipt_input_spec.rb +2 -2
  674. data/spec/models/receipt_spec.rb +2 -2
  675. data/spec/models/receipt_update_input_spec.rb +2 -2
  676. data/spec/models/recommended_posting_times_spec.rb +60 -0
  677. data/spec/models/reconnect_link_spec.rb +48 -0
  678. data/spec/models/recycling_rule_input_spec.rb +92 -0
  679. data/spec/models/recycling_rule_settings_spec.rb +70 -0
  680. data/spec/models/recycling_rule_spec.rb +116 -0
  681. data/spec/models/recycling_rule_update_spec.rb +70 -0
  682. data/spec/models/recycling_run_spec.rb +70 -0
  683. data/spec/models/remove_generic_subscription422_response_spec.rb +2 -2
  684. data/spec/models/remove_user_from_workspace_request_spec.rb +2 -2
  685. data/spec/models/report_branding_input_spec.rb +54 -0
  686. data/spec/models/report_branding_spec.rb +66 -0
  687. data/spec/models/report_export_input_spec.rb +78 -0
  688. data/spec/models/report_export_spec.rb +120 -0
  689. data/spec/models/repurpose_content200_response_spec.rb +42 -0
  690. data/spec/models/repurpose_input_spec.rb +164 -0
  691. data/spec/models/repurpose_input_theme_spec.rb +48 -0
  692. data/spec/models/repurpose_result_media_spec.rb +42 -0
  693. data/spec/models/repurpose_result_source_spec.rb +52 -0
  694. data/spec/models/repurpose_result_spec.rb +78 -0
  695. data/spec/models/repurpose_slide_spec.rb +42 -0
  696. data/spec/models/reseller_client_input_spec.rb +36 -0
  697. data/spec/models/reseller_client_spec.rb +82 -0
  698. data/spec/models/reseller_client_usage_spec.rb +42 -0
  699. data/spec/models/retry_post_account_result_spec.rb +2 -2
  700. data/spec/models/rss_feed_input_spec.rb +76 -0
  701. data/spec/models/rss_feed_spec.rb +100 -0
  702. data/spec/models/rss_feed_update_spec.rb +76 -0
  703. data/spec/models/run_agent202_response_spec.rb +36 -0
  704. data/spec/models/schedule_post_request_spec.rb +2 -2
  705. data/spec/models/schedule_result_spec.rb +2 -2
  706. data/spec/models/subscription_input_spec.rb +2 -2
  707. data/spec/models/subscription_spec.rb +2 -2
  708. data/spec/models/subscription_status_spec.rb +2 -2
  709. data/spec/models/subscription_update_input_spec.rb +2 -2
  710. data/spec/models/tag_input_spec.rb +2 -2
  711. data/spec/models/tag_spec.rb +2 -2
  712. data/spec/models/template_content_item_spec.rb +42 -0
  713. data/spec/models/template_input_content_inner_spec.rb +42 -0
  714. data/spec/models/template_input_spec.rb +42 -0
  715. data/spec/models/template_spec.rb +48 -0
  716. data/spec/models/update_media_request_spec.rb +2 -2
  717. data/spec/models/upload_chunk201_response_spec.rb +2 -2
  718. data/spec/models/user_input_spec.rb +2 -2
  719. data/spec/models/user_spec.rb +2 -2
  720. data/spec/models/user_update_input_spec.rb +2 -2
  721. data/spec/models/webhook_event_name_spec.rb +30 -0
  722. data/spec/models/webhook_event_payload_spec.rb +42 -0
  723. data/spec/models/webhook_subscription_input_spec.rb +58 -0
  724. data/spec/models/webhook_subscription_spec.rb +66 -0
  725. data/spec/models/workspace_agent_input_spec.rb +68 -0
  726. data/spec/models/workspace_agent_settings_spec.rb +60 -0
  727. data/spec/models/workspace_agent_spec.rb +92 -0
  728. data/spec/models/workspace_agent_update_spec.rb +58 -0
  729. data/spec/models/workspace_input_spec.rb +2 -2
  730. data/spec/models/workspace_spec.rb +2 -2
  731. data/spec/models/workspace_user_input_spec.rb +2 -2
  732. data/spec/models/x_usage_counter_spec.rb +42 -0
  733. data/spec/models/x_usage_spec.rb +66 -0
  734. data/spec/spec_helper.rb +2 -2
  735. metadata +615 -4
data/docs/PostsApi.md CHANGED
@@ -7,14 +7,28 @@ All URIs are relative to *https://postboost.co/app/api*
7
7
  | [**add_post_to_queue**](PostsApi.md#add_post_to_queue) | **POST** /{workspaceUuid}/posts/add-to-queue/{postUuid} | Add post to queue |
8
8
  | [**approve_post**](PostsApi.md#approve_post) | **POST** /{workspaceUuid}/posts/approve/{postUuid} | Approve post |
9
9
  | [**create_post**](PostsApi.md#create_post) | **POST** /{workspaceUuid}/posts | Create post |
10
+ | [**create_recycling_rule**](PostsApi.md#create_recycling_rule) | **POST** /{workspaceUuid}/recycling-rules | Create a recycling rule |
11
+ | [**create_rss_feed**](PostsApi.md#create_rss_feed) | **POST** /{workspaceUuid}/rss-feeds | Add an RSS feed |
10
12
  | [**delete_post**](PostsApi.md#delete_post) | **DELETE** /{workspaceUuid}/posts/{postUuid} | Delete post |
11
13
  | [**delete_posts_bulk**](PostsApi.md#delete_posts_bulk) | **DELETE** /{workspaceUuid}/posts | Delete posts (bulk) |
14
+ | [**delete_recycling_rule**](PostsApi.md#delete_recycling_rule) | **DELETE** /{workspaceUuid}/recycling-rules/{ruleUuid} | Delete a recycling rule |
15
+ | [**delete_rss_feed**](PostsApi.md#delete_rss_feed) | **DELETE** /{workspaceUuid}/rss-feeds/{feedUuid} | Delete an RSS feed |
12
16
  | [**get_post**](PostsApi.md#get_post) | **GET** /{workspaceUuid}/posts/{postUuid} | Get post |
13
17
  | [**get_post_analytics**](PostsApi.md#get_post_analytics) | **GET** /{workspaceUuid}/posts/{postUuid}/analytics | Get post analytics |
18
+ | [**get_recycling_rule**](PostsApi.md#get_recycling_rule) | **GET** /{workspaceUuid}/recycling-rules/{ruleUuid} | Get a recycling rule |
19
+ | [**get_rss_feed**](PostsApi.md#get_rss_feed) | **GET** /{workspaceUuid}/rss-feeds/{feedUuid} | Get an RSS feed |
14
20
  | [**list_posts**](PostsApi.md#list_posts) | **GET** /{workspaceUuid}/posts | List posts |
21
+ | [**list_recycling_rules**](PostsApi.md#list_recycling_rules) | **GET** /{workspaceUuid}/recycling-rules | List recycling rules |
22
+ | [**list_recycling_runs**](PostsApi.md#list_recycling_runs) | **GET** /{workspaceUuid}/recycling-rules/{ruleUuid}/runs | List a recycling rule's runs |
23
+ | [**list_rss_feeds**](PostsApi.md#list_rss_feeds) | **GET** /{workspaceUuid}/rss-feeds | List RSS feeds |
24
+ | [**poll_rss_feed**](PostsApi.md#poll_rss_feed) | **POST** /{workspaceUuid}/rss-feeds/{feedUuid}/poll | Check an RSS feed now |
25
+ | [**recycle_post**](PostsApi.md#recycle_post) | **POST** /{workspaceUuid}/posts/{postUuid}/recycle | Recycle a post on an interval |
15
26
  | [**retry_post_account**](PostsApi.md#retry_post_account) | **POST** /{workspaceUuid}/posts/retry/{postUuid}/{accountUuid} | Retry publishing to one account |
16
27
  | [**schedule_post**](PostsApi.md#schedule_post) | **POST** /{workspaceUuid}/posts/schedule/{postUuid} | Schedule post |
17
28
  | [**update_post**](PostsApi.md#update_post) | **PUT** /{workspaceUuid}/posts/{postUuid} | Update post |
29
+ | [**update_recycling_rule**](PostsApi.md#update_recycling_rule) | **PUT** /{workspaceUuid}/recycling-rules/{ruleUuid} | Update, pause or resume a recycling rule |
30
+ | [**update_rss_feed**](PostsApi.md#update_rss_feed) | **PUT** /{workspaceUuid}/rss-feeds/{feedUuid} | Update, pause or resume an RSS feed |
31
+ | [**validate_post**](PostsApi.md#validate_post) | **POST** /{workspaceUuid}/posts/validate | Validate post (dry run) |
18
32
 
19
33
 
20
34
  ## add_post_to_queue
@@ -40,6 +54,7 @@ api_instance = PostBoost::PostsApi.new
40
54
  workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
41
55
  post_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the post.
42
56
  opts = {
57
+ idempotency_key: 'idempotency_key_example', # String | Unique key (for example a UUID) that makes the request safe to retry. A repeat with the same key and body within 24 hours returns the stored response with `Idempotent-Replayed: true` and has no further effect. Keys are scoped to your user, the workspace, the method and the path.
43
58
  add_post_to_queue_request: PostBoost::AddPostToQueueRequest.new # AddPostToQueueRequest |
44
59
  }
45
60
 
@@ -76,6 +91,7 @@ end
76
91
  | ---- | ---- | ----------- | ----- |
77
92
  | **workspace_uuid** | **String** | UUID of the workspace. | |
78
93
  | **post_uuid** | **String** | UUID of the post. | |
94
+ | **idempotency_key** | **String** | Unique key (for example a UUID) that makes the request safe to retry. A repeat with the same key and body within 24 hours returns the stored response with `Idempotent-Replayed: true` and has no further effect. Keys are scoped to your user, the workspace, the method and the path. | [optional] |
79
95
  | **add_post_to_queue_request** | [**AddPostToQueueRequest**](AddPostToQueueRequest.md) | | [optional] |
80
96
 
81
97
  ### Return type
@@ -115,6 +131,7 @@ api_instance = PostBoost::PostsApi.new
115
131
  workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
116
132
  post_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the post.
117
133
  opts = {
134
+ idempotency_key: 'idempotency_key_example', # String | Unique key (for example a UUID) that makes the request safe to retry. A repeat with the same key and body within 24 hours returns the stored response with `Idempotent-Replayed: true` and has no further effect. Keys are scoped to your user, the workspace, the method and the path.
118
135
  approve_post_request: PostBoost::ApprovePostRequest.new # ApprovePostRequest |
119
136
  }
120
137
 
@@ -151,6 +168,7 @@ end
151
168
  | ---- | ---- | ----------- | ----- |
152
169
  | **workspace_uuid** | **String** | UUID of the workspace. | |
153
170
  | **post_uuid** | **String** | UUID of the post. | |
171
+ | **idempotency_key** | **String** | Unique key (for example a UUID) that makes the request safe to retry. A repeat with the same key and body within 24 hours returns the stored response with `Idempotent-Replayed: true` and has no further effect. Keys are scoped to your user, the workspace, the method and the path. | [optional] |
154
172
  | **approve_post_request** | [**ApprovePostRequest**](ApprovePostRequest.md) | | [optional] |
155
173
 
156
174
  ### Return type
@@ -169,11 +187,11 @@ end
169
187
 
170
188
  ## create_post
171
189
 
172
- > <Post> create_post(workspace_uuid, post_input)
190
+ > <Post> create_post(workspace_uuid, post_input, opts)
173
191
 
174
192
  Create post
175
193
 
176
- Create a new post. Use `schedule: true` with `date` and `time` to schedule, `schedule_now: true` to publish immediately, or `queue: true` to add to the smart publishing queue (each account gets its own queue slot). `date`, `time` and `accounts_schedule` are read in `timezone` when given, otherwise in the workspace timezone. Use `accounts_schedule` to give individual accounts their own departure time. Post bodies may reference mentions with `{{mention:<reference>}}` (see the Mentions endpoints). When the post is scheduled, provider requirements (for example a network that requires media) are validated up front and reported as `422`.
194
+ Create a new post. Use `schedule: true` with `date` and `time` to schedule, `schedule_now: true` to publish immediately, or `queue: true` to add to the smart publishing queue (each account gets its own queue slot). `date`, `time` and `accounts_schedule` are read in `timezone` when given, otherwise in the workspace timezone. Use `accounts_schedule` to give individual accounts their own departure time. Post bodies may reference mentions with `{{mention:<reference>}}` (see the Mentions endpoints). When the post is scheduled, provider requirements (for example a network that requires media) are validated up front and reported as `422`. **First comment and threads.** A version's `content` is an ordered array. Item 0 is the post. Add a second item to publish a first comment on Facebook Page, Instagram and LinkedIn, or to continue a thread on X, Threads, Bluesky, Mastodon and Pixelfed: ```json { \"accounts\": [12], \"schedule_now\": true, \"versions\": [{ \"account_id\": 0, \"is_original\": true, \"content\": [ { \"body\": \"Our API 1.8 is live.\", \"media\": [345] }, { \"body\": \"Full changelog: https://postboost.co/docs/changelog/\" } ] }] } ``` The comment is posted right after the post goes live. If the comment fails, the post stays published and the account's entry on the post reports the error.
177
195
 
178
196
  ### Examples
179
197
 
@@ -189,10 +207,13 @@ end
189
207
  api_instance = PostBoost::PostsApi.new
190
208
  workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
191
209
  post_input = PostBoost::PostInput.new({versions: [PostBoost::PostVersion.new({account_id: 37, is_original: false, content: [PostBoost::PostContent.new]})]}) # PostInput |
210
+ opts = {
211
+ idempotency_key: 'idempotency_key_example' # String | Unique key (for example a UUID) that makes the request safe to retry. A repeat with the same key and body within 24 hours returns the stored response with `Idempotent-Replayed: true` and has no further effect. Keys are scoped to your user, the workspace, the method and the path.
212
+ }
192
213
 
193
214
  begin
194
215
  # Create post
195
- result = api_instance.create_post(workspace_uuid, post_input)
216
+ result = api_instance.create_post(workspace_uuid, post_input, opts)
196
217
  p result
197
218
  rescue PostBoost::ApiError => e
198
219
  puts "Error when calling PostsApi->create_post: #{e}"
@@ -203,12 +224,12 @@ end
203
224
 
204
225
  This returns an Array which contains the response data, status code and headers.
205
226
 
206
- > <Array(<Post>, Integer, Hash)> create_post_with_http_info(workspace_uuid, post_input)
227
+ > <Array(<Post>, Integer, Hash)> create_post_with_http_info(workspace_uuid, post_input, opts)
207
228
 
208
229
  ```ruby
209
230
  begin
210
231
  # Create post
211
- data, status_code, headers = api_instance.create_post_with_http_info(workspace_uuid, post_input)
232
+ data, status_code, headers = api_instance.create_post_with_http_info(workspace_uuid, post_input, opts)
212
233
  p status_code # => 2xx
213
234
  p headers # => { ... }
214
235
  p data # => <Post>
@@ -223,6 +244,7 @@ end
223
244
  | ---- | ---- | ----------- | ----- |
224
245
  | **workspace_uuid** | **String** | UUID of the workspace. | |
225
246
  | **post_input** | [**PostInput**](PostInput.md) | | |
247
+ | **idempotency_key** | **String** | Unique key (for example a UUID) that makes the request safe to retry. A repeat with the same key and body within 24 hours returns the stored response with &#x60;Idempotent-Replayed: true&#x60; and has no further effect. Keys are scoped to your user, the workspace, the method and the path. | [optional] |
226
248
 
227
249
  ### Return type
228
250
 
@@ -238,6 +260,148 @@ end
238
260
  - **Accept**: application/json
239
261
 
240
262
 
263
+ ## create_recycling_rule
264
+
265
+ > <CreateRecyclingRule201Response> create_recycling_rule(workspace_uuid, recycling_rule_input)
266
+
267
+ Create a recycling rule
268
+
269
+ Recycles one post (`post_uuid`) or a tag pool (`type: tag_pool` + `tag_uuid`) every `interval_days`. The first run is `start_at`, or one interval from now. Copies are never published immediately: `placement: queue` (default) takes each account's next free queue slot, `same_time` schedules at the source post's time of day, `draft` leaves a draft. Copies pass the same guardrails as posts created through the API (duplicate guard, per-account daily caps, disconnected accounts, X monthly allowance). A refused copy is not created; the run is logged with the guard's code (see the runs endpoint). X accounts are left out of copies because X rejects repeated text. Admins and members only.
270
+
271
+ ### Examples
272
+
273
+ ```ruby
274
+ require 'time'
275
+ require 'postboost'
276
+ # setup authorization
277
+ PostBoost.configure do |config|
278
+ # Configure Bearer authorization: bearerAuth
279
+ config.access_token = 'YOUR_BEARER_TOKEN'
280
+ end
281
+
282
+ api_instance = PostBoost::PostsApi.new
283
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
284
+ recycling_rule_input = PostBoost::RecyclingRuleInput.new({interval_days: 37}) # RecyclingRuleInput |
285
+
286
+ begin
287
+ # Create a recycling rule
288
+ result = api_instance.create_recycling_rule(workspace_uuid, recycling_rule_input)
289
+ p result
290
+ rescue PostBoost::ApiError => e
291
+ puts "Error when calling PostsApi->create_recycling_rule: #{e}"
292
+ end
293
+ ```
294
+
295
+ #### Using the create_recycling_rule_with_http_info variant
296
+
297
+ This returns an Array which contains the response data, status code and headers.
298
+
299
+ > <Array(<CreateRecyclingRule201Response>, Integer, Hash)> create_recycling_rule_with_http_info(workspace_uuid, recycling_rule_input)
300
+
301
+ ```ruby
302
+ begin
303
+ # Create a recycling rule
304
+ data, status_code, headers = api_instance.create_recycling_rule_with_http_info(workspace_uuid, recycling_rule_input)
305
+ p status_code # => 2xx
306
+ p headers # => { ... }
307
+ p data # => <CreateRecyclingRule201Response>
308
+ rescue PostBoost::ApiError => e
309
+ puts "Error when calling PostsApi->create_recycling_rule_with_http_info: #{e}"
310
+ end
311
+ ```
312
+
313
+ ### Parameters
314
+
315
+ | Name | Type | Description | Notes |
316
+ | ---- | ---- | ----------- | ----- |
317
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
318
+ | **recycling_rule_input** | [**RecyclingRuleInput**](RecyclingRuleInput.md) | | |
319
+
320
+ ### Return type
321
+
322
+ [**CreateRecyclingRule201Response**](CreateRecyclingRule201Response.md)
323
+
324
+ ### Authorization
325
+
326
+ [bearerAuth](../README.md#bearerAuth)
327
+
328
+ ### HTTP request headers
329
+
330
+ - **Content-Type**: application/json
331
+ - **Accept**: application/json
332
+
333
+
334
+ ## create_rss_feed
335
+
336
+ > <CreateRssFeed201Response> create_rss_feed(workspace_uuid, rss_feed_input)
337
+
338
+ Add an RSS feed
339
+
340
+ Checks the feed every 30 minutes and turns each item published after the feed was added into a post for `account_ids`: a draft (`mode: draft`, default) or a queued post (`mode: queue`). The text comes from `template` with `{title}`, `{link}` and `{summary}` placeholders. Each item becomes at most one post, at most `max_items_per_run` per check and 20 per workspace per day. Posts pass the same guardrails as API-created posts. Only public http(s) URLs are accepted. Admins and members only.
341
+
342
+ ### Examples
343
+
344
+ ```ruby
345
+ require 'time'
346
+ require 'postboost'
347
+ # setup authorization
348
+ PostBoost.configure do |config|
349
+ # Configure Bearer authorization: bearerAuth
350
+ config.access_token = 'YOUR_BEARER_TOKEN'
351
+ end
352
+
353
+ api_instance = PostBoost::PostsApi.new
354
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
355
+ rss_feed_input = PostBoost::RssFeedInput.new({url: 'url_example', account_ids: [37]}) # RssFeedInput |
356
+
357
+ begin
358
+ # Add an RSS feed
359
+ result = api_instance.create_rss_feed(workspace_uuid, rss_feed_input)
360
+ p result
361
+ rescue PostBoost::ApiError => e
362
+ puts "Error when calling PostsApi->create_rss_feed: #{e}"
363
+ end
364
+ ```
365
+
366
+ #### Using the create_rss_feed_with_http_info variant
367
+
368
+ This returns an Array which contains the response data, status code and headers.
369
+
370
+ > <Array(<CreateRssFeed201Response>, Integer, Hash)> create_rss_feed_with_http_info(workspace_uuid, rss_feed_input)
371
+
372
+ ```ruby
373
+ begin
374
+ # Add an RSS feed
375
+ data, status_code, headers = api_instance.create_rss_feed_with_http_info(workspace_uuid, rss_feed_input)
376
+ p status_code # => 2xx
377
+ p headers # => { ... }
378
+ p data # => <CreateRssFeed201Response>
379
+ rescue PostBoost::ApiError => e
380
+ puts "Error when calling PostsApi->create_rss_feed_with_http_info: #{e}"
381
+ end
382
+ ```
383
+
384
+ ### Parameters
385
+
386
+ | Name | Type | Description | Notes |
387
+ | ---- | ---- | ----------- | ----- |
388
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
389
+ | **rss_feed_input** | [**RssFeedInput**](RssFeedInput.md) | | |
390
+
391
+ ### Return type
392
+
393
+ [**CreateRssFeed201Response**](CreateRssFeed201Response.md)
394
+
395
+ ### Authorization
396
+
397
+ [bearerAuth](../README.md#bearerAuth)
398
+
399
+ ### HTTP request headers
400
+
401
+ - **Content-Type**: application/json
402
+ - **Accept**: application/json
403
+
404
+
241
405
  ## delete_post
242
406
 
243
407
  > <DeleteResult> delete_post(workspace_uuid, post_uuid, opts)
@@ -384,13 +548,13 @@ end
384
548
  - **Accept**: application/json
385
549
 
386
550
 
387
- ## get_post
551
+ ## delete_recycling_rule
388
552
 
389
- > <Post> get_post(workspace_uuid, post_uuid)
553
+ > Object delete_recycling_rule(workspace_uuid, rule_uuid)
390
554
 
391
- Get post
555
+ Delete a recycling rule
392
556
 
393
- Returns a single post with all its versions and associated accounts.
557
+ Deletes the rule and its run log. Copies it already created stay. Admins and members only.
394
558
 
395
559
  ### Examples
396
560
 
@@ -405,32 +569,32 @@ end
405
569
 
406
570
  api_instance = PostBoost::PostsApi.new
407
571
  workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
408
- post_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the post.
572
+ rule_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the recycling rule.
409
573
 
410
574
  begin
411
- # Get post
412
- result = api_instance.get_post(workspace_uuid, post_uuid)
575
+ # Delete a recycling rule
576
+ result = api_instance.delete_recycling_rule(workspace_uuid, rule_uuid)
413
577
  p result
414
578
  rescue PostBoost::ApiError => e
415
- puts "Error when calling PostsApi->get_post: #{e}"
579
+ puts "Error when calling PostsApi->delete_recycling_rule: #{e}"
416
580
  end
417
581
  ```
418
582
 
419
- #### Using the get_post_with_http_info variant
583
+ #### Using the delete_recycling_rule_with_http_info variant
420
584
 
421
585
  This returns an Array which contains the response data, status code and headers.
422
586
 
423
- > <Array(<Post>, Integer, Hash)> get_post_with_http_info(workspace_uuid, post_uuid)
587
+ > <Array(Object, Integer, Hash)> delete_recycling_rule_with_http_info(workspace_uuid, rule_uuid)
424
588
 
425
589
  ```ruby
426
590
  begin
427
- # Get post
428
- data, status_code, headers = api_instance.get_post_with_http_info(workspace_uuid, post_uuid)
591
+ # Delete a recycling rule
592
+ data, status_code, headers = api_instance.delete_recycling_rule_with_http_info(workspace_uuid, rule_uuid)
429
593
  p status_code # => 2xx
430
594
  p headers # => { ... }
431
- p data # => <Post>
595
+ p data # => Object
432
596
  rescue PostBoost::ApiError => e
433
- puts "Error when calling PostsApi->get_post_with_http_info: #{e}"
597
+ puts "Error when calling PostsApi->delete_recycling_rule_with_http_info: #{e}"
434
598
  end
435
599
  ```
436
600
 
@@ -439,11 +603,11 @@ end
439
603
  | Name | Type | Description | Notes |
440
604
  | ---- | ---- | ----------- | ----- |
441
605
  | **workspace_uuid** | **String** | UUID of the workspace. | |
442
- | **post_uuid** | **String** | UUID of the post. | |
606
+ | **rule_uuid** | **String** | UUID of the recycling rule. | |
443
607
 
444
608
  ### Return type
445
609
 
446
- [**Post**](Post.md)
610
+ **Object**
447
611
 
448
612
  ### Authorization
449
613
 
@@ -455,13 +619,13 @@ end
455
619
  - **Accept**: application/json
456
620
 
457
621
 
458
- ## get_post_analytics
622
+ ## delete_rss_feed
459
623
 
460
- > <PostAnalytics> get_post_analytics(workspace_uuid, post_uuid)
624
+ > Object delete_rss_feed(workspace_uuid, feed_uuid)
461
625
 
462
- Get post analytics
626
+ Delete an RSS feed
463
627
 
464
- Engagement metrics for a published post across its accounts (also works for trashed posts), with totals, trends and the best-performing account.
628
+ Stops the feed. Posts it already created stay. Admins and members only.
465
629
 
466
630
  ### Examples
467
631
 
@@ -476,32 +640,32 @@ end
476
640
 
477
641
  api_instance = PostBoost::PostsApi.new
478
642
  workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
479
- post_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the post.
643
+ feed_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the RSS feed.
480
644
 
481
645
  begin
482
- # Get post analytics
483
- result = api_instance.get_post_analytics(workspace_uuid, post_uuid)
646
+ # Delete an RSS feed
647
+ result = api_instance.delete_rss_feed(workspace_uuid, feed_uuid)
484
648
  p result
485
649
  rescue PostBoost::ApiError => e
486
- puts "Error when calling PostsApi->get_post_analytics: #{e}"
650
+ puts "Error when calling PostsApi->delete_rss_feed: #{e}"
487
651
  end
488
652
  ```
489
653
 
490
- #### Using the get_post_analytics_with_http_info variant
654
+ #### Using the delete_rss_feed_with_http_info variant
491
655
 
492
656
  This returns an Array which contains the response data, status code and headers.
493
657
 
494
- > <Array(<PostAnalytics>, Integer, Hash)> get_post_analytics_with_http_info(workspace_uuid, post_uuid)
658
+ > <Array(Object, Integer, Hash)> delete_rss_feed_with_http_info(workspace_uuid, feed_uuid)
495
659
 
496
660
  ```ruby
497
661
  begin
498
- # Get post analytics
499
- data, status_code, headers = api_instance.get_post_analytics_with_http_info(workspace_uuid, post_uuid)
662
+ # Delete an RSS feed
663
+ data, status_code, headers = api_instance.delete_rss_feed_with_http_info(workspace_uuid, feed_uuid)
500
664
  p status_code # => 2xx
501
665
  p headers # => { ... }
502
- p data # => <PostAnalytics>
666
+ p data # => Object
503
667
  rescue PostBoost::ApiError => e
504
- puts "Error when calling PostsApi->get_post_analytics_with_http_info: #{e}"
668
+ puts "Error when calling PostsApi->delete_rss_feed_with_http_info: #{e}"
505
669
  end
506
670
  ```
507
671
 
@@ -510,11 +674,11 @@ end
510
674
  | Name | Type | Description | Notes |
511
675
  | ---- | ---- | ----------- | ----- |
512
676
  | **workspace_uuid** | **String** | UUID of the workspace. | |
513
- | **post_uuid** | **String** | UUID of the post. | |
677
+ | **feed_uuid** | **String** | UUID of the RSS feed. | |
514
678
 
515
679
  ### Return type
516
680
 
517
- [**PostAnalytics**](PostAnalytics.md)
681
+ **Object**
518
682
 
519
683
  ### Authorization
520
684
 
@@ -526,13 +690,13 @@ end
526
690
  - **Accept**: application/json
527
691
 
528
692
 
529
- ## list_posts
693
+ ## get_post
530
694
 
531
- > <ListPosts200Response> list_posts(workspace_uuid, opts)
695
+ > <Post> get_post(workspace_uuid, post_uuid)
532
696
 
533
- List posts
697
+ Get post
534
698
 
535
- Returns a paginated list of posts in the workspace.
699
+ Returns a single post with all its versions and associated accounts.
536
700
 
537
701
  ### Examples
538
702
 
@@ -547,34 +711,32 @@ end
547
711
 
548
712
  api_instance = PostBoost::PostsApi.new
549
713
  workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
550
- opts = {
551
- page: 56 # Integer |
552
- }
714
+ post_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the post.
553
715
 
554
716
  begin
555
- # List posts
556
- result = api_instance.list_posts(workspace_uuid, opts)
717
+ # Get post
718
+ result = api_instance.get_post(workspace_uuid, post_uuid)
557
719
  p result
558
720
  rescue PostBoost::ApiError => e
559
- puts "Error when calling PostsApi->list_posts: #{e}"
721
+ puts "Error when calling PostsApi->get_post: #{e}"
560
722
  end
561
723
  ```
562
724
 
563
- #### Using the list_posts_with_http_info variant
725
+ #### Using the get_post_with_http_info variant
564
726
 
565
727
  This returns an Array which contains the response data, status code and headers.
566
728
 
567
- > <Array(<ListPosts200Response>, Integer, Hash)> list_posts_with_http_info(workspace_uuid, opts)
729
+ > <Array(<Post>, Integer, Hash)> get_post_with_http_info(workspace_uuid, post_uuid)
568
730
 
569
731
  ```ruby
570
732
  begin
571
- # List posts
572
- data, status_code, headers = api_instance.list_posts_with_http_info(workspace_uuid, opts)
733
+ # Get post
734
+ data, status_code, headers = api_instance.get_post_with_http_info(workspace_uuid, post_uuid)
573
735
  p status_code # => 2xx
574
736
  p headers # => { ... }
575
- p data # => <ListPosts200Response>
737
+ p data # => <Post>
576
738
  rescue PostBoost::ApiError => e
577
- puts "Error when calling PostsApi->list_posts_with_http_info: #{e}"
739
+ puts "Error when calling PostsApi->get_post_with_http_info: #{e}"
578
740
  end
579
741
  ```
580
742
 
@@ -583,11 +745,11 @@ end
583
745
  | Name | Type | Description | Notes |
584
746
  | ---- | ---- | ----------- | ----- |
585
747
  | **workspace_uuid** | **String** | UUID of the workspace. | |
586
- | **page** | **Integer** | | [optional][default to 1] |
748
+ | **post_uuid** | **String** | UUID of the post. | |
587
749
 
588
750
  ### Return type
589
751
 
590
- [**ListPosts200Response**](ListPosts200Response.md)
752
+ [**Post**](Post.md)
591
753
 
592
754
  ### Authorization
593
755
 
@@ -599,13 +761,13 @@ end
599
761
  - **Accept**: application/json
600
762
 
601
763
 
602
- ## retry_post_account
764
+ ## get_post_analytics
603
765
 
604
- > <RetryPostAccountResult> retry_post_account(workspace_uuid, post_uuid, account_uuid)
766
+ > <PostAnalytics> get_post_analytics(workspace_uuid, post_uuid)
605
767
 
606
- Retry publishing to one account
768
+ Get post analytics
607
769
 
608
- Re-publishes a post to a single account whose publishing failed. Returns `422` when the account is not on the post, the post is still publishing, or the account did not fail.
770
+ Engagement metrics for a published post across its accounts (also works for trashed posts), with totals, trends and the best-performing account.
609
771
 
610
772
  ### Examples
611
773
 
@@ -621,32 +783,31 @@ end
621
783
  api_instance = PostBoost::PostsApi.new
622
784
  workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
623
785
  post_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the post.
624
- account_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the social media account.
625
786
 
626
787
  begin
627
- # Retry publishing to one account
628
- result = api_instance.retry_post_account(workspace_uuid, post_uuid, account_uuid)
788
+ # Get post analytics
789
+ result = api_instance.get_post_analytics(workspace_uuid, post_uuid)
629
790
  p result
630
791
  rescue PostBoost::ApiError => e
631
- puts "Error when calling PostsApi->retry_post_account: #{e}"
792
+ puts "Error when calling PostsApi->get_post_analytics: #{e}"
632
793
  end
633
794
  ```
634
795
 
635
- #### Using the retry_post_account_with_http_info variant
796
+ #### Using the get_post_analytics_with_http_info variant
636
797
 
637
798
  This returns an Array which contains the response data, status code and headers.
638
799
 
639
- > <Array(<RetryPostAccountResult>, Integer, Hash)> retry_post_account_with_http_info(workspace_uuid, post_uuid, account_uuid)
800
+ > <Array(<PostAnalytics>, Integer, Hash)> get_post_analytics_with_http_info(workspace_uuid, post_uuid)
640
801
 
641
802
  ```ruby
642
803
  begin
643
- # Retry publishing to one account
644
- data, status_code, headers = api_instance.retry_post_account_with_http_info(workspace_uuid, post_uuid, account_uuid)
804
+ # Get post analytics
805
+ data, status_code, headers = api_instance.get_post_analytics_with_http_info(workspace_uuid, post_uuid)
645
806
  p status_code # => 2xx
646
807
  p headers # => { ... }
647
- p data # => <RetryPostAccountResult>
808
+ p data # => <PostAnalytics>
648
809
  rescue PostBoost::ApiError => e
649
- puts "Error when calling PostsApi->retry_post_account_with_http_info: #{e}"
810
+ puts "Error when calling PostsApi->get_post_analytics_with_http_info: #{e}"
650
811
  end
651
812
  ```
652
813
 
@@ -656,11 +817,10 @@ end
656
817
  | ---- | ---- | ----------- | ----- |
657
818
  | **workspace_uuid** | **String** | UUID of the workspace. | |
658
819
  | **post_uuid** | **String** | UUID of the post. | |
659
- | **account_uuid** | **String** | UUID of the social media account. | |
660
820
 
661
821
  ### Return type
662
822
 
663
- [**RetryPostAccountResult**](RetryPostAccountResult.md)
823
+ [**PostAnalytics**](PostAnalytics.md)
664
824
 
665
825
  ### Authorization
666
826
 
@@ -672,13 +832,11 @@ end
672
832
  - **Accept**: application/json
673
833
 
674
834
 
675
- ## schedule_post
676
-
677
- > <ScheduleResult> schedule_post(workspace_uuid, post_uuid, schedule_post_request)
835
+ ## get_recycling_rule
678
836
 
679
- Schedule post
837
+ > <CreateRecyclingRule201Response> get_recycling_rule(workspace_uuid, rule_uuid)
680
838
 
681
- Schedule an existing post. Optionally move it with `date`/`time` (read in `timezone`) and give accounts their own times with `accounts_schedule`. Set `postNow: true` to publish immediately; publishing starts within the request and any per-account times are dropped. Provider requirements are validated and reported as `422`.
839
+ Get a recycling rule
682
840
 
683
841
  ### Examples
684
842
 
@@ -693,33 +851,32 @@ end
693
851
 
694
852
  api_instance = PostBoost::PostsApi.new
695
853
  workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
696
- post_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the post.
697
- schedule_post_request = PostBoost::SchedulePostRequest.new({post_now: false}) # SchedulePostRequest |
854
+ rule_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the recycling rule.
698
855
 
699
856
  begin
700
- # Schedule post
701
- result = api_instance.schedule_post(workspace_uuid, post_uuid, schedule_post_request)
857
+ # Get a recycling rule
858
+ result = api_instance.get_recycling_rule(workspace_uuid, rule_uuid)
702
859
  p result
703
860
  rescue PostBoost::ApiError => e
704
- puts "Error when calling PostsApi->schedule_post: #{e}"
861
+ puts "Error when calling PostsApi->get_recycling_rule: #{e}"
705
862
  end
706
863
  ```
707
864
 
708
- #### Using the schedule_post_with_http_info variant
865
+ #### Using the get_recycling_rule_with_http_info variant
709
866
 
710
867
  This returns an Array which contains the response data, status code and headers.
711
868
 
712
- > <Array(<ScheduleResult>, Integer, Hash)> schedule_post_with_http_info(workspace_uuid, post_uuid, schedule_post_request)
869
+ > <Array(<CreateRecyclingRule201Response>, Integer, Hash)> get_recycling_rule_with_http_info(workspace_uuid, rule_uuid)
713
870
 
714
871
  ```ruby
715
872
  begin
716
- # Schedule post
717
- data, status_code, headers = api_instance.schedule_post_with_http_info(workspace_uuid, post_uuid, schedule_post_request)
873
+ # Get a recycling rule
874
+ data, status_code, headers = api_instance.get_recycling_rule_with_http_info(workspace_uuid, rule_uuid)
718
875
  p status_code # => 2xx
719
876
  p headers # => { ... }
720
- p data # => <ScheduleResult>
877
+ p data # => <CreateRecyclingRule201Response>
721
878
  rescue PostBoost::ApiError => e
722
- puts "Error when calling PostsApi->schedule_post_with_http_info: #{e}"
879
+ puts "Error when calling PostsApi->get_recycling_rule_with_http_info: #{e}"
723
880
  end
724
881
  ```
725
882
 
@@ -728,12 +885,11 @@ end
728
885
  | Name | Type | Description | Notes |
729
886
  | ---- | ---- | ----------- | ----- |
730
887
  | **workspace_uuid** | **String** | UUID of the workspace. | |
731
- | **post_uuid** | **String** | UUID of the post. | |
732
- | **schedule_post_request** | [**SchedulePostRequest**](SchedulePostRequest.md) | | |
888
+ | **rule_uuid** | **String** | UUID of the recycling rule. | |
733
889
 
734
890
  ### Return type
735
891
 
736
- [**ScheduleResult**](ScheduleResult.md)
892
+ [**CreateRecyclingRule201Response**](CreateRecyclingRule201Response.md)
737
893
 
738
894
  ### Authorization
739
895
 
@@ -741,17 +897,15 @@ end
741
897
 
742
898
  ### HTTP request headers
743
899
 
744
- - **Content-Type**: application/json
900
+ - **Content-Type**: Not defined
745
901
  - **Accept**: application/json
746
902
 
747
903
 
748
- ## update_post
749
-
750
- > Object update_post(workspace_uuid, post_uuid, post_input)
904
+ ## get_rss_feed
751
905
 
752
- Update post
906
+ > <CreateRssFeed201Response> get_rss_feed(workspace_uuid, feed_uuid)
753
907
 
754
- Replaces a post's versions, accounts, tags, and scheduling options. The post must not be in a published state. `timezone` is honoured: `date`, `time` and `accounts_schedule` are read in it. When the post stays scheduled, provider requirements are validated and reported as `422`.
908
+ Get an RSS feed
755
909
 
756
910
  ### Examples
757
911
 
@@ -766,33 +920,32 @@ end
766
920
 
767
921
  api_instance = PostBoost::PostsApi.new
768
922
  workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
769
- post_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the post.
770
- post_input = PostBoost::PostInput.new({versions: [PostBoost::PostVersion.new({account_id: 37, is_original: false, content: [PostBoost::PostContent.new]})]}) # PostInput |
923
+ feed_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the RSS feed.
771
924
 
772
925
  begin
773
- # Update post
774
- result = api_instance.update_post(workspace_uuid, post_uuid, post_input)
926
+ # Get an RSS feed
927
+ result = api_instance.get_rss_feed(workspace_uuid, feed_uuid)
775
928
  p result
776
929
  rescue PostBoost::ApiError => e
777
- puts "Error when calling PostsApi->update_post: #{e}"
930
+ puts "Error when calling PostsApi->get_rss_feed: #{e}"
778
931
  end
779
932
  ```
780
933
 
781
- #### Using the update_post_with_http_info variant
934
+ #### Using the get_rss_feed_with_http_info variant
782
935
 
783
936
  This returns an Array which contains the response data, status code and headers.
784
937
 
785
- > <Array(Object, Integer, Hash)> update_post_with_http_info(workspace_uuid, post_uuid, post_input)
938
+ > <Array(<CreateRssFeed201Response>, Integer, Hash)> get_rss_feed_with_http_info(workspace_uuid, feed_uuid)
786
939
 
787
940
  ```ruby
788
941
  begin
789
- # Update post
790
- data, status_code, headers = api_instance.update_post_with_http_info(workspace_uuid, post_uuid, post_input)
942
+ # Get an RSS feed
943
+ data, status_code, headers = api_instance.get_rss_feed_with_http_info(workspace_uuid, feed_uuid)
791
944
  p status_code # => 2xx
792
945
  p headers # => { ... }
793
- p data # => Object
946
+ p data # => <CreateRssFeed201Response>
794
947
  rescue PostBoost::ApiError => e
795
- puts "Error when calling PostsApi->update_post_with_http_info: #{e}"
948
+ puts "Error when calling PostsApi->get_rss_feed_with_http_info: #{e}"
796
949
  end
797
950
  ```
798
951
 
@@ -801,12 +954,881 @@ end
801
954
  | Name | Type | Description | Notes |
802
955
  | ---- | ---- | ----------- | ----- |
803
956
  | **workspace_uuid** | **String** | UUID of the workspace. | |
804
- | **post_uuid** | **String** | UUID of the post. | |
805
- | **post_input** | [**PostInput**](PostInput.md) | | |
957
+ | **feed_uuid** | **String** | UUID of the RSS feed. | |
806
958
 
807
959
  ### Return type
808
960
 
809
- **Object**
961
+ [**CreateRssFeed201Response**](CreateRssFeed201Response.md)
962
+
963
+ ### Authorization
964
+
965
+ [bearerAuth](../README.md#bearerAuth)
966
+
967
+ ### HTTP request headers
968
+
969
+ - **Content-Type**: Not defined
970
+ - **Accept**: application/json
971
+
972
+
973
+ ## list_posts
974
+
975
+ > <ListPosts200Response> list_posts(workspace_uuid, opts)
976
+
977
+ List posts
978
+
979
+ Returns a paginated list of posts in the workspace.
980
+
981
+ ### Examples
982
+
983
+ ```ruby
984
+ require 'time'
985
+ require 'postboost'
986
+ # setup authorization
987
+ PostBoost.configure do |config|
988
+ # Configure Bearer authorization: bearerAuth
989
+ config.access_token = 'YOUR_BEARER_TOKEN'
990
+ end
991
+
992
+ api_instance = PostBoost::PostsApi.new
993
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
994
+ opts = {
995
+ page: 56 # Integer |
996
+ }
997
+
998
+ begin
999
+ # List posts
1000
+ result = api_instance.list_posts(workspace_uuid, opts)
1001
+ p result
1002
+ rescue PostBoost::ApiError => e
1003
+ puts "Error when calling PostsApi->list_posts: #{e}"
1004
+ end
1005
+ ```
1006
+
1007
+ #### Using the list_posts_with_http_info variant
1008
+
1009
+ This returns an Array which contains the response data, status code and headers.
1010
+
1011
+ > <Array(<ListPosts200Response>, Integer, Hash)> list_posts_with_http_info(workspace_uuid, opts)
1012
+
1013
+ ```ruby
1014
+ begin
1015
+ # List posts
1016
+ data, status_code, headers = api_instance.list_posts_with_http_info(workspace_uuid, opts)
1017
+ p status_code # => 2xx
1018
+ p headers # => { ... }
1019
+ p data # => <ListPosts200Response>
1020
+ rescue PostBoost::ApiError => e
1021
+ puts "Error when calling PostsApi->list_posts_with_http_info: #{e}"
1022
+ end
1023
+ ```
1024
+
1025
+ ### Parameters
1026
+
1027
+ | Name | Type | Description | Notes |
1028
+ | ---- | ---- | ----------- | ----- |
1029
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
1030
+ | **page** | **Integer** | | [optional][default to 1] |
1031
+
1032
+ ### Return type
1033
+
1034
+ [**ListPosts200Response**](ListPosts200Response.md)
1035
+
1036
+ ### Authorization
1037
+
1038
+ [bearerAuth](../README.md#bearerAuth)
1039
+
1040
+ ### HTTP request headers
1041
+
1042
+ - **Content-Type**: Not defined
1043
+ - **Accept**: application/json
1044
+
1045
+
1046
+ ## list_recycling_rules
1047
+
1048
+ > <ListRecyclingRules200Response> list_recycling_rules(workspace_uuid)
1049
+
1050
+ List recycling rules
1051
+
1052
+ Evergreen recycling rules of the workspace, newest first. A rule copies a post (or the least recently recycled published post with a tag) every `interval_days` and places the copy in the queue. Copies are ordinary posts: they show in the calendar and the queue.
1053
+
1054
+ ### Examples
1055
+
1056
+ ```ruby
1057
+ require 'time'
1058
+ require 'postboost'
1059
+ # setup authorization
1060
+ PostBoost.configure do |config|
1061
+ # Configure Bearer authorization: bearerAuth
1062
+ config.access_token = 'YOUR_BEARER_TOKEN'
1063
+ end
1064
+
1065
+ api_instance = PostBoost::PostsApi.new
1066
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
1067
+
1068
+ begin
1069
+ # List recycling rules
1070
+ result = api_instance.list_recycling_rules(workspace_uuid)
1071
+ p result
1072
+ rescue PostBoost::ApiError => e
1073
+ puts "Error when calling PostsApi->list_recycling_rules: #{e}"
1074
+ end
1075
+ ```
1076
+
1077
+ #### Using the list_recycling_rules_with_http_info variant
1078
+
1079
+ This returns an Array which contains the response data, status code and headers.
1080
+
1081
+ > <Array(<ListRecyclingRules200Response>, Integer, Hash)> list_recycling_rules_with_http_info(workspace_uuid)
1082
+
1083
+ ```ruby
1084
+ begin
1085
+ # List recycling rules
1086
+ data, status_code, headers = api_instance.list_recycling_rules_with_http_info(workspace_uuid)
1087
+ p status_code # => 2xx
1088
+ p headers # => { ... }
1089
+ p data # => <ListRecyclingRules200Response>
1090
+ rescue PostBoost::ApiError => e
1091
+ puts "Error when calling PostsApi->list_recycling_rules_with_http_info: #{e}"
1092
+ end
1093
+ ```
1094
+
1095
+ ### Parameters
1096
+
1097
+ | Name | Type | Description | Notes |
1098
+ | ---- | ---- | ----------- | ----- |
1099
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
1100
+
1101
+ ### Return type
1102
+
1103
+ [**ListRecyclingRules200Response**](ListRecyclingRules200Response.md)
1104
+
1105
+ ### Authorization
1106
+
1107
+ [bearerAuth](../README.md#bearerAuth)
1108
+
1109
+ ### HTTP request headers
1110
+
1111
+ - **Content-Type**: Not defined
1112
+ - **Accept**: application/json
1113
+
1114
+
1115
+ ## list_recycling_runs
1116
+
1117
+ > <ListRecyclingRuns200Response> list_recycling_runs(workspace_uuid, rule_uuid)
1118
+
1119
+ List a recycling rule's runs
1120
+
1121
+ The latest 100 runs of the rule, newest first: the copy each run created, or why it skipped (`source_unavailable`, `no_eligible_post`, `no_accounts`, `queue_full`, `x_skipped_identical_text`, or a guardrail code such as `duplicate_post` or `account_daily_cap_reached`).
1122
+
1123
+ ### Examples
1124
+
1125
+ ```ruby
1126
+ require 'time'
1127
+ require 'postboost'
1128
+ # setup authorization
1129
+ PostBoost.configure do |config|
1130
+ # Configure Bearer authorization: bearerAuth
1131
+ config.access_token = 'YOUR_BEARER_TOKEN'
1132
+ end
1133
+
1134
+ api_instance = PostBoost::PostsApi.new
1135
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
1136
+ rule_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the recycling rule.
1137
+
1138
+ begin
1139
+ # List a recycling rule's runs
1140
+ result = api_instance.list_recycling_runs(workspace_uuid, rule_uuid)
1141
+ p result
1142
+ rescue PostBoost::ApiError => e
1143
+ puts "Error when calling PostsApi->list_recycling_runs: #{e}"
1144
+ end
1145
+ ```
1146
+
1147
+ #### Using the list_recycling_runs_with_http_info variant
1148
+
1149
+ This returns an Array which contains the response data, status code and headers.
1150
+
1151
+ > <Array(<ListRecyclingRuns200Response>, Integer, Hash)> list_recycling_runs_with_http_info(workspace_uuid, rule_uuid)
1152
+
1153
+ ```ruby
1154
+ begin
1155
+ # List a recycling rule's runs
1156
+ data, status_code, headers = api_instance.list_recycling_runs_with_http_info(workspace_uuid, rule_uuid)
1157
+ p status_code # => 2xx
1158
+ p headers # => { ... }
1159
+ p data # => <ListRecyclingRuns200Response>
1160
+ rescue PostBoost::ApiError => e
1161
+ puts "Error when calling PostsApi->list_recycling_runs_with_http_info: #{e}"
1162
+ end
1163
+ ```
1164
+
1165
+ ### Parameters
1166
+
1167
+ | Name | Type | Description | Notes |
1168
+ | ---- | ---- | ----------- | ----- |
1169
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
1170
+ | **rule_uuid** | **String** | UUID of the recycling rule. | |
1171
+
1172
+ ### Return type
1173
+
1174
+ [**ListRecyclingRuns200Response**](ListRecyclingRuns200Response.md)
1175
+
1176
+ ### Authorization
1177
+
1178
+ [bearerAuth](../README.md#bearerAuth)
1179
+
1180
+ ### HTTP request headers
1181
+
1182
+ - **Content-Type**: Not defined
1183
+ - **Accept**: application/json
1184
+
1185
+
1186
+ ## list_rss_feeds
1187
+
1188
+ > <ListRssFeeds200Response> list_rss_feeds(workspace_uuid)
1189
+
1190
+ List RSS feeds
1191
+
1192
+ RSS and Atom feeds whose new items become posts, newest first.
1193
+
1194
+ ### Examples
1195
+
1196
+ ```ruby
1197
+ require 'time'
1198
+ require 'postboost'
1199
+ # setup authorization
1200
+ PostBoost.configure do |config|
1201
+ # Configure Bearer authorization: bearerAuth
1202
+ config.access_token = 'YOUR_BEARER_TOKEN'
1203
+ end
1204
+
1205
+ api_instance = PostBoost::PostsApi.new
1206
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
1207
+
1208
+ begin
1209
+ # List RSS feeds
1210
+ result = api_instance.list_rss_feeds(workspace_uuid)
1211
+ p result
1212
+ rescue PostBoost::ApiError => e
1213
+ puts "Error when calling PostsApi->list_rss_feeds: #{e}"
1214
+ end
1215
+ ```
1216
+
1217
+ #### Using the list_rss_feeds_with_http_info variant
1218
+
1219
+ This returns an Array which contains the response data, status code and headers.
1220
+
1221
+ > <Array(<ListRssFeeds200Response>, Integer, Hash)> list_rss_feeds_with_http_info(workspace_uuid)
1222
+
1223
+ ```ruby
1224
+ begin
1225
+ # List RSS feeds
1226
+ data, status_code, headers = api_instance.list_rss_feeds_with_http_info(workspace_uuid)
1227
+ p status_code # => 2xx
1228
+ p headers # => { ... }
1229
+ p data # => <ListRssFeeds200Response>
1230
+ rescue PostBoost::ApiError => e
1231
+ puts "Error when calling PostsApi->list_rss_feeds_with_http_info: #{e}"
1232
+ end
1233
+ ```
1234
+
1235
+ ### Parameters
1236
+
1237
+ | Name | Type | Description | Notes |
1238
+ | ---- | ---- | ----------- | ----- |
1239
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
1240
+
1241
+ ### Return type
1242
+
1243
+ [**ListRssFeeds200Response**](ListRssFeeds200Response.md)
1244
+
1245
+ ### Authorization
1246
+
1247
+ [bearerAuth](../README.md#bearerAuth)
1248
+
1249
+ ### HTTP request headers
1250
+
1251
+ - **Content-Type**: Not defined
1252
+ - **Accept**: application/json
1253
+
1254
+
1255
+ ## poll_rss_feed
1256
+
1257
+ > <PollRssFeed200Response> poll_rss_feed(workspace_uuid, feed_uuid)
1258
+
1259
+ Check an RSS feed now
1260
+
1261
+ Reads the feed immediately instead of waiting for the next check. Limited to 6 calls per minute. Admins and members only.
1262
+
1263
+ ### Examples
1264
+
1265
+ ```ruby
1266
+ require 'time'
1267
+ require 'postboost'
1268
+ # setup authorization
1269
+ PostBoost.configure do |config|
1270
+ # Configure Bearer authorization: bearerAuth
1271
+ config.access_token = 'YOUR_BEARER_TOKEN'
1272
+ end
1273
+
1274
+ api_instance = PostBoost::PostsApi.new
1275
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
1276
+ feed_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the RSS feed.
1277
+
1278
+ begin
1279
+ # Check an RSS feed now
1280
+ result = api_instance.poll_rss_feed(workspace_uuid, feed_uuid)
1281
+ p result
1282
+ rescue PostBoost::ApiError => e
1283
+ puts "Error when calling PostsApi->poll_rss_feed: #{e}"
1284
+ end
1285
+ ```
1286
+
1287
+ #### Using the poll_rss_feed_with_http_info variant
1288
+
1289
+ This returns an Array which contains the response data, status code and headers.
1290
+
1291
+ > <Array(<PollRssFeed200Response>, Integer, Hash)> poll_rss_feed_with_http_info(workspace_uuid, feed_uuid)
1292
+
1293
+ ```ruby
1294
+ begin
1295
+ # Check an RSS feed now
1296
+ data, status_code, headers = api_instance.poll_rss_feed_with_http_info(workspace_uuid, feed_uuid)
1297
+ p status_code # => 2xx
1298
+ p headers # => { ... }
1299
+ p data # => <PollRssFeed200Response>
1300
+ rescue PostBoost::ApiError => e
1301
+ puts "Error when calling PostsApi->poll_rss_feed_with_http_info: #{e}"
1302
+ end
1303
+ ```
1304
+
1305
+ ### Parameters
1306
+
1307
+ | Name | Type | Description | Notes |
1308
+ | ---- | ---- | ----------- | ----- |
1309
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
1310
+ | **feed_uuid** | **String** | UUID of the RSS feed. | |
1311
+
1312
+ ### Return type
1313
+
1314
+ [**PollRssFeed200Response**](PollRssFeed200Response.md)
1315
+
1316
+ ### Authorization
1317
+
1318
+ [bearerAuth](../README.md#bearerAuth)
1319
+
1320
+ ### HTTP request headers
1321
+
1322
+ - **Content-Type**: Not defined
1323
+ - **Accept**: application/json
1324
+
1325
+
1326
+ ## recycle_post
1327
+
1328
+ > <CreateRecyclingRule201Response> recycle_post(workspace_uuid, post_uuid, recycling_rule_settings)
1329
+
1330
+ Recycle a post on an interval
1331
+
1332
+ Shortcut for creating a `post` recycling rule for this post. Same body as `createRecyclingRule` without `type`, `post_uuid` and `tag_uuid`. Admins and members only.
1333
+
1334
+ ### Examples
1335
+
1336
+ ```ruby
1337
+ require 'time'
1338
+ require 'postboost'
1339
+ # setup authorization
1340
+ PostBoost.configure do |config|
1341
+ # Configure Bearer authorization: bearerAuth
1342
+ config.access_token = 'YOUR_BEARER_TOKEN'
1343
+ end
1344
+
1345
+ api_instance = PostBoost::PostsApi.new
1346
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
1347
+ post_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the post.
1348
+ recycling_rule_settings = PostBoost::RecyclingRuleSettings.new({interval_days: 37}) # RecyclingRuleSettings |
1349
+
1350
+ begin
1351
+ # Recycle a post on an interval
1352
+ result = api_instance.recycle_post(workspace_uuid, post_uuid, recycling_rule_settings)
1353
+ p result
1354
+ rescue PostBoost::ApiError => e
1355
+ puts "Error when calling PostsApi->recycle_post: #{e}"
1356
+ end
1357
+ ```
1358
+
1359
+ #### Using the recycle_post_with_http_info variant
1360
+
1361
+ This returns an Array which contains the response data, status code and headers.
1362
+
1363
+ > <Array(<CreateRecyclingRule201Response>, Integer, Hash)> recycle_post_with_http_info(workspace_uuid, post_uuid, recycling_rule_settings)
1364
+
1365
+ ```ruby
1366
+ begin
1367
+ # Recycle a post on an interval
1368
+ data, status_code, headers = api_instance.recycle_post_with_http_info(workspace_uuid, post_uuid, recycling_rule_settings)
1369
+ p status_code # => 2xx
1370
+ p headers # => { ... }
1371
+ p data # => <CreateRecyclingRule201Response>
1372
+ rescue PostBoost::ApiError => e
1373
+ puts "Error when calling PostsApi->recycle_post_with_http_info: #{e}"
1374
+ end
1375
+ ```
1376
+
1377
+ ### Parameters
1378
+
1379
+ | Name | Type | Description | Notes |
1380
+ | ---- | ---- | ----------- | ----- |
1381
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
1382
+ | **post_uuid** | **String** | UUID of the post. | |
1383
+ | **recycling_rule_settings** | [**RecyclingRuleSettings**](RecyclingRuleSettings.md) | | |
1384
+
1385
+ ### Return type
1386
+
1387
+ [**CreateRecyclingRule201Response**](CreateRecyclingRule201Response.md)
1388
+
1389
+ ### Authorization
1390
+
1391
+ [bearerAuth](../README.md#bearerAuth)
1392
+
1393
+ ### HTTP request headers
1394
+
1395
+ - **Content-Type**: application/json
1396
+ - **Accept**: application/json
1397
+
1398
+
1399
+ ## retry_post_account
1400
+
1401
+ > <RetryPostAccountResult> retry_post_account(workspace_uuid, post_uuid, account_uuid, opts)
1402
+
1403
+ Retry publishing to one account
1404
+
1405
+ Re-publishes a post to a single account whose publishing failed. Returns `422` when the account is not on the post, the post is still publishing, or the account did not fail.
1406
+
1407
+ ### Examples
1408
+
1409
+ ```ruby
1410
+ require 'time'
1411
+ require 'postboost'
1412
+ # setup authorization
1413
+ PostBoost.configure do |config|
1414
+ # Configure Bearer authorization: bearerAuth
1415
+ config.access_token = 'YOUR_BEARER_TOKEN'
1416
+ end
1417
+
1418
+ api_instance = PostBoost::PostsApi.new
1419
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
1420
+ post_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the post.
1421
+ account_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the social media account.
1422
+ opts = {
1423
+ idempotency_key: 'idempotency_key_example' # String | Unique key (for example a UUID) that makes the request safe to retry. A repeat with the same key and body within 24 hours returns the stored response with `Idempotent-Replayed: true` and has no further effect. Keys are scoped to your user, the workspace, the method and the path.
1424
+ }
1425
+
1426
+ begin
1427
+ # Retry publishing to one account
1428
+ result = api_instance.retry_post_account(workspace_uuid, post_uuid, account_uuid, opts)
1429
+ p result
1430
+ rescue PostBoost::ApiError => e
1431
+ puts "Error when calling PostsApi->retry_post_account: #{e}"
1432
+ end
1433
+ ```
1434
+
1435
+ #### Using the retry_post_account_with_http_info variant
1436
+
1437
+ This returns an Array which contains the response data, status code and headers.
1438
+
1439
+ > <Array(<RetryPostAccountResult>, Integer, Hash)> retry_post_account_with_http_info(workspace_uuid, post_uuid, account_uuid, opts)
1440
+
1441
+ ```ruby
1442
+ begin
1443
+ # Retry publishing to one account
1444
+ data, status_code, headers = api_instance.retry_post_account_with_http_info(workspace_uuid, post_uuid, account_uuid, opts)
1445
+ p status_code # => 2xx
1446
+ p headers # => { ... }
1447
+ p data # => <RetryPostAccountResult>
1448
+ rescue PostBoost::ApiError => e
1449
+ puts "Error when calling PostsApi->retry_post_account_with_http_info: #{e}"
1450
+ end
1451
+ ```
1452
+
1453
+ ### Parameters
1454
+
1455
+ | Name | Type | Description | Notes |
1456
+ | ---- | ---- | ----------- | ----- |
1457
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
1458
+ | **post_uuid** | **String** | UUID of the post. | |
1459
+ | **account_uuid** | **String** | UUID of the social media account. | |
1460
+ | **idempotency_key** | **String** | Unique key (for example a UUID) that makes the request safe to retry. A repeat with the same key and body within 24 hours returns the stored response with &#x60;Idempotent-Replayed: true&#x60; and has no further effect. Keys are scoped to your user, the workspace, the method and the path. | [optional] |
1461
+
1462
+ ### Return type
1463
+
1464
+ [**RetryPostAccountResult**](RetryPostAccountResult.md)
1465
+
1466
+ ### Authorization
1467
+
1468
+ [bearerAuth](../README.md#bearerAuth)
1469
+
1470
+ ### HTTP request headers
1471
+
1472
+ - **Content-Type**: Not defined
1473
+ - **Accept**: application/json
1474
+
1475
+
1476
+ ## schedule_post
1477
+
1478
+ > <ScheduleResult> schedule_post(workspace_uuid, post_uuid, schedule_post_request, opts)
1479
+
1480
+ Schedule post
1481
+
1482
+ Schedule an existing post. Optionally move it with `date`/`time` (read in `timezone`) and give accounts their own times with `accounts_schedule`. Set `postNow: true` to publish immediately; publishing starts within the request and any per-account times are dropped. Provider requirements are validated and reported as `422`.
1483
+
1484
+ ### Examples
1485
+
1486
+ ```ruby
1487
+ require 'time'
1488
+ require 'postboost'
1489
+ # setup authorization
1490
+ PostBoost.configure do |config|
1491
+ # Configure Bearer authorization: bearerAuth
1492
+ config.access_token = 'YOUR_BEARER_TOKEN'
1493
+ end
1494
+
1495
+ api_instance = PostBoost::PostsApi.new
1496
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
1497
+ post_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the post.
1498
+ schedule_post_request = PostBoost::SchedulePostRequest.new({post_now: false}) # SchedulePostRequest |
1499
+ opts = {
1500
+ idempotency_key: 'idempotency_key_example' # String | Unique key (for example a UUID) that makes the request safe to retry. A repeat with the same key and body within 24 hours returns the stored response with `Idempotent-Replayed: true` and has no further effect. Keys are scoped to your user, the workspace, the method and the path.
1501
+ }
1502
+
1503
+ begin
1504
+ # Schedule post
1505
+ result = api_instance.schedule_post(workspace_uuid, post_uuid, schedule_post_request, opts)
1506
+ p result
1507
+ rescue PostBoost::ApiError => e
1508
+ puts "Error when calling PostsApi->schedule_post: #{e}"
1509
+ end
1510
+ ```
1511
+
1512
+ #### Using the schedule_post_with_http_info variant
1513
+
1514
+ This returns an Array which contains the response data, status code and headers.
1515
+
1516
+ > <Array(<ScheduleResult>, Integer, Hash)> schedule_post_with_http_info(workspace_uuid, post_uuid, schedule_post_request, opts)
1517
+
1518
+ ```ruby
1519
+ begin
1520
+ # Schedule post
1521
+ data, status_code, headers = api_instance.schedule_post_with_http_info(workspace_uuid, post_uuid, schedule_post_request, opts)
1522
+ p status_code # => 2xx
1523
+ p headers # => { ... }
1524
+ p data # => <ScheduleResult>
1525
+ rescue PostBoost::ApiError => e
1526
+ puts "Error when calling PostsApi->schedule_post_with_http_info: #{e}"
1527
+ end
1528
+ ```
1529
+
1530
+ ### Parameters
1531
+
1532
+ | Name | Type | Description | Notes |
1533
+ | ---- | ---- | ----------- | ----- |
1534
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
1535
+ | **post_uuid** | **String** | UUID of the post. | |
1536
+ | **schedule_post_request** | [**SchedulePostRequest**](SchedulePostRequest.md) | | |
1537
+ | **idempotency_key** | **String** | Unique key (for example a UUID) that makes the request safe to retry. A repeat with the same key and body within 24 hours returns the stored response with &#x60;Idempotent-Replayed: true&#x60; and has no further effect. Keys are scoped to your user, the workspace, the method and the path. | [optional] |
1538
+
1539
+ ### Return type
1540
+
1541
+ [**ScheduleResult**](ScheduleResult.md)
1542
+
1543
+ ### Authorization
1544
+
1545
+ [bearerAuth](../README.md#bearerAuth)
1546
+
1547
+ ### HTTP request headers
1548
+
1549
+ - **Content-Type**: application/json
1550
+ - **Accept**: application/json
1551
+
1552
+
1553
+ ## update_post
1554
+
1555
+ > Object update_post(workspace_uuid, post_uuid, post_input)
1556
+
1557
+ Update post
1558
+
1559
+ Replaces a post's versions, accounts, tags, and scheduling options. The post must not be in a published state. `timezone` is honoured: `date`, `time` and `accounts_schedule` are read in it. When the post stays scheduled, provider requirements are validated and reported as `422`.
1560
+
1561
+ ### Examples
1562
+
1563
+ ```ruby
1564
+ require 'time'
1565
+ require 'postboost'
1566
+ # setup authorization
1567
+ PostBoost.configure do |config|
1568
+ # Configure Bearer authorization: bearerAuth
1569
+ config.access_token = 'YOUR_BEARER_TOKEN'
1570
+ end
1571
+
1572
+ api_instance = PostBoost::PostsApi.new
1573
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
1574
+ post_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the post.
1575
+ post_input = PostBoost::PostInput.new({versions: [PostBoost::PostVersion.new({account_id: 37, is_original: false, content: [PostBoost::PostContent.new]})]}) # PostInput |
1576
+
1577
+ begin
1578
+ # Update post
1579
+ result = api_instance.update_post(workspace_uuid, post_uuid, post_input)
1580
+ p result
1581
+ rescue PostBoost::ApiError => e
1582
+ puts "Error when calling PostsApi->update_post: #{e}"
1583
+ end
1584
+ ```
1585
+
1586
+ #### Using the update_post_with_http_info variant
1587
+
1588
+ This returns an Array which contains the response data, status code and headers.
1589
+
1590
+ > <Array(Object, Integer, Hash)> update_post_with_http_info(workspace_uuid, post_uuid, post_input)
1591
+
1592
+ ```ruby
1593
+ begin
1594
+ # Update post
1595
+ data, status_code, headers = api_instance.update_post_with_http_info(workspace_uuid, post_uuid, post_input)
1596
+ p status_code # => 2xx
1597
+ p headers # => { ... }
1598
+ p data # => Object
1599
+ rescue PostBoost::ApiError => e
1600
+ puts "Error when calling PostsApi->update_post_with_http_info: #{e}"
1601
+ end
1602
+ ```
1603
+
1604
+ ### Parameters
1605
+
1606
+ | Name | Type | Description | Notes |
1607
+ | ---- | ---- | ----------- | ----- |
1608
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
1609
+ | **post_uuid** | **String** | UUID of the post. | |
1610
+ | **post_input** | [**PostInput**](PostInput.md) | | |
1611
+
1612
+ ### Return type
1613
+
1614
+ **Object**
1615
+
1616
+ ### Authorization
1617
+
1618
+ [bearerAuth](../README.md#bearerAuth)
1619
+
1620
+ ### HTTP request headers
1621
+
1622
+ - **Content-Type**: application/json
1623
+ - **Accept**: application/json
1624
+
1625
+
1626
+ ## update_recycling_rule
1627
+
1628
+ > <CreateRecyclingRule201Response> update_recycling_rule(workspace_uuid, rule_uuid, recycling_rule_update)
1629
+
1630
+ Update, pause or resume a recycling rule
1631
+
1632
+ Changes the interval, limit, placement or accounts, or pauses (`active: false`) and resumes the rule. Fields you leave out keep their value. A rule that reached `max_runs` resumes only with a higher `max_runs`. Admins and members only.
1633
+
1634
+ ### Examples
1635
+
1636
+ ```ruby
1637
+ require 'time'
1638
+ require 'postboost'
1639
+ # setup authorization
1640
+ PostBoost.configure do |config|
1641
+ # Configure Bearer authorization: bearerAuth
1642
+ config.access_token = 'YOUR_BEARER_TOKEN'
1643
+ end
1644
+
1645
+ api_instance = PostBoost::PostsApi.new
1646
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
1647
+ rule_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the recycling rule.
1648
+ recycling_rule_update = PostBoost::RecyclingRuleUpdate.new # RecyclingRuleUpdate |
1649
+
1650
+ begin
1651
+ # Update, pause or resume a recycling rule
1652
+ result = api_instance.update_recycling_rule(workspace_uuid, rule_uuid, recycling_rule_update)
1653
+ p result
1654
+ rescue PostBoost::ApiError => e
1655
+ puts "Error when calling PostsApi->update_recycling_rule: #{e}"
1656
+ end
1657
+ ```
1658
+
1659
+ #### Using the update_recycling_rule_with_http_info variant
1660
+
1661
+ This returns an Array which contains the response data, status code and headers.
1662
+
1663
+ > <Array(<CreateRecyclingRule201Response>, Integer, Hash)> update_recycling_rule_with_http_info(workspace_uuid, rule_uuid, recycling_rule_update)
1664
+
1665
+ ```ruby
1666
+ begin
1667
+ # Update, pause or resume a recycling rule
1668
+ data, status_code, headers = api_instance.update_recycling_rule_with_http_info(workspace_uuid, rule_uuid, recycling_rule_update)
1669
+ p status_code # => 2xx
1670
+ p headers # => { ... }
1671
+ p data # => <CreateRecyclingRule201Response>
1672
+ rescue PostBoost::ApiError => e
1673
+ puts "Error when calling PostsApi->update_recycling_rule_with_http_info: #{e}"
1674
+ end
1675
+ ```
1676
+
1677
+ ### Parameters
1678
+
1679
+ | Name | Type | Description | Notes |
1680
+ | ---- | ---- | ----------- | ----- |
1681
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
1682
+ | **rule_uuid** | **String** | UUID of the recycling rule. | |
1683
+ | **recycling_rule_update** | [**RecyclingRuleUpdate**](RecyclingRuleUpdate.md) | | |
1684
+
1685
+ ### Return type
1686
+
1687
+ [**CreateRecyclingRule201Response**](CreateRecyclingRule201Response.md)
1688
+
1689
+ ### Authorization
1690
+
1691
+ [bearerAuth](../README.md#bearerAuth)
1692
+
1693
+ ### HTTP request headers
1694
+
1695
+ - **Content-Type**: application/json
1696
+ - **Accept**: application/json
1697
+
1698
+
1699
+ ## update_rss_feed
1700
+
1701
+ > <CreateRssFeed201Response> update_rss_feed(workspace_uuid, feed_uuid, rss_feed_update)
1702
+
1703
+ Update, pause or resume an RSS feed
1704
+
1705
+ Fields you leave out keep their value. Resuming (`active: true`) clears the error backoff. Admins and members only.
1706
+
1707
+ ### Examples
1708
+
1709
+ ```ruby
1710
+ require 'time'
1711
+ require 'postboost'
1712
+ # setup authorization
1713
+ PostBoost.configure do |config|
1714
+ # Configure Bearer authorization: bearerAuth
1715
+ config.access_token = 'YOUR_BEARER_TOKEN'
1716
+ end
1717
+
1718
+ api_instance = PostBoost::PostsApi.new
1719
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
1720
+ feed_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the RSS feed.
1721
+ rss_feed_update = PostBoost::RssFeedUpdate.new # RssFeedUpdate |
1722
+
1723
+ begin
1724
+ # Update, pause or resume an RSS feed
1725
+ result = api_instance.update_rss_feed(workspace_uuid, feed_uuid, rss_feed_update)
1726
+ p result
1727
+ rescue PostBoost::ApiError => e
1728
+ puts "Error when calling PostsApi->update_rss_feed: #{e}"
1729
+ end
1730
+ ```
1731
+
1732
+ #### Using the update_rss_feed_with_http_info variant
1733
+
1734
+ This returns an Array which contains the response data, status code and headers.
1735
+
1736
+ > <Array(<CreateRssFeed201Response>, Integer, Hash)> update_rss_feed_with_http_info(workspace_uuid, feed_uuid, rss_feed_update)
1737
+
1738
+ ```ruby
1739
+ begin
1740
+ # Update, pause or resume an RSS feed
1741
+ data, status_code, headers = api_instance.update_rss_feed_with_http_info(workspace_uuid, feed_uuid, rss_feed_update)
1742
+ p status_code # => 2xx
1743
+ p headers # => { ... }
1744
+ p data # => <CreateRssFeed201Response>
1745
+ rescue PostBoost::ApiError => e
1746
+ puts "Error when calling PostsApi->update_rss_feed_with_http_info: #{e}"
1747
+ end
1748
+ ```
1749
+
1750
+ ### Parameters
1751
+
1752
+ | Name | Type | Description | Notes |
1753
+ | ---- | ---- | ----------- | ----- |
1754
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
1755
+ | **feed_uuid** | **String** | UUID of the RSS feed. | |
1756
+ | **rss_feed_update** | [**RssFeedUpdate**](RssFeedUpdate.md) | | |
1757
+
1758
+ ### Return type
1759
+
1760
+ [**CreateRssFeed201Response**](CreateRssFeed201Response.md)
1761
+
1762
+ ### Authorization
1763
+
1764
+ [bearerAuth](../README.md#bearerAuth)
1765
+
1766
+ ### HTTP request headers
1767
+
1768
+ - **Content-Type**: application/json
1769
+ - **Accept**: application/json
1770
+
1771
+
1772
+ ## validate_post
1773
+
1774
+ > <PreflightResult> validate_post(workspace_uuid, post_input)
1775
+
1776
+ Validate post (dry run)
1777
+
1778
+ Runs everything create-post checks without creating anything: request validation, network requirements (text length, media count and type, links) for every given account, whether or not the post is scheduled, and the guardrails (duplicate content, daily caps, account health). Always answers `200`; read `valid`. Any workspace member, including viewers, may call it. Recommended agent loop: account health, validate, then create.
1779
+
1780
+ ### Examples
1781
+
1782
+ ```ruby
1783
+ require 'time'
1784
+ require 'postboost'
1785
+ # setup authorization
1786
+ PostBoost.configure do |config|
1787
+ # Configure Bearer authorization: bearerAuth
1788
+ config.access_token = 'YOUR_BEARER_TOKEN'
1789
+ end
1790
+
1791
+ api_instance = PostBoost::PostsApi.new
1792
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
1793
+ post_input = PostBoost::PostInput.new({versions: [PostBoost::PostVersion.new({account_id: 37, is_original: false, content: [PostBoost::PostContent.new]})]}) # PostInput |
1794
+
1795
+ begin
1796
+ # Validate post (dry run)
1797
+ result = api_instance.validate_post(workspace_uuid, post_input)
1798
+ p result
1799
+ rescue PostBoost::ApiError => e
1800
+ puts "Error when calling PostsApi->validate_post: #{e}"
1801
+ end
1802
+ ```
1803
+
1804
+ #### Using the validate_post_with_http_info variant
1805
+
1806
+ This returns an Array which contains the response data, status code and headers.
1807
+
1808
+ > <Array(<PreflightResult>, Integer, Hash)> validate_post_with_http_info(workspace_uuid, post_input)
1809
+
1810
+ ```ruby
1811
+ begin
1812
+ # Validate post (dry run)
1813
+ data, status_code, headers = api_instance.validate_post_with_http_info(workspace_uuid, post_input)
1814
+ p status_code # => 2xx
1815
+ p headers # => { ... }
1816
+ p data # => <PreflightResult>
1817
+ rescue PostBoost::ApiError => e
1818
+ puts "Error when calling PostsApi->validate_post_with_http_info: #{e}"
1819
+ end
1820
+ ```
1821
+
1822
+ ### Parameters
1823
+
1824
+ | Name | Type | Description | Notes |
1825
+ | ---- | ---- | ----------- | ----- |
1826
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
1827
+ | **post_input** | [**PostInput**](PostInput.md) | | |
1828
+
1829
+ ### Return type
1830
+
1831
+ [**PreflightResult**](PreflightResult.md)
810
1832
 
811
1833
  ### Authorization
812
1834