postboost 1.38.0 → 1.39.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 (722) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -1
  3. data/docs/FreeToolGenerateHooksRequest.md +26 -0
  4. data/docs/FreeToolGenerateHooksResponse.md +24 -0
  5. data/docs/FreeToolGenerateHooksResponseHooksInner.md +20 -0
  6. data/docs/FreeToolGetHookTemplatesResponse.md +20 -0
  7. data/docs/FreeToolGetHookTemplatesResponseHooksInner.md +24 -0
  8. data/docs/FreeToolsApi.md +143 -0
  9. data/lib/postboost/api/account_groups_api.rb +1 -1
  10. data/lib/postboost/api/accounts_api.rb +1 -1
  11. data/lib/postboost/api/activity_api.rb +1 -1
  12. data/lib/postboost/api/agents_api.rb +1 -1
  13. data/lib/postboost/api/ai_api.rb +1 -1
  14. data/lib/postboost/api/analytics_api.rb +1 -1
  15. data/lib/postboost/api/competitors_api.rb +1 -1
  16. data/lib/postboost/api/free_tools_api.rb +154 -1
  17. data/lib/postboost/api/hashtag_groups_api.rb +1 -1
  18. data/lib/postboost/api/inbox_api.rb +1 -1
  19. data/lib/postboost/api/media_api.rb +1 -1
  20. data/lib/postboost/api/mentions_api.rb +1 -1
  21. data/lib/postboost/api/posting_schedule_api.rb +1 -1
  22. data/lib/postboost/api/posts_api.rb +1 -1
  23. data/lib/postboost/api/receipts_api.rb +1 -1
  24. data/lib/postboost/api/subscriptions_api.rb +1 -1
  25. data/lib/postboost/api/tags_api.rb +1 -1
  26. data/lib/postboost/api/templates_api.rb +1 -1
  27. data/lib/postboost/api/users_api.rb +1 -1
  28. data/lib/postboost/api/webhooks_api.rb +1 -1
  29. data/lib/postboost/api/workspaces_api.rb +1 -1
  30. data/lib/postboost/api_client.rb +1 -1
  31. data/lib/postboost/api_error.rb +1 -1
  32. data/lib/postboost/configuration.rb +1 -1
  33. data/lib/postboost/models/account.rb +1 -1
  34. data/lib/postboost/models/account_analytics.rb +1 -1
  35. data/lib/postboost/models/account_analytics_initial_sync.rb +1 -1
  36. data/lib/postboost/models/account_connection_health.rb +1 -1
  37. data/lib/postboost/models/account_connection_health_reconnect_reason.rb +1 -1
  38. data/lib/postboost/models/account_errors_inner.rb +1 -1
  39. data/lib/postboost/models/account_errors_inner_one_of.rb +1 -1
  40. data/lib/postboost/models/account_group.rb +1 -1
  41. data/lib/postboost/models/account_group_input.rb +1 -1
  42. data/lib/postboost/models/account_health.rb +1 -1
  43. data/lib/postboost/models/account_health_daily_cap.rb +1 -1
  44. data/lib/postboost/models/account_schedule.rb +1 -1
  45. data/lib/postboost/models/add_competitor202_response.rb +1 -1
  46. data/lib/postboost/models/add_competitor409_response.rb +1 -1
  47. data/lib/postboost/models/add_generic_subscription_request.rb +1 -1
  48. data/lib/postboost/models/add_post_to_queue_request.rb +1 -1
  49. data/lib/postboost/models/agent_page_meta.rb +1 -1
  50. data/lib/postboost/models/agent_proposal.rb +1 -1
  51. data/lib/postboost/models/agent_proposal_decision.rb +1 -1
  52. data/lib/postboost/models/agent_run.rb +1 -1
  53. data/lib/postboost/models/ai_credits.rb +1 -1
  54. data/lib/postboost/models/ai_usage.rb +1 -1
  55. data/lib/postboost/models/ai_usage_text.rb +1 -1
  56. data/lib/postboost/models/analytics_period.rb +1 -1
  57. data/lib/postboost/models/analytics_summary.rb +1 -1
  58. data/lib/postboost/models/analytics_summary_data.rb +1 -1
  59. data/lib/postboost/models/api_activity.rb +1 -1
  60. data/lib/postboost/models/api_activity_outcome.rb +1 -1
  61. data/lib/postboost/models/api_key.rb +1 -1
  62. data/lib/postboost/models/api_key_ability.rb +1 -1
  63. data/lib/postboost/models/api_key_input.rb +1 -1
  64. data/lib/postboost/models/approve_agent_proposal200_response.rb +1 -1
  65. data/lib/postboost/models/approve_agent_proposal409_response.rb +1 -1
  66. data/lib/postboost/models/approve_inbox_reply_draft403_response.rb +1 -1
  67. data/lib/postboost/models/approve_post_request.rb +1 -1
  68. data/lib/postboost/models/best_posting_times.rb +1 -1
  69. data/lib/postboost/models/best_posting_times_times_inner.rb +1 -1
  70. data/lib/postboost/models/blog_to_social200_response.rb +1 -1
  71. data/lib/postboost/models/blog_to_social429_response.rb +1 -1
  72. data/lib/postboost/models/blog_to_social_caption.rb +1 -1
  73. data/lib/postboost/models/blog_to_social_input.rb +1 -1
  74. data/lib/postboost/models/blog_to_social_media.rb +1 -1
  75. data/lib/postboost/models/blog_to_social_response.rb +1 -1
  76. data/lib/postboost/models/brand_voice.rb +1 -1
  77. data/lib/postboost/models/brand_voice_input.rb +1 -1
  78. data/lib/postboost/models/brand_voice_meta.rb +1 -1
  79. data/lib/postboost/models/cancel_subscription422_response.rb +1 -1
  80. data/lib/postboost/models/cancel_subscription422_response_errors.rb +1 -1
  81. data/lib/postboost/models/cancel_subscription_request.rb +1 -1
  82. data/lib/postboost/models/change_subscription_plan_request.rb +1 -1
  83. data/lib/postboost/models/channel_account.rb +1 -1
  84. data/lib/postboost/models/checkout_subscription200_response.rb +1 -1
  85. data/lib/postboost/models/checkout_subscription_request.rb +1 -1
  86. data/lib/postboost/models/coded_error.rb +1 -1
  87. data/lib/postboost/models/competitor.rb +1 -1
  88. data/lib/postboost/models/competitor_detail.rb +1 -1
  89. data/lib/postboost/models/competitor_input.rb +1 -1
  90. data/lib/postboost/models/competitor_media.rb +1 -1
  91. data/lib/postboost/models/competitor_snapshot.rb +1 -1
  92. data/lib/postboost/models/complete_chunked_upload_request.rb +1 -1
  93. data/lib/postboost/models/connect_channel_input.rb +1 -1
  94. data/lib/postboost/models/connect_link.rb +1 -1
  95. data/lib/postboost/models/create_account_group201_response.rb +1 -1
  96. data/lib/postboost/models/create_agent201_response.rb +1 -1
  97. data/lib/postboost/models/create_api_key201_response.rb +1 -1
  98. data/lib/postboost/models/create_api_key201_response_data.rb +1 -1
  99. data/lib/postboost/models/create_connect_link_request.rb +1 -1
  100. data/lib/postboost/models/create_hashtag_group201_response.rb +1 -1
  101. data/lib/postboost/models/create_inbox_reply_draft201_response.rb +1 -1
  102. data/lib/postboost/models/create_media_folder_request.rb +1 -1
  103. data/lib/postboost/models/create_mention201_response.rb +1 -1
  104. data/lib/postboost/models/create_post201_response.rb +1 -1
  105. data/lib/postboost/models/create_recycling_rule201_response.rb +1 -1
  106. data/lib/postboost/models/create_report_export201_response.rb +1 -1
  107. data/lib/postboost/models/create_reseller_client201_response.rb +1 -1
  108. data/lib/postboost/models/create_rss_feed201_response.rb +1 -1
  109. data/lib/postboost/models/create_template201_response.rb +1 -1
  110. data/lib/postboost/models/create_webhook_subscription201_response.rb +1 -1
  111. data/lib/postboost/models/create_webhook_subscription201_response_data.rb +1 -1
  112. data/lib/postboost/models/delete_agent200_response.rb +1 -1
  113. data/lib/postboost/models/delete_media_bulk_request.rb +1 -1
  114. data/lib/postboost/models/delete_media_bulk_request_items_inner.rb +1 -1
  115. data/lib/postboost/models/delete_media_folder_request.rb +1 -1
  116. data/lib/postboost/models/delete_mode.rb +1 -1
  117. data/lib/postboost/models/delete_post_request.rb +1 -1
  118. data/lib/postboost/models/delete_posts_bulk_request.rb +1 -1
  119. data/lib/postboost/models/delete_receipts_bulk_request.rb +1 -1
  120. data/lib/postboost/models/delete_result.rb +1 -1
  121. data/lib/postboost/models/delete_user400_response.rb +1 -1
  122. data/lib/postboost/models/delete_users_bulk_request.rb +1 -1
  123. data/lib/postboost/models/delete_workspaces_bulk_request.rb +1 -1
  124. data/lib/postboost/models/free_tool_build_utm_url_request.rb +1 -1
  125. data/lib/postboost/models/free_tool_build_utm_url_response.rb +1 -1
  126. data/lib/postboost/models/free_tool_calculate_aspect_ratio_request.rb +1 -1
  127. data/lib/postboost/models/free_tool_calculate_aspect_ratio_response.rb +1 -1
  128. data/lib/postboost/models/free_tool_calculate_aspect_ratio_response_matches_inner.rb +1 -1
  129. data/lib/postboost/models/free_tool_calculate_aspect_ratio_response_rounding.rb +1 -1
  130. data/lib/postboost/models/free_tool_calculate_crop_request.rb +1 -1
  131. data/lib/postboost/models/free_tool_calculate_crop_response.rb +1 -1
  132. data/lib/postboost/models/free_tool_calculate_crop_response_crop.rb +1 -1
  133. data/lib/postboost/models/free_tool_calculate_crop_response_image.rb +1 -1
  134. data/lib/postboost/models/free_tool_calculate_crop_response_output.rb +1 -1
  135. data/lib/postboost/models/free_tool_calculate_engagement_rate_request.rb +1 -1
  136. data/lib/postboost/models/free_tool_calculate_engagement_rate_response.rb +1 -1
  137. data/lib/postboost/models/free_tool_check_link_preview_request.rb +1 -1
  138. data/lib/postboost/models/free_tool_check_link_preview_response.rb +1 -1
  139. data/lib/postboost/models/free_tool_check_link_preview_response_image.rb +1 -1
  140. data/lib/postboost/models/free_tool_check_link_preview_response_previews_value.rb +1 -1
  141. data/lib/postboost/models/free_tool_check_link_preview_response_redirects_inner.rb +1 -1
  142. data/lib/postboost/models/free_tool_check_link_preview_response_tags.rb +1 -1
  143. data/lib/postboost/models/free_tool_check_post_request.rb +1 -1
  144. data/lib/postboost/models/free_tool_check_post_request_media.rb +1 -1
  145. data/lib/postboost/models/free_tool_check_post_response.rb +1 -1
  146. data/lib/postboost/models/free_tool_check_post_response_networks_inner.rb +1 -1
  147. data/lib/postboost/models/free_tool_check_post_response_networks_inner_errors_inner.rb +1 -1
  148. data/lib/postboost/models/free_tool_clean_text_request.rb +1 -1
  149. data/lib/postboost/models/free_tool_clean_text_response.rb +1 -1
  150. data/lib/postboost/models/free_tool_clean_text_response_changes_inner.rb +1 -1
  151. data/lib/postboost/models/free_tool_clean_text_response_flags_inner.rb +1 -1
  152. data/lib/postboost/models/free_tool_count_characters_request.rb +1 -1
  153. data/lib/postboost/models/free_tool_count_characters_response.rb +1 -1
  154. data/lib/postboost/models/free_tool_count_characters_response_networks_inner.rb +1 -1
  155. data/lib/postboost/models/free_tool_error.rb +1 -1
  156. data/lib/postboost/models/free_tool_format_linked_in_post_request.rb +1 -1
  157. data/lib/postboost/models/free_tool_format_linked_in_post_response.rb +1 -1
  158. data/lib/postboost/models/free_tool_generate_caption_request.rb +1 -1
  159. data/lib/postboost/models/free_tool_generate_caption_response.rb +1 -1
  160. data/lib/postboost/models/free_tool_generate_fancy_text_request.rb +1 -1
  161. data/lib/postboost/models/free_tool_generate_fancy_text_response.rb +1 -1
  162. data/lib/postboost/models/free_tool_generate_fancy_text_response_styles_inner.rb +1 -1
  163. data/lib/postboost/models/free_tool_generate_hashtags_request.rb +1 -1
  164. data/lib/postboost/models/free_tool_generate_hashtags_response.rb +1 -1
  165. data/lib/postboost/models/free_tool_generate_hooks_request.rb +389 -0
  166. data/lib/postboost/models/free_tool_generate_hooks_response.rb +247 -0
  167. data/lib/postboost/models/free_tool_generate_hooks_response_hooks_inner.rb +259 -0
  168. data/lib/postboost/models/free_tool_generate_qr_code_request.rb +1 -1
  169. data/lib/postboost/models/free_tool_generate_qr_code_request_utm.rb +1 -1
  170. data/lib/postboost/models/free_tool_generate_qr_code_response.rb +1 -1
  171. data/lib/postboost/models/free_tool_get_best_times_to_post_response.rb +1 -1
  172. data/lib/postboost/models/free_tool_get_best_times_to_post_response_networks_inner.rb +1 -1
  173. data/lib/postboost/models/free_tool_get_hook_templates_response.rb +226 -0
  174. data/lib/postboost/models/free_tool_get_hook_templates_response_hooks_inner.rb +281 -0
  175. data/lib/postboost/models/free_tool_get_image_sizes_response.rb +1 -1
  176. data/lib/postboost/models/free_tool_get_image_sizes_response_sizes_inner.rb +1 -1
  177. data/lib/postboost/models/free_tool_get_image_sizes_response_sources_inner.rb +1 -1
  178. data/lib/postboost/models/free_tool_list.rb +1 -1
  179. data/lib/postboost/models/free_tool_list_item.rb +1 -1
  180. data/lib/postboost/models/free_tool_preview_post_request.rb +1 -1
  181. data/lib/postboost/models/free_tool_preview_post_response.rb +1 -1
  182. data/lib/postboost/models/free_tool_preview_post_response_networks_inner.rb +1 -1
  183. data/lib/postboost/models/free_tool_split_thread_request.rb +1 -1
  184. data/lib/postboost/models/free_tool_split_thread_response.rb +1 -1
  185. data/lib/postboost/models/free_tool_split_thread_response_posts_inner.rb +1 -1
  186. data/lib/postboost/models/get_account_health200_response.rb +1 -1
  187. data/lib/postboost/models/get_brand_voice200_response.rb +1 -1
  188. data/lib/postboost/models/get_competitor200_response.rb +1 -1
  189. data/lib/postboost/models/get_inbox_conversation200_response.rb +1 -1
  190. data/lib/postboost/models/get_posting_schedule200_response.rb +1 -1
  191. data/lib/postboost/models/get_remote_upload_status200_response.rb +1 -1
  192. data/lib/postboost/models/get_report_branding200_response.rb +1 -1
  193. data/lib/postboost/models/get_repurpose_run200_response.rb +1 -1
  194. data/lib/postboost/models/guardrail_error.rb +1 -1
  195. data/lib/postboost/models/hashtag_group.rb +1 -1
  196. data/lib/postboost/models/hashtag_group_input.rb +1 -1
  197. data/lib/postboost/models/image_alt_text200_response.rb +1 -1
  198. data/lib/postboost/models/image_alt_text_input.rb +1 -1
  199. data/lib/postboost/models/image_alt_text_response.rb +1 -1
  200. data/lib/postboost/models/image_credit_balance.rb +1 -1
  201. data/lib/postboost/models/image_edit_input.rb +1 -1
  202. data/lib/postboost/models/image_generate200_response.rb +1 -1
  203. data/lib/postboost/models/image_generate429_response.rb +1 -1
  204. data/lib/postboost/models/image_generate_input.rb +1 -1
  205. data/lib/postboost/models/image_generation_response.rb +1 -1
  206. data/lib/postboost/models/image_prompt200_response.rb +1 -1
  207. data/lib/postboost/models/image_prompt429_response.rb +1 -1
  208. data/lib/postboost/models/image_prompt_input.rb +1 -1
  209. data/lib/postboost/models/image_prompt_response.rb +1 -1
  210. data/lib/postboost/models/image_variations200_response.rb +1 -1
  211. data/lib/postboost/models/image_variations_input.rb +1 -1
  212. data/lib/postboost/models/image_variations_response.rb +1 -1
  213. data/lib/postboost/models/inbox_author.rb +1 -1
  214. data/lib/postboost/models/inbox_conversation.rb +1 -1
  215. data/lib/postboost/models/inbox_conversation_account.rb +1 -1
  216. data/lib/postboost/models/inbox_conversation_update.rb +1 -1
  217. data/lib/postboost/models/inbox_message.rb +1 -1
  218. data/lib/postboost/models/inbox_message_author.rb +1 -1
  219. data/lib/postboost/models/inbox_reply_draft.rb +1 -1
  220. data/lib/postboost/models/inbox_reply_draft_approve.rb +1 -1
  221. data/lib/postboost/models/inbox_reply_draft_edit.rb +1 -1
  222. data/lib/postboost/models/inbox_reply_draft_input.rb +1 -1
  223. data/lib/postboost/models/initiate_chunked_upload201_response.rb +1 -1
  224. data/lib/postboost/models/initiate_chunked_upload_request.rb +1 -1
  225. data/lib/postboost/models/initiate_remote_upload201_response.rb +1 -1
  226. data/lib/postboost/models/initiate_remote_upload201_response_one_of.rb +1 -1
  227. data/lib/postboost/models/initiate_remote_upload_request.rb +1 -1
  228. data/lib/postboost/models/learn_brand_voice_input.rb +1 -1
  229. data/lib/postboost/models/learn_brand_voice_response.rb +1 -1
  230. data/lib/postboost/models/learn_brand_voice_response_meta.rb +1 -1
  231. data/lib/postboost/models/list_account_groups200_response.rb +1 -1
  232. data/lib/postboost/models/list_accounts200_response.rb +1 -1
  233. data/lib/postboost/models/list_agent_proposals200_response.rb +1 -1
  234. data/lib/postboost/models/list_agent_runs200_response.rb +1 -1
  235. data/lib/postboost/models/list_agents200_response.rb +1 -1
  236. data/lib/postboost/models/list_api_activity200_response.rb +1 -1
  237. data/lib/postboost/models/list_api_keys200_response.rb +1 -1
  238. data/lib/postboost/models/list_competitors200_response.rb +1 -1
  239. data/lib/postboost/models/list_hashtag_groups200_response.rb +1 -1
  240. data/lib/postboost/models/list_inbox_conversations200_response.rb +1 -1
  241. data/lib/postboost/models/list_inbox_reply_drafts200_response.rb +1 -1
  242. data/lib/postboost/models/list_media200_response.rb +1 -1
  243. data/lib/postboost/models/list_media_folders200_response.rb +1 -1
  244. data/lib/postboost/models/list_mentions200_response.rb +1 -1
  245. data/lib/postboost/models/list_my_workspaces200_response.rb +1 -1
  246. data/lib/postboost/models/list_posts200_response.rb +1 -1
  247. data/lib/postboost/models/list_receipts200_response.rb +1 -1
  248. data/lib/postboost/models/list_recycling_rules200_response.rb +1 -1
  249. data/lib/postboost/models/list_recycling_runs200_response.rb +1 -1
  250. data/lib/postboost/models/list_report_exports200_response.rb +1 -1
  251. data/lib/postboost/models/list_reseller_clients200_response.rb +1 -1
  252. data/lib/postboost/models/list_rss_feeds200_response.rb +1 -1
  253. data/lib/postboost/models/list_tags200_response.rb +1 -1
  254. data/lib/postboost/models/list_templates200_response.rb +1 -1
  255. data/lib/postboost/models/list_users200_response.rb +1 -1
  256. data/lib/postboost/models/list_webhook_subscriptions200_response.rb +1 -1
  257. data/lib/postboost/models/list_workspaces200_response.rb +1 -1
  258. data/lib/postboost/models/media.rb +1 -1
  259. data/lib/postboost/models/media_base64_input.rb +1 -1
  260. data/lib/postboost/models/media_folder.rb +1 -1
  261. data/lib/postboost/models/media_folder_input.rb +1 -1
  262. data/lib/postboost/models/media_folder_ref.rb +1 -1
  263. data/lib/postboost/models/mention.rb +1 -1
  264. data/lib/postboost/models/mention_identity.rb +1 -1
  265. data/lib/postboost/models/mention_identity_input.rb +1 -1
  266. data/lib/postboost/models/mention_input.rb +1 -1
  267. data/lib/postboost/models/message_only.rb +1 -1
  268. data/lib/postboost/models/pagination_meta.rb +1 -1
  269. data/lib/postboost/models/pagination_meta_links.rb +1 -1
  270. data/lib/postboost/models/pagination_meta_meta.rb +1 -1
  271. data/lib/postboost/models/poll_rss_feed200_response.rb +1 -1
  272. data/lib/postboost/models/post.rb +1 -1
  273. data/lib/postboost/models/post_analytics.rb +1 -1
  274. data/lib/postboost/models/post_content.rb +1 -1
  275. data/lib/postboost/models/post_input.rb +1 -1
  276. data/lib/postboost/models/post_options_instagram.rb +1 -1
  277. data/lib/postboost/models/post_options_tik_tok.rb +1 -1
  278. data/lib/postboost/models/post_options_youtube.rb +1 -1
  279. data/lib/postboost/models/post_status.rb +1 -1
  280. data/lib/postboost/models/post_version.rb +1 -1
  281. data/lib/postboost/models/post_version_options.rb +1 -1
  282. data/lib/postboost/models/post_warning.rb +1 -1
  283. data/lib/postboost/models/post_warnings.rb +1 -1
  284. data/lib/postboost/models/posting_schedule.rb +1 -1
  285. data/lib/postboost/models/posting_schedule_day.rb +1 -1
  286. data/lib/postboost/models/posting_schedule_day_times_inner.rb +1 -1
  287. data/lib/postboost/models/posting_schedule_input.rb +1 -1
  288. data/lib/postboost/models/posting_time_slot.rb +1 -1
  289. data/lib/postboost/models/posting_times.rb +1 -1
  290. data/lib/postboost/models/posting_times_best_inner.rb +1 -1
  291. data/lib/postboost/models/posting_times_day_intervals_inner_inner.rb +1 -1
  292. data/lib/postboost/models/posting_times_days_inner.rb +1 -1
  293. data/lib/postboost/models/preflight_result.rb +1 -1
  294. data/lib/postboost/models/public_workspace.rb +1 -1
  295. data/lib/postboost/models/public_workspace_pivot.rb +1 -1
  296. data/lib/postboost/models/publish_progress.rb +1 -1
  297. data/lib/postboost/models/queue_slots.rb +1 -1
  298. data/lib/postboost/models/receipt.rb +1 -1
  299. data/lib/postboost/models/receipt_input.rb +1 -1
  300. data/lib/postboost/models/receipt_update_input.rb +1 -1
  301. data/lib/postboost/models/recommended_posting_times.rb +1 -1
  302. data/lib/postboost/models/reconnect_link.rb +1 -1
  303. data/lib/postboost/models/recycling_rule.rb +1 -1
  304. data/lib/postboost/models/recycling_rule_input.rb +1 -1
  305. data/lib/postboost/models/recycling_rule_settings.rb +1 -1
  306. data/lib/postboost/models/recycling_rule_update.rb +1 -1
  307. data/lib/postboost/models/recycling_run.rb +1 -1
  308. data/lib/postboost/models/remove_generic_subscription422_response.rb +1 -1
  309. data/lib/postboost/models/remove_user_from_workspace_request.rb +1 -1
  310. data/lib/postboost/models/report_branding.rb +1 -1
  311. data/lib/postboost/models/report_branding_input.rb +1 -1
  312. data/lib/postboost/models/report_export.rb +1 -1
  313. data/lib/postboost/models/report_export_input.rb +1 -1
  314. data/lib/postboost/models/repurpose_content200_response.rb +1 -1
  315. data/lib/postboost/models/repurpose_content202_response.rb +1 -1
  316. data/lib/postboost/models/repurpose_content500_response.rb +1 -1
  317. data/lib/postboost/models/repurpose_input.rb +1 -1
  318. data/lib/postboost/models/repurpose_input_theme.rb +1 -1
  319. data/lib/postboost/models/repurpose_result.rb +1 -1
  320. data/lib/postboost/models/repurpose_result_media.rb +1 -1
  321. data/lib/postboost/models/repurpose_result_source.rb +1 -1
  322. data/lib/postboost/models/repurpose_run.rb +1 -1
  323. data/lib/postboost/models/repurpose_run_accepted.rb +1 -1
  324. data/lib/postboost/models/repurpose_slide.rb +1 -1
  325. data/lib/postboost/models/reseller_client.rb +1 -1
  326. data/lib/postboost/models/reseller_client_input.rb +1 -1
  327. data/lib/postboost/models/reseller_client_usage.rb +1 -1
  328. data/lib/postboost/models/retry_post_account_result.rb +1 -1
  329. data/lib/postboost/models/rss_feed.rb +1 -1
  330. data/lib/postboost/models/rss_feed_input.rb +1 -1
  331. data/lib/postboost/models/rss_feed_update.rb +1 -1
  332. data/lib/postboost/models/run_agent202_response.rb +1 -1
  333. data/lib/postboost/models/schedule_post_request.rb +1 -1
  334. data/lib/postboost/models/schedule_result.rb +1 -1
  335. data/lib/postboost/models/subscription.rb +1 -1
  336. data/lib/postboost/models/subscription_input.rb +1 -1
  337. data/lib/postboost/models/subscription_status.rb +1 -1
  338. data/lib/postboost/models/subscription_update_input.rb +1 -1
  339. data/lib/postboost/models/tag.rb +1 -1
  340. data/lib/postboost/models/tag_input.rb +1 -1
  341. data/lib/postboost/models/template.rb +1 -1
  342. data/lib/postboost/models/template_content_item.rb +1 -1
  343. data/lib/postboost/models/template_input.rb +1 -1
  344. data/lib/postboost/models/template_input_content_inner.rb +1 -1
  345. data/lib/postboost/models/update_media_request.rb +1 -1
  346. data/lib/postboost/models/update_post200_response.rb +1 -1
  347. data/lib/postboost/models/upload_chunk201_response.rb +1 -1
  348. data/lib/postboost/models/user.rb +1 -1
  349. data/lib/postboost/models/user_input.rb +1 -1
  350. data/lib/postboost/models/user_update_input.rb +1 -1
  351. data/lib/postboost/models/webhook_envelope.rb +1 -1
  352. data/lib/postboost/models/webhook_event_name.rb +1 -1
  353. data/lib/postboost/models/webhook_event_payload.rb +1 -1
  354. data/lib/postboost/models/webhook_subscription.rb +1 -1
  355. data/lib/postboost/models/webhook_subscription_input.rb +1 -1
  356. data/lib/postboost/models/workspace.rb +1 -1
  357. data/lib/postboost/models/workspace_agent.rb +1 -1
  358. data/lib/postboost/models/workspace_agent_input.rb +1 -1
  359. data/lib/postboost/models/workspace_agent_settings.rb +1 -1
  360. data/lib/postboost/models/workspace_agent_update.rb +1 -1
  361. data/lib/postboost/models/workspace_input.rb +1 -1
  362. data/lib/postboost/models/workspace_user_input.rb +1 -1
  363. data/lib/postboost/models/x_usage.rb +1 -1
  364. data/lib/postboost/models/x_usage_counter.rb +1 -1
  365. data/lib/postboost/version.rb +2 -2
  366. data/lib/postboost.rb +6 -1
  367. data/postboost.gemspec +1 -1
  368. data/spec/api/account_groups_api_spec.rb +1 -1
  369. data/spec/api/accounts_api_spec.rb +1 -1
  370. data/spec/api/activity_api_spec.rb +1 -1
  371. data/spec/api/agents_api_spec.rb +1 -1
  372. data/spec/api/ai_api_spec.rb +1 -1
  373. data/spec/api/analytics_api_spec.rb +1 -1
  374. data/spec/api/competitors_api_spec.rb +1 -1
  375. data/spec/api/free_tools_api_spec.rb +28 -1
  376. data/spec/api/hashtag_groups_api_spec.rb +1 -1
  377. data/spec/api/inbox_api_spec.rb +1 -1
  378. data/spec/api/media_api_spec.rb +1 -1
  379. data/spec/api/mentions_api_spec.rb +1 -1
  380. data/spec/api/posting_schedule_api_spec.rb +1 -1
  381. data/spec/api/posts_api_spec.rb +1 -1
  382. data/spec/api/receipts_api_spec.rb +1 -1
  383. data/spec/api/subscriptions_api_spec.rb +1 -1
  384. data/spec/api/tags_api_spec.rb +1 -1
  385. data/spec/api/templates_api_spec.rb +1 -1
  386. data/spec/api/users_api_spec.rb +1 -1
  387. data/spec/api/webhooks_api_spec.rb +1 -1
  388. data/spec/api/workspaces_api_spec.rb +1 -1
  389. data/spec/models/account_analytics_initial_sync_spec.rb +1 -1
  390. data/spec/models/account_analytics_spec.rb +1 -1
  391. data/spec/models/account_connection_health_reconnect_reason_spec.rb +1 -1
  392. data/spec/models/account_connection_health_spec.rb +1 -1
  393. data/spec/models/account_errors_inner_one_of_spec.rb +1 -1
  394. data/spec/models/account_errors_inner_spec.rb +1 -1
  395. data/spec/models/account_group_input_spec.rb +1 -1
  396. data/spec/models/account_group_spec.rb +1 -1
  397. data/spec/models/account_health_daily_cap_spec.rb +1 -1
  398. data/spec/models/account_health_spec.rb +1 -1
  399. data/spec/models/account_schedule_spec.rb +1 -1
  400. data/spec/models/account_spec.rb +1 -1
  401. data/spec/models/add_competitor202_response_spec.rb +1 -1
  402. data/spec/models/add_competitor409_response_spec.rb +1 -1
  403. data/spec/models/add_generic_subscription_request_spec.rb +1 -1
  404. data/spec/models/add_post_to_queue_request_spec.rb +1 -1
  405. data/spec/models/agent_page_meta_spec.rb +1 -1
  406. data/spec/models/agent_proposal_decision_spec.rb +1 -1
  407. data/spec/models/agent_proposal_spec.rb +1 -1
  408. data/spec/models/agent_run_spec.rb +1 -1
  409. data/spec/models/ai_credits_spec.rb +1 -1
  410. data/spec/models/ai_usage_spec.rb +1 -1
  411. data/spec/models/ai_usage_text_spec.rb +1 -1
  412. data/spec/models/analytics_period_spec.rb +1 -1
  413. data/spec/models/analytics_summary_data_spec.rb +1 -1
  414. data/spec/models/analytics_summary_spec.rb +1 -1
  415. data/spec/models/api_activity_outcome_spec.rb +1 -1
  416. data/spec/models/api_activity_spec.rb +1 -1
  417. data/spec/models/api_key_ability_spec.rb +1 -1
  418. data/spec/models/api_key_input_spec.rb +1 -1
  419. data/spec/models/api_key_spec.rb +1 -1
  420. data/spec/models/approve_agent_proposal200_response_spec.rb +1 -1
  421. data/spec/models/approve_agent_proposal409_response_spec.rb +1 -1
  422. data/spec/models/approve_inbox_reply_draft403_response_spec.rb +1 -1
  423. data/spec/models/approve_post_request_spec.rb +1 -1
  424. data/spec/models/best_posting_times_spec.rb +1 -1
  425. data/spec/models/best_posting_times_times_inner_spec.rb +1 -1
  426. data/spec/models/blog_to_social200_response_spec.rb +1 -1
  427. data/spec/models/blog_to_social429_response_spec.rb +1 -1
  428. data/spec/models/blog_to_social_caption_spec.rb +1 -1
  429. data/spec/models/blog_to_social_input_spec.rb +1 -1
  430. data/spec/models/blog_to_social_media_spec.rb +1 -1
  431. data/spec/models/blog_to_social_response_spec.rb +1 -1
  432. data/spec/models/brand_voice_input_spec.rb +1 -1
  433. data/spec/models/brand_voice_meta_spec.rb +1 -1
  434. data/spec/models/brand_voice_spec.rb +1 -1
  435. data/spec/models/cancel_subscription422_response_errors_spec.rb +1 -1
  436. data/spec/models/cancel_subscription422_response_spec.rb +1 -1
  437. data/spec/models/cancel_subscription_request_spec.rb +1 -1
  438. data/spec/models/change_subscription_plan_request_spec.rb +1 -1
  439. data/spec/models/channel_account_spec.rb +1 -1
  440. data/spec/models/checkout_subscription200_response_spec.rb +1 -1
  441. data/spec/models/checkout_subscription_request_spec.rb +1 -1
  442. data/spec/models/coded_error_spec.rb +1 -1
  443. data/spec/models/competitor_detail_spec.rb +1 -1
  444. data/spec/models/competitor_input_spec.rb +1 -1
  445. data/spec/models/competitor_media_spec.rb +1 -1
  446. data/spec/models/competitor_snapshot_spec.rb +1 -1
  447. data/spec/models/competitor_spec.rb +1 -1
  448. data/spec/models/complete_chunked_upload_request_spec.rb +1 -1
  449. data/spec/models/connect_channel_input_spec.rb +1 -1
  450. data/spec/models/connect_link_spec.rb +1 -1
  451. data/spec/models/create_account_group201_response_spec.rb +1 -1
  452. data/spec/models/create_agent201_response_spec.rb +1 -1
  453. data/spec/models/create_api_key201_response_data_spec.rb +1 -1
  454. data/spec/models/create_api_key201_response_spec.rb +1 -1
  455. data/spec/models/create_connect_link_request_spec.rb +1 -1
  456. data/spec/models/create_hashtag_group201_response_spec.rb +1 -1
  457. data/spec/models/create_inbox_reply_draft201_response_spec.rb +1 -1
  458. data/spec/models/create_media_folder_request_spec.rb +1 -1
  459. data/spec/models/create_mention201_response_spec.rb +1 -1
  460. data/spec/models/create_post201_response_spec.rb +1 -1
  461. data/spec/models/create_recycling_rule201_response_spec.rb +1 -1
  462. data/spec/models/create_report_export201_response_spec.rb +1 -1
  463. data/spec/models/create_reseller_client201_response_spec.rb +1 -1
  464. data/spec/models/create_rss_feed201_response_spec.rb +1 -1
  465. data/spec/models/create_template201_response_spec.rb +1 -1
  466. data/spec/models/create_webhook_subscription201_response_data_spec.rb +1 -1
  467. data/spec/models/create_webhook_subscription201_response_spec.rb +1 -1
  468. data/spec/models/delete_agent200_response_spec.rb +1 -1
  469. data/spec/models/delete_media_bulk_request_items_inner_spec.rb +1 -1
  470. data/spec/models/delete_media_bulk_request_spec.rb +1 -1
  471. data/spec/models/delete_media_folder_request_spec.rb +1 -1
  472. data/spec/models/delete_mode_spec.rb +1 -1
  473. data/spec/models/delete_post_request_spec.rb +1 -1
  474. data/spec/models/delete_posts_bulk_request_spec.rb +1 -1
  475. data/spec/models/delete_receipts_bulk_request_spec.rb +1 -1
  476. data/spec/models/delete_result_spec.rb +1 -1
  477. data/spec/models/delete_user400_response_spec.rb +1 -1
  478. data/spec/models/delete_users_bulk_request_spec.rb +1 -1
  479. data/spec/models/delete_workspaces_bulk_request_spec.rb +1 -1
  480. data/spec/models/free_tool_build_utm_url_request_spec.rb +1 -1
  481. data/spec/models/free_tool_build_utm_url_response_spec.rb +1 -1
  482. data/spec/models/free_tool_calculate_aspect_ratio_request_spec.rb +1 -1
  483. data/spec/models/free_tool_calculate_aspect_ratio_response_matches_inner_spec.rb +1 -1
  484. data/spec/models/free_tool_calculate_aspect_ratio_response_rounding_spec.rb +1 -1
  485. data/spec/models/free_tool_calculate_aspect_ratio_response_spec.rb +1 -1
  486. data/spec/models/free_tool_calculate_crop_request_spec.rb +1 -1
  487. data/spec/models/free_tool_calculate_crop_response_crop_spec.rb +1 -1
  488. data/spec/models/free_tool_calculate_crop_response_image_spec.rb +1 -1
  489. data/spec/models/free_tool_calculate_crop_response_output_spec.rb +1 -1
  490. data/spec/models/free_tool_calculate_crop_response_spec.rb +1 -1
  491. data/spec/models/free_tool_calculate_engagement_rate_request_spec.rb +1 -1
  492. data/spec/models/free_tool_calculate_engagement_rate_response_spec.rb +1 -1
  493. data/spec/models/free_tool_check_link_preview_request_spec.rb +1 -1
  494. data/spec/models/free_tool_check_link_preview_response_image_spec.rb +1 -1
  495. data/spec/models/free_tool_check_link_preview_response_previews_value_spec.rb +1 -1
  496. data/spec/models/free_tool_check_link_preview_response_redirects_inner_spec.rb +1 -1
  497. data/spec/models/free_tool_check_link_preview_response_spec.rb +1 -1
  498. data/spec/models/free_tool_check_link_preview_response_tags_spec.rb +1 -1
  499. data/spec/models/free_tool_check_post_request_media_spec.rb +1 -1
  500. data/spec/models/free_tool_check_post_request_spec.rb +1 -1
  501. data/spec/models/free_tool_check_post_response_networks_inner_errors_inner_spec.rb +1 -1
  502. data/spec/models/free_tool_check_post_response_networks_inner_spec.rb +1 -1
  503. data/spec/models/free_tool_check_post_response_spec.rb +1 -1
  504. data/spec/models/free_tool_clean_text_request_spec.rb +1 -1
  505. data/spec/models/free_tool_clean_text_response_changes_inner_spec.rb +1 -1
  506. data/spec/models/free_tool_clean_text_response_flags_inner_spec.rb +1 -1
  507. data/spec/models/free_tool_clean_text_response_spec.rb +1 -1
  508. data/spec/models/free_tool_count_characters_request_spec.rb +1 -1
  509. data/spec/models/free_tool_count_characters_response_networks_inner_spec.rb +1 -1
  510. data/spec/models/free_tool_count_characters_response_spec.rb +1 -1
  511. data/spec/models/free_tool_error_spec.rb +1 -1
  512. data/spec/models/free_tool_format_linked_in_post_request_spec.rb +1 -1
  513. data/spec/models/free_tool_format_linked_in_post_response_spec.rb +1 -1
  514. data/spec/models/free_tool_generate_caption_request_spec.rb +1 -1
  515. data/spec/models/free_tool_generate_caption_response_spec.rb +1 -1
  516. data/spec/models/free_tool_generate_fancy_text_request_spec.rb +1 -1
  517. data/spec/models/free_tool_generate_fancy_text_response_spec.rb +1 -1
  518. data/spec/models/free_tool_generate_fancy_text_response_styles_inner_spec.rb +1 -1
  519. data/spec/models/free_tool_generate_hashtags_request_spec.rb +1 -1
  520. data/spec/models/free_tool_generate_hashtags_response_spec.rb +1 -1
  521. data/spec/models/free_tool_generate_hooks_request_spec.rb +68 -0
  522. data/spec/models/free_tool_generate_hooks_response_hooks_inner_spec.rb +46 -0
  523. data/spec/models/free_tool_generate_hooks_response_spec.rb +54 -0
  524. data/spec/models/free_tool_generate_qr_code_request_spec.rb +1 -1
  525. data/spec/models/free_tool_generate_qr_code_request_utm_spec.rb +1 -1
  526. data/spec/models/free_tool_generate_qr_code_response_spec.rb +1 -1
  527. data/spec/models/free_tool_get_best_times_to_post_response_networks_inner_spec.rb +1 -1
  528. data/spec/models/free_tool_get_best_times_to_post_response_spec.rb +1 -1
  529. data/spec/models/free_tool_get_hook_templates_response_hooks_inner_spec.rb +62 -0
  530. data/spec/models/free_tool_get_hook_templates_response_spec.rb +42 -0
  531. data/spec/models/free_tool_get_image_sizes_response_sizes_inner_spec.rb +1 -1
  532. data/spec/models/free_tool_get_image_sizes_response_sources_inner_spec.rb +1 -1
  533. data/spec/models/free_tool_get_image_sizes_response_spec.rb +1 -1
  534. data/spec/models/free_tool_list_item_spec.rb +1 -1
  535. data/spec/models/free_tool_list_spec.rb +1 -1
  536. data/spec/models/free_tool_preview_post_request_spec.rb +1 -1
  537. data/spec/models/free_tool_preview_post_response_networks_inner_spec.rb +1 -1
  538. data/spec/models/free_tool_preview_post_response_spec.rb +1 -1
  539. data/spec/models/free_tool_split_thread_request_spec.rb +1 -1
  540. data/spec/models/free_tool_split_thread_response_posts_inner_spec.rb +1 -1
  541. data/spec/models/free_tool_split_thread_response_spec.rb +1 -1
  542. data/spec/models/get_account_health200_response_spec.rb +1 -1
  543. data/spec/models/get_brand_voice200_response_spec.rb +1 -1
  544. data/spec/models/get_competitor200_response_spec.rb +1 -1
  545. data/spec/models/get_inbox_conversation200_response_spec.rb +1 -1
  546. data/spec/models/get_posting_schedule200_response_spec.rb +1 -1
  547. data/spec/models/get_remote_upload_status200_response_spec.rb +1 -1
  548. data/spec/models/get_report_branding200_response_spec.rb +1 -1
  549. data/spec/models/get_repurpose_run200_response_spec.rb +1 -1
  550. data/spec/models/guardrail_error_spec.rb +1 -1
  551. data/spec/models/hashtag_group_input_spec.rb +1 -1
  552. data/spec/models/hashtag_group_spec.rb +1 -1
  553. data/spec/models/image_alt_text200_response_spec.rb +1 -1
  554. data/spec/models/image_alt_text_input_spec.rb +1 -1
  555. data/spec/models/image_alt_text_response_spec.rb +1 -1
  556. data/spec/models/image_credit_balance_spec.rb +1 -1
  557. data/spec/models/image_edit_input_spec.rb +1 -1
  558. data/spec/models/image_generate200_response_spec.rb +1 -1
  559. data/spec/models/image_generate429_response_spec.rb +1 -1
  560. data/spec/models/image_generate_input_spec.rb +1 -1
  561. data/spec/models/image_generation_response_spec.rb +1 -1
  562. data/spec/models/image_prompt200_response_spec.rb +1 -1
  563. data/spec/models/image_prompt429_response_spec.rb +1 -1
  564. data/spec/models/image_prompt_input_spec.rb +1 -1
  565. data/spec/models/image_prompt_response_spec.rb +1 -1
  566. data/spec/models/image_variations200_response_spec.rb +1 -1
  567. data/spec/models/image_variations_input_spec.rb +1 -1
  568. data/spec/models/image_variations_response_spec.rb +1 -1
  569. data/spec/models/inbox_author_spec.rb +1 -1
  570. data/spec/models/inbox_conversation_account_spec.rb +1 -1
  571. data/spec/models/inbox_conversation_spec.rb +1 -1
  572. data/spec/models/inbox_conversation_update_spec.rb +1 -1
  573. data/spec/models/inbox_message_author_spec.rb +1 -1
  574. data/spec/models/inbox_message_spec.rb +1 -1
  575. data/spec/models/inbox_reply_draft_approve_spec.rb +1 -1
  576. data/spec/models/inbox_reply_draft_edit_spec.rb +1 -1
  577. data/spec/models/inbox_reply_draft_input_spec.rb +1 -1
  578. data/spec/models/inbox_reply_draft_spec.rb +1 -1
  579. data/spec/models/initiate_chunked_upload201_response_spec.rb +1 -1
  580. data/spec/models/initiate_chunked_upload_request_spec.rb +1 -1
  581. data/spec/models/initiate_remote_upload201_response_one_of_spec.rb +1 -1
  582. data/spec/models/initiate_remote_upload201_response_spec.rb +1 -1
  583. data/spec/models/initiate_remote_upload_request_spec.rb +1 -1
  584. data/spec/models/learn_brand_voice_input_spec.rb +1 -1
  585. data/spec/models/learn_brand_voice_response_meta_spec.rb +1 -1
  586. data/spec/models/learn_brand_voice_response_spec.rb +1 -1
  587. data/spec/models/list_account_groups200_response_spec.rb +1 -1
  588. data/spec/models/list_accounts200_response_spec.rb +1 -1
  589. data/spec/models/list_agent_proposals200_response_spec.rb +1 -1
  590. data/spec/models/list_agent_runs200_response_spec.rb +1 -1
  591. data/spec/models/list_agents200_response_spec.rb +1 -1
  592. data/spec/models/list_api_activity200_response_spec.rb +1 -1
  593. data/spec/models/list_api_keys200_response_spec.rb +1 -1
  594. data/spec/models/list_competitors200_response_spec.rb +1 -1
  595. data/spec/models/list_hashtag_groups200_response_spec.rb +1 -1
  596. data/spec/models/list_inbox_conversations200_response_spec.rb +1 -1
  597. data/spec/models/list_inbox_reply_drafts200_response_spec.rb +1 -1
  598. data/spec/models/list_media200_response_spec.rb +1 -1
  599. data/spec/models/list_media_folders200_response_spec.rb +1 -1
  600. data/spec/models/list_mentions200_response_spec.rb +1 -1
  601. data/spec/models/list_my_workspaces200_response_spec.rb +1 -1
  602. data/spec/models/list_posts200_response_spec.rb +1 -1
  603. data/spec/models/list_receipts200_response_spec.rb +1 -1
  604. data/spec/models/list_recycling_rules200_response_spec.rb +1 -1
  605. data/spec/models/list_recycling_runs200_response_spec.rb +1 -1
  606. data/spec/models/list_report_exports200_response_spec.rb +1 -1
  607. data/spec/models/list_reseller_clients200_response_spec.rb +1 -1
  608. data/spec/models/list_rss_feeds200_response_spec.rb +1 -1
  609. data/spec/models/list_tags200_response_spec.rb +1 -1
  610. data/spec/models/list_templates200_response_spec.rb +1 -1
  611. data/spec/models/list_users200_response_spec.rb +1 -1
  612. data/spec/models/list_webhook_subscriptions200_response_spec.rb +1 -1
  613. data/spec/models/list_workspaces200_response_spec.rb +1 -1
  614. data/spec/models/media_base64_input_spec.rb +1 -1
  615. data/spec/models/media_folder_input_spec.rb +1 -1
  616. data/spec/models/media_folder_ref_spec.rb +1 -1
  617. data/spec/models/media_folder_spec.rb +1 -1
  618. data/spec/models/media_spec.rb +1 -1
  619. data/spec/models/mention_identity_input_spec.rb +1 -1
  620. data/spec/models/mention_identity_spec.rb +1 -1
  621. data/spec/models/mention_input_spec.rb +1 -1
  622. data/spec/models/mention_spec.rb +1 -1
  623. data/spec/models/message_only_spec.rb +1 -1
  624. data/spec/models/pagination_meta_links_spec.rb +1 -1
  625. data/spec/models/pagination_meta_meta_spec.rb +1 -1
  626. data/spec/models/pagination_meta_spec.rb +1 -1
  627. data/spec/models/poll_rss_feed200_response_spec.rb +1 -1
  628. data/spec/models/post_analytics_spec.rb +1 -1
  629. data/spec/models/post_content_spec.rb +1 -1
  630. data/spec/models/post_input_spec.rb +1 -1
  631. data/spec/models/post_options_instagram_spec.rb +1 -1
  632. data/spec/models/post_options_tik_tok_spec.rb +1 -1
  633. data/spec/models/post_options_youtube_spec.rb +1 -1
  634. data/spec/models/post_spec.rb +1 -1
  635. data/spec/models/post_status_spec.rb +1 -1
  636. data/spec/models/post_version_options_spec.rb +1 -1
  637. data/spec/models/post_version_spec.rb +1 -1
  638. data/spec/models/post_warning_spec.rb +1 -1
  639. data/spec/models/post_warnings_spec.rb +1 -1
  640. data/spec/models/posting_schedule_day_spec.rb +1 -1
  641. data/spec/models/posting_schedule_day_times_inner_spec.rb +1 -1
  642. data/spec/models/posting_schedule_input_spec.rb +1 -1
  643. data/spec/models/posting_schedule_spec.rb +1 -1
  644. data/spec/models/posting_time_slot_spec.rb +1 -1
  645. data/spec/models/posting_times_best_inner_spec.rb +1 -1
  646. data/spec/models/posting_times_day_intervals_inner_inner_spec.rb +1 -1
  647. data/spec/models/posting_times_days_inner_spec.rb +1 -1
  648. data/spec/models/posting_times_spec.rb +1 -1
  649. data/spec/models/preflight_result_spec.rb +1 -1
  650. data/spec/models/public_workspace_pivot_spec.rb +1 -1
  651. data/spec/models/public_workspace_spec.rb +1 -1
  652. data/spec/models/publish_progress_spec.rb +1 -1
  653. data/spec/models/queue_slots_spec.rb +1 -1
  654. data/spec/models/receipt_input_spec.rb +1 -1
  655. data/spec/models/receipt_spec.rb +1 -1
  656. data/spec/models/receipt_update_input_spec.rb +1 -1
  657. data/spec/models/recommended_posting_times_spec.rb +1 -1
  658. data/spec/models/reconnect_link_spec.rb +1 -1
  659. data/spec/models/recycling_rule_input_spec.rb +1 -1
  660. data/spec/models/recycling_rule_settings_spec.rb +1 -1
  661. data/spec/models/recycling_rule_spec.rb +1 -1
  662. data/spec/models/recycling_rule_update_spec.rb +1 -1
  663. data/spec/models/recycling_run_spec.rb +1 -1
  664. data/spec/models/remove_generic_subscription422_response_spec.rb +1 -1
  665. data/spec/models/remove_user_from_workspace_request_spec.rb +1 -1
  666. data/spec/models/report_branding_input_spec.rb +1 -1
  667. data/spec/models/report_branding_spec.rb +1 -1
  668. data/spec/models/report_export_input_spec.rb +1 -1
  669. data/spec/models/report_export_spec.rb +1 -1
  670. data/spec/models/repurpose_content200_response_spec.rb +1 -1
  671. data/spec/models/repurpose_content202_response_spec.rb +1 -1
  672. data/spec/models/repurpose_content500_response_spec.rb +1 -1
  673. data/spec/models/repurpose_input_spec.rb +1 -1
  674. data/spec/models/repurpose_input_theme_spec.rb +1 -1
  675. data/spec/models/repurpose_result_media_spec.rb +1 -1
  676. data/spec/models/repurpose_result_source_spec.rb +1 -1
  677. data/spec/models/repurpose_result_spec.rb +1 -1
  678. data/spec/models/repurpose_run_accepted_spec.rb +1 -1
  679. data/spec/models/repurpose_run_spec.rb +1 -1
  680. data/spec/models/repurpose_slide_spec.rb +1 -1
  681. data/spec/models/reseller_client_input_spec.rb +1 -1
  682. data/spec/models/reseller_client_spec.rb +1 -1
  683. data/spec/models/reseller_client_usage_spec.rb +1 -1
  684. data/spec/models/retry_post_account_result_spec.rb +1 -1
  685. data/spec/models/rss_feed_input_spec.rb +1 -1
  686. data/spec/models/rss_feed_spec.rb +1 -1
  687. data/spec/models/rss_feed_update_spec.rb +1 -1
  688. data/spec/models/run_agent202_response_spec.rb +1 -1
  689. data/spec/models/schedule_post_request_spec.rb +1 -1
  690. data/spec/models/schedule_result_spec.rb +1 -1
  691. data/spec/models/subscription_input_spec.rb +1 -1
  692. data/spec/models/subscription_spec.rb +1 -1
  693. data/spec/models/subscription_status_spec.rb +1 -1
  694. data/spec/models/subscription_update_input_spec.rb +1 -1
  695. data/spec/models/tag_input_spec.rb +1 -1
  696. data/spec/models/tag_spec.rb +1 -1
  697. data/spec/models/template_content_item_spec.rb +1 -1
  698. data/spec/models/template_input_content_inner_spec.rb +1 -1
  699. data/spec/models/template_input_spec.rb +1 -1
  700. data/spec/models/template_spec.rb +1 -1
  701. data/spec/models/update_media_request_spec.rb +1 -1
  702. data/spec/models/update_post200_response_spec.rb +1 -1
  703. data/spec/models/upload_chunk201_response_spec.rb +1 -1
  704. data/spec/models/user_input_spec.rb +1 -1
  705. data/spec/models/user_spec.rb +1 -1
  706. data/spec/models/user_update_input_spec.rb +1 -1
  707. data/spec/models/webhook_envelope_spec.rb +1 -1
  708. data/spec/models/webhook_event_name_spec.rb +1 -1
  709. data/spec/models/webhook_event_payload_spec.rb +1 -1
  710. data/spec/models/webhook_subscription_input_spec.rb +1 -1
  711. data/spec/models/webhook_subscription_spec.rb +1 -1
  712. data/spec/models/workspace_agent_input_spec.rb +1 -1
  713. data/spec/models/workspace_agent_settings_spec.rb +1 -1
  714. data/spec/models/workspace_agent_spec.rb +1 -1
  715. data/spec/models/workspace_agent_update_spec.rb +1 -1
  716. data/spec/models/workspace_input_spec.rb +1 -1
  717. data/spec/models/workspace_spec.rb +1 -1
  718. data/spec/models/workspace_user_input_spec.rb +1 -1
  719. data/spec/models/x_usage_counter_spec.rb +1 -1
  720. data/spec/models/x_usage_spec.rb +1 -1
  721. data/spec/spec_helper.rb +1 -1
  722. metadata +21 -1
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
5
 
6
- The version of the OpenAPI document: 1.38.0
6
+ The version of the OpenAPI document: 1.39.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
5
 
6
- The version of the OpenAPI document: 1.38.0
6
+ The version of the OpenAPI document: 1.39.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
5
 
6
- The version of the OpenAPI document: 1.38.0
6
+ The version of the OpenAPI document: 1.39.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
5
 
6
- The version of the OpenAPI document: 1.38.0
6
+ The version of the OpenAPI document: 1.39.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
5
 
6
- The version of the OpenAPI document: 1.38.0
6
+ The version of the OpenAPI document: 1.39.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
5
 
6
- The version of the OpenAPI document: 1.38.0
6
+ The version of the OpenAPI document: 1.39.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
5
 
6
- The version of the OpenAPI document: 1.38.0
6
+ The version of the OpenAPI document: 1.39.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
5
 
6
- The version of the OpenAPI document: 1.38.0
6
+ The version of the OpenAPI document: 1.39.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
5
 
6
- The version of the OpenAPI document: 1.38.0
6
+ The version of the OpenAPI document: 1.39.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
5
 
6
- The version of the OpenAPI document: 1.38.0
6
+ The version of the OpenAPI document: 1.39.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
5
 
6
- The version of the OpenAPI document: 1.38.0
6
+ The version of the OpenAPI document: 1.39.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
5
 
6
- The version of the OpenAPI document: 1.38.0
6
+ The version of the OpenAPI document: 1.39.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
5
 
6
- The version of the OpenAPI document: 1.38.0
6
+ The version of the OpenAPI document: 1.39.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
5
 
6
- The version of the OpenAPI document: 1.38.0
6
+ The version of the OpenAPI document: 1.39.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
5
 
6
- The version of the OpenAPI document: 1.38.0
6
+ The version of the OpenAPI document: 1.39.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
5
 
6
- The version of the OpenAPI document: 1.38.0
6
+ The version of the OpenAPI document: 1.39.0
7
7
  Contact: hi@postboost.co
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.9.0
@@ -0,0 +1,389 @@
1
+ =begin
2
+ #PostBoost API
3
+
4
+ #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
+
6
+ The version of the OpenAPI document: 1.39.0
7
+ Contact: hi@postboost.co
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.9.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module PostBoost
17
+ class FreeToolGenerateHooksRequest
18
+ # What the post is about.
19
+ attr_accessor :topic
20
+
21
+ # Tone of the hooks, as on the caption generator.
22
+ attr_accessor :tone
23
+
24
+ # How many hooks to write.
25
+ attr_accessor :count
26
+
27
+ # The network the text is written for.
28
+ attr_accessor :network
29
+
30
+ # UUID of the workspace whose AI credits pay for the call. Default: your active workspace (a scoped API key: its own workspace).
31
+ attr_accessor :workspace
32
+
33
+ class EnumAttributeValidator
34
+ attr_reader :datatype
35
+ attr_reader :allowable_values
36
+
37
+ def initialize(datatype, allowable_values)
38
+ @allowable_values = allowable_values.map do |value|
39
+ case datatype.to_s
40
+ when /Integer/i
41
+ value.to_i
42
+ when /Float/i
43
+ value.to_f
44
+ else
45
+ value
46
+ end
47
+ end
48
+ end
49
+
50
+ def valid?(value)
51
+ !value || allowable_values.include?(value)
52
+ end
53
+ end
54
+
55
+ # Attribute mapping from ruby-style variable name to JSON key.
56
+ def self.attribute_map
57
+ {
58
+ :'topic' => :'topic',
59
+ :'tone' => :'tone',
60
+ :'count' => :'count',
61
+ :'network' => :'network',
62
+ :'workspace' => :'workspace'
63
+ }
64
+ end
65
+
66
+ # Returns all the JSON keys this model knows about
67
+ def self.acceptable_attributes
68
+ attribute_map.values
69
+ end
70
+
71
+ # Attribute type mapping.
72
+ def self.openapi_types
73
+ {
74
+ :'topic' => :'String',
75
+ :'tone' => :'String',
76
+ :'count' => :'Integer',
77
+ :'network' => :'String',
78
+ :'workspace' => :'String'
79
+ }
80
+ end
81
+
82
+ # List of attributes with nullable: true
83
+ def self.openapi_nullable
84
+ Set.new([
85
+ ])
86
+ end
87
+
88
+ # Initializes the object
89
+ # @param [Hash] attributes Model attributes in the form of hash
90
+ def initialize(attributes = {})
91
+ if (!attributes.is_a?(Hash))
92
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PostBoost::FreeToolGenerateHooksRequest` initialize method"
93
+ end
94
+
95
+ # check to see if the attribute exists and convert string to symbol for hash key
96
+ attributes = attributes.each_with_object({}) { |(k, v), h|
97
+ if (!self.class.attribute_map.key?(k.to_sym))
98
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PostBoost::FreeToolGenerateHooksRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
99
+ end
100
+ h[k.to_sym] = v
101
+ }
102
+
103
+ if attributes.key?(:'topic')
104
+ self.topic = attributes[:'topic']
105
+ else
106
+ self.topic = nil
107
+ end
108
+
109
+ if attributes.key?(:'tone')
110
+ self.tone = attributes[:'tone']
111
+ else
112
+ self.tone = 'friendly'
113
+ end
114
+
115
+ if attributes.key?(:'count')
116
+ self.count = attributes[:'count']
117
+ else
118
+ self.count = 5
119
+ end
120
+
121
+ if attributes.key?(:'network')
122
+ self.network = attributes[:'network']
123
+ else
124
+ self.network = 'instagram'
125
+ end
126
+
127
+ if attributes.key?(:'workspace')
128
+ self.workspace = attributes[:'workspace']
129
+ end
130
+ end
131
+
132
+ # Show invalid properties with the reasons. Usually used together with valid?
133
+ # @return Array for valid properties with the reasons
134
+ def list_invalid_properties
135
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
136
+ invalid_properties = Array.new
137
+ if @topic.nil?
138
+ invalid_properties.push('invalid value for "topic", topic cannot be nil.')
139
+ end
140
+
141
+ if @topic.to_s.length > 300
142
+ invalid_properties.push('invalid value for "topic", the character length must be smaller than or equal to 300.')
143
+ end
144
+
145
+ if @topic.to_s.length < 1
146
+ invalid_properties.push('invalid value for "topic", the character length must be great than or equal to 1.')
147
+ end
148
+
149
+ if !@count.nil? && @count > 10
150
+ invalid_properties.push('invalid value for "count", must be smaller than or equal to 10.')
151
+ end
152
+
153
+ if !@count.nil? && @count < 1
154
+ invalid_properties.push('invalid value for "count", must be greater than or equal to 1.')
155
+ end
156
+
157
+ if !@workspace.nil? && @workspace.to_s.length > 64
158
+ invalid_properties.push('invalid value for "workspace", the character length must be smaller than or equal to 64.')
159
+ end
160
+
161
+ invalid_properties
162
+ end
163
+
164
+ # Check to see if the all the properties in the model are valid
165
+ # @return true if the model is valid
166
+ def valid?
167
+ warn '[DEPRECATED] the `valid?` method is obsolete'
168
+ return false if @topic.nil?
169
+ return false if @topic.to_s.length > 300
170
+ return false if @topic.to_s.length < 1
171
+ tone_validator = EnumAttributeValidator.new('String', ["friendly", "professional", "playful", "inspirational", "bold"])
172
+ return false unless tone_validator.valid?(@tone)
173
+ return false if !@count.nil? && @count > 10
174
+ return false if !@count.nil? && @count < 1
175
+ network_validator = EnumAttributeValidator.new('String', ["instagram", "tiktok", "linkedin", "x", "threads", "facebook"])
176
+ return false unless network_validator.valid?(@network)
177
+ return false if !@workspace.nil? && @workspace.to_s.length > 64
178
+ true
179
+ end
180
+
181
+ # Custom attribute writer method with validation
182
+ # @param [Object] topic Value to be assigned
183
+ def topic=(topic)
184
+ if topic.nil?
185
+ fail ArgumentError, 'topic cannot be nil'
186
+ end
187
+
188
+ if topic.to_s.length > 300
189
+ fail ArgumentError, 'invalid value for "topic", the character length must be smaller than or equal to 300.'
190
+ end
191
+
192
+ if topic.to_s.length < 1
193
+ fail ArgumentError, 'invalid value for "topic", the character length must be great than or equal to 1.'
194
+ end
195
+
196
+ @topic = topic
197
+ end
198
+
199
+ # Custom attribute writer method checking allowed values (enum).
200
+ # @param [Object] tone Object to be assigned
201
+ def tone=(tone)
202
+ validator = EnumAttributeValidator.new('String', ["friendly", "professional", "playful", "inspirational", "bold"])
203
+ unless validator.valid?(tone)
204
+ fail ArgumentError, "invalid value for \"tone\", must be one of #{validator.allowable_values}."
205
+ end
206
+ @tone = tone
207
+ end
208
+
209
+ # Custom attribute writer method with validation
210
+ # @param [Object] count Value to be assigned
211
+ def count=(count)
212
+ if count.nil?
213
+ fail ArgumentError, 'count cannot be nil'
214
+ end
215
+
216
+ if count > 10
217
+ fail ArgumentError, 'invalid value for "count", must be smaller than or equal to 10.'
218
+ end
219
+
220
+ if count < 1
221
+ fail ArgumentError, 'invalid value for "count", must be greater than or equal to 1.'
222
+ end
223
+
224
+ @count = count
225
+ end
226
+
227
+ # Custom attribute writer method checking allowed values (enum).
228
+ # @param [Object] network Object to be assigned
229
+ def network=(network)
230
+ validator = EnumAttributeValidator.new('String', ["instagram", "tiktok", "linkedin", "x", "threads", "facebook"])
231
+ unless validator.valid?(network)
232
+ fail ArgumentError, "invalid value for \"network\", must be one of #{validator.allowable_values}."
233
+ end
234
+ @network = network
235
+ end
236
+
237
+ # Custom attribute writer method with validation
238
+ # @param [Object] workspace Value to be assigned
239
+ def workspace=(workspace)
240
+ if workspace.nil?
241
+ fail ArgumentError, 'workspace cannot be nil'
242
+ end
243
+
244
+ if workspace.to_s.length > 64
245
+ fail ArgumentError, 'invalid value for "workspace", the character length must be smaller than or equal to 64.'
246
+ end
247
+
248
+ @workspace = workspace
249
+ end
250
+
251
+ # Checks equality by comparing each attribute.
252
+ # @param [Object] Object to be compared
253
+ def ==(o)
254
+ return true if self.equal?(o)
255
+ self.class == o.class &&
256
+ topic == o.topic &&
257
+ tone == o.tone &&
258
+ count == o.count &&
259
+ network == o.network &&
260
+ workspace == o.workspace
261
+ end
262
+
263
+ # @see the `==` method
264
+ # @param [Object] Object to be compared
265
+ def eql?(o)
266
+ self == o
267
+ end
268
+
269
+ # Calculates hash code according to all attributes.
270
+ # @return [Integer] Hash code
271
+ def hash
272
+ [topic, tone, count, network, workspace].hash
273
+ end
274
+
275
+ # Builds the object from hash
276
+ # @param [Hash] attributes Model attributes in the form of hash
277
+ # @return [Object] Returns the model itself
278
+ def self.build_from_hash(attributes)
279
+ return nil unless attributes.is_a?(Hash)
280
+ attributes = attributes.transform_keys(&:to_sym)
281
+ transformed_hash = {}
282
+ openapi_types.each_pair do |key, type|
283
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
284
+ transformed_hash["#{key}"] = nil
285
+ elsif type =~ /\AArray<(.*)>/i
286
+ # check to ensure the input is an array given that the attribute
287
+ # is documented as an array but the input is not
288
+ if attributes[attribute_map[key]].is_a?(Array)
289
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
290
+ end
291
+ elsif !attributes[attribute_map[key]].nil?
292
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
293
+ end
294
+ end
295
+ new(transformed_hash)
296
+ end
297
+
298
+ # Deserializes the data based on type
299
+ # @param string type Data type
300
+ # @param string value Value to be deserialized
301
+ # @return [Object] Deserialized data
302
+ def self._deserialize(type, value)
303
+ case type.to_sym
304
+ when :Time
305
+ Time.parse(value)
306
+ when :Date
307
+ Date.parse(value)
308
+ when :String
309
+ value.to_s
310
+ when :Integer
311
+ value.to_i
312
+ when :Float
313
+ value.to_f
314
+ when :Boolean
315
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
316
+ true
317
+ else
318
+ false
319
+ end
320
+ when :Object
321
+ # generic object (usually a Hash), return directly
322
+ value
323
+ when /\AArray<(?<inner_type>.+)>\z/
324
+ inner_type = Regexp.last_match[:inner_type]
325
+ value.map { |v| _deserialize(inner_type, v) }
326
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
327
+ k_type = Regexp.last_match[:k_type]
328
+ v_type = Regexp.last_match[:v_type]
329
+ {}.tap do |hash|
330
+ value.each do |k, v|
331
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
332
+ end
333
+ end
334
+ else # model
335
+ # models (e.g. Pet) or oneOf
336
+ klass = PostBoost.const_get(type)
337
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
338
+ end
339
+ end
340
+
341
+ # Returns the string representation of the object
342
+ # @return [String] String presentation of the object
343
+ def to_s
344
+ to_hash.to_s
345
+ end
346
+
347
+ # to_body is an alias to to_hash (backward compatibility)
348
+ # @return [Hash] Returns the object in the form of hash
349
+ def to_body
350
+ to_hash
351
+ end
352
+
353
+ # Returns the object in the form of hash
354
+ # @return [Hash] Returns the object in the form of hash
355
+ def to_hash
356
+ hash = {}
357
+ self.class.attribute_map.each_pair do |attr, param|
358
+ value = self.send(attr)
359
+ if value.nil?
360
+ is_nullable = self.class.openapi_nullable.include?(attr)
361
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
362
+ end
363
+
364
+ hash[param] = _to_hash(value)
365
+ end
366
+ hash
367
+ end
368
+
369
+ # Outputs non-array value in the form of hash
370
+ # For object, use to_hash. Otherwise, just return the value
371
+ # @param [Object] value Any valid value
372
+ # @return [Hash] Returns the value in the form of hash
373
+ def _to_hash(value)
374
+ if value.is_a?(Array)
375
+ value.compact.map { |v| _to_hash(v) }
376
+ elsif value.is_a?(Hash)
377
+ {}.tap do |hash|
378
+ value.each { |k, v| hash[k] = _to_hash(v) }
379
+ end
380
+ elsif value.respond_to? :to_hash
381
+ value.to_hash
382
+ else
383
+ value
384
+ end
385
+ end
386
+
387
+ end
388
+
389
+ end