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/AIApi.md ADDED
@@ -0,0 +1,871 @@
1
+ # PostBoost::AIApi
2
+
3
+ All URIs are relative to *https://postboost.co/app/api*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**blog_to_social**](AIApi.md#blog_to_social) | **POST** /{workspaceUuid}/ai/blog-to-social | Generate social media captions from a blog post |
8
+ | [**delete_brand_voice**](AIApi.md#delete_brand_voice) | **DELETE** /{workspaceUuid}/brand-voice | Delete the brand voice |
9
+ | [**get_ai_usage**](AIApi.md#get_ai_usage) | **GET** /{workspaceUuid}/usage/ai | AI credit usage |
10
+ | [**get_brand_voice**](AIApi.md#get_brand_voice) | **GET** /{workspaceUuid}/brand-voice | Get the brand voice |
11
+ | [**image_alt_text**](AIApi.md#image_alt_text) | **POST** /{workspaceUuid}/ai/image-alt-text | Generate alt text for a media image using AI |
12
+ | [**image_edit**](AIApi.md#image_edit) | **POST** /{workspaceUuid}/ai/image-edit | Edit an existing media image using AI |
13
+ | [**image_generate**](AIApi.md#image_generate) | **POST** /{workspaceUuid}/ai/image-generate | Generate social media images from a caption |
14
+ | [**image_prompt**](AIApi.md#image_prompt) | **POST** /{workspaceUuid}/ai/image-prompt | Build an optimized image prompt from a social media caption |
15
+ | [**image_variations**](AIApi.md#image_variations) | **POST** /{workspaceUuid}/ai/image-variations | Generate variations of an existing media image |
16
+ | [**learn_brand_voice**](AIApi.md#learn_brand_voice) | **POST** /{workspaceUuid}/brand-voice/learn | Learn a brand voice from past posts |
17
+ | [**repurpose_content**](AIApi.md#repurpose_content) | **POST** /{workspaceUuid}/ai/repurpose | Repurpose long-form content into a draft post set with a carousel |
18
+ | [**update_brand_voice**](AIApi.md#update_brand_voice) | **PUT** /{workspaceUuid}/brand-voice | Create or update the brand voice |
19
+
20
+
21
+ ## blog_to_social
22
+
23
+ > <BlogToSocial200Response> blog_to_social(workspace_uuid, blog_to_social_input)
24
+
25
+ Generate social media captions from a blog post
26
+
27
+ Generates platform-specific social media captions from a blog post URL or directly provided title and excerpt. Each platform generates one caption, which consumes one AI credit from the workspace's monthly allowance. **Input modes** (at least one required): - **URL mode**: provide `url` and the API scrapes the blog content automatically, including detecting the featured image via `og:image`. - **Direct mode**: provide `title` and `excerpt` directly (no scraping). If both are provided, direct values take priority. When `create_post` is `true`, a draft post is created in the workspace with per-account caption versions. If an image is available (from `image_url` or the scraped `og:image`), it is imported into the workspace media library and attached to the draft post.
28
+
29
+ ### Examples
30
+
31
+ ```ruby
32
+ require 'time'
33
+ require 'postboost'
34
+ # setup authorization
35
+ PostBoost.configure do |config|
36
+ # Configure Bearer authorization: bearerAuth
37
+ config.access_token = 'YOUR_BEARER_TOKEN'
38
+ end
39
+
40
+ api_instance = PostBoost::AIApi.new
41
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
42
+ blog_to_social_input = PostBoost::BlogToSocialInput.new # BlogToSocialInput |
43
+
44
+ begin
45
+ # Generate social media captions from a blog post
46
+ result = api_instance.blog_to_social(workspace_uuid, blog_to_social_input)
47
+ p result
48
+ rescue PostBoost::ApiError => e
49
+ puts "Error when calling AIApi->blog_to_social: #{e}"
50
+ end
51
+ ```
52
+
53
+ #### Using the blog_to_social_with_http_info variant
54
+
55
+ This returns an Array which contains the response data, status code and headers.
56
+
57
+ > <Array(<BlogToSocial200Response>, Integer, Hash)> blog_to_social_with_http_info(workspace_uuid, blog_to_social_input)
58
+
59
+ ```ruby
60
+ begin
61
+ # Generate social media captions from a blog post
62
+ data, status_code, headers = api_instance.blog_to_social_with_http_info(workspace_uuid, blog_to_social_input)
63
+ p status_code # => 2xx
64
+ p headers # => { ... }
65
+ p data # => <BlogToSocial200Response>
66
+ rescue PostBoost::ApiError => e
67
+ puts "Error when calling AIApi->blog_to_social_with_http_info: #{e}"
68
+ end
69
+ ```
70
+
71
+ ### Parameters
72
+
73
+ | Name | Type | Description | Notes |
74
+ | ---- | ---- | ----------- | ----- |
75
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
76
+ | **blog_to_social_input** | [**BlogToSocialInput**](BlogToSocialInput.md) | | |
77
+
78
+ ### Return type
79
+
80
+ [**BlogToSocial200Response**](BlogToSocial200Response.md)
81
+
82
+ ### Authorization
83
+
84
+ [bearerAuth](../README.md#bearerAuth)
85
+
86
+ ### HTTP request headers
87
+
88
+ - **Content-Type**: application/json
89
+ - **Accept**: application/json
90
+
91
+
92
+ ## delete_brand_voice
93
+
94
+ > Object delete_brand_voice(workspace_uuid)
95
+
96
+ Delete the brand voice
97
+
98
+ Removes the workspace's brand voice. AI endpoints then run without one. Admins and members only.
99
+
100
+ ### Examples
101
+
102
+ ```ruby
103
+ require 'time'
104
+ require 'postboost'
105
+ # setup authorization
106
+ PostBoost.configure do |config|
107
+ # Configure Bearer authorization: bearerAuth
108
+ config.access_token = 'YOUR_BEARER_TOKEN'
109
+ end
110
+
111
+ api_instance = PostBoost::AIApi.new
112
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
113
+
114
+ begin
115
+ # Delete the brand voice
116
+ result = api_instance.delete_brand_voice(workspace_uuid)
117
+ p result
118
+ rescue PostBoost::ApiError => e
119
+ puts "Error when calling AIApi->delete_brand_voice: #{e}"
120
+ end
121
+ ```
122
+
123
+ #### Using the delete_brand_voice_with_http_info variant
124
+
125
+ This returns an Array which contains the response data, status code and headers.
126
+
127
+ > <Array(Object, Integer, Hash)> delete_brand_voice_with_http_info(workspace_uuid)
128
+
129
+ ```ruby
130
+ begin
131
+ # Delete the brand voice
132
+ data, status_code, headers = api_instance.delete_brand_voice_with_http_info(workspace_uuid)
133
+ p status_code # => 2xx
134
+ p headers # => { ... }
135
+ p data # => Object
136
+ rescue PostBoost::ApiError => e
137
+ puts "Error when calling AIApi->delete_brand_voice_with_http_info: #{e}"
138
+ end
139
+ ```
140
+
141
+ ### Parameters
142
+
143
+ | Name | Type | Description | Notes |
144
+ | ---- | ---- | ----------- | ----- |
145
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
146
+
147
+ ### Return type
148
+
149
+ **Object**
150
+
151
+ ### Authorization
152
+
153
+ [bearerAuth](../README.md#bearerAuth)
154
+
155
+ ### HTTP request headers
156
+
157
+ - **Content-Type**: Not defined
158
+ - **Accept**: application/json
159
+
160
+
161
+ ## get_ai_usage
162
+
163
+ > <AIUsage> get_ai_usage(workspace_uuid)
164
+
165
+ AI credit usage
166
+
167
+ The workspace's AI credits: text credits (captions, rewrites, outlines, alt text; counted per billing cycle) and image credits (one per generated, edited or varied image, and one per repurpose carousel; counted per calendar month, UTC). `limit` and `remaining` are `null` when the workspace has no limit. Readable when credits are used up; costs nothing. When image credits run out, the image endpoints and carousels answer `429` with `code: image_credits_exhausted`; when text credits run out, the AI endpoints answer `429` with `code: ai_credits_exhausted`. Image endpoint responses also carry `image_credits_used` and `image_credits_remaining`; their `credits_used` counts text credits only. If the image pool is switched off (`image.enabled: false`), images cost text credits as before.
168
+
169
+ ### Examples
170
+
171
+ ```ruby
172
+ require 'time'
173
+ require 'postboost'
174
+ # setup authorization
175
+ PostBoost.configure do |config|
176
+ # Configure Bearer authorization: bearerAuth
177
+ config.access_token = 'YOUR_BEARER_TOKEN'
178
+ end
179
+
180
+ api_instance = PostBoost::AIApi.new
181
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
182
+
183
+ begin
184
+ # AI credit usage
185
+ result = api_instance.get_ai_usage(workspace_uuid)
186
+ p result
187
+ rescue PostBoost::ApiError => e
188
+ puts "Error when calling AIApi->get_ai_usage: #{e}"
189
+ end
190
+ ```
191
+
192
+ #### Using the get_ai_usage_with_http_info variant
193
+
194
+ This returns an Array which contains the response data, status code and headers.
195
+
196
+ > <Array(<AIUsage>, Integer, Hash)> get_ai_usage_with_http_info(workspace_uuid)
197
+
198
+ ```ruby
199
+ begin
200
+ # AI credit usage
201
+ data, status_code, headers = api_instance.get_ai_usage_with_http_info(workspace_uuid)
202
+ p status_code # => 2xx
203
+ p headers # => { ... }
204
+ p data # => <AIUsage>
205
+ rescue PostBoost::ApiError => e
206
+ puts "Error when calling AIApi->get_ai_usage_with_http_info: #{e}"
207
+ end
208
+ ```
209
+
210
+ ### Parameters
211
+
212
+ | Name | Type | Description | Notes |
213
+ | ---- | ---- | ----------- | ----- |
214
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
215
+
216
+ ### Return type
217
+
218
+ [**AIUsage**](AIUsage.md)
219
+
220
+ ### Authorization
221
+
222
+ [bearerAuth](../README.md#bearerAuth)
223
+
224
+ ### HTTP request headers
225
+
226
+ - **Content-Type**: Not defined
227
+ - **Accept**: application/json
228
+
229
+
230
+ ## get_brand_voice
231
+
232
+ > <GetBrandVoice200Response> get_brand_voice(workspace_uuid)
233
+
234
+ Get the brand voice
235
+
236
+ The workspace's brand voice: identity, audience, tone sliders, style rules and example posts. It is the same profile as the Brand Voice page in the app (one per workspace). `data` is `null` when no voice is set. Any workspace member may read it; reading costs no AI credits. The AI endpoints apply it automatically: `blog-to-social` adds it to the caption instructions, `image-prompt` and `image-generate` turn it into a short visual tone line, and `image-edit` applies it when you send `use_brand_voice: true`. `image-variations` and `image-alt-text` never use it (alt text must describe the image literally). Send `use_brand_voice: false` to skip it on a call; responses report `meta.brand_voice_applied`.
237
+
238
+ ### Examples
239
+
240
+ ```ruby
241
+ require 'time'
242
+ require 'postboost'
243
+ # setup authorization
244
+ PostBoost.configure do |config|
245
+ # Configure Bearer authorization: bearerAuth
246
+ config.access_token = 'YOUR_BEARER_TOKEN'
247
+ end
248
+
249
+ api_instance = PostBoost::AIApi.new
250
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
251
+
252
+ begin
253
+ # Get the brand voice
254
+ result = api_instance.get_brand_voice(workspace_uuid)
255
+ p result
256
+ rescue PostBoost::ApiError => e
257
+ puts "Error when calling AIApi->get_brand_voice: #{e}"
258
+ end
259
+ ```
260
+
261
+ #### Using the get_brand_voice_with_http_info variant
262
+
263
+ This returns an Array which contains the response data, status code and headers.
264
+
265
+ > <Array(<GetBrandVoice200Response>, Integer, Hash)> get_brand_voice_with_http_info(workspace_uuid)
266
+
267
+ ```ruby
268
+ begin
269
+ # Get the brand voice
270
+ data, status_code, headers = api_instance.get_brand_voice_with_http_info(workspace_uuid)
271
+ p status_code # => 2xx
272
+ p headers # => { ... }
273
+ p data # => <GetBrandVoice200Response>
274
+ rescue PostBoost::ApiError => e
275
+ puts "Error when calling AIApi->get_brand_voice_with_http_info: #{e}"
276
+ end
277
+ ```
278
+
279
+ ### Parameters
280
+
281
+ | Name | Type | Description | Notes |
282
+ | ---- | ---- | ----------- | ----- |
283
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
284
+
285
+ ### Return type
286
+
287
+ [**GetBrandVoice200Response**](GetBrandVoice200Response.md)
288
+
289
+ ### Authorization
290
+
291
+ [bearerAuth](../README.md#bearerAuth)
292
+
293
+ ### HTTP request headers
294
+
295
+ - **Content-Type**: Not defined
296
+ - **Accept**: application/json
297
+
298
+
299
+ ## image_alt_text
300
+
301
+ > <ImageAltText200Response> image_alt_text(workspace_uuid, image_alt_text_input)
302
+
303
+ Generate alt text for a media image using AI
304
+
305
+ Analyzes an existing workspace media item and generates accessible alt text. The alt text is saved back to the media record. Costs 1 AI credit per call.
306
+
307
+ ### Examples
308
+
309
+ ```ruby
310
+ require 'time'
311
+ require 'postboost'
312
+ # setup authorization
313
+ PostBoost.configure do |config|
314
+ # Configure Bearer authorization: bearerAuth
315
+ config.access_token = 'YOUR_BEARER_TOKEN'
316
+ end
317
+
318
+ api_instance = PostBoost::AIApi.new
319
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
320
+ image_alt_text_input = PostBoost::ImageAltTextInput.new({media_uuid: 'media_uuid_example'}) # ImageAltTextInput |
321
+
322
+ begin
323
+ # Generate alt text for a media image using AI
324
+ result = api_instance.image_alt_text(workspace_uuid, image_alt_text_input)
325
+ p result
326
+ rescue PostBoost::ApiError => e
327
+ puts "Error when calling AIApi->image_alt_text: #{e}"
328
+ end
329
+ ```
330
+
331
+ #### Using the image_alt_text_with_http_info variant
332
+
333
+ This returns an Array which contains the response data, status code and headers.
334
+
335
+ > <Array(<ImageAltText200Response>, Integer, Hash)> image_alt_text_with_http_info(workspace_uuid, image_alt_text_input)
336
+
337
+ ```ruby
338
+ begin
339
+ # Generate alt text for a media image using AI
340
+ data, status_code, headers = api_instance.image_alt_text_with_http_info(workspace_uuid, image_alt_text_input)
341
+ p status_code # => 2xx
342
+ p headers # => { ... }
343
+ p data # => <ImageAltText200Response>
344
+ rescue PostBoost::ApiError => e
345
+ puts "Error when calling AIApi->image_alt_text_with_http_info: #{e}"
346
+ end
347
+ ```
348
+
349
+ ### Parameters
350
+
351
+ | Name | Type | Description | Notes |
352
+ | ---- | ---- | ----------- | ----- |
353
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
354
+ | **image_alt_text_input** | [**ImageAltTextInput**](ImageAltTextInput.md) | | |
355
+
356
+ ### Return type
357
+
358
+ [**ImageAltText200Response**](ImageAltText200Response.md)
359
+
360
+ ### Authorization
361
+
362
+ [bearerAuth](../README.md#bearerAuth)
363
+
364
+ ### HTTP request headers
365
+
366
+ - **Content-Type**: application/json
367
+ - **Accept**: application/json
368
+
369
+
370
+ ## image_edit
371
+
372
+ > <ImageGenerate200Response> image_edit(workspace_uuid, image_edit_input)
373
+
374
+ Edit an existing media image using AI
375
+
376
+ Edits an existing workspace media item using the source image and a text prompt. Optionally accepts a mask (transparent areas are replaced). Saves results to the media library. Credits: `count × credit_weight`.
377
+
378
+ ### Examples
379
+
380
+ ```ruby
381
+ require 'time'
382
+ require 'postboost'
383
+ # setup authorization
384
+ PostBoost.configure do |config|
385
+ # Configure Bearer authorization: bearerAuth
386
+ config.access_token = 'YOUR_BEARER_TOKEN'
387
+ end
388
+
389
+ api_instance = PostBoost::AIApi.new
390
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
391
+ image_edit_input = PostBoost::ImageEditInput.new({media_uuid: 'media_uuid_example', prompt: 'Make the background a white studio backdrop'}) # ImageEditInput |
392
+
393
+ begin
394
+ # Edit an existing media image using AI
395
+ result = api_instance.image_edit(workspace_uuid, image_edit_input)
396
+ p result
397
+ rescue PostBoost::ApiError => e
398
+ puts "Error when calling AIApi->image_edit: #{e}"
399
+ end
400
+ ```
401
+
402
+ #### Using the image_edit_with_http_info variant
403
+
404
+ This returns an Array which contains the response data, status code and headers.
405
+
406
+ > <Array(<ImageGenerate200Response>, Integer, Hash)> image_edit_with_http_info(workspace_uuid, image_edit_input)
407
+
408
+ ```ruby
409
+ begin
410
+ # Edit an existing media image using AI
411
+ data, status_code, headers = api_instance.image_edit_with_http_info(workspace_uuid, image_edit_input)
412
+ p status_code # => 2xx
413
+ p headers # => { ... }
414
+ p data # => <ImageGenerate200Response>
415
+ rescue PostBoost::ApiError => e
416
+ puts "Error when calling AIApi->image_edit_with_http_info: #{e}"
417
+ end
418
+ ```
419
+
420
+ ### Parameters
421
+
422
+ | Name | Type | Description | Notes |
423
+ | ---- | ---- | ----------- | ----- |
424
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
425
+ | **image_edit_input** | [**ImageEditInput**](ImageEditInput.md) | | |
426
+
427
+ ### Return type
428
+
429
+ [**ImageGenerate200Response**](ImageGenerate200Response.md)
430
+
431
+ ### Authorization
432
+
433
+ [bearerAuth](../README.md#bearerAuth)
434
+
435
+ ### HTTP request headers
436
+
437
+ - **Content-Type**: application/json
438
+ - **Accept**: application/json
439
+
440
+
441
+ ## image_generate
442
+
443
+ > <ImageGenerate200Response> image_generate(workspace_uuid, image_generate_input)
444
+
445
+ Generate social media images from a caption
446
+
447
+ Generates one or more images and saves them immediately to the workspace media library. **Standard mode** (recommended): provide `caption` + `platform`. PostBoost builds a professional image prompt internally using platform-specific templates. No prompt engineering required. **Developer mode**: provide `prompt` directly to bypass prompt building. If both `caption` and `prompt` are sent, standard mode runs. Credits: `count x credit_weight` (default: 5 per image).
448
+
449
+ ### Examples
450
+
451
+ ```ruby
452
+ require 'time'
453
+ require 'postboost'
454
+ # setup authorization
455
+ PostBoost.configure do |config|
456
+ # Configure Bearer authorization: bearerAuth
457
+ config.access_token = 'YOUR_BEARER_TOKEN'
458
+ end
459
+
460
+ api_instance = PostBoost::AIApi.new
461
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
462
+ image_generate_input = PostBoost::ImageGenerateInput.new # ImageGenerateInput |
463
+
464
+ begin
465
+ # Generate social media images from a caption
466
+ result = api_instance.image_generate(workspace_uuid, image_generate_input)
467
+ p result
468
+ rescue PostBoost::ApiError => e
469
+ puts "Error when calling AIApi->image_generate: #{e}"
470
+ end
471
+ ```
472
+
473
+ #### Using the image_generate_with_http_info variant
474
+
475
+ This returns an Array which contains the response data, status code and headers.
476
+
477
+ > <Array(<ImageGenerate200Response>, Integer, Hash)> image_generate_with_http_info(workspace_uuid, image_generate_input)
478
+
479
+ ```ruby
480
+ begin
481
+ # Generate social media images from a caption
482
+ data, status_code, headers = api_instance.image_generate_with_http_info(workspace_uuid, image_generate_input)
483
+ p status_code # => 2xx
484
+ p headers # => { ... }
485
+ p data # => <ImageGenerate200Response>
486
+ rescue PostBoost::ApiError => e
487
+ puts "Error when calling AIApi->image_generate_with_http_info: #{e}"
488
+ end
489
+ ```
490
+
491
+ ### Parameters
492
+
493
+ | Name | Type | Description | Notes |
494
+ | ---- | ---- | ----------- | ----- |
495
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
496
+ | **image_generate_input** | [**ImageGenerateInput**](ImageGenerateInput.md) | | |
497
+
498
+ ### Return type
499
+
500
+ [**ImageGenerate200Response**](ImageGenerate200Response.md)
501
+
502
+ ### Authorization
503
+
504
+ [bearerAuth](../README.md#bearerAuth)
505
+
506
+ ### HTTP request headers
507
+
508
+ - **Content-Type**: application/json
509
+ - **Accept**: application/json
510
+
511
+
512
+ ## image_prompt
513
+
514
+ > <ImagePrompt200Response> image_prompt(workspace_uuid, image_prompt_input)
515
+
516
+ Build an optimized image prompt from a social media caption
517
+
518
+ Builds a professional image generation prompt from a caption and platform. No image is generated. Use this to preview the prompt before calling `image-generate`. Costs 1 AI credit per call. When `image-generate` builds the prompt internally (standard mode), no credit is charged for the prompt step.
519
+
520
+ ### Examples
521
+
522
+ ```ruby
523
+ require 'time'
524
+ require 'postboost'
525
+ # setup authorization
526
+ PostBoost.configure do |config|
527
+ # Configure Bearer authorization: bearerAuth
528
+ config.access_token = 'YOUR_BEARER_TOKEN'
529
+ end
530
+
531
+ api_instance = PostBoost::AIApi.new
532
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
533
+ image_prompt_input = PostBoost::ImagePromptInput.new({caption: 'Our summer sale starts today, 30% off everything!', platform: 'instagram'}) # ImagePromptInput |
534
+
535
+ begin
536
+ # Build an optimized image prompt from a social media caption
537
+ result = api_instance.image_prompt(workspace_uuid, image_prompt_input)
538
+ p result
539
+ rescue PostBoost::ApiError => e
540
+ puts "Error when calling AIApi->image_prompt: #{e}"
541
+ end
542
+ ```
543
+
544
+ #### Using the image_prompt_with_http_info variant
545
+
546
+ This returns an Array which contains the response data, status code and headers.
547
+
548
+ > <Array(<ImagePrompt200Response>, Integer, Hash)> image_prompt_with_http_info(workspace_uuid, image_prompt_input)
549
+
550
+ ```ruby
551
+ begin
552
+ # Build an optimized image prompt from a social media caption
553
+ data, status_code, headers = api_instance.image_prompt_with_http_info(workspace_uuid, image_prompt_input)
554
+ p status_code # => 2xx
555
+ p headers # => { ... }
556
+ p data # => <ImagePrompt200Response>
557
+ rescue PostBoost::ApiError => e
558
+ puts "Error when calling AIApi->image_prompt_with_http_info: #{e}"
559
+ end
560
+ ```
561
+
562
+ ### Parameters
563
+
564
+ | Name | Type | Description | Notes |
565
+ | ---- | ---- | ----------- | ----- |
566
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
567
+ | **image_prompt_input** | [**ImagePromptInput**](ImagePromptInput.md) | | |
568
+
569
+ ### Return type
570
+
571
+ [**ImagePrompt200Response**](ImagePrompt200Response.md)
572
+
573
+ ### Authorization
574
+
575
+ [bearerAuth](../README.md#bearerAuth)
576
+
577
+ ### HTTP request headers
578
+
579
+ - **Content-Type**: application/json
580
+ - **Accept**: application/json
581
+
582
+
583
+ ## image_variations
584
+
585
+ > <ImageVariations200Response> image_variations(workspace_uuid, image_variations_input)
586
+
587
+ Generate variations of an existing media image
588
+
589
+ Creates one or more variations of an existing workspace media item. Saves results to the media library. Credits: `count × credit_weight`.
590
+
591
+ ### Examples
592
+
593
+ ```ruby
594
+ require 'time'
595
+ require 'postboost'
596
+ # setup authorization
597
+ PostBoost.configure do |config|
598
+ # Configure Bearer authorization: bearerAuth
599
+ config.access_token = 'YOUR_BEARER_TOKEN'
600
+ end
601
+
602
+ api_instance = PostBoost::AIApi.new
603
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
604
+ image_variations_input = PostBoost::ImageVariationsInput.new({media_uuid: 'media_uuid_example'}) # ImageVariationsInput |
605
+
606
+ begin
607
+ # Generate variations of an existing media image
608
+ result = api_instance.image_variations(workspace_uuid, image_variations_input)
609
+ p result
610
+ rescue PostBoost::ApiError => e
611
+ puts "Error when calling AIApi->image_variations: #{e}"
612
+ end
613
+ ```
614
+
615
+ #### Using the image_variations_with_http_info variant
616
+
617
+ This returns an Array which contains the response data, status code and headers.
618
+
619
+ > <Array(<ImageVariations200Response>, Integer, Hash)> image_variations_with_http_info(workspace_uuid, image_variations_input)
620
+
621
+ ```ruby
622
+ begin
623
+ # Generate variations of an existing media image
624
+ data, status_code, headers = api_instance.image_variations_with_http_info(workspace_uuid, image_variations_input)
625
+ p status_code # => 2xx
626
+ p headers # => { ... }
627
+ p data # => <ImageVariations200Response>
628
+ rescue PostBoost::ApiError => e
629
+ puts "Error when calling AIApi->image_variations_with_http_info: #{e}"
630
+ end
631
+ ```
632
+
633
+ ### Parameters
634
+
635
+ | Name | Type | Description | Notes |
636
+ | ---- | ---- | ----------- | ----- |
637
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
638
+ | **image_variations_input** | [**ImageVariationsInput**](ImageVariationsInput.md) | | |
639
+
640
+ ### Return type
641
+
642
+ [**ImageVariations200Response**](ImageVariations200Response.md)
643
+
644
+ ### Authorization
645
+
646
+ [bearerAuth](../README.md#bearerAuth)
647
+
648
+ ### HTTP request headers
649
+
650
+ - **Content-Type**: application/json
651
+ - **Accept**: application/json
652
+
653
+
654
+ ## learn_brand_voice
655
+
656
+ > <LearnBrandVoiceResponse> learn_brand_voice(workspace_uuid, opts)
657
+
658
+ Learn a brand voice from past posts
659
+
660
+ Reads the workspace's latest published posts (original text) and proposes a brand voice in the same shape as `GET /brand-voice`. Returns a draft and saves nothing unless `apply: true`. Without `overwrite`, learned values only fill fields that are empty (tone sliders and styles still at their defaults count as empty); with `overwrite: true` they replace them. The first five sampled posts become `example_posts`. Needs at least 3 published posts (`422`, `code: not_enough_posts`). Costs one AI text credit per AI call (one retry when the reply is not usable). Admins and members only. A key limited to some accounts must send `account_ids`; only posts whose accounts are all among them are read. `apply` also needs the `write` ability.
661
+
662
+ ### Examples
663
+
664
+ ```ruby
665
+ require 'time'
666
+ require 'postboost'
667
+ # setup authorization
668
+ PostBoost.configure do |config|
669
+ # Configure Bearer authorization: bearerAuth
670
+ config.access_token = 'YOUR_BEARER_TOKEN'
671
+ end
672
+
673
+ api_instance = PostBoost::AIApi.new
674
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
675
+ opts = {
676
+ learn_brand_voice_input: PostBoost::LearnBrandVoiceInput.new # LearnBrandVoiceInput |
677
+ }
678
+
679
+ begin
680
+ # Learn a brand voice from past posts
681
+ result = api_instance.learn_brand_voice(workspace_uuid, opts)
682
+ p result
683
+ rescue PostBoost::ApiError => e
684
+ puts "Error when calling AIApi->learn_brand_voice: #{e}"
685
+ end
686
+ ```
687
+
688
+ #### Using the learn_brand_voice_with_http_info variant
689
+
690
+ This returns an Array which contains the response data, status code and headers.
691
+
692
+ > <Array(<LearnBrandVoiceResponse>, Integer, Hash)> learn_brand_voice_with_http_info(workspace_uuid, opts)
693
+
694
+ ```ruby
695
+ begin
696
+ # Learn a brand voice from past posts
697
+ data, status_code, headers = api_instance.learn_brand_voice_with_http_info(workspace_uuid, opts)
698
+ p status_code # => 2xx
699
+ p headers # => { ... }
700
+ p data # => <LearnBrandVoiceResponse>
701
+ rescue PostBoost::ApiError => e
702
+ puts "Error when calling AIApi->learn_brand_voice_with_http_info: #{e}"
703
+ end
704
+ ```
705
+
706
+ ### Parameters
707
+
708
+ | Name | Type | Description | Notes |
709
+ | ---- | ---- | ----------- | ----- |
710
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
711
+ | **learn_brand_voice_input** | [**LearnBrandVoiceInput**](LearnBrandVoiceInput.md) | | [optional] |
712
+
713
+ ### Return type
714
+
715
+ [**LearnBrandVoiceResponse**](LearnBrandVoiceResponse.md)
716
+
717
+ ### Authorization
718
+
719
+ [bearerAuth](../README.md#bearerAuth)
720
+
721
+ ### HTTP request headers
722
+
723
+ - **Content-Type**: application/json
724
+ - **Accept**: application/json
725
+
726
+
727
+ ## repurpose_content
728
+
729
+ > <RepurposeContent200Response> repurpose_content(workspace_uuid, repurpose_input, opts)
730
+
731
+ Repurpose long-form content into a draft post set with a carousel
732
+
733
+ Turns an article URL, a YouTube video, a PDF or pasted text into one **draft** post with a caption for every target account, plus a carousel of rendered slide images (hook, 1 to 6 idea slides, call to action; 1080×1350 PNG). Nothing is published or scheduled. **Sources** (`source_type`): - `url`: the article is fetched and its main text extracted. - `youtube`: title, description and chapters come from YouTube; send the transcript in `transcript` for better results (required when the description is short). - `pdf`: `pdf_url` must be a public PDF of at most 20 MB; the first 30 pages are read. - `text`: send `title` and `text`. **Carousel per network**: Instagram, Facebook, Threads up to 10 slides; LinkedIn up to 9; X and Bluesky up to 4; other networks get the cover slide; YouTube and TikTok get none (listed in `warnings`). Without a carousel, the source image (article image or video thumbnail) is attached when available. **AI credits**: one per target account plus one for the carousel outline. Slides are drawn without AI and cost nothing. The workspace brand voice applies unless `use_brand_voice` is `false`. Send an `Idempotency-Key` so a retried call does not create a second draft. Limited to 10 calls per minute.
734
+
735
+ ### Examples
736
+
737
+ ```ruby
738
+ require 'time'
739
+ require 'postboost'
740
+ # setup authorization
741
+ PostBoost.configure do |config|
742
+ # Configure Bearer authorization: bearerAuth
743
+ config.access_token = 'YOUR_BEARER_TOKEN'
744
+ end
745
+
746
+ api_instance = PostBoost::AIApi.new
747
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
748
+ repurpose_input = PostBoost::RepurposeInput.new({source_type: 'url'}) # RepurposeInput |
749
+ opts = {
750
+ 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.
751
+ }
752
+
753
+ begin
754
+ # Repurpose long-form content into a draft post set with a carousel
755
+ result = api_instance.repurpose_content(workspace_uuid, repurpose_input, opts)
756
+ p result
757
+ rescue PostBoost::ApiError => e
758
+ puts "Error when calling AIApi->repurpose_content: #{e}"
759
+ end
760
+ ```
761
+
762
+ #### Using the repurpose_content_with_http_info variant
763
+
764
+ This returns an Array which contains the response data, status code and headers.
765
+
766
+ > <Array(<RepurposeContent200Response>, Integer, Hash)> repurpose_content_with_http_info(workspace_uuid, repurpose_input, opts)
767
+
768
+ ```ruby
769
+ begin
770
+ # Repurpose long-form content into a draft post set with a carousel
771
+ data, status_code, headers = api_instance.repurpose_content_with_http_info(workspace_uuid, repurpose_input, opts)
772
+ p status_code # => 2xx
773
+ p headers # => { ... }
774
+ p data # => <RepurposeContent200Response>
775
+ rescue PostBoost::ApiError => e
776
+ puts "Error when calling AIApi->repurpose_content_with_http_info: #{e}"
777
+ end
778
+ ```
779
+
780
+ ### Parameters
781
+
782
+ | Name | Type | Description | Notes |
783
+ | ---- | ---- | ----------- | ----- |
784
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
785
+ | **repurpose_input** | [**RepurposeInput**](RepurposeInput.md) | | |
786
+ | **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] |
787
+
788
+ ### Return type
789
+
790
+ [**RepurposeContent200Response**](RepurposeContent200Response.md)
791
+
792
+ ### Authorization
793
+
794
+ [bearerAuth](../README.md#bearerAuth)
795
+
796
+ ### HTTP request headers
797
+
798
+ - **Content-Type**: application/json
799
+ - **Accept**: application/json
800
+
801
+
802
+ ## update_brand_voice
803
+
804
+ > <GetBrandVoice200Response> update_brand_voice(workspace_uuid, brand_voice_input)
805
+
806
+ Create or update the brand voice
807
+
808
+ Creates the workspace's brand voice or updates it. Fields you leave out keep their current value. Admins and members only (not viewers); the workspace must have AI enabled.
809
+
810
+ ### Examples
811
+
812
+ ```ruby
813
+ require 'time'
814
+ require 'postboost'
815
+ # setup authorization
816
+ PostBoost.configure do |config|
817
+ # Configure Bearer authorization: bearerAuth
818
+ config.access_token = 'YOUR_BEARER_TOKEN'
819
+ end
820
+
821
+ api_instance = PostBoost::AIApi.new
822
+ workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
823
+ brand_voice_input = PostBoost::BrandVoiceInput.new # BrandVoiceInput |
824
+
825
+ begin
826
+ # Create or update the brand voice
827
+ result = api_instance.update_brand_voice(workspace_uuid, brand_voice_input)
828
+ p result
829
+ rescue PostBoost::ApiError => e
830
+ puts "Error when calling AIApi->update_brand_voice: #{e}"
831
+ end
832
+ ```
833
+
834
+ #### Using the update_brand_voice_with_http_info variant
835
+
836
+ This returns an Array which contains the response data, status code and headers.
837
+
838
+ > <Array(<GetBrandVoice200Response>, Integer, Hash)> update_brand_voice_with_http_info(workspace_uuid, brand_voice_input)
839
+
840
+ ```ruby
841
+ begin
842
+ # Create or update the brand voice
843
+ data, status_code, headers = api_instance.update_brand_voice_with_http_info(workspace_uuid, brand_voice_input)
844
+ p status_code # => 2xx
845
+ p headers # => { ... }
846
+ p data # => <GetBrandVoice200Response>
847
+ rescue PostBoost::ApiError => e
848
+ puts "Error when calling AIApi->update_brand_voice_with_http_info: #{e}"
849
+ end
850
+ ```
851
+
852
+ ### Parameters
853
+
854
+ | Name | Type | Description | Notes |
855
+ | ---- | ---- | ----------- | ----- |
856
+ | **workspace_uuid** | **String** | UUID of the workspace. | |
857
+ | **brand_voice_input** | [**BrandVoiceInput**](BrandVoiceInput.md) | | |
858
+
859
+ ### Return type
860
+
861
+ [**GetBrandVoice200Response**](GetBrandVoice200Response.md)
862
+
863
+ ### Authorization
864
+
865
+ [bearerAuth](../README.md#bearerAuth)
866
+
867
+ ### HTTP request headers
868
+
869
+ - **Content-Type**: application/json
870
+ - **Accept**: application/json
871
+