postboost 1.0.0 → 1.8.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 (364) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +119 -0
  3. data/docs/AIApi.md +439 -0
  4. data/docs/AICredits.md +22 -0
  5. data/docs/Account.md +14 -8
  6. data/docs/AccountAnalytics.md +28 -0
  7. data/docs/AccountAnalyticsInitialSync.md +20 -0
  8. data/docs/AccountSchedule.md +22 -0
  9. data/docs/AccountsApi.md +15 -5
  10. data/docs/AddPostToQueueRequest.md +18 -0
  11. data/docs/AnalyticsApi.md +401 -0
  12. data/docs/AnalyticsPeriod.md +24 -0
  13. data/docs/AnalyticsSummary.md +20 -0
  14. data/docs/AnalyticsSummaryData.md +38 -0
  15. data/docs/ApprovePostRequest.md +24 -0
  16. data/docs/BestPostingTimes.md +20 -0
  17. data/docs/BestPostingTimesTimesInner.md +24 -0
  18. data/docs/BlogToSocial200Response.md +18 -0
  19. data/docs/BlogToSocial429Response.md +18 -0
  20. data/docs/BlogToSocialCaption.md +28 -0
  21. data/docs/BlogToSocialInput.md +42 -0
  22. data/docs/BlogToSocialMedia.md +20 -0
  23. data/docs/BlogToSocialResponse.md +30 -0
  24. data/docs/CancelSubscription422Response.md +20 -0
  25. data/docs/CancelSubscription422ResponseErrors.md +18 -0
  26. data/docs/CancelSubscriptionRequest.md +18 -0
  27. data/docs/CompleteChunkedUploadRequest.md +20 -0
  28. data/docs/CreateMediaFolderRequest.md +20 -0
  29. data/docs/CreateMention201Response.md +18 -0
  30. data/docs/DeleteMediaBulkRequest.md +1 -1
  31. data/docs/DeleteMediaBulkRequestItemsInner.md +49 -0
  32. data/docs/DeleteMediaFolderRequest.md +18 -0
  33. data/docs/DeleteResult.md +3 -3
  34. data/docs/ImageAltText200Response.md +18 -0
  35. data/docs/ImageAltTextInput.md +18 -0
  36. data/docs/ImageAltTextResponse.md +24 -0
  37. data/docs/ImageEditInput.md +28 -0
  38. data/docs/ImageGenerate200Response.md +18 -0
  39. data/docs/ImageGenerate429Response.md +18 -0
  40. data/docs/ImageGenerateInput.md +36 -0
  41. data/docs/ImageGenerationResponse.md +30 -0
  42. data/docs/ImagePrompt200Response.md +18 -0
  43. data/docs/ImagePrompt429Response.md +18 -0
  44. data/docs/ImagePromptInput.md +28 -0
  45. data/docs/ImagePromptResponse.md +18 -0
  46. data/docs/ImageVariations200Response.md +18 -0
  47. data/docs/ImageVariationsInput.md +24 -0
  48. data/docs/ImageVariationsResponse.md +26 -0
  49. data/docs/{InitiateChunkedUpload200Response.md → InitiateChunkedUpload201Response.md} +2 -2
  50. data/docs/{InitiateRemoteUpload200Response.md → InitiateRemoteUpload201Response.md} +7 -7
  51. data/docs/{InitiateRemoteUpload200ResponseOneOf.md → InitiateRemoteUpload201ResponseOneOf.md} +2 -2
  52. data/docs/InitiateRemoteUploadRequest.md +3 -1
  53. data/docs/ListMediaFolders200Response.md +18 -0
  54. data/docs/ListMentions200Response.md +22 -0
  55. data/docs/ListMyWorkspaces200Response.md +18 -0
  56. data/docs/Media.md +22 -8
  57. data/docs/MediaApi.md +340 -26
  58. data/docs/MediaFolder.md +24 -0
  59. data/docs/MediaFolderInput.md +20 -0
  60. data/docs/MediaFolderRef.md +20 -0
  61. data/docs/Mention.md +28 -0
  62. data/docs/MentionIdentity.md +24 -0
  63. data/docs/MentionIdentityInput.md +26 -0
  64. data/docs/MentionInput.md +22 -0
  65. data/docs/MentionsApi.md +375 -0
  66. data/docs/Post.md +10 -8
  67. data/docs/PostAnalytics.md +22 -0
  68. data/docs/PostInput.md +3 -1
  69. data/docs/PostVersion.md +2 -0
  70. data/docs/PostingTimeSlot.md +22 -0
  71. data/docs/PostingTimes.md +32 -0
  72. data/docs/PostingTimesBestInner.md +24 -0
  73. data/docs/PostingTimesDayIntervalsInnerInner.md +28 -0
  74. data/docs/PostingTimesDaysInner.md +24 -0
  75. data/docs/PostsApi.md +174 -14
  76. data/docs/PublicWorkspace.md +24 -0
  77. data/docs/PublicWorkspacePivot.md +22 -0
  78. data/docs/PublishProgress.md +22 -0
  79. data/docs/Receipt.md +8 -8
  80. data/docs/ReceiptsApi.md +15 -1
  81. data/docs/RemoveGenericSubscription422Response.md +18 -0
  82. data/docs/RetryPostAccountResult.md +22 -0
  83. data/docs/SchedulePostRequest.md +9 -1
  84. data/docs/ScheduleResult.md +4 -2
  85. data/docs/Subscription.md +5 -5
  86. data/docs/SubscriptionsApi.md +27 -5
  87. data/docs/Tag.md +4 -4
  88. data/docs/TagsApi.md +10 -0
  89. data/docs/UpdateMediaRequest.md +6 -2
  90. data/docs/{UploadChunk200Response.md → UploadChunk201Response.md} +2 -2
  91. data/docs/User.md +7 -5
  92. data/docs/UsersApi.md +15 -1
  93. data/docs/Workspace.md +8 -6
  94. data/docs/WorkspaceInput.md +1 -1
  95. data/docs/WorkspacesApi.md +156 -3
  96. data/lib/postboost/api/accounts_api.rb +16 -4
  97. data/lib/postboost/api/ai_api.rb +466 -0
  98. data/lib/postboost/api/analytics_api.rb +425 -0
  99. data/lib/postboost/api/media_api.rb +365 -22
  100. data/lib/postboost/api/mentions_api.rb +386 -0
  101. data/lib/postboost/api/posts_api.rb +176 -12
  102. data/lib/postboost/api/receipts_api.rb +17 -2
  103. data/lib/postboost/api/subscriptions_api.rb +28 -3
  104. data/lib/postboost/api/tags_api.rb +12 -2
  105. data/lib/postboost/api/users_api.rb +17 -2
  106. data/lib/postboost/api/workspaces_api.rb +139 -2
  107. data/lib/postboost/api_client.rb +2 -2
  108. data/lib/postboost/api_error.rb +2 -2
  109. data/lib/postboost/configuration.rb +2 -2
  110. data/lib/postboost/models/account.rb +120 -3
  111. data/lib/postboost/models/account_analytics.rb +308 -0
  112. data/lib/postboost/models/account_analytics_initial_sync.rb +231 -0
  113. data/lib/postboost/models/account_schedule.rb +255 -0
  114. data/lib/postboost/models/add_generic_subscription_request.rb +2 -2
  115. data/lib/postboost/models/add_post_to_queue_request.rb +215 -0
  116. data/lib/postboost/models/ai_credits.rb +256 -0
  117. data/lib/postboost/models/analytics_period.rb +270 -0
  118. data/lib/postboost/models/analytics_summary.rb +237 -0
  119. data/lib/postboost/models/analytics_summary_data.rb +327 -0
  120. data/lib/postboost/models/approve_post_request.rb +247 -0
  121. data/lib/postboost/models/best_posting_times.rb +240 -0
  122. data/lib/postboost/models/best_posting_times_times_inner.rb +269 -0
  123. data/lib/postboost/models/blog_to_social200_response.rb +214 -0
  124. data/lib/postboost/models/blog_to_social429_response.rb +214 -0
  125. data/lib/postboost/models/blog_to_social_caption.rb +265 -0
  126. data/lib/postboost/models/blog_to_social_input.rb +536 -0
  127. data/lib/postboost/models/blog_to_social_media.rb +226 -0
  128. data/lib/postboost/models/blog_to_social_response.rb +276 -0
  129. data/lib/postboost/models/cancel_subscription422_response.rb +223 -0
  130. data/lib/postboost/models/cancel_subscription422_response_errors.rb +216 -0
  131. data/lib/postboost/models/cancel_subscription_request.rb +217 -0
  132. data/lib/postboost/models/change_subscription_plan_request.rb +2 -2
  133. data/lib/postboost/models/checkout_subscription200_response.rb +2 -2
  134. data/lib/postboost/models/checkout_subscription_request.rb +2 -2
  135. data/lib/postboost/models/complete_chunked_upload_request.rb +243 -0
  136. data/lib/postboost/models/create_media_folder_request.rb +258 -0
  137. data/lib/postboost/models/create_mention201_response.rb +214 -0
  138. data/lib/postboost/models/delete_media_bulk_request.rb +23 -4
  139. data/lib/postboost/models/{initiate_remote_upload200_response.rb → delete_media_bulk_request_items_inner.rb} +5 -5
  140. data/lib/postboost/models/delete_media_folder_request.rb +216 -0
  141. data/lib/postboost/models/delete_mode.rb +2 -2
  142. data/lib/postboost/models/delete_post_request.rb +2 -2
  143. data/lib/postboost/models/delete_posts_bulk_request.rb +2 -2
  144. data/lib/postboost/models/delete_receipts_bulk_request.rb +2 -2
  145. data/lib/postboost/models/delete_result.rb +23 -2
  146. data/lib/postboost/models/delete_user400_response.rb +2 -2
  147. data/lib/postboost/models/delete_users_bulk_request.rb +2 -2
  148. data/lib/postboost/models/delete_workspaces_bulk_request.rb +2 -2
  149. data/lib/postboost/models/get_remote_upload_status200_response.rb +2 -2
  150. data/lib/postboost/models/image_alt_text200_response.rb +221 -0
  151. data/lib/postboost/models/image_alt_text_input.rb +221 -0
  152. data/lib/postboost/models/image_alt_text_response.rb +262 -0
  153. data/lib/postboost/models/image_edit_input.rb +375 -0
  154. data/lib/postboost/models/image_generate200_response.rb +221 -0
  155. data/lib/postboost/models/image_generate429_response.rb +214 -0
  156. data/lib/postboost/models/image_generate_input.rb +447 -0
  157. data/lib/postboost/models/image_generation_response.rb +305 -0
  158. data/lib/postboost/models/image_prompt200_response.rb +221 -0
  159. data/lib/postboost/models/image_prompt429_response.rb +214 -0
  160. data/lib/postboost/models/image_prompt_input.rb +345 -0
  161. data/lib/postboost/models/image_prompt_response.rb +221 -0
  162. data/lib/postboost/models/image_variations200_response.rb +221 -0
  163. data/lib/postboost/models/image_variations_input.rb +328 -0
  164. data/lib/postboost/models/image_variations_response.rb +280 -0
  165. data/lib/postboost/models/{initiate_chunked_upload200_response.rb → initiate_chunked_upload201_response.rb} +5 -5
  166. data/lib/postboost/models/initiate_chunked_upload_request.rb +2 -2
  167. data/lib/postboost/models/initiate_remote_upload201_response.rb +105 -0
  168. data/lib/postboost/models/{initiate_remote_upload200_response_one_of.rb → initiate_remote_upload201_response_one_of.rb} +5 -5
  169. data/lib/postboost/models/initiate_remote_upload_request.rb +16 -6
  170. data/lib/postboost/models/list_accounts200_response.rb +2 -2
  171. data/lib/postboost/models/list_media200_response.rb +2 -2
  172. data/lib/postboost/models/list_media_folders200_response.rb +216 -0
  173. data/lib/postboost/models/list_mentions200_response.rb +241 -0
  174. data/lib/postboost/models/list_my_workspaces200_response.rb +216 -0
  175. data/lib/postboost/models/list_posts200_response.rb +2 -2
  176. data/lib/postboost/models/list_receipts200_response.rb +2 -2
  177. data/lib/postboost/models/list_tags200_response.rb +2 -2
  178. data/lib/postboost/models/list_users200_response.rb +2 -2
  179. data/lib/postboost/models/list_workspaces200_response.rb +2 -2
  180. data/lib/postboost/models/media.rb +128 -3
  181. data/lib/postboost/models/media_folder.rb +271 -0
  182. data/lib/postboost/models/media_folder_input.rb +244 -0
  183. data/lib/postboost/models/media_folder_ref.rb +237 -0
  184. data/lib/postboost/models/mention.rb +290 -0
  185. data/lib/postboost/models/mention_identity.rb +257 -0
  186. data/lib/postboost/models/mention_identity_input.rb +325 -0
  187. data/lib/postboost/models/mention_input.rb +279 -0
  188. data/lib/postboost/models/pagination_meta.rb +2 -2
  189. data/lib/postboost/models/pagination_meta_links.rb +2 -2
  190. data/lib/postboost/models/pagination_meta_meta.rb +2 -2
  191. data/lib/postboost/models/post.rb +69 -3
  192. data/lib/postboost/models/post_analytics.rb +252 -0
  193. data/lib/postboost/models/post_content.rb +2 -2
  194. data/lib/postboost/models/post_input.rb +16 -3
  195. data/lib/postboost/models/post_status.rb +6 -3
  196. data/lib/postboost/models/post_version.rb +32 -3
  197. data/lib/postboost/models/posting_time_slot.rb +315 -0
  198. data/lib/postboost/models/posting_times.rb +362 -0
  199. data/lib/postboost/models/posting_times_best_inner.rb +269 -0
  200. data/lib/postboost/models/posting_times_day_intervals_inner_inner.rb +370 -0
  201. data/lib/postboost/models/posting_times_days_inner.rb +366 -0
  202. data/lib/postboost/models/public_workspace.rb +262 -0
  203. data/lib/postboost/models/public_workspace_pivot.rb +267 -0
  204. data/lib/postboost/models/publish_progress.rb +254 -0
  205. data/lib/postboost/models/receipt.rb +58 -2
  206. data/lib/postboost/models/receipt_input.rb +2 -2
  207. data/lib/postboost/models/receipt_update_input.rb +2 -2
  208. data/lib/postboost/models/remove_generic_subscription422_response.rb +214 -0
  209. data/lib/postboost/models/remove_user_from_workspace_request.rb +2 -2
  210. data/lib/postboost/models/retry_post_account_result.rb +275 -0
  211. data/lib/postboost/models/schedule_post_request.rb +48 -6
  212. data/lib/postboost/models/schedule_result.rb +23 -6
  213. data/lib/postboost/models/subscription.rb +37 -2
  214. data/lib/postboost/models/subscription_input.rb +2 -2
  215. data/lib/postboost/models/subscription_status.rb +2 -2
  216. data/lib/postboost/models/subscription_update_input.rb +2 -2
  217. data/lib/postboost/models/tag.rb +30 -2
  218. data/lib/postboost/models/tag_input.rb +2 -2
  219. data/lib/postboost/models/update_media_request.rb +61 -11
  220. data/lib/postboost/models/{upload_chunk200_response.rb → upload_chunk201_response.rb} +5 -5
  221. data/lib/postboost/models/user.rb +48 -3
  222. data/lib/postboost/models/user_input.rb +2 -2
  223. data/lib/postboost/models/user_update_input.rb +2 -2
  224. data/lib/postboost/models/workspace.rb +42 -3
  225. data/lib/postboost/models/workspace_input.rb +3 -9
  226. data/lib/postboost/models/workspace_user_input.rb +2 -2
  227. data/lib/postboost/version.rb +3 -3
  228. data/lib/postboost.rb +70 -6
  229. data/postboost.gemspec +3 -3
  230. data/spec/api/accounts_api_spec.rb +7 -3
  231. data/spec/api/ai_api_spec.rb +113 -0
  232. data/spec/api/analytics_api_spec.rb +113 -0
  233. data/spec/api/media_api_spec.rb +73 -10
  234. data/spec/api/mentions_api_spec.rb +103 -0
  235. data/spec/api/posts_api_spec.rb +38 -6
  236. data/spec/api/receipts_api_spec.rb +9 -2
  237. data/spec/api/subscriptions_api_spec.rb +12 -2
  238. data/spec/api/tags_api_spec.rb +7 -2
  239. data/spec/api/users_api_spec.rb +9 -2
  240. data/spec/api/workspaces_api_spec.rb +33 -2
  241. data/spec/models/account_analytics_initial_sync_spec.rb +42 -0
  242. data/spec/models/account_analytics_spec.rb +66 -0
  243. data/spec/models/account_schedule_spec.rb +48 -0
  244. data/spec/models/account_spec.rb +24 -2
  245. data/spec/models/add_generic_subscription_request_spec.rb +2 -2
  246. data/spec/models/add_post_to_queue_request_spec.rb +36 -0
  247. data/spec/models/ai_credits_spec.rb +48 -0
  248. data/spec/models/analytics_period_spec.rb +54 -0
  249. data/spec/models/analytics_summary_data_spec.rb +96 -0
  250. data/spec/models/analytics_summary_spec.rb +42 -0
  251. data/spec/models/approve_post_request_spec.rb +54 -0
  252. data/spec/models/best_posting_times_spec.rb +42 -0
  253. data/spec/models/best_posting_times_times_inner_spec.rb +54 -0
  254. data/spec/models/blog_to_social200_response_spec.rb +36 -0
  255. data/spec/models/blog_to_social429_response_spec.rb +36 -0
  256. data/spec/models/blog_to_social_caption_spec.rb +66 -0
  257. data/spec/models/blog_to_social_input_spec.rb +128 -0
  258. data/spec/models/blog_to_social_media_spec.rb +42 -0
  259. data/spec/models/blog_to_social_response_spec.rb +72 -0
  260. data/spec/models/cancel_subscription422_response_errors_spec.rb +36 -0
  261. data/spec/models/cancel_subscription422_response_spec.rb +42 -0
  262. data/spec/models/cancel_subscription_request_spec.rb +36 -0
  263. data/spec/models/change_subscription_plan_request_spec.rb +2 -2
  264. data/spec/models/checkout_subscription200_response_spec.rb +2 -2
  265. data/spec/models/checkout_subscription_request_spec.rb +2 -2
  266. data/spec/models/complete_chunked_upload_request_spec.rb +42 -0
  267. data/spec/models/create_media_folder_request_spec.rb +42 -0
  268. data/spec/models/create_mention201_response_spec.rb +36 -0
  269. data/spec/models/delete_media_bulk_request_items_inner_spec.rb +32 -0
  270. data/spec/models/delete_media_bulk_request_spec.rb +2 -2
  271. data/spec/models/delete_media_folder_request_spec.rb +36 -0
  272. data/spec/models/delete_mode_spec.rb +2 -2
  273. data/spec/models/delete_post_request_spec.rb +2 -2
  274. data/spec/models/delete_posts_bulk_request_spec.rb +2 -2
  275. data/spec/models/delete_receipts_bulk_request_spec.rb +2 -2
  276. data/spec/models/delete_result_spec.rb +2 -2
  277. data/spec/models/delete_user400_response_spec.rb +2 -2
  278. data/spec/models/delete_users_bulk_request_spec.rb +2 -2
  279. data/spec/models/delete_workspaces_bulk_request_spec.rb +2 -2
  280. data/spec/models/get_remote_upload_status200_response_spec.rb +2 -2
  281. data/spec/models/image_alt_text200_response_spec.rb +36 -0
  282. data/spec/models/image_alt_text_input_spec.rb +36 -0
  283. data/spec/models/image_alt_text_response_spec.rb +54 -0
  284. data/spec/models/image_edit_input_spec.rb +74 -0
  285. data/spec/models/image_generate200_response_spec.rb +36 -0
  286. data/spec/models/image_generate429_response_spec.rb +36 -0
  287. data/spec/models/image_generate_input_spec.rb +102 -0
  288. data/spec/models/image_generation_response_spec.rb +72 -0
  289. data/spec/models/image_prompt200_response_spec.rb +36 -0
  290. data/spec/models/image_prompt429_response_spec.rb +36 -0
  291. data/spec/models/image_prompt_input_spec.rb +70 -0
  292. data/spec/models/image_prompt_response_spec.rb +36 -0
  293. data/spec/models/image_variations200_response_spec.rb +36 -0
  294. data/spec/models/image_variations_input_spec.rb +62 -0
  295. data/spec/models/image_variations_response_spec.rb +60 -0
  296. data/spec/models/initiate_chunked_upload201_response_spec.rb +48 -0
  297. data/spec/models/initiate_chunked_upload_request_spec.rb +2 -2
  298. data/spec/models/initiate_remote_upload201_response_one_of_spec.rb +36 -0
  299. data/spec/models/initiate_remote_upload201_response_spec.rb +32 -0
  300. data/spec/models/initiate_remote_upload_request_spec.rb +8 -2
  301. data/spec/models/list_accounts200_response_spec.rb +2 -2
  302. data/spec/models/list_media200_response_spec.rb +2 -2
  303. data/spec/models/list_media_folders200_response_spec.rb +36 -0
  304. data/spec/models/list_mentions200_response_spec.rb +48 -0
  305. data/spec/models/list_my_workspaces200_response_spec.rb +36 -0
  306. data/spec/models/list_posts200_response_spec.rb +2 -2
  307. data/spec/models/list_receipts200_response_spec.rb +2 -2
  308. data/spec/models/list_tags200_response_spec.rb +2 -2
  309. data/spec/models/list_users200_response_spec.rb +2 -2
  310. data/spec/models/list_workspaces200_response_spec.rb +2 -2
  311. data/spec/models/media_folder_input_spec.rb +42 -0
  312. data/spec/models/media_folder_ref_spec.rb +42 -0
  313. data/spec/models/media_folder_spec.rb +54 -0
  314. data/spec/models/media_spec.rb +44 -2
  315. data/spec/models/mention_identity_input_spec.rb +60 -0
  316. data/spec/models/mention_identity_spec.rb +54 -0
  317. data/spec/models/mention_input_spec.rb +48 -0
  318. data/spec/models/mention_spec.rb +66 -0
  319. data/spec/models/pagination_meta_links_spec.rb +2 -2
  320. data/spec/models/pagination_meta_meta_spec.rb +2 -2
  321. data/spec/models/pagination_meta_spec.rb +2 -2
  322. data/spec/models/post_analytics_spec.rb +48 -0
  323. data/spec/models/post_content_spec.rb +2 -2
  324. data/spec/models/post_input_spec.rb +8 -2
  325. data/spec/models/post_spec.rb +8 -2
  326. data/spec/models/post_status_spec.rb +2 -2
  327. data/spec/models/post_version_spec.rb +8 -2
  328. data/spec/models/posting_time_slot_spec.rb +52 -0
  329. data/spec/models/posting_times_best_inner_spec.rb +54 -0
  330. data/spec/models/posting_times_day_intervals_inner_inner_spec.rb +70 -0
  331. data/spec/models/posting_times_days_inner_spec.rb +58 -0
  332. data/spec/models/posting_times_spec.rb +78 -0
  333. data/spec/models/public_workspace_pivot_spec.rb +52 -0
  334. data/spec/models/public_workspace_spec.rb +54 -0
  335. data/spec/models/publish_progress_spec.rb +48 -0
  336. data/spec/models/receipt_input_spec.rb +2 -2
  337. data/spec/models/receipt_spec.rb +2 -2
  338. data/spec/models/receipt_update_input_spec.rb +2 -2
  339. data/spec/models/remove_generic_subscription422_response_spec.rb +36 -0
  340. data/spec/models/remove_user_from_workspace_request_spec.rb +2 -2
  341. data/spec/models/retry_post_account_result_spec.rb +48 -0
  342. data/spec/models/schedule_post_request_spec.rb +26 -2
  343. data/spec/models/schedule_result_spec.rb +8 -2
  344. data/spec/models/subscription_input_spec.rb +2 -2
  345. data/spec/models/subscription_spec.rb +2 -2
  346. data/spec/models/subscription_status_spec.rb +2 -2
  347. data/spec/models/subscription_update_input_spec.rb +2 -2
  348. data/spec/models/tag_input_spec.rb +2 -2
  349. data/spec/models/tag_spec.rb +2 -2
  350. data/spec/models/update_media_request_spec.rb +14 -2
  351. data/spec/models/upload_chunk201_response_spec.rb +36 -0
  352. data/spec/models/user_input_spec.rb +2 -2
  353. data/spec/models/user_spec.rb +8 -2
  354. data/spec/models/user_update_input_spec.rb +2 -2
  355. data/spec/models/workspace_input_spec.rb +2 -2
  356. data/spec/models/workspace_spec.rb +8 -2
  357. data/spec/models/workspace_user_input_spec.rb +2 -2
  358. data/spec/spec_helper.rb +2 -2
  359. metadata +331 -75
  360. data/git_push.sh +0 -57
  361. data/spec/models/initiate_chunked_upload200_response_spec.rb +0 -48
  362. data/spec/models/initiate_remote_upload200_response_one_of_spec.rb +0 -36
  363. data/spec/models/initiate_remote_upload200_response_spec.rb +0 -32
  364. data/spec/models/upload_chunk200_response_spec.rb +0 -36
@@ -0,0 +1,18 @@
1
+ # PostBoost::BlogToSocial429Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **message** | **String** | | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'postboost'
13
+
14
+ instance = PostBoost::BlogToSocial429Response.new(
15
+ message: Insufficient AI credits. You need 3 credits but only have 1 remaining this month.
16
+ )
17
+ ```
18
+
@@ -0,0 +1,28 @@
1
+ # PostBoost::BlogToSocialCaption
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **account_id** | **Integer** | ID of the social account this caption was generated for. | [optional] |
8
+ | **provider** | **String** | Social media platform identifier. | [optional] |
9
+ | **content** | **String** | The generated caption text. `null` if generation failed for this account. | [optional] |
10
+ | **character_count** | **Integer** | Character count of the generated content. `null` if generation failed. | [optional] |
11
+ | **character_limit** | **Integer** | Maximum allowed character count for this platform. | [optional] |
12
+ | **error** | **String** | Error message if caption generation failed for this account. `null` on success. | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'postboost'
18
+
19
+ instance = PostBoost::BlogToSocialCaption.new(
20
+ account_id: 5,
21
+ provider: x,
22
+ content: Unlock better social media results with these 10 proven tips. #SocialMedia #Marketing,
23
+ character_count: 87,
24
+ character_limit: 280,
25
+ error: null
26
+ )
27
+ ```
28
+
@@ -0,0 +1,42 @@
1
+ # PostBoost::BlogToSocialInput
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **url** | **String** | Blog post URL to scrape. Required if `title` and `excerpt` are not provided. | [optional] |
8
+ | **title** | **String** | Blog post title. Required if `url` is not provided. | [optional] |
9
+ | **excerpt** | **String** | Blog post summary or excerpt. Required if `url` is not provided. | [optional] |
10
+ | **image_url** | **String** | Featured image URL for the blog post. When `create_post` is `true`, the image is imported into the workspace media library and attached to the draft post. If omitted in URL mode, the scraper attempts to extract the `og:image` meta tag. | [optional] |
11
+ | **platforms** | **Array<String>** | Target social media platforms. Only connected accounts matching these platforms are used. If omitted, all connected accounts in the workspace are targeted. | [optional] |
12
+ | **account_ids** | **Array<Integer>** | Specific account IDs to generate captions for. Takes precedence over `platforms` when both are provided. | [optional] |
13
+ | **tone** | **String** | Writing tone for all generated captions. | [optional][default to 'engaging'] |
14
+ | **content_length** | **String** | Desired length of the generated captions. | [optional][default to 'medium'] |
15
+ | **hashtags** | **String** | Hashtag quantity: none (0), few (1-3), some (3-5), many (5+). | [optional][default to 'few'] |
16
+ | **cta** | **String** | Call-to-action type appended to each caption. | [optional][default to 'none'] |
17
+ | **language** | **String** | Output language as an ISO 639-1 code (e.g. `en`, `de`, `fr`). Use `auto` to match the blog post's language automatically. | [optional][default to 'auto'] |
18
+ | **custom_instructions** | **String** | Additional instructions appended to the AI prompt (e.g. \"always mention our free tier\"). | [optional] |
19
+ | **create_post** | **Boolean** | When `true`, creates a draft post in the workspace with per-account caption versions. If an image is available, it is imported and attached to the post. | [optional][default to false] |
20
+
21
+ ## Example
22
+
23
+ ```ruby
24
+ require 'postboost'
25
+
26
+ instance = PostBoost::BlogToSocialInput.new(
27
+ url: https://example.com/blog/my-post,
28
+ title: 10 Tips for Better Social Media,
29
+ excerpt: Social media success starts with consistency and knowing your audience...,
30
+ image_url: https://example.com/images/post-cover.jpg,
31
+ platforms: [twitter, linkedin],
32
+ account_ids: [5, 12],
33
+ tone: professional,
34
+ content_length: medium,
35
+ hashtags: few,
36
+ cta: link,
37
+ language: auto,
38
+ custom_instructions: Always mention that PostBoost supports 12+ platforms.,
39
+ create_post: null
40
+ )
41
+ ```
42
+
@@ -0,0 +1,20 @@
1
+ # PostBoost::BlogToSocialMedia
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **Integer** | Media library ID of the imported image. | [optional] |
8
+ | **url** | **String** | Public URL of the imported image in the workspace media library. | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'postboost'
14
+
15
+ instance = PostBoost::BlogToSocialMedia.new(
16
+ id: 42,
17
+ url: https://postboost.co/storage/workspaces/1/blog-images/2026/04/cover.jpg
18
+ )
19
+ ```
20
+
@@ -0,0 +1,30 @@
1
+ # PostBoost::BlogToSocialResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **blog_title** | **String** | The blog post title (scraped or provided directly). | [optional] |
8
+ | **blog_excerpt** | **String** | A short excerpt from the blog post content. | [optional] |
9
+ | **captions** | [**Array<BlogToSocialCaption>**](BlogToSocialCaption.md) | Generated captions, one per target account. | [optional] |
10
+ | **post_uuid** | **String** | UUID of the created draft post. Only present when `create_post` was `true`. | [optional] |
11
+ | **media** | [**BlogToSocialMedia**](BlogToSocialMedia.md) | | [optional] |
12
+ | **credits_used** | **Integer** | Number of AI credits consumed by this request (one per successful caption). | [optional] |
13
+ | **credits_remaining** | **Integer** | Remaining AI credits for the current billing period. `null` for unlimited plans. | [optional] |
14
+
15
+ ## Example
16
+
17
+ ```ruby
18
+ require 'postboost'
19
+
20
+ instance = PostBoost::BlogToSocialResponse.new(
21
+ blog_title: 10 Tips for Better Social Media,
22
+ blog_excerpt: Social media success starts with consistency...,
23
+ captions: null,
24
+ post_uuid: 01942c3d-1234-7abc-8ef0-1234567890ab,
25
+ media: null,
26
+ credits_used: 3,
27
+ credits_remaining: 37
28
+ )
29
+ ```
30
+
@@ -0,0 +1,20 @@
1
+ # PostBoost::CancelSubscription422Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **message** | **String** | | [optional] |
8
+ | **errors** | [**CancelSubscription422ResponseErrors**](CancelSubscription422ResponseErrors.md) | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'postboost'
14
+
15
+ instance = PostBoost::CancelSubscription422Response.new(
16
+ message: null,
17
+ errors: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,18 @@
1
+ # PostBoost::CancelSubscription422ResponseErrors
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **subscription** | **Array<String>** | | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'postboost'
13
+
14
+ instance = PostBoost::CancelSubscription422ResponseErrors.new(
15
+ subscription: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,18 @@
1
+ # PostBoost::CancelSubscriptionRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **immediately** | **Boolean** | Cancel now instead of at the end of the billing period. | [optional][default to false] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'postboost'
13
+
14
+ instance = PostBoost::CancelSubscriptionRequest.new(
15
+ immediately: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,20 @@
1
+ # PostBoost::CompleteChunkedUploadRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **alt_text** | **String** | | [optional] |
8
+ | **folder** | **String** | UUID of the media folder to file the item in. Omit or null for the library root. | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'postboost'
14
+
15
+ instance = PostBoost::CompleteChunkedUploadRequest.new(
16
+ alt_text: null,
17
+ folder: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,20 @@
1
+ # PostBoost::CreateMediaFolderRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **name** | **String** | Folder name; must be unique among its siblings (case-insensitive). | |
8
+ | **parent** | **String** | UUID of the parent folder, or null for the top level. Folders nest to a limited depth. | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'postboost'
14
+
15
+ instance = PostBoost::CreateMediaFolderRequest.new(
16
+ name: null,
17
+ parent: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,18 @@
1
+ # PostBoost::CreateMention201Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **data** | [**Mention**](Mention.md) | | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'postboost'
13
+
14
+ instance = PostBoost::CreateMention201Response.new(
15
+ data: null
16
+ )
17
+ ```
18
+
@@ -4,7 +4,7 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **items** | **Array<Integer>** | Array of media IDs to delete. | |
7
+ | **items** | [**Array<DeleteMediaBulkRequestItemsInner>**](DeleteMediaBulkRequestItemsInner.md) | Array of media IDs or UUIDs to delete. | |
8
8
 
9
9
  ## Example
10
10
 
@@ -0,0 +1,49 @@
1
+ # PostBoost::DeleteMediaBulkRequestItemsInner
2
+
3
+ ## Class instance methods
4
+
5
+ ### `openapi_one_of`
6
+
7
+ Returns the list of classes defined in oneOf.
8
+
9
+ #### Example
10
+
11
+ ```ruby
12
+ require 'postboost'
13
+
14
+ PostBoost::DeleteMediaBulkRequestItemsInner.openapi_one_of
15
+ # =>
16
+ # [
17
+ # :'Integer',
18
+ # :'String'
19
+ # ]
20
+ ```
21
+
22
+ ### build
23
+
24
+ Find the appropriate object from the `openapi_one_of` list and casts the data into it.
25
+
26
+ #### Example
27
+
28
+ ```ruby
29
+ require 'postboost'
30
+
31
+ PostBoost::DeleteMediaBulkRequestItemsInner.build(data)
32
+ # => #<Integer:0x00007fdd4aab02a0>
33
+
34
+ PostBoost::DeleteMediaBulkRequestItemsInner.build(data_that_doesnt_match)
35
+ # => nil
36
+ ```
37
+
38
+ #### Parameters
39
+
40
+ | Name | Type | Description |
41
+ | ---- | ---- | ----------- |
42
+ | **data** | **Mixed** | data to be matched against the list of oneOf items |
43
+
44
+ #### Return type
45
+
46
+ - `Integer`
47
+ - `String`
48
+ - `nil` (if no type matches)
49
+
@@ -0,0 +1,18 @@
1
+ # PostBoost::DeleteMediaFolderRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **delete_media** | **Boolean** | | [optional][default to false] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'postboost'
13
+
14
+ instance = PostBoost::DeleteMediaFolderRequest.new(
15
+ delete_media: null
16
+ )
17
+ ```
18
+
data/docs/DeleteResult.md CHANGED
@@ -4,9 +4,9 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **deleted** | **Boolean** | | [optional] |
8
- | **deleted_from_app** | **Boolean** | | [optional] |
9
- | **to_trash** | **Boolean** | | [optional] |
7
+ | **deleted** | **Boolean** | | |
8
+ | **deleted_from_app** | **Boolean** | | |
9
+ | **to_trash** | **Boolean** | | |
10
10
 
11
11
  ## Example
12
12
 
@@ -0,0 +1,18 @@
1
+ # PostBoost::ImageAltText200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **data** | [**ImageAltTextResponse**](ImageAltTextResponse.md) | | |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'postboost'
13
+
14
+ instance = PostBoost::ImageAltText200Response.new(
15
+ data: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,18 @@
1
+ # PostBoost::ImageAltTextInput
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **media_uuid** | **String** | | |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'postboost'
13
+
14
+ instance = PostBoost::ImageAltTextInput.new(
15
+ media_uuid: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,24 @@
1
+ # PostBoost::ImageAltTextResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **media_uuid** | **String** | | |
8
+ | **alt_text** | **String** | | |
9
+ | **credits_used** | **Integer** | | |
10
+ | **credits_remaining** | **Integer** | | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'postboost'
16
+
17
+ instance = PostBoost::ImageAltTextResponse.new(
18
+ media_uuid: null,
19
+ alt_text: A developer working at a standing desk with dual monitors in a bright modern office,
20
+ credits_used: 1,
21
+ credits_remaining: 49
22
+ )
23
+ ```
24
+
@@ -0,0 +1,28 @@
1
+ # PostBoost::ImageEditInput
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **media_uuid** | **String** | UUID of the source media item to edit | |
8
+ | **prompt** | **String** | Describe what to change in the image | |
9
+ | **mask_uuid** | **String** | UUID of a mask image. Transparent areas will be edited. | [optional] |
10
+ | **aspect_ratio** | **String** | | [optional][default to &#39;1:1&#39;] |
11
+ | **count** | **Integer** | | [optional][default to 1] |
12
+ | **quality** | **String** | | [optional][default to &#39;standard&#39;] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'postboost'
18
+
19
+ instance = PostBoost::ImageEditInput.new(
20
+ media_uuid: null,
21
+ prompt: Make the background a white studio backdrop,
22
+ mask_uuid: null,
23
+ aspect_ratio: null,
24
+ count: null,
25
+ quality: null
26
+ )
27
+ ```
28
+
@@ -0,0 +1,18 @@
1
+ # PostBoost::ImageGenerate200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **data** | [**ImageGenerationResponse**](ImageGenerationResponse.md) | | |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'postboost'
13
+
14
+ instance = PostBoost::ImageGenerate200Response.new(
15
+ data: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,18 @@
1
+ # PostBoost::ImageGenerate429Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **message** | **String** | | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'postboost'
13
+
14
+ instance = PostBoost::ImageGenerate429Response.new(
15
+ message: Insufficient AI credits. You need 5 credits but only have 2 remaining this month.
16
+ )
17
+ ```
18
+
@@ -0,0 +1,36 @@
1
+ # PostBoost::ImageGenerateInput
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **caption** | **String** | Social media caption. Triggers standard mode. Takes priority over prompt. | [optional] |
8
+ | **platform** | **String** | Required when caption is provided. | [optional] |
9
+ | **template** | **String** | | [optional] |
10
+ | **style** | **String** | | [optional] |
11
+ | **brand_voice** | **String** | | [optional] |
12
+ | **custom_instructions** | **String** | | [optional] |
13
+ | **prompt** | **String** | Developer escape hatch. Bypasses internal prompt builder. Ignored if caption is present. | [optional] |
14
+ | **aspect_ratio** | **String** | | [optional][default to &#39;1:1&#39;] |
15
+ | **count** | **Integer** | | [optional][default to 1] |
16
+ | **quality** | **String** | | [optional][default to &#39;standard&#39;] |
17
+
18
+ ## Example
19
+
20
+ ```ruby
21
+ require 'postboost'
22
+
23
+ instance = PostBoost::ImageGenerateInput.new(
24
+ caption: null,
25
+ platform: instagram,
26
+ template: null,
27
+ style: minimalist,
28
+ brand_voice: friendly,
29
+ custom_instructions: null,
30
+ prompt: null,
31
+ aspect_ratio: null,
32
+ count: null,
33
+ quality: null
34
+ )
35
+ ```
36
+
@@ -0,0 +1,30 @@
1
+ # PostBoost::ImageGenerationResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **images** | [**Array&lt;Media&gt;**](Media.md) | | |
8
+ | **prompt_used** | **String** | | |
9
+ | **revised_prompt** | **String** | | [optional] |
10
+ | **aspect_ratio** | **String** | | |
11
+ | **quality** | **String** | | |
12
+ | **credits_used** | **Integer** | | |
13
+ | **credits_remaining** | **Integer** | | [optional] |
14
+
15
+ ## Example
16
+
17
+ ```ruby
18
+ require 'postboost'
19
+
20
+ instance = PostBoost::ImageGenerationResponse.new(
21
+ images: null,
22
+ prompt_used: null,
23
+ revised_prompt: null,
24
+ aspect_ratio: 1:1,
25
+ quality: standard,
26
+ credits_used: 5,
27
+ credits_remaining: 45
28
+ )
29
+ ```
30
+
@@ -0,0 +1,18 @@
1
+ # PostBoost::ImagePrompt200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **data** | [**ImagePromptResponse**](ImagePromptResponse.md) | | |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'postboost'
13
+
14
+ instance = PostBoost::ImagePrompt200Response.new(
15
+ data: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,18 @@
1
+ # PostBoost::ImagePrompt429Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **message** | **String** | | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'postboost'
13
+
14
+ instance = PostBoost::ImagePrompt429Response.new(
15
+ message: Insufficient AI credits. You need 1 credits but only have 0 remaining this month.
16
+ )
17
+ ```
18
+
@@ -0,0 +1,28 @@
1
+ # PostBoost::ImagePromptInput
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **caption** | **String** | | |
8
+ | **platform** | **String** | | |
9
+ | **template** | **String** | | [optional] |
10
+ | **style** | **String** | | [optional] |
11
+ | **brand_voice** | **String** | | [optional] |
12
+ | **custom_instructions** | **String** | | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'postboost'
18
+
19
+ instance = PostBoost::ImagePromptInput.new(
20
+ caption: Our summer sale starts today, 30% off everything!,
21
+ platform: instagram,
22
+ template: null,
23
+ style: minimalist,
24
+ brand_voice: friendly,
25
+ custom_instructions: null
26
+ )
27
+ ```
28
+
@@ -0,0 +1,18 @@
1
+ # PostBoost::ImagePromptResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **prompt** | **String** | | |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'postboost'
13
+
14
+ instance = PostBoost::ImagePromptResponse.new(
15
+ prompt: Create a vibrant, lifestyle-oriented social media image for Instagram...
16
+ )
17
+ ```
18
+
@@ -0,0 +1,18 @@
1
+ # PostBoost::ImageVariations200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **data** | [**ImageVariationsResponse**](ImageVariationsResponse.md) | | |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'postboost'
13
+
14
+ instance = PostBoost::ImageVariations200Response.new(
15
+ data: null
16
+ )
17
+ ```
18
+