postboost 1.0.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 (815) 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 +252 -0
  5. data/SECURITY.md +9 -0
  6. data/docs/AIApi.md +871 -0
  7. data/docs/AICredits.md +22 -0
  8. data/docs/AIUsage.md +20 -0
  9. data/docs/AIUsageText.md +24 -0
  10. data/docs/Account.md +19 -9
  11. data/docs/AccountAnalytics.md +28 -0
  12. data/docs/AccountAnalyticsInitialSync.md +20 -0
  13. data/docs/AccountConnectionHealth.md +34 -0
  14. data/docs/AccountErrorsInner.md +49 -0
  15. data/docs/AccountErrorsInnerOneOf.md +24 -0
  16. data/docs/AccountGroup.md +24 -0
  17. data/docs/AccountGroupInput.md +20 -0
  18. data/docs/AccountGroupsApi.md +372 -0
  19. data/docs/AccountHealth.md +34 -0
  20. data/docs/AccountHealthDailyCap.md +20 -0
  21. data/docs/AccountSchedule.md +22 -0
  22. data/docs/AccountsApi.md +231 -5
  23. data/docs/ActivityApi.md +87 -0
  24. data/docs/AddCompetitor202Response.md +20 -0
  25. data/docs/AddCompetitor409Response.md +20 -0
  26. data/docs/AddPostToQueueRequest.md +18 -0
  27. data/docs/AgentPageMeta.md +24 -0
  28. data/docs/AgentProposal.md +44 -0
  29. data/docs/AgentProposalDecision.md +18 -0
  30. data/docs/AgentRun.md +44 -0
  31. data/docs/AgentsApi.md +745 -0
  32. data/docs/AnalyticsApi.md +899 -0
  33. data/docs/AnalyticsPeriod.md +24 -0
  34. data/docs/AnalyticsSummary.md +20 -0
  35. data/docs/AnalyticsSummaryData.md +38 -0
  36. data/docs/ApiActivity.md +36 -0
  37. data/docs/ApiActivityOutcome.md +15 -0
  38. data/docs/ApiKey.md +32 -0
  39. data/docs/ApiKeyAbility.md +15 -0
  40. data/docs/ApiKeyInput.md +24 -0
  41. data/docs/ApproveAgentProposal200Response.md +18 -0
  42. data/docs/ApproveAgentProposal409Response.md +20 -0
  43. data/docs/ApproveInboxReplyDraft403Response.md +20 -0
  44. data/docs/ApprovePostRequest.md +24 -0
  45. data/docs/BestPostingTimes.md +20 -0
  46. data/docs/BestPostingTimesTimesInner.md +24 -0
  47. data/docs/BlogToSocial200Response.md +20 -0
  48. data/docs/BlogToSocial429Response.md +18 -0
  49. data/docs/BlogToSocialCaption.md +28 -0
  50. data/docs/BlogToSocialInput.md +44 -0
  51. data/docs/BlogToSocialMedia.md +20 -0
  52. data/docs/BlogToSocialResponse.md +30 -0
  53. data/docs/BrandVoice.md +48 -0
  54. data/docs/BrandVoiceInput.md +46 -0
  55. data/docs/BrandVoiceMeta.md +18 -0
  56. data/docs/CancelSubscription422Response.md +20 -0
  57. data/docs/CancelSubscription422ResponseErrors.md +18 -0
  58. data/docs/CancelSubscriptionRequest.md +18 -0
  59. data/docs/ChannelAccount.md +36 -0
  60. data/docs/CodedError.md +22 -0
  61. data/docs/Competitor.md +34 -0
  62. data/docs/CompetitorDetail.md +38 -0
  63. data/docs/CompetitorInput.md +20 -0
  64. data/docs/CompetitorMedia.md +28 -0
  65. data/docs/CompetitorSnapshot.md +22 -0
  66. data/docs/CompetitorsApi.md +296 -0
  67. data/docs/CompleteChunkedUploadRequest.md +20 -0
  68. data/docs/ConnectChannelInput.md +24 -0
  69. data/docs/CreateAccountGroup201Response.md +18 -0
  70. data/docs/CreateAgent201Response.md +18 -0
  71. data/docs/CreateApiKey201Response.md +18 -0
  72. data/docs/CreateApiKey201ResponseData.md +34 -0
  73. data/docs/CreateHashtagGroup201Response.md +18 -0
  74. data/docs/CreateInboxReplyDraft201Response.md +18 -0
  75. data/docs/CreateMediaFolderRequest.md +20 -0
  76. data/docs/CreateMention201Response.md +18 -0
  77. data/docs/CreateRecyclingRule201Response.md +18 -0
  78. data/docs/CreateReportExport201Response.md +18 -0
  79. data/docs/CreateResellerClient201Response.md +18 -0
  80. data/docs/CreateRssFeed201Response.md +18 -0
  81. data/docs/CreateTemplate201Response.md +18 -0
  82. data/docs/CreateWebhookSubscription201Response.md +18 -0
  83. data/docs/CreateWebhookSubscription201ResponseData.md +30 -0
  84. data/docs/DeleteAgent200Response.md +18 -0
  85. data/docs/DeleteMediaBulkRequest.md +1 -1
  86. data/docs/DeleteMediaBulkRequestItemsInner.md +49 -0
  87. data/docs/DeleteMediaFolderRequest.md +18 -0
  88. data/docs/DeleteResult.md +3 -3
  89. data/docs/GetAccountHealth200Response.md +18 -0
  90. data/docs/GetBrandVoice200Response.md +18 -0
  91. data/docs/GetCompetitor200Response.md +18 -0
  92. data/docs/GetInboxConversation200Response.md +18 -0
  93. data/docs/GetPostingSchedule200Response.md +18 -0
  94. data/docs/GetReportBranding200Response.md +18 -0
  95. data/docs/GuardrailError.md +28 -0
  96. data/docs/HashtagGroup.md +22 -0
  97. data/docs/HashtagGroupInput.md +20 -0
  98. data/docs/HashtagGroupsApi.md +372 -0
  99. data/docs/ImageAltText200Response.md +18 -0
  100. data/docs/ImageAltTextInput.md +18 -0
  101. data/docs/ImageAltTextResponse.md +24 -0
  102. data/docs/ImageCreditBalance.md +28 -0
  103. data/docs/ImageEditInput.md +30 -0
  104. data/docs/ImageGenerate200Response.md +20 -0
  105. data/docs/ImageGenerate429Response.md +18 -0
  106. data/docs/ImageGenerateInput.md +38 -0
  107. data/docs/ImageGenerationResponse.md +30 -0
  108. data/docs/ImagePrompt200Response.md +20 -0
  109. data/docs/ImagePrompt429Response.md +18 -0
  110. data/docs/ImagePromptInput.md +30 -0
  111. data/docs/ImagePromptResponse.md +18 -0
  112. data/docs/ImageVariations200Response.md +18 -0
  113. data/docs/ImageVariationsInput.md +24 -0
  114. data/docs/ImageVariationsResponse.md +26 -0
  115. data/docs/InboxApi.md +758 -0
  116. data/docs/InboxAuthor.md +22 -0
  117. data/docs/InboxConversation.md +46 -0
  118. data/docs/InboxConversationAccount.md +24 -0
  119. data/docs/InboxConversationUpdate.md +20 -0
  120. data/docs/InboxMessage.md +32 -0
  121. data/docs/InboxMessageAuthor.md +22 -0
  122. data/docs/InboxReplyDraft.md +42 -0
  123. data/docs/InboxReplyDraftApprove.md +18 -0
  124. data/docs/InboxReplyDraftEdit.md +18 -0
  125. data/docs/InboxReplyDraftInput.md +20 -0
  126. data/docs/{InitiateChunkedUpload200Response.md → InitiateChunkedUpload201Response.md} +2 -2
  127. data/docs/{InitiateRemoteUpload200Response.md → InitiateRemoteUpload201Response.md} +7 -7
  128. data/docs/{InitiateRemoteUpload200ResponseOneOf.md → InitiateRemoteUpload201ResponseOneOf.md} +2 -2
  129. data/docs/InitiateRemoteUploadRequest.md +3 -1
  130. data/docs/LearnBrandVoiceInput.md +24 -0
  131. data/docs/LearnBrandVoiceResponse.md +20 -0
  132. data/docs/LearnBrandVoiceResponseMeta.md +26 -0
  133. data/docs/ListAccountGroups200Response.md +22 -0
  134. data/docs/ListAgentProposals200Response.md +20 -0
  135. data/docs/ListAgentRuns200Response.md +20 -0
  136. data/docs/ListAgents200Response.md +18 -0
  137. data/docs/ListApiActivity200Response.md +22 -0
  138. data/docs/ListApiKeys200Response.md +18 -0
  139. data/docs/ListCompetitors200Response.md +18 -0
  140. data/docs/ListHashtagGroups200Response.md +22 -0
  141. data/docs/ListInboxConversations200Response.md +22 -0
  142. data/docs/ListInboxReplyDrafts200Response.md +22 -0
  143. data/docs/ListMediaFolders200Response.md +18 -0
  144. data/docs/ListMentions200Response.md +22 -0
  145. data/docs/ListMyWorkspaces200Response.md +18 -0
  146. data/docs/ListRecyclingRules200Response.md +18 -0
  147. data/docs/ListRecyclingRuns200Response.md +18 -0
  148. data/docs/ListReportExports200Response.md +18 -0
  149. data/docs/ListResellerClients200Response.md +20 -0
  150. data/docs/ListRssFeeds200Response.md +18 -0
  151. data/docs/ListTemplates200Response.md +22 -0
  152. data/docs/ListWebhookSubscriptions200Response.md +18 -0
  153. data/docs/Media.md +22 -8
  154. data/docs/MediaApi.md +435 -31
  155. data/docs/MediaBase64Input.md +24 -0
  156. data/docs/MediaFolder.md +24 -0
  157. data/docs/MediaFolderInput.md +20 -0
  158. data/docs/MediaFolderRef.md +20 -0
  159. data/docs/Mention.md +28 -0
  160. data/docs/MentionIdentity.md +24 -0
  161. data/docs/MentionIdentityInput.md +26 -0
  162. data/docs/MentionInput.md +22 -0
  163. data/docs/MentionsApi.md +379 -0
  164. data/docs/MessageOnly.md +18 -0
  165. data/docs/PollRssFeed200Response.md +22 -0
  166. data/docs/Post.md +10 -8
  167. data/docs/PostAnalytics.md +22 -0
  168. data/docs/PostContent.md +1 -1
  169. data/docs/PostInput.md +8 -2
  170. data/docs/PostOptionsInstagram.md +22 -0
  171. data/docs/PostOptionsTikTok.md +34 -0
  172. data/docs/PostOptionsYoutube.md +24 -0
  173. data/docs/PostVersion.md +4 -2
  174. data/docs/PostVersionOptions.md +24 -0
  175. data/docs/PostingSchedule.md +28 -0
  176. data/docs/PostingScheduleApi.md +377 -0
  177. data/docs/PostingScheduleDay.md +22 -0
  178. data/docs/PostingScheduleDayTimesInner.md +18 -0
  179. data/docs/PostingScheduleInput.md +24 -0
  180. data/docs/PostingTimeSlot.md +22 -0
  181. data/docs/PostingTimes.md +32 -0
  182. data/docs/PostingTimesBestInner.md +24 -0
  183. data/docs/PostingTimesDayIntervalsInnerInner.md +28 -0
  184. data/docs/PostingTimesDaysInner.md +24 -0
  185. data/docs/PostsApi.md +1264 -82
  186. data/docs/PreflightResult.md +26 -0
  187. data/docs/PublicWorkspace.md +24 -0
  188. data/docs/PublicWorkspacePivot.md +22 -0
  189. data/docs/PublishProgress.md +22 -0
  190. data/docs/QueueSlots.md +20 -0
  191. data/docs/Receipt.md +8 -8
  192. data/docs/ReceiptsApi.md +15 -1
  193. data/docs/RecommendedPostingTimes.md +26 -0
  194. data/docs/ReconnectLink.md +22 -0
  195. data/docs/RecyclingRule.md +42 -0
  196. data/docs/RecyclingRuleInput.md +34 -0
  197. data/docs/RecyclingRuleSettings.md +28 -0
  198. data/docs/RecyclingRuleUpdate.md +28 -0
  199. data/docs/RecyclingRun.md +28 -0
  200. data/docs/RemoveGenericSubscription422Response.md +18 -0
  201. data/docs/ReportBranding.md +28 -0
  202. data/docs/ReportBrandingInput.md +24 -0
  203. data/docs/ReportExport.md +42 -0
  204. data/docs/ReportExportInput.md +28 -0
  205. data/docs/RepurposeContent200Response.md +20 -0
  206. data/docs/RepurposeInput.md +54 -0
  207. data/docs/RepurposeInputTheme.md +22 -0
  208. data/docs/RepurposeResult.md +32 -0
  209. data/docs/RepurposeResultMedia.md +20 -0
  210. data/docs/RepurposeResultSource.md +22 -0
  211. data/docs/RepurposeSlide.md +20 -0
  212. data/docs/ResellerClient.md +32 -0
  213. data/docs/ResellerClientInput.md +18 -0
  214. data/docs/ResellerClientUsage.md +20 -0
  215. data/docs/RetryPostAccountResult.md +22 -0
  216. data/docs/RssFeed.md +38 -0
  217. data/docs/RssFeedInput.md +30 -0
  218. data/docs/RssFeedUpdate.md +30 -0
  219. data/docs/RunAgent202Response.md +18 -0
  220. data/docs/SchedulePostRequest.md +9 -1
  221. data/docs/ScheduleResult.md +4 -2
  222. data/docs/Subscription.md +5 -5
  223. data/docs/SubscriptionsApi.md +27 -5
  224. data/docs/Tag.md +4 -4
  225. data/docs/TagsApi.md +18 -4
  226. data/docs/Template.md +22 -0
  227. data/docs/TemplateContentItem.md +20 -0
  228. data/docs/TemplateInput.md +20 -0
  229. data/docs/TemplateInputContentInner.md +20 -0
  230. data/docs/TemplatesApi.md +372 -0
  231. data/docs/UpdateMediaRequest.md +6 -2
  232. data/docs/{UploadChunk200Response.md → UploadChunk201Response.md} +2 -2
  233. data/docs/User.md +7 -5
  234. data/docs/UsersApi.md +15 -1
  235. data/docs/WebhookEventName.md +15 -0
  236. data/docs/WebhookEventPayload.md +20 -0
  237. data/docs/WebhookSubscription.md +28 -0
  238. data/docs/WebhookSubscriptionInput.md +24 -0
  239. data/docs/WebhooksApi.md +221 -0
  240. data/docs/Workspace.md +8 -6
  241. data/docs/WorkspaceAgent.md +34 -0
  242. data/docs/WorkspaceAgentInput.md +26 -0
  243. data/docs/WorkspaceAgentSettings.md +26 -0
  244. data/docs/WorkspaceAgentUpdate.md +24 -0
  245. data/docs/WorkspaceInput.md +1 -1
  246. data/docs/WorkspacesApi.md +582 -3
  247. data/docs/XUsage.md +28 -0
  248. data/docs/XUsageCounter.md +20 -0
  249. data/lib/postboost/api/account_groups_api.rb +395 -0
  250. data/lib/postboost/api/accounts_api.rb +233 -4
  251. data/lib/postboost/api/activity_api.rb +97 -0
  252. data/lib/postboost/api/agents_api.rb +771 -0
  253. data/lib/postboost/api/ai_api.rb +884 -0
  254. data/lib/postboost/api/analytics_api.rb +910 -0
  255. data/lib/postboost/api/competitors_api.rb +300 -0
  256. data/lib/postboost/api/hashtag_groups_api.rb +395 -0
  257. data/lib/postboost/api/inbox_api.rb +789 -0
  258. data/lib/postboost/api/media_api.rb +496 -24
  259. data/lib/postboost/api/mentions_api.rb +397 -0
  260. data/lib/postboost/api/posting_schedule_api.rb +389 -0
  261. data/lib/postboost/api/posts_api.rb +1321 -104
  262. data/lib/postboost/api/receipts_api.rb +17 -2
  263. data/lib/postboost/api/subscriptions_api.rb +28 -3
  264. data/lib/postboost/api/tags_api.rb +23 -2
  265. data/lib/postboost/api/templates_api.rb +395 -0
  266. data/lib/postboost/api/users_api.rb +17 -2
  267. data/lib/postboost/api/webhooks_api.rb +228 -0
  268. data/lib/postboost/api/workspaces_api.rb +545 -2
  269. data/lib/postboost/api_client.rb +2 -2
  270. data/lib/postboost/api_error.rb +2 -2
  271. data/lib/postboost/configuration.rb +2 -2
  272. data/lib/postboost/models/account.rb +145 -4
  273. data/lib/postboost/models/account_analytics.rb +308 -0
  274. data/lib/postboost/models/account_analytics_initial_sync.rb +231 -0
  275. data/lib/postboost/models/account_connection_health.rb +389 -0
  276. data/lib/postboost/models/account_errors_inner.rb +105 -0
  277. data/lib/postboost/models/account_errors_inner_one_of.rb +243 -0
  278. data/lib/postboost/models/account_group.rb +271 -0
  279. data/lib/postboost/models/account_group_input.rb +252 -0
  280. data/lib/postboost/models/account_health.rb +352 -0
  281. data/lib/postboost/models/account_health_daily_cap.rb +239 -0
  282. data/lib/postboost/models/account_schedule.rb +255 -0
  283. data/lib/postboost/models/add_competitor202_response.rb +271 -0
  284. data/lib/postboost/models/add_competitor409_response.rb +223 -0
  285. data/lib/postboost/models/add_generic_subscription_request.rb +2 -2
  286. data/lib/postboost/models/add_post_to_queue_request.rb +215 -0
  287. data/lib/postboost/models/agent_page_meta.rb +269 -0
  288. data/lib/postboost/models/agent_proposal.rb +444 -0
  289. data/lib/postboost/models/agent_proposal_decision.rb +233 -0
  290. data/lib/postboost/models/agent_run.rb +434 -0
  291. data/lib/postboost/models/ai_credits.rb +256 -0
  292. data/lib/postboost/models/ai_usage.rb +237 -0
  293. data/lib/postboost/models/ai_usage_text.rb +252 -0
  294. data/lib/postboost/models/analytics_period.rb +270 -0
  295. data/lib/postboost/models/analytics_summary.rb +237 -0
  296. data/lib/postboost/models/analytics_summary_data.rb +327 -0
  297. data/lib/postboost/models/api_activity.rb +359 -0
  298. data/lib/postboost/models/api_activity_outcome.rb +49 -0
  299. data/lib/postboost/models/api_key.rb +308 -0
  300. data/lib/postboost/models/api_key_ability.rb +43 -0
  301. data/lib/postboost/models/api_key_input.rb +316 -0
  302. data/lib/postboost/models/approve_agent_proposal200_response.rb +221 -0
  303. data/lib/postboost/models/approve_agent_proposal409_response.rb +237 -0
  304. data/lib/postboost/models/approve_inbox_reply_draft403_response.rb +264 -0
  305. data/lib/postboost/models/approve_post_request.rb +247 -0
  306. data/lib/postboost/models/best_posting_times.rb +240 -0
  307. data/lib/postboost/models/best_posting_times_times_inner.rb +269 -0
  308. data/lib/postboost/models/blog_to_social200_response.rb +223 -0
  309. data/lib/postboost/models/blog_to_social429_response.rb +214 -0
  310. data/lib/postboost/models/blog_to_social_caption.rb +265 -0
  311. data/lib/postboost/models/blog_to_social_input.rb +548 -0
  312. data/lib/postboost/models/blog_to_social_media.rb +226 -0
  313. data/lib/postboost/models/blog_to_social_response.rb +276 -0
  314. data/lib/postboost/models/brand_voice.rb +531 -0
  315. data/lib/postboost/models/brand_voice_input.rb +646 -0
  316. data/lib/postboost/models/brand_voice_meta.rb +222 -0
  317. data/lib/postboost/models/cancel_subscription422_response.rb +223 -0
  318. data/lib/postboost/models/cancel_subscription422_response_errors.rb +216 -0
  319. data/lib/postboost/models/cancel_subscription_request.rb +217 -0
  320. data/lib/postboost/models/change_subscription_plan_request.rb +2 -2
  321. data/lib/postboost/models/channel_account.rb +380 -0
  322. data/lib/postboost/models/checkout_subscription200_response.rb +2 -2
  323. data/lib/postboost/models/checkout_subscription_request.rb +2 -2
  324. data/lib/postboost/models/coded_error.rb +242 -0
  325. data/lib/postboost/models/competitor.rb +320 -0
  326. data/lib/postboost/models/competitor_detail.rb +358 -0
  327. data/lib/postboost/models/competitor_input.rb +258 -0
  328. data/lib/postboost/models/competitor_media.rb +263 -0
  329. data/lib/postboost/models/competitor_snapshot.rb +234 -0
  330. data/lib/postboost/models/complete_chunked_upload_request.rb +243 -0
  331. data/lib/postboost/models/connect_channel_input.rb +265 -0
  332. data/lib/postboost/models/create_account_group201_response.rb +221 -0
  333. data/lib/postboost/models/create_agent201_response.rb +221 -0
  334. data/lib/postboost/models/create_api_key201_response.rb +221 -0
  335. data/lib/postboost/models/create_api_key201_response_data.rb +327 -0
  336. data/lib/postboost/models/create_hashtag_group201_response.rb +221 -0
  337. data/lib/postboost/models/create_inbox_reply_draft201_response.rb +221 -0
  338. data/lib/postboost/models/create_media_folder_request.rb +258 -0
  339. data/lib/postboost/models/create_mention201_response.rb +214 -0
  340. data/lib/postboost/models/create_recycling_rule201_response.rb +221 -0
  341. data/lib/postboost/models/create_report_export201_response.rb +221 -0
  342. data/lib/postboost/models/create_reseller_client201_response.rb +221 -0
  343. data/lib/postboost/models/create_rss_feed201_response.rb +221 -0
  344. data/lib/postboost/models/create_template201_response.rb +221 -0
  345. data/lib/postboost/models/create_webhook_subscription201_response.rb +221 -0
  346. data/lib/postboost/models/create_webhook_subscription201_response_data.rb +320 -0
  347. data/lib/postboost/models/delete_agent200_response.rb +221 -0
  348. data/lib/postboost/models/delete_media_bulk_request.rb +23 -4
  349. data/lib/postboost/models/delete_media_bulk_request_items_inner.rb +105 -0
  350. data/lib/postboost/models/delete_media_folder_request.rb +216 -0
  351. data/lib/postboost/models/delete_mode.rb +2 -2
  352. data/lib/postboost/models/delete_post_request.rb +2 -2
  353. data/lib/postboost/models/delete_posts_bulk_request.rb +2 -2
  354. data/lib/postboost/models/delete_receipts_bulk_request.rb +2 -2
  355. data/lib/postboost/models/delete_result.rb +23 -2
  356. data/lib/postboost/models/delete_user400_response.rb +2 -2
  357. data/lib/postboost/models/delete_users_bulk_request.rb +2 -2
  358. data/lib/postboost/models/delete_workspaces_bulk_request.rb +2 -2
  359. data/lib/postboost/models/get_account_health200_response.rb +223 -0
  360. data/lib/postboost/models/get_brand_voice200_response.rb +217 -0
  361. data/lib/postboost/models/get_competitor200_response.rb +221 -0
  362. data/lib/postboost/models/get_inbox_conversation200_response.rb +221 -0
  363. data/lib/postboost/models/get_posting_schedule200_response.rb +221 -0
  364. data/lib/postboost/models/get_remote_upload_status200_response.rb +2 -2
  365. data/lib/postboost/models/get_report_branding200_response.rb +221 -0
  366. data/lib/postboost/models/guardrail_error.rb +304 -0
  367. data/lib/postboost/models/hashtag_group.rb +254 -0
  368. data/lib/postboost/models/hashtag_group_input.rb +275 -0
  369. data/lib/postboost/models/image_alt_text200_response.rb +221 -0
  370. data/lib/postboost/models/image_alt_text_input.rb +221 -0
  371. data/lib/postboost/models/image_alt_text_response.rb +262 -0
  372. data/lib/postboost/models/image_credit_balance.rb +295 -0
  373. data/lib/postboost/models/image_edit_input.rb +387 -0
  374. data/lib/postboost/models/image_generate200_response.rb +230 -0
  375. data/lib/postboost/models/image_generate429_response.rb +214 -0
  376. data/lib/postboost/models/image_generate_input.rb +479 -0
  377. data/lib/postboost/models/image_generation_response.rb +305 -0
  378. data/lib/postboost/models/image_prompt200_response.rb +230 -0
  379. data/lib/postboost/models/image_prompt429_response.rb +214 -0
  380. data/lib/postboost/models/image_prompt_input.rb +377 -0
  381. data/lib/postboost/models/image_prompt_response.rb +221 -0
  382. data/lib/postboost/models/image_variations200_response.rb +221 -0
  383. data/lib/postboost/models/image_variations_input.rb +328 -0
  384. data/lib/postboost/models/image_variations_response.rb +280 -0
  385. data/lib/postboost/models/inbox_author.rb +235 -0
  386. data/lib/postboost/models/inbox_conversation.rb +425 -0
  387. data/lib/postboost/models/inbox_conversation_account.rb +241 -0
  388. data/lib/postboost/models/inbox_conversation_update.rb +257 -0
  389. data/lib/postboost/models/inbox_message.rb +360 -0
  390. data/lib/postboost/models/inbox_message_author.rb +235 -0
  391. data/lib/postboost/models/inbox_reply_draft.rb +410 -0
  392. data/lib/postboost/models/inbox_reply_draft_approve.rb +215 -0
  393. data/lib/postboost/models/inbox_reply_draft_edit.rb +221 -0
  394. data/lib/postboost/models/inbox_reply_draft_input.rb +232 -0
  395. data/lib/postboost/models/{initiate_chunked_upload200_response.rb → initiate_chunked_upload201_response.rb} +5 -5
  396. data/lib/postboost/models/initiate_chunked_upload_request.rb +2 -2
  397. data/lib/postboost/models/{initiate_remote_upload200_response.rb → initiate_remote_upload201_response.rb} +4 -4
  398. data/lib/postboost/models/{initiate_remote_upload200_response_one_of.rb → initiate_remote_upload201_response_one_of.rb} +5 -5
  399. data/lib/postboost/models/initiate_remote_upload_request.rb +16 -6
  400. data/lib/postboost/models/learn_brand_voice_input.rb +300 -0
  401. data/lib/postboost/models/learn_brand_voice_response.rb +237 -0
  402. data/lib/postboost/models/learn_brand_voice_response_meta.rb +281 -0
  403. data/lib/postboost/models/list_account_groups200_response.rb +248 -0
  404. data/lib/postboost/models/list_accounts200_response.rb +2 -2
  405. data/lib/postboost/models/list_agent_proposals200_response.rb +239 -0
  406. data/lib/postboost/models/list_agent_runs200_response.rb +239 -0
  407. data/lib/postboost/models/list_agents200_response.rb +223 -0
  408. data/lib/postboost/models/list_api_activity200_response.rb +241 -0
  409. data/lib/postboost/models/list_api_keys200_response.rb +223 -0
  410. data/lib/postboost/models/list_competitors200_response.rb +223 -0
  411. data/lib/postboost/models/list_hashtag_groups200_response.rb +248 -0
  412. data/lib/postboost/models/list_inbox_conversations200_response.rb +241 -0
  413. data/lib/postboost/models/list_inbox_reply_drafts200_response.rb +241 -0
  414. data/lib/postboost/models/list_media200_response.rb +2 -2
  415. data/lib/postboost/models/list_media_folders200_response.rb +216 -0
  416. data/lib/postboost/models/list_mentions200_response.rb +241 -0
  417. data/lib/postboost/models/list_my_workspaces200_response.rb +216 -0
  418. data/lib/postboost/models/list_posts200_response.rb +2 -2
  419. data/lib/postboost/models/list_receipts200_response.rb +2 -2
  420. data/lib/postboost/models/list_recycling_rules200_response.rb +223 -0
  421. data/lib/postboost/models/list_recycling_runs200_response.rb +223 -0
  422. data/lib/postboost/models/list_report_exports200_response.rb +223 -0
  423. data/lib/postboost/models/list_reseller_clients200_response.rb +239 -0
  424. data/lib/postboost/models/list_rss_feeds200_response.rb +223 -0
  425. data/lib/postboost/models/list_tags200_response.rb +2 -2
  426. data/lib/postboost/models/list_templates200_response.rb +248 -0
  427. data/lib/postboost/models/list_users200_response.rb +2 -2
  428. data/lib/postboost/models/list_webhook_subscriptions200_response.rb +223 -0
  429. data/lib/postboost/models/list_workspaces200_response.rb +2 -2
  430. data/lib/postboost/models/media.rb +128 -3
  431. data/lib/postboost/models/media_base64_input.rb +295 -0
  432. data/lib/postboost/models/media_folder.rb +271 -0
  433. data/lib/postboost/models/media_folder_input.rb +244 -0
  434. data/lib/postboost/models/media_folder_ref.rb +237 -0
  435. data/lib/postboost/models/mention.rb +290 -0
  436. data/lib/postboost/models/mention_identity.rb +257 -0
  437. data/lib/postboost/models/mention_identity_input.rb +325 -0
  438. data/lib/postboost/models/mention_input.rb +279 -0
  439. data/lib/postboost/models/message_only.rb +221 -0
  440. data/lib/postboost/models/pagination_meta.rb +2 -2
  441. data/lib/postboost/models/pagination_meta_links.rb +4 -2
  442. data/lib/postboost/models/pagination_meta_meta.rb +4 -2
  443. data/lib/postboost/models/poll_rss_feed200_response.rb +255 -0
  444. data/lib/postboost/models/post.rb +69 -3
  445. data/lib/postboost/models/post_analytics.rb +252 -0
  446. data/lib/postboost/models/post_content.rb +4 -3
  447. data/lib/postboost/models/post_input.rb +41 -6
  448. data/lib/postboost/models/post_options_instagram.rb +294 -0
  449. data/lib/postboost/models/post_options_tik_tok.rb +329 -0
  450. data/lib/postboost/models/post_options_youtube.rb +302 -0
  451. data/lib/postboost/models/post_status.rb +6 -3
  452. data/lib/postboost/models/post_version.rb +53 -5
  453. data/lib/postboost/models/post_version_options.rb +242 -0
  454. data/lib/postboost/models/posting_schedule.rb +303 -0
  455. data/lib/postboost/models/posting_schedule_day.rb +285 -0
  456. data/lib/postboost/models/posting_schedule_day_times_inner.rb +222 -0
  457. data/lib/postboost/models/posting_schedule_input.rb +312 -0
  458. data/lib/postboost/models/posting_time_slot.rb +315 -0
  459. data/lib/postboost/models/posting_times.rb +362 -0
  460. data/lib/postboost/models/posting_times_best_inner.rb +269 -0
  461. data/lib/postboost/models/posting_times_day_intervals_inner_inner.rb +370 -0
  462. data/lib/postboost/models/posting_times_days_inner.rb +366 -0
  463. data/lib/postboost/models/preflight_result.rb +291 -0
  464. data/lib/postboost/models/public_workspace.rb +262 -0
  465. data/lib/postboost/models/public_workspace_pivot.rb +267 -0
  466. data/lib/postboost/models/publish_progress.rb +254 -0
  467. data/lib/postboost/models/queue_slots.rb +237 -0
  468. data/lib/postboost/models/receipt.rb +58 -2
  469. data/lib/postboost/models/receipt_input.rb +2 -2
  470. data/lib/postboost/models/receipt_update_input.rb +2 -2
  471. data/lib/postboost/models/recommended_posting_times.rb +282 -0
  472. data/lib/postboost/models/reconnect_link.rb +254 -0
  473. data/lib/postboost/models/recycling_rule.rb +434 -0
  474. data/lib/postboost/models/recycling_rule_input.rb +435 -0
  475. data/lib/postboost/models/recycling_rule_settings.rb +381 -0
  476. data/lib/postboost/models/recycling_rule_update.rb +366 -0
  477. data/lib/postboost/models/recycling_run.rb +320 -0
  478. data/lib/postboost/models/remove_generic_subscription422_response.rb +214 -0
  479. data/lib/postboost/models/remove_user_from_workspace_request.rb +2 -2
  480. data/lib/postboost/models/report_branding.rb +285 -0
  481. data/lib/postboost/models/report_branding_input.rb +293 -0
  482. data/lib/postboost/models/report_export.rb +442 -0
  483. data/lib/postboost/models/report_export_input.rb +350 -0
  484. data/lib/postboost/models/repurpose_content200_response.rb +237 -0
  485. data/lib/postboost/models/repurpose_input.rb +667 -0
  486. data/lib/postboost/models/repurpose_input_theme.rb +296 -0
  487. data/lib/postboost/models/repurpose_result.rb +328 -0
  488. data/lib/postboost/models/repurpose_result_media.rb +224 -0
  489. data/lib/postboost/models/repurpose_result_source.rb +283 -0
  490. data/lib/postboost/models/repurpose_slide.rb +239 -0
  491. data/lib/postboost/models/reseller_client.rb +360 -0
  492. data/lib/postboost/models/reseller_client_input.rb +240 -0
  493. data/lib/postboost/models/reseller_client_usage.rb +239 -0
  494. data/lib/postboost/models/retry_post_account_result.rb +275 -0
  495. data/lib/postboost/models/rss_feed.rb +402 -0
  496. data/lib/postboost/models/rss_feed_input.rb +433 -0
  497. data/lib/postboost/models/rss_feed_update.rb +396 -0
  498. data/lib/postboost/models/run_agent202_response.rb +221 -0
  499. data/lib/postboost/models/schedule_post_request.rb +48 -6
  500. data/lib/postboost/models/schedule_result.rb +23 -6
  501. data/lib/postboost/models/subscription.rb +37 -2
  502. data/lib/postboost/models/subscription_input.rb +2 -2
  503. data/lib/postboost/models/subscription_status.rb +2 -2
  504. data/lib/postboost/models/subscription_update_input.rb +2 -2
  505. data/lib/postboost/models/tag.rb +30 -2
  506. data/lib/postboost/models/tag_input.rb +2 -2
  507. data/lib/postboost/models/template.rb +256 -0
  508. data/lib/postboost/models/template_content_item.rb +240 -0
  509. data/lib/postboost/models/template_input.rb +271 -0
  510. data/lib/postboost/models/template_input_content_inner.rb +227 -0
  511. data/lib/postboost/models/update_media_request.rb +61 -11
  512. data/lib/postboost/models/{upload_chunk200_response.rb → upload_chunk201_response.rb} +5 -5
  513. data/lib/postboost/models/user.rb +48 -3
  514. data/lib/postboost/models/user_input.rb +2 -2
  515. data/lib/postboost/models/user_update_input.rb +2 -2
  516. data/lib/postboost/models/webhook_event_name.rb +50 -0
  517. data/lib/postboost/models/webhook_event_payload.rb +262 -0
  518. data/lib/postboost/models/webhook_subscription.rb +297 -0
  519. data/lib/postboost/models/webhook_subscription_input.rb +349 -0
  520. data/lib/postboost/models/workspace.rb +42 -3
  521. data/lib/postboost/models/workspace_agent.rb +381 -0
  522. data/lib/postboost/models/workspace_agent_input.rb +326 -0
  523. data/lib/postboost/models/workspace_agent_settings.rb +340 -0
  524. data/lib/postboost/models/workspace_agent_update.rb +294 -0
  525. data/lib/postboost/models/workspace_input.rb +3 -9
  526. data/lib/postboost/models/workspace_user_input.rb +2 -2
  527. data/lib/postboost/models/x_usage.rb +303 -0
  528. data/lib/postboost/models/x_usage_counter.rb +234 -0
  529. data/lib/postboost/version.rb +3 -3
  530. data/lib/postboost.rb +219 -6
  531. data/postboost.gemspec +3 -3
  532. data/spec/api/account_groups_api_spec.rb +102 -0
  533. data/spec/api/accounts_api_spec.rb +46 -3
  534. data/spec/api/activity_api_spec.rb +51 -0
  535. data/spec/api/agents_api_spec.rb +170 -0
  536. data/spec/api/ai_api_spec.rb +189 -0
  537. data/spec/api/analytics_api_spec.rb +201 -0
  538. data/spec/api/competitors_api_spec.rb +87 -0
  539. data/spec/api/hashtag_groups_api_spec.rb +102 -0
  540. data/spec/api/inbox_api_spec.rb +178 -0
  541. data/spec/api/media_api_spec.rb +92 -11
  542. data/spec/api/mentions_api_spec.rb +104 -0
  543. data/spec/api/posting_schedule_api_spec.rb +102 -0
  544. data/spec/api/posts_api_spec.rb +224 -6
  545. data/spec/api/receipts_api_spec.rb +9 -2
  546. data/spec/api/subscriptions_api_spec.rb +12 -2
  547. data/spec/api/tags_api_spec.rb +8 -2
  548. data/spec/api/templates_api_spec.rb +102 -0
  549. data/spec/api/users_api_spec.rb +9 -2
  550. data/spec/api/webhooks_api_spec.rb +73 -0
  551. data/spec/api/workspaces_api_spec.rb +108 -2
  552. data/spec/models/account_analytics_initial_sync_spec.rb +42 -0
  553. data/spec/models/account_analytics_spec.rb +66 -0
  554. data/spec/models/account_connection_health_spec.rb +92 -0
  555. data/spec/models/account_errors_inner_one_of_spec.rb +54 -0
  556. data/spec/models/account_errors_inner_spec.rb +32 -0
  557. data/spec/models/account_group_input_spec.rb +42 -0
  558. data/spec/models/account_group_spec.rb +54 -0
  559. data/spec/models/account_health_daily_cap_spec.rb +42 -0
  560. data/spec/models/account_health_spec.rb +84 -0
  561. data/spec/models/account_schedule_spec.rb +48 -0
  562. data/spec/models/account_spec.rb +36 -2
  563. data/spec/models/add_competitor202_response_spec.rb +46 -0
  564. data/spec/models/add_competitor409_response_spec.rb +42 -0
  565. data/spec/models/add_generic_subscription_request_spec.rb +2 -2
  566. data/spec/models/add_post_to_queue_request_spec.rb +36 -0
  567. data/spec/models/agent_page_meta_spec.rb +54 -0
  568. data/spec/models/agent_proposal_decision_spec.rb +36 -0
  569. data/spec/models/agent_proposal_spec.rb +126 -0
  570. data/spec/models/agent_run_spec.rb +122 -0
  571. data/spec/models/ai_credits_spec.rb +48 -0
  572. data/spec/models/ai_usage_spec.rb +42 -0
  573. data/spec/models/ai_usage_text_spec.rb +54 -0
  574. data/spec/models/analytics_period_spec.rb +54 -0
  575. data/spec/models/analytics_summary_data_spec.rb +96 -0
  576. data/spec/models/analytics_summary_spec.rb +42 -0
  577. data/spec/models/api_activity_outcome_spec.rb +30 -0
  578. data/spec/models/api_activity_spec.rb +90 -0
  579. data/spec/models/api_key_ability_spec.rb +30 -0
  580. data/spec/models/api_key_input_spec.rb +54 -0
  581. data/spec/models/api_key_spec.rb +78 -0
  582. data/spec/models/approve_agent_proposal200_response_spec.rb +36 -0
  583. data/spec/models/approve_agent_proposal409_response_spec.rb +42 -0
  584. data/spec/models/approve_inbox_reply_draft403_response_spec.rb +46 -0
  585. data/spec/models/approve_post_request_spec.rb +54 -0
  586. data/spec/models/best_posting_times_spec.rb +42 -0
  587. data/spec/models/best_posting_times_times_inner_spec.rb +54 -0
  588. data/spec/models/blog_to_social200_response_spec.rb +42 -0
  589. data/spec/models/blog_to_social429_response_spec.rb +36 -0
  590. data/spec/models/blog_to_social_caption_spec.rb +66 -0
  591. data/spec/models/blog_to_social_input_spec.rb +134 -0
  592. data/spec/models/blog_to_social_media_spec.rb +42 -0
  593. data/spec/models/blog_to_social_response_spec.rb +72 -0
  594. data/spec/models/brand_voice_input_spec.rb +128 -0
  595. data/spec/models/brand_voice_meta_spec.rb +36 -0
  596. data/spec/models/brand_voice_spec.rb +134 -0
  597. data/spec/models/cancel_subscription422_response_errors_spec.rb +36 -0
  598. data/spec/models/cancel_subscription422_response_spec.rb +42 -0
  599. data/spec/models/cancel_subscription_request_spec.rb +36 -0
  600. data/spec/models/change_subscription_plan_request_spec.rb +2 -2
  601. data/spec/models/channel_account_spec.rb +94 -0
  602. data/spec/models/checkout_subscription200_response_spec.rb +2 -2
  603. data/spec/models/checkout_subscription_request_spec.rb +2 -2
  604. data/spec/models/coded_error_spec.rb +48 -0
  605. data/spec/models/competitor_detail_spec.rb +96 -0
  606. data/spec/models/competitor_input_spec.rb +42 -0
  607. data/spec/models/competitor_media_spec.rb +66 -0
  608. data/spec/models/competitor_snapshot_spec.rb +48 -0
  609. data/spec/models/competitor_spec.rb +84 -0
  610. data/spec/models/complete_chunked_upload_request_spec.rb +42 -0
  611. data/spec/models/connect_channel_input_spec.rb +54 -0
  612. data/spec/models/create_account_group201_response_spec.rb +36 -0
  613. data/spec/models/create_agent201_response_spec.rb +36 -0
  614. data/spec/models/create_api_key201_response_data_spec.rb +84 -0
  615. data/spec/models/create_api_key201_response_spec.rb +36 -0
  616. data/spec/models/create_hashtag_group201_response_spec.rb +36 -0
  617. data/spec/models/create_inbox_reply_draft201_response_spec.rb +36 -0
  618. data/spec/models/create_media_folder_request_spec.rb +42 -0
  619. data/spec/models/create_mention201_response_spec.rb +36 -0
  620. data/spec/models/create_recycling_rule201_response_spec.rb +36 -0
  621. data/spec/models/create_report_export201_response_spec.rb +36 -0
  622. data/spec/models/create_reseller_client201_response_spec.rb +36 -0
  623. data/spec/models/create_rss_feed201_response_spec.rb +36 -0
  624. data/spec/models/create_template201_response_spec.rb +36 -0
  625. data/spec/models/create_webhook_subscription201_response_data_spec.rb +72 -0
  626. data/spec/models/create_webhook_subscription201_response_spec.rb +36 -0
  627. data/spec/models/delete_agent200_response_spec.rb +36 -0
  628. data/spec/models/delete_media_bulk_request_items_inner_spec.rb +32 -0
  629. data/spec/models/delete_media_bulk_request_spec.rb +2 -2
  630. data/spec/models/delete_media_folder_request_spec.rb +36 -0
  631. data/spec/models/delete_mode_spec.rb +2 -2
  632. data/spec/models/delete_post_request_spec.rb +2 -2
  633. data/spec/models/delete_posts_bulk_request_spec.rb +2 -2
  634. data/spec/models/delete_receipts_bulk_request_spec.rb +2 -2
  635. data/spec/models/delete_result_spec.rb +2 -2
  636. data/spec/models/delete_user400_response_spec.rb +2 -2
  637. data/spec/models/delete_users_bulk_request_spec.rb +2 -2
  638. data/spec/models/delete_workspaces_bulk_request_spec.rb +2 -2
  639. data/spec/models/get_account_health200_response_spec.rb +36 -0
  640. data/spec/models/get_brand_voice200_response_spec.rb +36 -0
  641. data/spec/models/get_competitor200_response_spec.rb +36 -0
  642. data/spec/models/get_inbox_conversation200_response_spec.rb +36 -0
  643. data/spec/models/get_posting_schedule200_response_spec.rb +36 -0
  644. data/spec/models/get_remote_upload_status200_response_spec.rb +2 -2
  645. data/spec/models/get_report_branding200_response_spec.rb +36 -0
  646. data/spec/models/guardrail_error_spec.rb +70 -0
  647. data/spec/models/hashtag_group_input_spec.rb +42 -0
  648. data/spec/models/hashtag_group_spec.rb +48 -0
  649. data/spec/models/image_alt_text200_response_spec.rb +36 -0
  650. data/spec/models/image_alt_text_input_spec.rb +36 -0
  651. data/spec/models/image_alt_text_response_spec.rb +54 -0
  652. data/spec/models/image_credit_balance_spec.rb +66 -0
  653. data/spec/models/image_edit_input_spec.rb +80 -0
  654. data/spec/models/image_generate200_response_spec.rb +42 -0
  655. data/spec/models/image_generate429_response_spec.rb +36 -0
  656. data/spec/models/image_generate_input_spec.rb +108 -0
  657. data/spec/models/image_generation_response_spec.rb +72 -0
  658. data/spec/models/image_prompt200_response_spec.rb +42 -0
  659. data/spec/models/image_prompt429_response_spec.rb +36 -0
  660. data/spec/models/image_prompt_input_spec.rb +76 -0
  661. data/spec/models/image_prompt_response_spec.rb +36 -0
  662. data/spec/models/image_variations200_response_spec.rb +36 -0
  663. data/spec/models/image_variations_input_spec.rb +62 -0
  664. data/spec/models/image_variations_response_spec.rb +60 -0
  665. data/spec/models/inbox_author_spec.rb +48 -0
  666. data/spec/models/inbox_conversation_account_spec.rb +54 -0
  667. data/spec/models/inbox_conversation_spec.rb +128 -0
  668. data/spec/models/inbox_conversation_update_spec.rb +46 -0
  669. data/spec/models/inbox_message_author_spec.rb +48 -0
  670. data/spec/models/inbox_message_spec.rb +90 -0
  671. data/spec/models/inbox_reply_draft_approve_spec.rb +36 -0
  672. data/spec/models/inbox_reply_draft_edit_spec.rb +36 -0
  673. data/spec/models/inbox_reply_draft_input_spec.rb +42 -0
  674. data/spec/models/inbox_reply_draft_spec.rb +116 -0
  675. data/spec/models/initiate_chunked_upload201_response_spec.rb +48 -0
  676. data/spec/models/initiate_chunked_upload_request_spec.rb +2 -2
  677. data/spec/models/initiate_remote_upload201_response_one_of_spec.rb +36 -0
  678. data/spec/models/initiate_remote_upload201_response_spec.rb +32 -0
  679. data/spec/models/initiate_remote_upload_request_spec.rb +8 -2
  680. data/spec/models/learn_brand_voice_input_spec.rb +54 -0
  681. data/spec/models/learn_brand_voice_response_meta_spec.rb +60 -0
  682. data/spec/models/learn_brand_voice_response_spec.rb +42 -0
  683. data/spec/models/list_account_groups200_response_spec.rb +48 -0
  684. data/spec/models/list_accounts200_response_spec.rb +2 -2
  685. data/spec/models/list_agent_proposals200_response_spec.rb +42 -0
  686. data/spec/models/list_agent_runs200_response_spec.rb +42 -0
  687. data/spec/models/list_agents200_response_spec.rb +36 -0
  688. data/spec/models/list_api_activity200_response_spec.rb +48 -0
  689. data/spec/models/list_api_keys200_response_spec.rb +36 -0
  690. data/spec/models/list_competitors200_response_spec.rb +36 -0
  691. data/spec/models/list_hashtag_groups200_response_spec.rb +48 -0
  692. data/spec/models/list_inbox_conversations200_response_spec.rb +48 -0
  693. data/spec/models/list_inbox_reply_drafts200_response_spec.rb +48 -0
  694. data/spec/models/list_media200_response_spec.rb +2 -2
  695. data/spec/models/list_media_folders200_response_spec.rb +36 -0
  696. data/spec/models/list_mentions200_response_spec.rb +48 -0
  697. data/spec/models/list_my_workspaces200_response_spec.rb +36 -0
  698. data/spec/models/list_posts200_response_spec.rb +2 -2
  699. data/spec/models/list_receipts200_response_spec.rb +2 -2
  700. data/spec/models/list_recycling_rules200_response_spec.rb +36 -0
  701. data/spec/models/list_recycling_runs200_response_spec.rb +36 -0
  702. data/spec/models/list_report_exports200_response_spec.rb +36 -0
  703. data/spec/models/list_reseller_clients200_response_spec.rb +42 -0
  704. data/spec/models/list_rss_feeds200_response_spec.rb +36 -0
  705. data/spec/models/list_tags200_response_spec.rb +2 -2
  706. data/spec/models/list_templates200_response_spec.rb +48 -0
  707. data/spec/models/list_users200_response_spec.rb +2 -2
  708. data/spec/models/list_webhook_subscriptions200_response_spec.rb +36 -0
  709. data/spec/models/list_workspaces200_response_spec.rb +2 -2
  710. data/spec/models/media_base64_input_spec.rb +54 -0
  711. data/spec/models/media_folder_input_spec.rb +42 -0
  712. data/spec/models/media_folder_ref_spec.rb +42 -0
  713. data/spec/models/media_folder_spec.rb +54 -0
  714. data/spec/models/media_spec.rb +44 -2
  715. data/spec/models/mention_identity_input_spec.rb +60 -0
  716. data/spec/models/mention_identity_spec.rb +54 -0
  717. data/spec/models/mention_input_spec.rb +48 -0
  718. data/spec/models/mention_spec.rb +66 -0
  719. data/spec/models/message_only_spec.rb +36 -0
  720. data/spec/models/pagination_meta_links_spec.rb +2 -2
  721. data/spec/models/pagination_meta_meta_spec.rb +2 -2
  722. data/spec/models/pagination_meta_spec.rb +2 -2
  723. data/spec/models/poll_rss_feed200_response_spec.rb +48 -0
  724. data/spec/models/post_analytics_spec.rb +48 -0
  725. data/spec/models/post_content_spec.rb +2 -2
  726. data/spec/models/post_input_spec.rb +20 -2
  727. data/spec/models/post_options_instagram_spec.rb +52 -0
  728. data/spec/models/post_options_tik_tok_spec.rb +88 -0
  729. data/spec/models/post_options_youtube_spec.rb +58 -0
  730. data/spec/models/post_spec.rb +8 -2
  731. data/spec/models/post_status_spec.rb +2 -2
  732. data/spec/models/post_version_options_spec.rb +54 -0
  733. data/spec/models/post_version_spec.rb +8 -2
  734. data/spec/models/posting_schedule_day_spec.rb +48 -0
  735. data/spec/models/posting_schedule_day_times_inner_spec.rb +36 -0
  736. data/spec/models/posting_schedule_input_spec.rb +54 -0
  737. data/spec/models/posting_schedule_spec.rb +66 -0
  738. data/spec/models/posting_time_slot_spec.rb +52 -0
  739. data/spec/models/posting_times_best_inner_spec.rb +54 -0
  740. data/spec/models/posting_times_day_intervals_inner_inner_spec.rb +70 -0
  741. data/spec/models/posting_times_days_inner_spec.rb +58 -0
  742. data/spec/models/posting_times_spec.rb +78 -0
  743. data/spec/models/preflight_result_spec.rb +60 -0
  744. data/spec/models/public_workspace_pivot_spec.rb +52 -0
  745. data/spec/models/public_workspace_spec.rb +54 -0
  746. data/spec/models/publish_progress_spec.rb +48 -0
  747. data/spec/models/queue_slots_spec.rb +42 -0
  748. data/spec/models/receipt_input_spec.rb +2 -2
  749. data/spec/models/receipt_spec.rb +2 -2
  750. data/spec/models/receipt_update_input_spec.rb +2 -2
  751. data/spec/models/recommended_posting_times_spec.rb +60 -0
  752. data/spec/models/reconnect_link_spec.rb +48 -0
  753. data/spec/models/recycling_rule_input_spec.rb +92 -0
  754. data/spec/models/recycling_rule_settings_spec.rb +70 -0
  755. data/spec/models/recycling_rule_spec.rb +116 -0
  756. data/spec/models/recycling_rule_update_spec.rb +70 -0
  757. data/spec/models/recycling_run_spec.rb +70 -0
  758. data/spec/models/remove_generic_subscription422_response_spec.rb +36 -0
  759. data/spec/models/remove_user_from_workspace_request_spec.rb +2 -2
  760. data/spec/models/report_branding_input_spec.rb +54 -0
  761. data/spec/models/report_branding_spec.rb +66 -0
  762. data/spec/models/report_export_input_spec.rb +78 -0
  763. data/spec/models/report_export_spec.rb +120 -0
  764. data/spec/models/repurpose_content200_response_spec.rb +42 -0
  765. data/spec/models/repurpose_input_spec.rb +164 -0
  766. data/spec/models/repurpose_input_theme_spec.rb +48 -0
  767. data/spec/models/repurpose_result_media_spec.rb +42 -0
  768. data/spec/models/repurpose_result_source_spec.rb +52 -0
  769. data/spec/models/repurpose_result_spec.rb +78 -0
  770. data/spec/models/repurpose_slide_spec.rb +42 -0
  771. data/spec/models/reseller_client_input_spec.rb +36 -0
  772. data/spec/models/reseller_client_spec.rb +82 -0
  773. data/spec/models/reseller_client_usage_spec.rb +42 -0
  774. data/spec/models/retry_post_account_result_spec.rb +48 -0
  775. data/spec/models/rss_feed_input_spec.rb +76 -0
  776. data/spec/models/rss_feed_spec.rb +100 -0
  777. data/spec/models/rss_feed_update_spec.rb +76 -0
  778. data/spec/models/run_agent202_response_spec.rb +36 -0
  779. data/spec/models/schedule_post_request_spec.rb +26 -2
  780. data/spec/models/schedule_result_spec.rb +8 -2
  781. data/spec/models/subscription_input_spec.rb +2 -2
  782. data/spec/models/subscription_spec.rb +2 -2
  783. data/spec/models/subscription_status_spec.rb +2 -2
  784. data/spec/models/subscription_update_input_spec.rb +2 -2
  785. data/spec/models/tag_input_spec.rb +2 -2
  786. data/spec/models/tag_spec.rb +2 -2
  787. data/spec/models/template_content_item_spec.rb +42 -0
  788. data/spec/models/template_input_content_inner_spec.rb +42 -0
  789. data/spec/models/template_input_spec.rb +42 -0
  790. data/spec/models/template_spec.rb +48 -0
  791. data/spec/models/update_media_request_spec.rb +14 -2
  792. data/spec/models/upload_chunk201_response_spec.rb +36 -0
  793. data/spec/models/user_input_spec.rb +2 -2
  794. data/spec/models/user_spec.rb +8 -2
  795. data/spec/models/user_update_input_spec.rb +2 -2
  796. data/spec/models/webhook_event_name_spec.rb +30 -0
  797. data/spec/models/webhook_event_payload_spec.rb +42 -0
  798. data/spec/models/webhook_subscription_input_spec.rb +58 -0
  799. data/spec/models/webhook_subscription_spec.rb +66 -0
  800. data/spec/models/workspace_agent_input_spec.rb +68 -0
  801. data/spec/models/workspace_agent_settings_spec.rb +60 -0
  802. data/spec/models/workspace_agent_spec.rb +92 -0
  803. data/spec/models/workspace_agent_update_spec.rb +58 -0
  804. data/spec/models/workspace_input_spec.rb +2 -2
  805. data/spec/models/workspace_spec.rb +8 -2
  806. data/spec/models/workspace_user_input_spec.rb +2 -2
  807. data/spec/models/x_usage_counter_spec.rb +42 -0
  808. data/spec/models/x_usage_spec.rb +66 -0
  809. data/spec/spec_helper.rb +2 -2
  810. metadata +943 -76
  811. data/git_push.sh +0 -57
  812. data/spec/models/initiate_chunked_upload200_response_spec.rb +0 -48
  813. data/spec/models/initiate_remote_upload200_response_one_of_spec.rb +0 -36
  814. data/spec/models/initiate_remote_upload200_response_spec.rb +0 -32
  815. data/spec/models/upload_chunk200_response_spec.rb +0 -36
data/docs/PostsApi.md CHANGED
@@ -7,21 +7,37 @@ 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 |
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 |
13
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 |
26
+ | [**retry_post_account**](PostsApi.md#retry_post_account) | **POST** /{workspaceUuid}/posts/retry/{postUuid}/{accountUuid} | Retry publishing to one account |
14
27
  | [**schedule_post**](PostsApi.md#schedule_post) | **POST** /{workspaceUuid}/posts/schedule/{postUuid} | Schedule post |
15
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) |
16
32
 
17
33
 
18
34
  ## add_post_to_queue
19
35
 
20
- > <ScheduleResult> add_post_to_queue(workspace_uuid, post_uuid)
36
+ > <ScheduleResult> add_post_to_queue(workspace_uuid, post_uuid, opts)
21
37
 
22
38
  Add post to queue
23
39
 
24
- Add an existing post to the smart publishing queue.
40
+ Add an existing post to the smart publishing queue. Each account of the post gets its own next free queue slot. Returns `422` when the post has no accounts, the posting schedule has no available times, or provider requirements are not met.
25
41
 
26
42
  ### Examples
27
43
 
@@ -37,10 +53,14 @@ end
37
53
  api_instance = PostBoost::PostsApi.new
38
54
  workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
39
55
  post_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the post.
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.
58
+ add_post_to_queue_request: PostBoost::AddPostToQueueRequest.new # AddPostToQueueRequest |
59
+ }
40
60
 
41
61
  begin
42
62
  # Add post to queue
43
- result = api_instance.add_post_to_queue(workspace_uuid, post_uuid)
63
+ result = api_instance.add_post_to_queue(workspace_uuid, post_uuid, opts)
44
64
  p result
45
65
  rescue PostBoost::ApiError => e
46
66
  puts "Error when calling PostsApi->add_post_to_queue: #{e}"
@@ -51,12 +71,12 @@ end
51
71
 
52
72
  This returns an Array which contains the response data, status code and headers.
53
73
 
54
- > <Array(<ScheduleResult>, Integer, Hash)> add_post_to_queue_with_http_info(workspace_uuid, post_uuid)
74
+ > <Array(<ScheduleResult>, Integer, Hash)> add_post_to_queue_with_http_info(workspace_uuid, post_uuid, opts)
55
75
 
56
76
  ```ruby
57
77
  begin
58
78
  # Add post to queue
59
- data, status_code, headers = api_instance.add_post_to_queue_with_http_info(workspace_uuid, post_uuid)
79
+ data, status_code, headers = api_instance.add_post_to_queue_with_http_info(workspace_uuid, post_uuid, opts)
60
80
  p status_code # => 2xx
61
81
  p headers # => { ... }
62
82
  p data # => <ScheduleResult>
@@ -71,6 +91,8 @@ end
71
91
  | ---- | ---- | ----------- | ----- |
72
92
  | **workspace_uuid** | **String** | UUID of the workspace. | |
73
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 &#x60;Idempotent-Replayed: true&#x60; and has no further effect. Keys are scoped to your user, the workspace, the method and the path. | [optional] |
95
+ | **add_post_to_queue_request** | [**AddPostToQueueRequest**](AddPostToQueueRequest.md) | | [optional] |
74
96
 
75
97
  ### Return type
76
98
 
@@ -82,17 +104,17 @@ end
82
104
 
83
105
  ### HTTP request headers
84
106
 
85
- - **Content-Type**: Not defined
107
+ - **Content-Type**: application/json
86
108
  - **Accept**: application/json
87
109
 
88
110
 
89
111
  ## approve_post
90
112
 
91
- > <ScheduleResult> approve_post(workspace_uuid, post_uuid)
113
+ > <ScheduleResult> approve_post(workspace_uuid, post_uuid, opts)
92
114
 
93
115
  Approve post
94
116
 
95
- Approve a post that is pending review.
117
+ Approve a post that is pending review. The approver may move the post with `date`/`time` (read in `timezone`) and set per-account times with `accounts_schedule`; without them the post keeps the time it was submitted with. Provider requirements are validated and reported as `422`.
96
118
 
97
119
  ### Examples
98
120
 
@@ -108,10 +130,14 @@ end
108
130
  api_instance = PostBoost::PostsApi.new
109
131
  workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
110
132
  post_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the post.
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.
135
+ approve_post_request: PostBoost::ApprovePostRequest.new # ApprovePostRequest |
136
+ }
111
137
 
112
138
  begin
113
139
  # Approve post
114
- result = api_instance.approve_post(workspace_uuid, post_uuid)
140
+ result = api_instance.approve_post(workspace_uuid, post_uuid, opts)
115
141
  p result
116
142
  rescue PostBoost::ApiError => e
117
143
  puts "Error when calling PostsApi->approve_post: #{e}"
@@ -122,12 +148,12 @@ end
122
148
 
123
149
  This returns an Array which contains the response data, status code and headers.
124
150
 
125
- > <Array(<ScheduleResult>, Integer, Hash)> approve_post_with_http_info(workspace_uuid, post_uuid)
151
+ > <Array(<ScheduleResult>, Integer, Hash)> approve_post_with_http_info(workspace_uuid, post_uuid, opts)
126
152
 
127
153
  ```ruby
128
154
  begin
129
155
  # Approve post
130
- data, status_code, headers = api_instance.approve_post_with_http_info(workspace_uuid, post_uuid)
156
+ data, status_code, headers = api_instance.approve_post_with_http_info(workspace_uuid, post_uuid, opts)
131
157
  p status_code # => 2xx
132
158
  p headers # => { ... }
133
159
  p data # => <ScheduleResult>
@@ -142,6 +168,8 @@ end
142
168
  | ---- | ---- | ----------- | ----- |
143
169
  | **workspace_uuid** | **String** | UUID of the workspace. | |
144
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 &#x60;Idempotent-Replayed: true&#x60; and has no further effect. Keys are scoped to your user, the workspace, the method and the path. | [optional] |
172
+ | **approve_post_request** | [**ApprovePostRequest**](ApprovePostRequest.md) | | [optional] |
145
173
 
146
174
  ### Return type
147
175
 
@@ -153,17 +181,17 @@ end
153
181
 
154
182
  ### HTTP request headers
155
183
 
156
- - **Content-Type**: Not defined
184
+ - **Content-Type**: application/json
157
185
  - **Accept**: application/json
158
186
 
159
187
 
160
188
  ## create_post
161
189
 
162
- > <Post> create_post(workspace_uuid, post_input)
190
+ > <Post> create_post(workspace_uuid, post_input, opts)
163
191
 
164
192
  Create post
165
193
 
166
- 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.
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.
167
195
 
168
196
  ### Examples
169
197
 
@@ -179,10 +207,13 @@ end
179
207
  api_instance = PostBoost::PostsApi.new
180
208
  workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
181
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
+ }
182
213
 
183
214
  begin
184
215
  # Create post
185
- result = api_instance.create_post(workspace_uuid, post_input)
216
+ result = api_instance.create_post(workspace_uuid, post_input, opts)
186
217
  p result
187
218
  rescue PostBoost::ApiError => e
188
219
  puts "Error when calling PostsApi->create_post: #{e}"
@@ -193,12 +224,12 @@ end
193
224
 
194
225
  This returns an Array which contains the response data, status code and headers.
195
226
 
196
- > <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)
197
228
 
198
229
  ```ruby
199
230
  begin
200
231
  # Create post
201
- 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)
202
233
  p status_code # => 2xx
203
234
  p headers # => { ... }
204
235
  p data # => <Post>
@@ -213,6 +244,7 @@ end
213
244
  | ---- | ---- | ----------- | ----- |
214
245
  | **workspace_uuid** | **String** | UUID of the workspace. | |
215
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] |
216
248
 
217
249
  ### Return type
218
250
 
@@ -228,12 +260,156 @@ end
228
260
  - **Accept**: application/json
229
261
 
230
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
+
231
405
  ## delete_post
232
406
 
233
407
  > <DeleteResult> delete_post(workspace_uuid, post_uuid, opts)
234
408
 
235
409
  Delete post
236
410
 
411
+ Deletes a post. Use `delete_mode` to control whether to also remove the published content from social platforms.
412
+
237
413
  ### Examples
238
414
 
239
415
  ```ruby
@@ -372,11 +548,13 @@ end
372
548
  - **Accept**: application/json
373
549
 
374
550
 
375
- ## get_post
551
+ ## delete_recycling_rule
376
552
 
377
- > <Post> get_post(workspace_uuid, post_uuid)
553
+ > Object delete_recycling_rule(workspace_uuid, rule_uuid)
378
554
 
379
- Get post
555
+ Delete a recycling rule
556
+
557
+ Deletes the rule and its run log. Copies it already created stay. Admins and members only.
380
558
 
381
559
  ### Examples
382
560
 
@@ -391,32 +569,32 @@ end
391
569
 
392
570
  api_instance = PostBoost::PostsApi.new
393
571
  workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
394
- 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.
395
573
 
396
574
  begin
397
- # Get post
398
- 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)
399
577
  p result
400
578
  rescue PostBoost::ApiError => e
401
- puts "Error when calling PostsApi->get_post: #{e}"
579
+ puts "Error when calling PostsApi->delete_recycling_rule: #{e}"
402
580
  end
403
581
  ```
404
582
 
405
- #### Using the get_post_with_http_info variant
583
+ #### Using the delete_recycling_rule_with_http_info variant
406
584
 
407
585
  This returns an Array which contains the response data, status code and headers.
408
586
 
409
- > <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)
410
588
 
411
589
  ```ruby
412
590
  begin
413
- # Get post
414
- 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)
415
593
  p status_code # => 2xx
416
594
  p headers # => { ... }
417
- p data # => <Post>
595
+ p data # => Object
418
596
  rescue PostBoost::ApiError => e
419
- puts "Error when calling PostsApi->get_post_with_http_info: #{e}"
597
+ puts "Error when calling PostsApi->delete_recycling_rule_with_http_info: #{e}"
420
598
  end
421
599
  ```
422
600
 
@@ -425,11 +603,11 @@ end
425
603
  | Name | Type | Description | Notes |
426
604
  | ---- | ---- | ----------- | ----- |
427
605
  | **workspace_uuid** | **String** | UUID of the workspace. | |
428
- | **post_uuid** | **String** | UUID of the post. | |
606
+ | **rule_uuid** | **String** | UUID of the recycling rule. | |
429
607
 
430
608
  ### Return type
431
609
 
432
- [**Post**](Post.md)
610
+ **Object**
433
611
 
434
612
  ### Authorization
435
613
 
@@ -441,13 +619,13 @@ end
441
619
  - **Accept**: application/json
442
620
 
443
621
 
444
- ## list_posts
622
+ ## delete_rss_feed
445
623
 
446
- > <ListPosts200Response> list_posts(workspace_uuid, opts)
624
+ > Object delete_rss_feed(workspace_uuid, feed_uuid)
447
625
 
448
- List posts
626
+ Delete an RSS feed
449
627
 
450
- Returns a paginated list of posts in the workspace.
628
+ Stops the feed. Posts it already created stay. Admins and members only.
451
629
 
452
630
  ### Examples
453
631
 
@@ -462,34 +640,32 @@ end
462
640
 
463
641
  api_instance = PostBoost::PostsApi.new
464
642
  workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
465
- opts = {
466
- page: 56 # Integer |
467
- }
643
+ feed_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the RSS feed.
468
644
 
469
645
  begin
470
- # List posts
471
- result = api_instance.list_posts(workspace_uuid, opts)
646
+ # Delete an RSS feed
647
+ result = api_instance.delete_rss_feed(workspace_uuid, feed_uuid)
472
648
  p result
473
649
  rescue PostBoost::ApiError => e
474
- puts "Error when calling PostsApi->list_posts: #{e}"
650
+ puts "Error when calling PostsApi->delete_rss_feed: #{e}"
475
651
  end
476
652
  ```
477
653
 
478
- #### Using the list_posts_with_http_info variant
654
+ #### Using the delete_rss_feed_with_http_info variant
479
655
 
480
656
  This returns an Array which contains the response data, status code and headers.
481
657
 
482
- > <Array(<ListPosts200Response>, Integer, Hash)> list_posts_with_http_info(workspace_uuid, opts)
658
+ > <Array(Object, Integer, Hash)> delete_rss_feed_with_http_info(workspace_uuid, feed_uuid)
483
659
 
484
660
  ```ruby
485
661
  begin
486
- # List posts
487
- data, status_code, headers = api_instance.list_posts_with_http_info(workspace_uuid, opts)
662
+ # Delete an RSS feed
663
+ data, status_code, headers = api_instance.delete_rss_feed_with_http_info(workspace_uuid, feed_uuid)
488
664
  p status_code # => 2xx
489
665
  p headers # => { ... }
490
- p data # => <ListPosts200Response>
666
+ p data # => Object
491
667
  rescue PostBoost::ApiError => e
492
- puts "Error when calling PostsApi->list_posts_with_http_info: #{e}"
668
+ puts "Error when calling PostsApi->delete_rss_feed_with_http_info: #{e}"
493
669
  end
494
670
  ```
495
671
 
@@ -498,11 +674,11 @@ end
498
674
  | Name | Type | Description | Notes |
499
675
  | ---- | ---- | ----------- | ----- |
500
676
  | **workspace_uuid** | **String** | UUID of the workspace. | |
501
- | **page** | **Integer** | | [optional][default to 1] |
677
+ | **feed_uuid** | **String** | UUID of the RSS feed. | |
502
678
 
503
679
  ### Return type
504
680
 
505
- [**ListPosts200Response**](ListPosts200Response.md)
681
+ **Object**
506
682
 
507
683
  ### Authorization
508
684
 
@@ -514,13 +690,13 @@ end
514
690
  - **Accept**: application/json
515
691
 
516
692
 
517
- ## schedule_post
693
+ ## get_post
518
694
 
519
- > <ScheduleResult> schedule_post(workspace_uuid, post_uuid, schedule_post_request)
695
+ > <Post> get_post(workspace_uuid, post_uuid)
520
696
 
521
- Schedule post
697
+ Get post
522
698
 
523
- Schedule an existing post. Set `postNow: true` to publish immediately.
699
+ Returns a single post with all its versions and associated accounts.
524
700
 
525
701
  ### Examples
526
702
 
@@ -536,32 +712,31 @@ end
536
712
  api_instance = PostBoost::PostsApi.new
537
713
  workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
538
714
  post_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the post.
539
- schedule_post_request = PostBoost::SchedulePostRequest.new({post_now: false}) # SchedulePostRequest |
540
715
 
541
716
  begin
542
- # Schedule post
543
- result = api_instance.schedule_post(workspace_uuid, post_uuid, schedule_post_request)
717
+ # Get post
718
+ result = api_instance.get_post(workspace_uuid, post_uuid)
544
719
  p result
545
720
  rescue PostBoost::ApiError => e
546
- puts "Error when calling PostsApi->schedule_post: #{e}"
721
+ puts "Error when calling PostsApi->get_post: #{e}"
547
722
  end
548
723
  ```
549
724
 
550
- #### Using the schedule_post_with_http_info variant
725
+ #### Using the get_post_with_http_info variant
551
726
 
552
727
  This returns an Array which contains the response data, status code and headers.
553
728
 
554
- > <Array(<ScheduleResult>, Integer, Hash)> schedule_post_with_http_info(workspace_uuid, post_uuid, schedule_post_request)
729
+ > <Array(<Post>, Integer, Hash)> get_post_with_http_info(workspace_uuid, post_uuid)
555
730
 
556
731
  ```ruby
557
732
  begin
558
- # Schedule post
559
- data, status_code, headers = api_instance.schedule_post_with_http_info(workspace_uuid, post_uuid, schedule_post_request)
733
+ # Get post
734
+ data, status_code, headers = api_instance.get_post_with_http_info(workspace_uuid, post_uuid)
560
735
  p status_code # => 2xx
561
736
  p headers # => { ... }
562
- p data # => <ScheduleResult>
737
+ p data # => <Post>
563
738
  rescue PostBoost::ApiError => e
564
- puts "Error when calling PostsApi->schedule_post_with_http_info: #{e}"
739
+ puts "Error when calling PostsApi->get_post_with_http_info: #{e}"
565
740
  end
566
741
  ```
567
742
 
@@ -571,11 +746,10 @@ end
571
746
  | ---- | ---- | ----------- | ----- |
572
747
  | **workspace_uuid** | **String** | UUID of the workspace. | |
573
748
  | **post_uuid** | **String** | UUID of the post. | |
574
- | **schedule_post_request** | [**SchedulePostRequest**](SchedulePostRequest.md) | | |
575
749
 
576
750
  ### Return type
577
751
 
578
- [**ScheduleResult**](ScheduleResult.md)
752
+ [**Post**](Post.md)
579
753
 
580
754
  ### Authorization
581
755
 
@@ -583,15 +757,17 @@ end
583
757
 
584
758
  ### HTTP request headers
585
759
 
586
- - **Content-Type**: application/json
760
+ - **Content-Type**: Not defined
587
761
  - **Accept**: application/json
588
762
 
589
763
 
590
- ## update_post
764
+ ## get_post_analytics
591
765
 
592
- > Object update_post(workspace_uuid, post_uuid, post_input)
766
+ > <PostAnalytics> get_post_analytics(workspace_uuid, post_uuid)
593
767
 
594
- Update post
768
+ Get post analytics
769
+
770
+ Engagement metrics for a published post across its accounts (also works for trashed posts), with totals, trends and the best-performing account.
595
771
 
596
772
  ### Examples
597
773
 
@@ -607,32 +783,31 @@ end
607
783
  api_instance = PostBoost::PostsApi.new
608
784
  workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
609
785
  post_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the post.
610
- post_input = PostBoost::PostInput.new({versions: [PostBoost::PostVersion.new({account_id: 37, is_original: false, content: [PostBoost::PostContent.new]})]}) # PostInput |
611
786
 
612
787
  begin
613
- # Update post
614
- result = api_instance.update_post(workspace_uuid, post_uuid, post_input)
788
+ # Get post analytics
789
+ result = api_instance.get_post_analytics(workspace_uuid, post_uuid)
615
790
  p result
616
791
  rescue PostBoost::ApiError => e
617
- puts "Error when calling PostsApi->update_post: #{e}"
792
+ puts "Error when calling PostsApi->get_post_analytics: #{e}"
618
793
  end
619
794
  ```
620
795
 
621
- #### Using the update_post_with_http_info variant
796
+ #### Using the get_post_analytics_with_http_info variant
622
797
 
623
798
  This returns an Array which contains the response data, status code and headers.
624
799
 
625
- > <Array(Object, Integer, Hash)> update_post_with_http_info(workspace_uuid, post_uuid, post_input)
800
+ > <Array(<PostAnalytics>, Integer, Hash)> get_post_analytics_with_http_info(workspace_uuid, post_uuid)
626
801
 
627
802
  ```ruby
628
803
  begin
629
- # Update post
630
- data, status_code, headers = api_instance.update_post_with_http_info(workspace_uuid, post_uuid, post_input)
804
+ # Get post analytics
805
+ data, status_code, headers = api_instance.get_post_analytics_with_http_info(workspace_uuid, post_uuid)
631
806
  p status_code # => 2xx
632
807
  p headers # => { ... }
633
- p data # => Object
808
+ p data # => <PostAnalytics>
634
809
  rescue PostBoost::ApiError => e
635
- puts "Error when calling PostsApi->update_post_with_http_info: #{e}"
810
+ puts "Error when calling PostsApi->get_post_analytics_with_http_info: #{e}"
636
811
  end
637
812
  ```
638
813
 
@@ -642,11 +817,1018 @@ end
642
817
  | ---- | ---- | ----------- | ----- |
643
818
  | **workspace_uuid** | **String** | UUID of the workspace. | |
644
819
  | **post_uuid** | **String** | UUID of the post. | |
645
- | **post_input** | [**PostInput**](PostInput.md) | | |
646
820
 
647
821
  ### Return type
648
822
 
649
- **Object**
823
+ [**PostAnalytics**](PostAnalytics.md)
824
+
825
+ ### Authorization
826
+
827
+ [bearerAuth](../README.md#bearerAuth)
828
+
829
+ ### HTTP request headers
830
+
831
+ - **Content-Type**: Not defined
832
+ - **Accept**: application/json
833
+
834
+
835
+ ## get_recycling_rule
836
+
837
+ > <CreateRecyclingRule201Response> get_recycling_rule(workspace_uuid, rule_uuid)
838
+
839
+ Get a recycling rule
840
+
841
+ ### Examples
842
+
843
+ ```ruby
844
+ require 'time'
845
+ require 'postboost'
846
+ # setup authorization
847
+ PostBoost.configure do |config|
848
+ # Configure Bearer authorization: bearerAuth
849
+ config.access_token = 'YOUR_BEARER_TOKEN'
850
+ end
851
+
852
+ api_instance = PostBoost::PostsApi.new
853
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
854
+ rule_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the recycling rule.
855
+
856
+ begin
857
+ # Get a recycling rule
858
+ result = api_instance.get_recycling_rule(workspace_uuid, rule_uuid)
859
+ p result
860
+ rescue PostBoost::ApiError => e
861
+ puts "Error when calling PostsApi->get_recycling_rule: #{e}"
862
+ end
863
+ ```
864
+
865
+ #### Using the get_recycling_rule_with_http_info variant
866
+
867
+ This returns an Array which contains the response data, status code and headers.
868
+
869
+ > <Array(<CreateRecyclingRule201Response>, Integer, Hash)> get_recycling_rule_with_http_info(workspace_uuid, rule_uuid)
870
+
871
+ ```ruby
872
+ begin
873
+ # Get a recycling rule
874
+ data, status_code, headers = api_instance.get_recycling_rule_with_http_info(workspace_uuid, rule_uuid)
875
+ p status_code # => 2xx
876
+ p headers # => { ... }
877
+ p data # => <CreateRecyclingRule201Response>
878
+ rescue PostBoost::ApiError => e
879
+ puts "Error when calling PostsApi->get_recycling_rule_with_http_info: #{e}"
880
+ end
881
+ ```
882
+
883
+ ### Parameters
884
+
885
+ | Name | Type | Description | Notes |
886
+ | ---- | ---- | ----------- | ----- |
887
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
888
+ | **rule_uuid** | **String** | UUID of the recycling rule. | |
889
+
890
+ ### Return type
891
+
892
+ [**CreateRecyclingRule201Response**](CreateRecyclingRule201Response.md)
893
+
894
+ ### Authorization
895
+
896
+ [bearerAuth](../README.md#bearerAuth)
897
+
898
+ ### HTTP request headers
899
+
900
+ - **Content-Type**: Not defined
901
+ - **Accept**: application/json
902
+
903
+
904
+ ## get_rss_feed
905
+
906
+ > <CreateRssFeed201Response> get_rss_feed(workspace_uuid, feed_uuid)
907
+
908
+ Get an RSS feed
909
+
910
+ ### Examples
911
+
912
+ ```ruby
913
+ require 'time'
914
+ require 'postboost'
915
+ # setup authorization
916
+ PostBoost.configure do |config|
917
+ # Configure Bearer authorization: bearerAuth
918
+ config.access_token = 'YOUR_BEARER_TOKEN'
919
+ end
920
+
921
+ api_instance = PostBoost::PostsApi.new
922
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
923
+ feed_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the RSS feed.
924
+
925
+ begin
926
+ # Get an RSS feed
927
+ result = api_instance.get_rss_feed(workspace_uuid, feed_uuid)
928
+ p result
929
+ rescue PostBoost::ApiError => e
930
+ puts "Error when calling PostsApi->get_rss_feed: #{e}"
931
+ end
932
+ ```
933
+
934
+ #### Using the get_rss_feed_with_http_info variant
935
+
936
+ This returns an Array which contains the response data, status code and headers.
937
+
938
+ > <Array(<CreateRssFeed201Response>, Integer, Hash)> get_rss_feed_with_http_info(workspace_uuid, feed_uuid)
939
+
940
+ ```ruby
941
+ begin
942
+ # Get an RSS feed
943
+ data, status_code, headers = api_instance.get_rss_feed_with_http_info(workspace_uuid, feed_uuid)
944
+ p status_code # => 2xx
945
+ p headers # => { ... }
946
+ p data # => <CreateRssFeed201Response>
947
+ rescue PostBoost::ApiError => e
948
+ puts "Error when calling PostsApi->get_rss_feed_with_http_info: #{e}"
949
+ end
950
+ ```
951
+
952
+ ### Parameters
953
+
954
+ | Name | Type | Description | Notes |
955
+ | ---- | ---- | ----------- | ----- |
956
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
957
+ | **feed_uuid** | **String** | UUID of the RSS feed. | |
958
+
959
+ ### Return type
960
+
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)
650
1832
 
651
1833
  ### Authorization
652
1834