postboost 1.18.0 → 1.19.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.
- checksums.yaml +4 -4
- data/README.md +2 -1
- data/docs/AIApi.md +73 -1
- data/docs/GetRepurposeRun200Response.md +18 -0
- data/docs/RepurposeContent202Response.md +18 -0
- data/docs/RepurposeContent500Response.md +20 -0
- data/docs/RepurposeInput.md +3 -1
- data/docs/RepurposeRun.md +28 -0
- data/docs/RepurposeRunAccepted.md +22 -0
- data/lib/postboost/api/account_groups_api.rb +1 -1
- data/lib/postboost/api/accounts_api.rb +1 -1
- data/lib/postboost/api/activity_api.rb +1 -1
- data/lib/postboost/api/agents_api.rb +1 -1
- data/lib/postboost/api/ai_api.rb +72 -3
- data/lib/postboost/api/analytics_api.rb +1 -1
- data/lib/postboost/api/competitors_api.rb +1 -1
- data/lib/postboost/api/hashtag_groups_api.rb +1 -1
- data/lib/postboost/api/inbox_api.rb +1 -1
- data/lib/postboost/api/media_api.rb +1 -1
- data/lib/postboost/api/mentions_api.rb +1 -1
- data/lib/postboost/api/posting_schedule_api.rb +1 -1
- data/lib/postboost/api/posts_api.rb +1 -1
- data/lib/postboost/api/receipts_api.rb +1 -1
- data/lib/postboost/api/subscriptions_api.rb +1 -1
- data/lib/postboost/api/tags_api.rb +1 -1
- data/lib/postboost/api/templates_api.rb +1 -1
- data/lib/postboost/api/users_api.rb +1 -1
- data/lib/postboost/api/webhooks_api.rb +1 -1
- data/lib/postboost/api/workspaces_api.rb +1 -1
- data/lib/postboost/api_client.rb +1 -1
- data/lib/postboost/api_error.rb +1 -1
- data/lib/postboost/configuration.rb +1 -1
- data/lib/postboost/models/account.rb +1 -1
- data/lib/postboost/models/account_analytics.rb +1 -1
- data/lib/postboost/models/account_analytics_initial_sync.rb +1 -1
- data/lib/postboost/models/account_connection_health.rb +1 -1
- data/lib/postboost/models/account_errors_inner.rb +1 -1
- data/lib/postboost/models/account_errors_inner_one_of.rb +1 -1
- data/lib/postboost/models/account_group.rb +1 -1
- data/lib/postboost/models/account_group_input.rb +1 -1
- data/lib/postboost/models/account_health.rb +1 -1
- data/lib/postboost/models/account_health_daily_cap.rb +1 -1
- data/lib/postboost/models/account_schedule.rb +1 -1
- data/lib/postboost/models/add_competitor202_response.rb +1 -1
- data/lib/postboost/models/add_competitor409_response.rb +1 -1
- data/lib/postboost/models/add_generic_subscription_request.rb +1 -1
- data/lib/postboost/models/add_post_to_queue_request.rb +1 -1
- data/lib/postboost/models/agent_page_meta.rb +1 -1
- data/lib/postboost/models/agent_proposal.rb +1 -1
- data/lib/postboost/models/agent_proposal_decision.rb +1 -1
- data/lib/postboost/models/agent_run.rb +1 -1
- data/lib/postboost/models/ai_credits.rb +1 -1
- data/lib/postboost/models/ai_usage.rb +1 -1
- data/lib/postboost/models/ai_usage_text.rb +1 -1
- data/lib/postboost/models/analytics_period.rb +1 -1
- data/lib/postboost/models/analytics_summary.rb +1 -1
- data/lib/postboost/models/analytics_summary_data.rb +1 -1
- data/lib/postboost/models/api_activity.rb +1 -1
- data/lib/postboost/models/api_activity_outcome.rb +1 -1
- data/lib/postboost/models/api_key.rb +1 -1
- data/lib/postboost/models/api_key_ability.rb +1 -1
- data/lib/postboost/models/api_key_input.rb +1 -1
- data/lib/postboost/models/approve_agent_proposal200_response.rb +1 -1
- data/lib/postboost/models/approve_agent_proposal409_response.rb +1 -1
- data/lib/postboost/models/approve_inbox_reply_draft403_response.rb +1 -1
- data/lib/postboost/models/approve_post_request.rb +1 -1
- data/lib/postboost/models/best_posting_times.rb +1 -1
- data/lib/postboost/models/best_posting_times_times_inner.rb +1 -1
- data/lib/postboost/models/blog_to_social200_response.rb +1 -1
- data/lib/postboost/models/blog_to_social429_response.rb +1 -1
- data/lib/postboost/models/blog_to_social_caption.rb +1 -1
- data/lib/postboost/models/blog_to_social_input.rb +1 -1
- data/lib/postboost/models/blog_to_social_media.rb +1 -1
- data/lib/postboost/models/blog_to_social_response.rb +1 -1
- data/lib/postboost/models/brand_voice.rb +1 -1
- data/lib/postboost/models/brand_voice_input.rb +1 -1
- data/lib/postboost/models/brand_voice_meta.rb +1 -1
- data/lib/postboost/models/cancel_subscription422_response.rb +1 -1
- data/lib/postboost/models/cancel_subscription422_response_errors.rb +1 -1
- data/lib/postboost/models/cancel_subscription_request.rb +1 -1
- data/lib/postboost/models/change_subscription_plan_request.rb +1 -1
- data/lib/postboost/models/channel_account.rb +1 -1
- data/lib/postboost/models/checkout_subscription200_response.rb +1 -1
- data/lib/postboost/models/checkout_subscription_request.rb +1 -1
- data/lib/postboost/models/coded_error.rb +1 -1
- data/lib/postboost/models/competitor.rb +1 -1
- data/lib/postboost/models/competitor_detail.rb +1 -1
- data/lib/postboost/models/competitor_input.rb +1 -1
- data/lib/postboost/models/competitor_media.rb +1 -1
- data/lib/postboost/models/competitor_snapshot.rb +1 -1
- data/lib/postboost/models/complete_chunked_upload_request.rb +1 -1
- data/lib/postboost/models/connect_channel_input.rb +1 -1
- data/lib/postboost/models/create_account_group201_response.rb +1 -1
- data/lib/postboost/models/create_agent201_response.rb +1 -1
- data/lib/postboost/models/create_api_key201_response.rb +1 -1
- data/lib/postboost/models/create_api_key201_response_data.rb +1 -1
- data/lib/postboost/models/create_hashtag_group201_response.rb +1 -1
- data/lib/postboost/models/create_inbox_reply_draft201_response.rb +1 -1
- data/lib/postboost/models/create_media_folder_request.rb +1 -1
- data/lib/postboost/models/create_mention201_response.rb +1 -1
- data/lib/postboost/models/create_recycling_rule201_response.rb +1 -1
- data/lib/postboost/models/create_report_export201_response.rb +1 -1
- data/lib/postboost/models/create_reseller_client201_response.rb +1 -1
- data/lib/postboost/models/create_rss_feed201_response.rb +1 -1
- data/lib/postboost/models/create_template201_response.rb +1 -1
- data/lib/postboost/models/create_webhook_subscription201_response.rb +1 -1
- data/lib/postboost/models/create_webhook_subscription201_response_data.rb +1 -1
- data/lib/postboost/models/delete_agent200_response.rb +1 -1
- data/lib/postboost/models/delete_media_bulk_request.rb +1 -1
- data/lib/postboost/models/delete_media_bulk_request_items_inner.rb +1 -1
- data/lib/postboost/models/delete_media_folder_request.rb +1 -1
- data/lib/postboost/models/delete_mode.rb +1 -1
- data/lib/postboost/models/delete_post_request.rb +1 -1
- data/lib/postboost/models/delete_posts_bulk_request.rb +1 -1
- data/lib/postboost/models/delete_receipts_bulk_request.rb +1 -1
- data/lib/postboost/models/delete_result.rb +1 -1
- data/lib/postboost/models/delete_user400_response.rb +1 -1
- data/lib/postboost/models/delete_users_bulk_request.rb +1 -1
- data/lib/postboost/models/delete_workspaces_bulk_request.rb +1 -1
- data/lib/postboost/models/get_account_health200_response.rb +1 -1
- data/lib/postboost/models/get_brand_voice200_response.rb +1 -1
- data/lib/postboost/models/get_competitor200_response.rb +1 -1
- data/lib/postboost/models/get_inbox_conversation200_response.rb +1 -1
- data/lib/postboost/models/get_posting_schedule200_response.rb +1 -1
- data/lib/postboost/models/get_remote_upload_status200_response.rb +1 -1
- data/lib/postboost/models/get_report_branding200_response.rb +1 -1
- data/lib/postboost/models/get_repurpose_run200_response.rb +221 -0
- data/lib/postboost/models/guardrail_error.rb +1 -1
- data/lib/postboost/models/hashtag_group.rb +1 -1
- data/lib/postboost/models/hashtag_group_input.rb +1 -1
- data/lib/postboost/models/image_alt_text200_response.rb +1 -1
- data/lib/postboost/models/image_alt_text_input.rb +1 -1
- data/lib/postboost/models/image_alt_text_response.rb +1 -1
- data/lib/postboost/models/image_credit_balance.rb +1 -1
- data/lib/postboost/models/image_edit_input.rb +1 -1
- data/lib/postboost/models/image_generate200_response.rb +1 -1
- data/lib/postboost/models/image_generate429_response.rb +1 -1
- data/lib/postboost/models/image_generate_input.rb +1 -1
- data/lib/postboost/models/image_generation_response.rb +1 -1
- data/lib/postboost/models/image_prompt200_response.rb +1 -1
- data/lib/postboost/models/image_prompt429_response.rb +1 -1
- data/lib/postboost/models/image_prompt_input.rb +1 -1
- data/lib/postboost/models/image_prompt_response.rb +1 -1
- data/lib/postboost/models/image_variations200_response.rb +1 -1
- data/lib/postboost/models/image_variations_input.rb +1 -1
- data/lib/postboost/models/image_variations_response.rb +1 -1
- data/lib/postboost/models/inbox_author.rb +1 -1
- data/lib/postboost/models/inbox_conversation.rb +1 -1
- data/lib/postboost/models/inbox_conversation_account.rb +1 -1
- data/lib/postboost/models/inbox_conversation_update.rb +1 -1
- data/lib/postboost/models/inbox_message.rb +1 -1
- data/lib/postboost/models/inbox_message_author.rb +1 -1
- data/lib/postboost/models/inbox_reply_draft.rb +1 -1
- data/lib/postboost/models/inbox_reply_draft_approve.rb +1 -1
- data/lib/postboost/models/inbox_reply_draft_edit.rb +1 -1
- data/lib/postboost/models/inbox_reply_draft_input.rb +1 -1
- data/lib/postboost/models/initiate_chunked_upload201_response.rb +1 -1
- data/lib/postboost/models/initiate_chunked_upload_request.rb +1 -1
- data/lib/postboost/models/initiate_remote_upload201_response.rb +1 -1
- data/lib/postboost/models/initiate_remote_upload201_response_one_of.rb +1 -1
- data/lib/postboost/models/initiate_remote_upload_request.rb +1 -1
- data/lib/postboost/models/learn_brand_voice_input.rb +1 -1
- data/lib/postboost/models/learn_brand_voice_response.rb +1 -1
- data/lib/postboost/models/learn_brand_voice_response_meta.rb +1 -1
- data/lib/postboost/models/list_account_groups200_response.rb +1 -1
- data/lib/postboost/models/list_accounts200_response.rb +1 -1
- data/lib/postboost/models/list_agent_proposals200_response.rb +1 -1
- data/lib/postboost/models/list_agent_runs200_response.rb +1 -1
- data/lib/postboost/models/list_agents200_response.rb +1 -1
- data/lib/postboost/models/list_api_activity200_response.rb +1 -1
- data/lib/postboost/models/list_api_keys200_response.rb +1 -1
- data/lib/postboost/models/list_competitors200_response.rb +1 -1
- data/lib/postboost/models/list_hashtag_groups200_response.rb +1 -1
- data/lib/postboost/models/list_inbox_conversations200_response.rb +1 -1
- data/lib/postboost/models/list_inbox_reply_drafts200_response.rb +1 -1
- data/lib/postboost/models/list_media200_response.rb +1 -1
- data/lib/postboost/models/list_media_folders200_response.rb +1 -1
- data/lib/postboost/models/list_mentions200_response.rb +1 -1
- data/lib/postboost/models/list_my_workspaces200_response.rb +1 -1
- data/lib/postboost/models/list_posts200_response.rb +1 -1
- data/lib/postboost/models/list_receipts200_response.rb +1 -1
- data/lib/postboost/models/list_recycling_rules200_response.rb +1 -1
- data/lib/postboost/models/list_recycling_runs200_response.rb +1 -1
- data/lib/postboost/models/list_report_exports200_response.rb +1 -1
- data/lib/postboost/models/list_reseller_clients200_response.rb +1 -1
- data/lib/postboost/models/list_rss_feeds200_response.rb +1 -1
- data/lib/postboost/models/list_tags200_response.rb +1 -1
- data/lib/postboost/models/list_templates200_response.rb +1 -1
- data/lib/postboost/models/list_users200_response.rb +1 -1
- data/lib/postboost/models/list_webhook_subscriptions200_response.rb +1 -1
- data/lib/postboost/models/list_workspaces200_response.rb +1 -1
- data/lib/postboost/models/media.rb +1 -1
- data/lib/postboost/models/media_base64_input.rb +1 -1
- data/lib/postboost/models/media_folder.rb +1 -1
- data/lib/postboost/models/media_folder_input.rb +1 -1
- data/lib/postboost/models/media_folder_ref.rb +1 -1
- data/lib/postboost/models/mention.rb +1 -1
- data/lib/postboost/models/mention_identity.rb +1 -1
- data/lib/postboost/models/mention_identity_input.rb +1 -1
- data/lib/postboost/models/mention_input.rb +1 -1
- data/lib/postboost/models/message_only.rb +1 -1
- data/lib/postboost/models/pagination_meta.rb +1 -1
- data/lib/postboost/models/pagination_meta_links.rb +1 -1
- data/lib/postboost/models/pagination_meta_meta.rb +1 -1
- data/lib/postboost/models/poll_rss_feed200_response.rb +1 -1
- data/lib/postboost/models/post.rb +1 -1
- data/lib/postboost/models/post_analytics.rb +1 -1
- data/lib/postboost/models/post_content.rb +1 -1
- data/lib/postboost/models/post_input.rb +1 -1
- data/lib/postboost/models/post_options_instagram.rb +1 -1
- data/lib/postboost/models/post_options_tik_tok.rb +1 -1
- data/lib/postboost/models/post_options_youtube.rb +1 -1
- data/lib/postboost/models/post_status.rb +1 -1
- data/lib/postboost/models/post_version.rb +1 -1
- data/lib/postboost/models/post_version_options.rb +1 -1
- data/lib/postboost/models/posting_schedule.rb +1 -1
- data/lib/postboost/models/posting_schedule_day.rb +1 -1
- data/lib/postboost/models/posting_schedule_day_times_inner.rb +1 -1
- data/lib/postboost/models/posting_schedule_input.rb +1 -1
- data/lib/postboost/models/posting_time_slot.rb +1 -1
- data/lib/postboost/models/posting_times.rb +1 -1
- data/lib/postboost/models/posting_times_best_inner.rb +1 -1
- data/lib/postboost/models/posting_times_day_intervals_inner_inner.rb +1 -1
- data/lib/postboost/models/posting_times_days_inner.rb +1 -1
- data/lib/postboost/models/preflight_result.rb +1 -1
- data/lib/postboost/models/public_workspace.rb +1 -1
- data/lib/postboost/models/public_workspace_pivot.rb +1 -1
- data/lib/postboost/models/publish_progress.rb +1 -1
- data/lib/postboost/models/queue_slots.rb +1 -1
- data/lib/postboost/models/receipt.rb +1 -1
- data/lib/postboost/models/receipt_input.rb +1 -1
- data/lib/postboost/models/receipt_update_input.rb +1 -1
- data/lib/postboost/models/recommended_posting_times.rb +1 -1
- data/lib/postboost/models/reconnect_link.rb +1 -1
- data/lib/postboost/models/recycling_rule.rb +1 -1
- data/lib/postboost/models/recycling_rule_input.rb +1 -1
- data/lib/postboost/models/recycling_rule_settings.rb +1 -1
- data/lib/postboost/models/recycling_rule_update.rb +1 -1
- data/lib/postboost/models/recycling_run.rb +1 -1
- data/lib/postboost/models/remove_generic_subscription422_response.rb +1 -1
- data/lib/postboost/models/remove_user_from_workspace_request.rb +1 -1
- data/lib/postboost/models/report_branding.rb +1 -1
- data/lib/postboost/models/report_branding_input.rb +1 -1
- data/lib/postboost/models/report_export.rb +1 -1
- data/lib/postboost/models/report_export_input.rb +1 -1
- data/lib/postboost/models/repurpose_content200_response.rb +1 -1
- data/lib/postboost/models/repurpose_content202_response.rb +221 -0
- data/lib/postboost/models/repurpose_content500_response.rb +237 -0
- data/lib/postboost/models/repurpose_input.rb +17 -5
- data/lib/postboost/models/repurpose_input_theme.rb +1 -1
- data/lib/postboost/models/repurpose_result.rb +1 -1
- data/lib/postboost/models/repurpose_result_media.rb +1 -1
- data/lib/postboost/models/repurpose_result_source.rb +1 -1
- data/lib/postboost/models/repurpose_run.rb +325 -0
- data/lib/postboost/models/repurpose_run_accepted.rb +288 -0
- data/lib/postboost/models/repurpose_slide.rb +1 -1
- data/lib/postboost/models/reseller_client.rb +1 -1
- data/lib/postboost/models/reseller_client_input.rb +1 -1
- data/lib/postboost/models/reseller_client_usage.rb +1 -1
- data/lib/postboost/models/retry_post_account_result.rb +1 -1
- data/lib/postboost/models/rss_feed.rb +1 -1
- data/lib/postboost/models/rss_feed_input.rb +1 -1
- data/lib/postboost/models/rss_feed_update.rb +1 -1
- data/lib/postboost/models/run_agent202_response.rb +1 -1
- data/lib/postboost/models/schedule_post_request.rb +1 -1
- data/lib/postboost/models/schedule_result.rb +1 -1
- data/lib/postboost/models/subscription.rb +1 -1
- data/lib/postboost/models/subscription_input.rb +1 -1
- data/lib/postboost/models/subscription_status.rb +1 -1
- data/lib/postboost/models/subscription_update_input.rb +1 -1
- data/lib/postboost/models/tag.rb +1 -1
- data/lib/postboost/models/tag_input.rb +1 -1
- data/lib/postboost/models/template.rb +1 -1
- data/lib/postboost/models/template_content_item.rb +1 -1
- data/lib/postboost/models/template_input.rb +1 -1
- data/lib/postboost/models/template_input_content_inner.rb +1 -1
- data/lib/postboost/models/update_media_request.rb +1 -1
- data/lib/postboost/models/upload_chunk201_response.rb +1 -1
- data/lib/postboost/models/user.rb +1 -1
- data/lib/postboost/models/user_input.rb +1 -1
- data/lib/postboost/models/user_update_input.rb +1 -1
- data/lib/postboost/models/webhook_event_name.rb +1 -1
- data/lib/postboost/models/webhook_event_payload.rb +1 -1
- data/lib/postboost/models/webhook_subscription.rb +1 -1
- data/lib/postboost/models/webhook_subscription_input.rb +1 -1
- data/lib/postboost/models/workspace.rb +1 -1
- data/lib/postboost/models/workspace_agent.rb +1 -1
- data/lib/postboost/models/workspace_agent_input.rb +1 -1
- data/lib/postboost/models/workspace_agent_settings.rb +1 -1
- data/lib/postboost/models/workspace_agent_update.rb +1 -1
- data/lib/postboost/models/workspace_input.rb +1 -1
- data/lib/postboost/models/workspace_user_input.rb +1 -1
- data/lib/postboost/models/x_usage.rb +1 -1
- data/lib/postboost/models/x_usage_counter.rb +1 -1
- data/lib/postboost/version.rb +2 -2
- data/lib/postboost.rb +6 -1
- data/postboost.gemspec +1 -1
- data/spec/api/account_groups_api_spec.rb +1 -1
- data/spec/api/accounts_api_spec.rb +1 -1
- data/spec/api/activity_api_spec.rb +1 -1
- data/spec/api/agents_api_spec.rb +1 -1
- data/spec/api/ai_api_spec.rb +15 -2
- data/spec/api/analytics_api_spec.rb +1 -1
- data/spec/api/competitors_api_spec.rb +1 -1
- data/spec/api/hashtag_groups_api_spec.rb +1 -1
- data/spec/api/inbox_api_spec.rb +1 -1
- data/spec/api/media_api_spec.rb +1 -1
- data/spec/api/mentions_api_spec.rb +1 -1
- data/spec/api/posting_schedule_api_spec.rb +1 -1
- data/spec/api/posts_api_spec.rb +1 -1
- data/spec/api/receipts_api_spec.rb +1 -1
- data/spec/api/subscriptions_api_spec.rb +1 -1
- data/spec/api/tags_api_spec.rb +1 -1
- data/spec/api/templates_api_spec.rb +1 -1
- data/spec/api/users_api_spec.rb +1 -1
- data/spec/api/webhooks_api_spec.rb +1 -1
- data/spec/api/workspaces_api_spec.rb +1 -1
- data/spec/models/account_analytics_initial_sync_spec.rb +1 -1
- data/spec/models/account_analytics_spec.rb +1 -1
- data/spec/models/account_connection_health_spec.rb +1 -1
- data/spec/models/account_errors_inner_one_of_spec.rb +1 -1
- data/spec/models/account_errors_inner_spec.rb +1 -1
- data/spec/models/account_group_input_spec.rb +1 -1
- data/spec/models/account_group_spec.rb +1 -1
- data/spec/models/account_health_daily_cap_spec.rb +1 -1
- data/spec/models/account_health_spec.rb +1 -1
- data/spec/models/account_schedule_spec.rb +1 -1
- data/spec/models/account_spec.rb +1 -1
- data/spec/models/add_competitor202_response_spec.rb +1 -1
- data/spec/models/add_competitor409_response_spec.rb +1 -1
- data/spec/models/add_generic_subscription_request_spec.rb +1 -1
- data/spec/models/add_post_to_queue_request_spec.rb +1 -1
- data/spec/models/agent_page_meta_spec.rb +1 -1
- data/spec/models/agent_proposal_decision_spec.rb +1 -1
- data/spec/models/agent_proposal_spec.rb +1 -1
- data/spec/models/agent_run_spec.rb +1 -1
- data/spec/models/ai_credits_spec.rb +1 -1
- data/spec/models/ai_usage_spec.rb +1 -1
- data/spec/models/ai_usage_text_spec.rb +1 -1
- data/spec/models/analytics_period_spec.rb +1 -1
- data/spec/models/analytics_summary_data_spec.rb +1 -1
- data/spec/models/analytics_summary_spec.rb +1 -1
- data/spec/models/api_activity_outcome_spec.rb +1 -1
- data/spec/models/api_activity_spec.rb +1 -1
- data/spec/models/api_key_ability_spec.rb +1 -1
- data/spec/models/api_key_input_spec.rb +1 -1
- data/spec/models/api_key_spec.rb +1 -1
- data/spec/models/approve_agent_proposal200_response_spec.rb +1 -1
- data/spec/models/approve_agent_proposal409_response_spec.rb +1 -1
- data/spec/models/approve_inbox_reply_draft403_response_spec.rb +1 -1
- data/spec/models/approve_post_request_spec.rb +1 -1
- data/spec/models/best_posting_times_spec.rb +1 -1
- data/spec/models/best_posting_times_times_inner_spec.rb +1 -1
- data/spec/models/blog_to_social200_response_spec.rb +1 -1
- data/spec/models/blog_to_social429_response_spec.rb +1 -1
- data/spec/models/blog_to_social_caption_spec.rb +1 -1
- data/spec/models/blog_to_social_input_spec.rb +1 -1
- data/spec/models/blog_to_social_media_spec.rb +1 -1
- data/spec/models/blog_to_social_response_spec.rb +1 -1
- data/spec/models/brand_voice_input_spec.rb +1 -1
- data/spec/models/brand_voice_meta_spec.rb +1 -1
- data/spec/models/brand_voice_spec.rb +1 -1
- data/spec/models/cancel_subscription422_response_errors_spec.rb +1 -1
- data/spec/models/cancel_subscription422_response_spec.rb +1 -1
- data/spec/models/cancel_subscription_request_spec.rb +1 -1
- data/spec/models/change_subscription_plan_request_spec.rb +1 -1
- data/spec/models/channel_account_spec.rb +1 -1
- data/spec/models/checkout_subscription200_response_spec.rb +1 -1
- data/spec/models/checkout_subscription_request_spec.rb +1 -1
- data/spec/models/coded_error_spec.rb +1 -1
- data/spec/models/competitor_detail_spec.rb +1 -1
- data/spec/models/competitor_input_spec.rb +1 -1
- data/spec/models/competitor_media_spec.rb +1 -1
- data/spec/models/competitor_snapshot_spec.rb +1 -1
- data/spec/models/competitor_spec.rb +1 -1
- data/spec/models/complete_chunked_upload_request_spec.rb +1 -1
- data/spec/models/connect_channel_input_spec.rb +1 -1
- data/spec/models/create_account_group201_response_spec.rb +1 -1
- data/spec/models/create_agent201_response_spec.rb +1 -1
- data/spec/models/create_api_key201_response_data_spec.rb +1 -1
- data/spec/models/create_api_key201_response_spec.rb +1 -1
- data/spec/models/create_hashtag_group201_response_spec.rb +1 -1
- data/spec/models/create_inbox_reply_draft201_response_spec.rb +1 -1
- data/spec/models/create_media_folder_request_spec.rb +1 -1
- data/spec/models/create_mention201_response_spec.rb +1 -1
- data/spec/models/create_recycling_rule201_response_spec.rb +1 -1
- data/spec/models/create_report_export201_response_spec.rb +1 -1
- data/spec/models/create_reseller_client201_response_spec.rb +1 -1
- data/spec/models/create_rss_feed201_response_spec.rb +1 -1
- data/spec/models/create_template201_response_spec.rb +1 -1
- data/spec/models/create_webhook_subscription201_response_data_spec.rb +1 -1
- data/spec/models/create_webhook_subscription201_response_spec.rb +1 -1
- data/spec/models/delete_agent200_response_spec.rb +1 -1
- data/spec/models/delete_media_bulk_request_items_inner_spec.rb +1 -1
- data/spec/models/delete_media_bulk_request_spec.rb +1 -1
- data/spec/models/delete_media_folder_request_spec.rb +1 -1
- data/spec/models/delete_mode_spec.rb +1 -1
- data/spec/models/delete_post_request_spec.rb +1 -1
- data/spec/models/delete_posts_bulk_request_spec.rb +1 -1
- data/spec/models/delete_receipts_bulk_request_spec.rb +1 -1
- data/spec/models/delete_result_spec.rb +1 -1
- data/spec/models/delete_user400_response_spec.rb +1 -1
- data/spec/models/delete_users_bulk_request_spec.rb +1 -1
- data/spec/models/delete_workspaces_bulk_request_spec.rb +1 -1
- data/spec/models/get_account_health200_response_spec.rb +1 -1
- data/spec/models/get_brand_voice200_response_spec.rb +1 -1
- data/spec/models/get_competitor200_response_spec.rb +1 -1
- data/spec/models/get_inbox_conversation200_response_spec.rb +1 -1
- data/spec/models/get_posting_schedule200_response_spec.rb +1 -1
- data/spec/models/get_remote_upload_status200_response_spec.rb +1 -1
- data/spec/models/get_report_branding200_response_spec.rb +1 -1
- data/spec/models/get_repurpose_run200_response_spec.rb +36 -0
- data/spec/models/guardrail_error_spec.rb +1 -1
- data/spec/models/hashtag_group_input_spec.rb +1 -1
- data/spec/models/hashtag_group_spec.rb +1 -1
- data/spec/models/image_alt_text200_response_spec.rb +1 -1
- data/spec/models/image_alt_text_input_spec.rb +1 -1
- data/spec/models/image_alt_text_response_spec.rb +1 -1
- data/spec/models/image_credit_balance_spec.rb +1 -1
- data/spec/models/image_edit_input_spec.rb +1 -1
- data/spec/models/image_generate200_response_spec.rb +1 -1
- data/spec/models/image_generate429_response_spec.rb +1 -1
- data/spec/models/image_generate_input_spec.rb +1 -1
- data/spec/models/image_generation_response_spec.rb +1 -1
- data/spec/models/image_prompt200_response_spec.rb +1 -1
- data/spec/models/image_prompt429_response_spec.rb +1 -1
- data/spec/models/image_prompt_input_spec.rb +1 -1
- data/spec/models/image_prompt_response_spec.rb +1 -1
- data/spec/models/image_variations200_response_spec.rb +1 -1
- data/spec/models/image_variations_input_spec.rb +1 -1
- data/spec/models/image_variations_response_spec.rb +1 -1
- data/spec/models/inbox_author_spec.rb +1 -1
- data/spec/models/inbox_conversation_account_spec.rb +1 -1
- data/spec/models/inbox_conversation_spec.rb +1 -1
- data/spec/models/inbox_conversation_update_spec.rb +1 -1
- data/spec/models/inbox_message_author_spec.rb +1 -1
- data/spec/models/inbox_message_spec.rb +1 -1
- data/spec/models/inbox_reply_draft_approve_spec.rb +1 -1
- data/spec/models/inbox_reply_draft_edit_spec.rb +1 -1
- data/spec/models/inbox_reply_draft_input_spec.rb +1 -1
- data/spec/models/inbox_reply_draft_spec.rb +1 -1
- data/spec/models/initiate_chunked_upload201_response_spec.rb +1 -1
- data/spec/models/initiate_chunked_upload_request_spec.rb +1 -1
- data/spec/models/initiate_remote_upload201_response_one_of_spec.rb +1 -1
- data/spec/models/initiate_remote_upload201_response_spec.rb +1 -1
- data/spec/models/initiate_remote_upload_request_spec.rb +1 -1
- data/spec/models/learn_brand_voice_input_spec.rb +1 -1
- data/spec/models/learn_brand_voice_response_meta_spec.rb +1 -1
- data/spec/models/learn_brand_voice_response_spec.rb +1 -1
- data/spec/models/list_account_groups200_response_spec.rb +1 -1
- data/spec/models/list_accounts200_response_spec.rb +1 -1
- data/spec/models/list_agent_proposals200_response_spec.rb +1 -1
- data/spec/models/list_agent_runs200_response_spec.rb +1 -1
- data/spec/models/list_agents200_response_spec.rb +1 -1
- data/spec/models/list_api_activity200_response_spec.rb +1 -1
- data/spec/models/list_api_keys200_response_spec.rb +1 -1
- data/spec/models/list_competitors200_response_spec.rb +1 -1
- data/spec/models/list_hashtag_groups200_response_spec.rb +1 -1
- data/spec/models/list_inbox_conversations200_response_spec.rb +1 -1
- data/spec/models/list_inbox_reply_drafts200_response_spec.rb +1 -1
- data/spec/models/list_media200_response_spec.rb +1 -1
- data/spec/models/list_media_folders200_response_spec.rb +1 -1
- data/spec/models/list_mentions200_response_spec.rb +1 -1
- data/spec/models/list_my_workspaces200_response_spec.rb +1 -1
- data/spec/models/list_posts200_response_spec.rb +1 -1
- data/spec/models/list_receipts200_response_spec.rb +1 -1
- data/spec/models/list_recycling_rules200_response_spec.rb +1 -1
- data/spec/models/list_recycling_runs200_response_spec.rb +1 -1
- data/spec/models/list_report_exports200_response_spec.rb +1 -1
- data/spec/models/list_reseller_clients200_response_spec.rb +1 -1
- data/spec/models/list_rss_feeds200_response_spec.rb +1 -1
- data/spec/models/list_tags200_response_spec.rb +1 -1
- data/spec/models/list_templates200_response_spec.rb +1 -1
- data/spec/models/list_users200_response_spec.rb +1 -1
- data/spec/models/list_webhook_subscriptions200_response_spec.rb +1 -1
- data/spec/models/list_workspaces200_response_spec.rb +1 -1
- data/spec/models/media_base64_input_spec.rb +1 -1
- data/spec/models/media_folder_input_spec.rb +1 -1
- data/spec/models/media_folder_ref_spec.rb +1 -1
- data/spec/models/media_folder_spec.rb +1 -1
- data/spec/models/media_spec.rb +1 -1
- data/spec/models/mention_identity_input_spec.rb +1 -1
- data/spec/models/mention_identity_spec.rb +1 -1
- data/spec/models/mention_input_spec.rb +1 -1
- data/spec/models/mention_spec.rb +1 -1
- data/spec/models/message_only_spec.rb +1 -1
- data/spec/models/pagination_meta_links_spec.rb +1 -1
- data/spec/models/pagination_meta_meta_spec.rb +1 -1
- data/spec/models/pagination_meta_spec.rb +1 -1
- data/spec/models/poll_rss_feed200_response_spec.rb +1 -1
- data/spec/models/post_analytics_spec.rb +1 -1
- data/spec/models/post_content_spec.rb +1 -1
- data/spec/models/post_input_spec.rb +1 -1
- data/spec/models/post_options_instagram_spec.rb +1 -1
- data/spec/models/post_options_tik_tok_spec.rb +1 -1
- data/spec/models/post_options_youtube_spec.rb +1 -1
- data/spec/models/post_spec.rb +1 -1
- data/spec/models/post_status_spec.rb +1 -1
- data/spec/models/post_version_options_spec.rb +1 -1
- data/spec/models/post_version_spec.rb +1 -1
- data/spec/models/posting_schedule_day_spec.rb +1 -1
- data/spec/models/posting_schedule_day_times_inner_spec.rb +1 -1
- data/spec/models/posting_schedule_input_spec.rb +1 -1
- data/spec/models/posting_schedule_spec.rb +1 -1
- data/spec/models/posting_time_slot_spec.rb +1 -1
- data/spec/models/posting_times_best_inner_spec.rb +1 -1
- data/spec/models/posting_times_day_intervals_inner_inner_spec.rb +1 -1
- data/spec/models/posting_times_days_inner_spec.rb +1 -1
- data/spec/models/posting_times_spec.rb +1 -1
- data/spec/models/preflight_result_spec.rb +1 -1
- data/spec/models/public_workspace_pivot_spec.rb +1 -1
- data/spec/models/public_workspace_spec.rb +1 -1
- data/spec/models/publish_progress_spec.rb +1 -1
- data/spec/models/queue_slots_spec.rb +1 -1
- data/spec/models/receipt_input_spec.rb +1 -1
- data/spec/models/receipt_spec.rb +1 -1
- data/spec/models/receipt_update_input_spec.rb +1 -1
- data/spec/models/recommended_posting_times_spec.rb +1 -1
- data/spec/models/reconnect_link_spec.rb +1 -1
- data/spec/models/recycling_rule_input_spec.rb +1 -1
- data/spec/models/recycling_rule_settings_spec.rb +1 -1
- data/spec/models/recycling_rule_spec.rb +1 -1
- data/spec/models/recycling_rule_update_spec.rb +1 -1
- data/spec/models/recycling_run_spec.rb +1 -1
- data/spec/models/remove_generic_subscription422_response_spec.rb +1 -1
- data/spec/models/remove_user_from_workspace_request_spec.rb +1 -1
- data/spec/models/report_branding_input_spec.rb +1 -1
- data/spec/models/report_branding_spec.rb +1 -1
- data/spec/models/report_export_input_spec.rb +1 -1
- data/spec/models/report_export_spec.rb +1 -1
- data/spec/models/repurpose_content200_response_spec.rb +1 -1
- data/spec/models/repurpose_content202_response_spec.rb +36 -0
- data/spec/models/repurpose_content500_response_spec.rb +42 -0
- data/spec/models/repurpose_input_spec.rb +7 -1
- data/spec/models/repurpose_input_theme_spec.rb +1 -1
- data/spec/models/repurpose_result_media_spec.rb +1 -1
- data/spec/models/repurpose_result_source_spec.rb +1 -1
- data/spec/models/repurpose_result_spec.rb +1 -1
- data/spec/models/repurpose_run_accepted_spec.rb +52 -0
- data/spec/models/repurpose_run_spec.rb +70 -0
- data/spec/models/repurpose_slide_spec.rb +1 -1
- data/spec/models/reseller_client_input_spec.rb +1 -1
- data/spec/models/reseller_client_spec.rb +1 -1
- data/spec/models/reseller_client_usage_spec.rb +1 -1
- data/spec/models/retry_post_account_result_spec.rb +1 -1
- data/spec/models/rss_feed_input_spec.rb +1 -1
- data/spec/models/rss_feed_spec.rb +1 -1
- data/spec/models/rss_feed_update_spec.rb +1 -1
- data/spec/models/run_agent202_response_spec.rb +1 -1
- data/spec/models/schedule_post_request_spec.rb +1 -1
- data/spec/models/schedule_result_spec.rb +1 -1
- data/spec/models/subscription_input_spec.rb +1 -1
- data/spec/models/subscription_spec.rb +1 -1
- data/spec/models/subscription_status_spec.rb +1 -1
- data/spec/models/subscription_update_input_spec.rb +1 -1
- data/spec/models/tag_input_spec.rb +1 -1
- data/spec/models/tag_spec.rb +1 -1
- data/spec/models/template_content_item_spec.rb +1 -1
- data/spec/models/template_input_content_inner_spec.rb +1 -1
- data/spec/models/template_input_spec.rb +1 -1
- data/spec/models/template_spec.rb +1 -1
- data/spec/models/update_media_request_spec.rb +1 -1
- data/spec/models/upload_chunk201_response_spec.rb +1 -1
- data/spec/models/user_input_spec.rb +1 -1
- data/spec/models/user_spec.rb +1 -1
- data/spec/models/user_update_input_spec.rb +1 -1
- data/spec/models/webhook_event_name_spec.rb +1 -1
- data/spec/models/webhook_event_payload_spec.rb +1 -1
- data/spec/models/webhook_subscription_input_spec.rb +1 -1
- data/spec/models/webhook_subscription_spec.rb +1 -1
- data/spec/models/workspace_agent_input_spec.rb +1 -1
- data/spec/models/workspace_agent_settings_spec.rb +1 -1
- data/spec/models/workspace_agent_spec.rb +1 -1
- data/spec/models/workspace_agent_update_spec.rb +1 -1
- data/spec/models/workspace_input_spec.rb +1 -1
- data/spec/models/workspace_spec.rb +1 -1
- data/spec/models/workspace_user_input_spec.rb +1 -1
- data/spec/models/x_usage_counter_spec.rb +1 -1
- data/spec/models/x_usage_spec.rb +1 -1
- data/spec/spec_helper.rb +1 -1
- metadata +21 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 75986804e021e725e4a1f67d342c92c637a689c4f70b3b3f021134eca6f5ee24
|
|
4
|
+
data.tar.gz: f036c7f86537068022eea0aee59b449dfe23b23b5cb06c808888a92a7cd44c31
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b6ae7412ac0f60ae35c2515c0348f54c62c777c13ba0499a2b5b449a1328b159c9bc20b3e7001c9a1711a416c87daafd30f64b9c1918f815ce33d521ae5f40ad
|
|
7
|
+
data.tar.gz: 06e5110f59aab0f5acb68b217aad458dd8eac5497ae4efd4f54a6e1d043dcf204a706f799a278c69429ffc7cf8975e183f425f97411dece87648052ed22e7a05
|
data/README.md
CHANGED
|
@@ -13,7 +13,7 @@ gem install postboost
|
|
|
13
13
|
| **RubyGems** | [rubygems.org/gems/postboost](https://rubygems.org/gems/postboost) |
|
|
14
14
|
| **GitHub** | [postboost-co/postboost-ruby](https://github.com/postboost-co/postboost-ruby) |
|
|
15
15
|
| **Docs** | [postboost.co/docs/api](https://postboost.co/docs/api) |
|
|
16
|
-
| **Version** | v1.
|
|
16
|
+
| **Version** | v1.19.0 |
|
|
17
17
|
|
|
18
18
|
## Quick start
|
|
19
19
|
|
|
@@ -39,6 +39,7 @@ Class | Method | HTTP request | Description
|
|
|
39
39
|
*PostBoost::AIApi* | [**delete_brand_voice**](docs/AIApi.md#delete_brand_voice) | **DELETE** /{workspaceUuid}/brand-voice | Delete the brand voice
|
|
40
40
|
*PostBoost::AIApi* | [**get_ai_usage**](docs/AIApi.md#get_ai_usage) | **GET** /{workspaceUuid}/usage/ai | AI credit usage
|
|
41
41
|
*PostBoost::AIApi* | [**get_brand_voice**](docs/AIApi.md#get_brand_voice) | **GET** /{workspaceUuid}/brand-voice | Get the brand voice
|
|
42
|
+
*PostBoost::AIApi* | [**get_repurpose_run**](docs/AIApi.md#get_repurpose_run) | **GET** /{workspaceUuid}/ai/repurpose/runs/{runId} | Get a repurpose run
|
|
42
43
|
*PostBoost::AIApi* | [**image_alt_text**](docs/AIApi.md#image_alt_text) | **POST** /{workspaceUuid}/ai/image-alt-text | Generate alt text for a media image using AI
|
|
43
44
|
*PostBoost::AIApi* | [**image_edit**](docs/AIApi.md#image_edit) | **POST** /{workspaceUuid}/ai/image-edit | Edit an existing media image using AI
|
|
44
45
|
*PostBoost::AIApi* | [**image_generate**](docs/AIApi.md#image_generate) | **POST** /{workspaceUuid}/ai/image-generate | Generate social media images from a caption
|
data/docs/AIApi.md
CHANGED
|
@@ -8,6 +8,7 @@ All URIs are relative to *https://postboost.co/app/api*
|
|
|
8
8
|
| [**delete_brand_voice**](AIApi.md#delete_brand_voice) | **DELETE** /{workspaceUuid}/brand-voice | Delete the brand voice |
|
|
9
9
|
| [**get_ai_usage**](AIApi.md#get_ai_usage) | **GET** /{workspaceUuid}/usage/ai | AI credit usage |
|
|
10
10
|
| [**get_brand_voice**](AIApi.md#get_brand_voice) | **GET** /{workspaceUuid}/brand-voice | Get the brand voice |
|
|
11
|
+
| [**get_repurpose_run**](AIApi.md#get_repurpose_run) | **GET** /{workspaceUuid}/ai/repurpose/runs/{runId} | Get a repurpose run |
|
|
11
12
|
| [**image_alt_text**](AIApi.md#image_alt_text) | **POST** /{workspaceUuid}/ai/image-alt-text | Generate alt text for a media image using AI |
|
|
12
13
|
| [**image_edit**](AIApi.md#image_edit) | **POST** /{workspaceUuid}/ai/image-edit | Edit an existing media image using AI |
|
|
13
14
|
| [**image_generate**](AIApi.md#image_generate) | **POST** /{workspaceUuid}/ai/image-generate | Generate social media images from a caption |
|
|
@@ -296,6 +297,77 @@ end
|
|
|
296
297
|
- **Accept**: application/json
|
|
297
298
|
|
|
298
299
|
|
|
300
|
+
## get_repurpose_run
|
|
301
|
+
|
|
302
|
+
> <GetRepurposeRun200Response> get_repurpose_run(workspace_uuid, run_id)
|
|
303
|
+
|
|
304
|
+
Get a repurpose run
|
|
305
|
+
|
|
306
|
+
Status of a run started by `repurposeContent`. `queued` and `running` mean it is still going; poll again in a few seconds. A run that has not finished after 10 minutes reports `failed`. `result` holds the same `data` body a `200` from `repurposeContent` returns, for one hour after the run ended with `ok` or `partial`; after that it is `null` (the draft post stays). Limited to 60 calls per minute.
|
|
307
|
+
|
|
308
|
+
### Examples
|
|
309
|
+
|
|
310
|
+
```ruby
|
|
311
|
+
require 'time'
|
|
312
|
+
require 'postboost'
|
|
313
|
+
# setup authorization
|
|
314
|
+
PostBoost.configure do |config|
|
|
315
|
+
# Configure Bearer authorization: bearerAuth
|
|
316
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
|
317
|
+
end
|
|
318
|
+
|
|
319
|
+
api_instance = PostBoost::AIApi.new
|
|
320
|
+
workspace_uuid = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | UUID of the workspace.
|
|
321
|
+
run_id = 56 # Integer | The `run_id` from `repurposeContent`.
|
|
322
|
+
|
|
323
|
+
begin
|
|
324
|
+
# Get a repurpose run
|
|
325
|
+
result = api_instance.get_repurpose_run(workspace_uuid, run_id)
|
|
326
|
+
p result
|
|
327
|
+
rescue PostBoost::ApiError => e
|
|
328
|
+
puts "Error when calling AIApi->get_repurpose_run: #{e}"
|
|
329
|
+
end
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
#### Using the get_repurpose_run_with_http_info variant
|
|
333
|
+
|
|
334
|
+
This returns an Array which contains the response data, status code and headers.
|
|
335
|
+
|
|
336
|
+
> <Array(<GetRepurposeRun200Response>, Integer, Hash)> get_repurpose_run_with_http_info(workspace_uuid, run_id)
|
|
337
|
+
|
|
338
|
+
```ruby
|
|
339
|
+
begin
|
|
340
|
+
# Get a repurpose run
|
|
341
|
+
data, status_code, headers = api_instance.get_repurpose_run_with_http_info(workspace_uuid, run_id)
|
|
342
|
+
p status_code # => 2xx
|
|
343
|
+
p headers # => { ... }
|
|
344
|
+
p data # => <GetRepurposeRun200Response>
|
|
345
|
+
rescue PostBoost::ApiError => e
|
|
346
|
+
puts "Error when calling AIApi->get_repurpose_run_with_http_info: #{e}"
|
|
347
|
+
end
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
### Parameters
|
|
351
|
+
|
|
352
|
+
| Name | Type | Description | Notes |
|
|
353
|
+
| ---- | ---- | ----------- | ----- |
|
|
354
|
+
| **workspace_uuid** | **String** | UUID of the workspace. | |
|
|
355
|
+
| **run_id** | **Integer** | The `run_id` from `repurposeContent`. | |
|
|
356
|
+
|
|
357
|
+
### Return type
|
|
358
|
+
|
|
359
|
+
[**GetRepurposeRun200Response**](GetRepurposeRun200Response.md)
|
|
360
|
+
|
|
361
|
+
### Authorization
|
|
362
|
+
|
|
363
|
+
[bearerAuth](../README.md#bearerAuth)
|
|
364
|
+
|
|
365
|
+
### HTTP request headers
|
|
366
|
+
|
|
367
|
+
- **Content-Type**: Not defined
|
|
368
|
+
- **Accept**: application/json
|
|
369
|
+
|
|
370
|
+
|
|
299
371
|
## image_alt_text
|
|
300
372
|
|
|
301
373
|
> <ImageAltText200Response> image_alt_text(workspace_uuid, image_alt_text_input)
|
|
@@ -730,7 +802,7 @@ end
|
|
|
730
802
|
|
|
731
803
|
Repurpose long-form content into a draft post set with a carousel
|
|
732
804
|
|
|
733
|
-
Turns an article URL, a YouTube video, a PDF or pasted text into one **draft** post with a caption for every target account, plus a carousel of rendered slide images (hook, 1 to 6 idea slides, call to action; 1080×1350 PNG). Nothing is published or scheduled. **Sources** (`source_type`): - `url`: the article is fetched and its main text extracted. - `youtube`: title, description and chapters come from YouTube; send the transcript in `transcript` for better results (required when the description is short). - `pdf`: `pdf_url` must be a public PDF of at most 20 MB; the first 30 pages are read. - `text`: send `title` and `text`. **Carousel per network**: Instagram, Facebook, Threads up to 10 slides; LinkedIn up to 9; X and Bluesky up to 4; other networks get the cover slide; YouTube and TikTok get none (listed in `warnings`). Without a carousel, the source image (article image or video thumbnail) is attached when available. **AI credits**: one per target account plus one for the carousel outline. Slides are drawn without AI and cost nothing. The workspace brand voice applies unless `use_brand_voice` is `false`. Send an `Idempotency-Key` so a retried call does not create a second draft. Limited to 10 calls per minute.
|
|
805
|
+
Turns an article URL, a YouTube video, a PDF or pasted text into one **draft** post with a caption for every target account, plus a carousel of rendered slide images (hook, 1 to 6 idea slides, call to action; 1080×1350 PNG). Nothing is published or scheduled. **Sources** (`source_type`): - `url`: the article is fetched and its main text extracted. - `youtube`: title, description and chapters come from YouTube; send the transcript in `transcript` for better results (required when the description is short). - `pdf`: `pdf_url` must be a public PDF of at most 20 MB; the first 30 pages are read. - `text`: send `title` and `text`. **Carousel per network**: Instagram, Facebook, Threads up to 10 slides; LinkedIn up to 9; X and Bluesky up to 4; other networks get the cover slide; YouTube and TikTok get none (listed in `warnings`). Without a carousel, the source image (article image or video thumbnail) is attached when available. **AI credits**: one per target account plus one for the carousel outline. Slides are drawn without AI and cost nothing. The workspace brand voice applies unless `use_brand_voice` is `false`. Send an `Idempotency-Key` so a retried call does not create a second draft. Limited to 10 calls per minute. **Long runs**: the run is queued. The call waits up to 20 seconds and answers `200` with the result when the run finished by then. Otherwise it answers `202` with a `run_id`; poll `getRepurposeRun` (`status_url`) every few seconds until the status is `ok`, `partial` or `failed`. Send `async: true` to get the `202` right away. Validation, account and credit errors are answered before anything is queued.
|
|
734
806
|
|
|
735
807
|
### Examples
|
|
736
808
|
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# PostBoost::GetRepurposeRun200Response
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **data** | [**RepurposeRun**](RepurposeRun.md) | | |
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```ruby
|
|
12
|
+
require 'postboost'
|
|
13
|
+
|
|
14
|
+
instance = PostBoost::GetRepurposeRun200Response.new(
|
|
15
|
+
data: null
|
|
16
|
+
)
|
|
17
|
+
```
|
|
18
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# PostBoost::RepurposeContent202Response
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **data** | [**RepurposeRunAccepted**](RepurposeRunAccepted.md) | | |
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
```ruby
|
|
12
|
+
require 'postboost'
|
|
13
|
+
|
|
14
|
+
instance = PostBoost::RepurposeContent202Response.new(
|
|
15
|
+
data: null
|
|
16
|
+
)
|
|
17
|
+
```
|
|
18
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# PostBoost::RepurposeContent500Response
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **message** | **String** | | |
|
|
8
|
+
| **run_id** | **Integer** | | |
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
```ruby
|
|
13
|
+
require 'postboost'
|
|
14
|
+
|
|
15
|
+
instance = PostBoost::RepurposeContent500Response.new(
|
|
16
|
+
message: The run failed.,
|
|
17
|
+
run_id: null
|
|
18
|
+
)
|
|
19
|
+
```
|
|
20
|
+
|
data/docs/RepurposeInput.md
CHANGED
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
| **theme** | [**RepurposeInputTheme**](RepurposeInputTheme.md) | | [optional] |
|
|
24
24
|
| **create_post** | **Boolean** | Create the draft post. `false` returns captions and slides only. | [optional][default to true] |
|
|
25
25
|
| **use_brand_voice** | **Boolean** | | [optional][default to true] |
|
|
26
|
+
| **async** | **Boolean** | Answer `202` with a run id right away instead of waiting up to 20 seconds for the result. | [optional][default to false] |
|
|
26
27
|
|
|
27
28
|
## Example
|
|
28
29
|
|
|
@@ -48,7 +49,8 @@ instance = PostBoost::RepurposeInput.new(
|
|
|
48
49
|
slide_count: null,
|
|
49
50
|
theme: null,
|
|
50
51
|
create_post: null,
|
|
51
|
-
use_brand_voice: null
|
|
52
|
+
use_brand_voice: null,
|
|
53
|
+
async: null
|
|
52
54
|
)
|
|
53
55
|
```
|
|
54
56
|
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# PostBoost::RepurposeRun
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **run_id** | **Integer** | | |
|
|
8
|
+
| **status** | **String** | | |
|
|
9
|
+
| **error** | **String** | Why the run failed. | |
|
|
10
|
+
| **post_uuid** | **String** | The draft post, once created. | |
|
|
11
|
+
| **credits_used** | **Integer** | | |
|
|
12
|
+
| **result** | [**RepurposeResult**](RepurposeResult.md) | | |
|
|
13
|
+
|
|
14
|
+
## Example
|
|
15
|
+
|
|
16
|
+
```ruby
|
|
17
|
+
require 'postboost'
|
|
18
|
+
|
|
19
|
+
instance = PostBoost::RepurposeRun.new(
|
|
20
|
+
run_id: null,
|
|
21
|
+
status: null,
|
|
22
|
+
error: null,
|
|
23
|
+
post_uuid: null,
|
|
24
|
+
credits_used: null,
|
|
25
|
+
result: null
|
|
26
|
+
)
|
|
27
|
+
```
|
|
28
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# PostBoost::RepurposeRunAccepted
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **run_id** | **Integer** | | |
|
|
8
|
+
| **status** | **String** | | |
|
|
9
|
+
| **status_url** | **String** | The `getRepurposeRun` URL for this run. | |
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
require 'postboost'
|
|
15
|
+
|
|
16
|
+
instance = PostBoost::RepurposeRunAccepted.new(
|
|
17
|
+
run_id: null,
|
|
18
|
+
status: null,
|
|
19
|
+
status_url: null
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms 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.
|
|
6
|
+
The version of the OpenAPI document: 1.19.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 across 12+ platforms 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.
|
|
6
|
+
The version of the OpenAPI document: 1.19.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 across 12+ platforms 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.
|
|
6
|
+
The version of the OpenAPI document: 1.19.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 across 12+ platforms 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.
|
|
6
|
+
The version of the OpenAPI document: 1.19.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|
data/lib/postboost/api/ai_api.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms 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.
|
|
6
|
+
The version of the OpenAPI document: 1.19.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|
|
@@ -282,6 +282,75 @@ module PostBoost
|
|
|
282
282
|
return data, status_code, headers
|
|
283
283
|
end
|
|
284
284
|
|
|
285
|
+
# Get a repurpose run
|
|
286
|
+
# Status of a run started by `repurposeContent`. `queued` and `running` mean it is still going; poll again in a few seconds. A run that has not finished after 10 minutes reports `failed`. `result` holds the same `data` body a `200` from `repurposeContent` returns, for one hour after the run ended with `ok` or `partial`; after that it is `null` (the draft post stays). Limited to 60 calls per minute.
|
|
287
|
+
# @param workspace_uuid [String] UUID of the workspace.
|
|
288
|
+
# @param run_id [Integer] The `run_id` from `repurposeContent`.
|
|
289
|
+
# @param [Hash] opts the optional parameters
|
|
290
|
+
# @return [GetRepurposeRun200Response]
|
|
291
|
+
def get_repurpose_run(workspace_uuid, run_id, opts = {})
|
|
292
|
+
data, _status_code, _headers = get_repurpose_run_with_http_info(workspace_uuid, run_id, opts)
|
|
293
|
+
data
|
|
294
|
+
end
|
|
295
|
+
|
|
296
|
+
# Get a repurpose run
|
|
297
|
+
# Status of a run started by `repurposeContent`. `queued` and `running` mean it is still going; poll again in a few seconds. A run that has not finished after 10 minutes reports `failed`. `result` holds the same `data` body a `200` from `repurposeContent` returns, for one hour after the run ended with `ok` or `partial`; after that it is `null` (the draft post stays). Limited to 60 calls per minute.
|
|
298
|
+
# @param workspace_uuid [String] UUID of the workspace.
|
|
299
|
+
# @param run_id [Integer] The `run_id` from `repurposeContent`.
|
|
300
|
+
# @param [Hash] opts the optional parameters
|
|
301
|
+
# @return [Array<(GetRepurposeRun200Response, Integer, Hash)>] GetRepurposeRun200Response data, response status code and response headers
|
|
302
|
+
def get_repurpose_run_with_http_info(workspace_uuid, run_id, opts = {})
|
|
303
|
+
if @api_client.config.debugging
|
|
304
|
+
@api_client.config.logger.debug 'Calling API: AIApi.get_repurpose_run ...'
|
|
305
|
+
end
|
|
306
|
+
# verify the required parameter 'workspace_uuid' is set
|
|
307
|
+
if @api_client.config.client_side_validation && workspace_uuid.nil?
|
|
308
|
+
fail ArgumentError, "Missing the required parameter 'workspace_uuid' when calling AIApi.get_repurpose_run"
|
|
309
|
+
end
|
|
310
|
+
# verify the required parameter 'run_id' is set
|
|
311
|
+
if @api_client.config.client_side_validation && run_id.nil?
|
|
312
|
+
fail ArgumentError, "Missing the required parameter 'run_id' when calling AIApi.get_repurpose_run"
|
|
313
|
+
end
|
|
314
|
+
# resource path
|
|
315
|
+
local_var_path = '/{workspaceUuid}/ai/repurpose/runs/{runId}'.sub('{' + 'workspaceUuid' + '}', CGI.escape(workspace_uuid.to_s)).sub('{' + 'runId' + '}', CGI.escape(run_id.to_s))
|
|
316
|
+
|
|
317
|
+
# query parameters
|
|
318
|
+
query_params = opts[:query_params] || {}
|
|
319
|
+
|
|
320
|
+
# header parameters
|
|
321
|
+
header_params = opts[:header_params] || {}
|
|
322
|
+
# HTTP header 'Accept' (if needed)
|
|
323
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
324
|
+
|
|
325
|
+
# form parameters
|
|
326
|
+
form_params = opts[:form_params] || {}
|
|
327
|
+
|
|
328
|
+
# http body (model)
|
|
329
|
+
post_body = opts[:debug_body]
|
|
330
|
+
|
|
331
|
+
# return_type
|
|
332
|
+
return_type = opts[:debug_return_type] || 'GetRepurposeRun200Response'
|
|
333
|
+
|
|
334
|
+
# auth_names
|
|
335
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
336
|
+
|
|
337
|
+
new_options = opts.merge(
|
|
338
|
+
:operation => :"AIApi.get_repurpose_run",
|
|
339
|
+
:header_params => header_params,
|
|
340
|
+
:query_params => query_params,
|
|
341
|
+
:form_params => form_params,
|
|
342
|
+
:body => post_body,
|
|
343
|
+
:auth_names => auth_names,
|
|
344
|
+
:return_type => return_type
|
|
345
|
+
)
|
|
346
|
+
|
|
347
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
348
|
+
if @api_client.config.debugging
|
|
349
|
+
@api_client.config.logger.debug "API called: AIApi#get_repurpose_run\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
350
|
+
end
|
|
351
|
+
return data, status_code, headers
|
|
352
|
+
end
|
|
353
|
+
|
|
285
354
|
# Generate alt text for a media image using AI
|
|
286
355
|
# Analyzes an existing workspace media item and generates accessible alt text. The alt text is saved back to the media record. Costs 1 AI credit per call.
|
|
287
356
|
# @param workspace_uuid [String] UUID of the workspace.
|
|
@@ -723,7 +792,7 @@ module PostBoost
|
|
|
723
792
|
end
|
|
724
793
|
|
|
725
794
|
# Repurpose long-form content into a draft post set with a carousel
|
|
726
|
-
# Turns an article URL, a YouTube video, a PDF or pasted text into one **draft** post with a caption for every target account, plus a carousel of rendered slide images (hook, 1 to 6 idea slides, call to action; 1080×1350 PNG). Nothing is published or scheduled. **Sources** (`source_type`): - `url`: the article is fetched and its main text extracted. - `youtube`: title, description and chapters come from YouTube; send the transcript in `transcript` for better results (required when the description is short). - `pdf`: `pdf_url` must be a public PDF of at most 20 MB; the first 30 pages are read. - `text`: send `title` and `text`. **Carousel per network**: Instagram, Facebook, Threads up to 10 slides; LinkedIn up to 9; X and Bluesky up to 4; other networks get the cover slide; YouTube and TikTok get none (listed in `warnings`). Without a carousel, the source image (article image or video thumbnail) is attached when available. **AI credits**: one per target account plus one for the carousel outline. Slides are drawn without AI and cost nothing. The workspace brand voice applies unless `use_brand_voice` is `false`. Send an `Idempotency-Key` so a retried call does not create a second draft. Limited to 10 calls per minute.
|
|
795
|
+
# Turns an article URL, a YouTube video, a PDF or pasted text into one **draft** post with a caption for every target account, plus a carousel of rendered slide images (hook, 1 to 6 idea slides, call to action; 1080×1350 PNG). Nothing is published or scheduled. **Sources** (`source_type`): - `url`: the article is fetched and its main text extracted. - `youtube`: title, description and chapters come from YouTube; send the transcript in `transcript` for better results (required when the description is short). - `pdf`: `pdf_url` must be a public PDF of at most 20 MB; the first 30 pages are read. - `text`: send `title` and `text`. **Carousel per network**: Instagram, Facebook, Threads up to 10 slides; LinkedIn up to 9; X and Bluesky up to 4; other networks get the cover slide; YouTube and TikTok get none (listed in `warnings`). Without a carousel, the source image (article image or video thumbnail) is attached when available. **AI credits**: one per target account plus one for the carousel outline. Slides are drawn without AI and cost nothing. The workspace brand voice applies unless `use_brand_voice` is `false`. Send an `Idempotency-Key` so a retried call does not create a second draft. Limited to 10 calls per minute. **Long runs**: the run is queued. The call waits up to 20 seconds and answers `200` with the result when the run finished by then. Otherwise it answers `202` with a `run_id`; poll `getRepurposeRun` (`status_url`) every few seconds until the status is `ok`, `partial` or `failed`. Send `async: true` to get the `202` right away. Validation, account and credit errors are answered before anything is queued.
|
|
727
796
|
# @param workspace_uuid [String] UUID of the workspace.
|
|
728
797
|
# @param repurpose_input [RepurposeInput]
|
|
729
798
|
# @param [Hash] opts the optional parameters
|
|
@@ -735,7 +804,7 @@ module PostBoost
|
|
|
735
804
|
end
|
|
736
805
|
|
|
737
806
|
# Repurpose long-form content into a draft post set with a carousel
|
|
738
|
-
# Turns an article URL, a YouTube video, a PDF or pasted text into one **draft** post with a caption for every target account, plus a carousel of rendered slide images (hook, 1 to 6 idea slides, call to action; 1080×1350 PNG). Nothing is published or scheduled. **Sources** (`source_type`): - `url`: the article is fetched and its main text extracted. - `youtube`: title, description and chapters come from YouTube; send the transcript in `transcript` for better results (required when the description is short). - `pdf`: `pdf_url` must be a public PDF of at most 20 MB; the first 30 pages are read. - `text`: send `title` and `text`. **Carousel per network**: Instagram, Facebook, Threads up to 10 slides; LinkedIn up to 9; X and Bluesky up to 4; other networks get the cover slide; YouTube and TikTok get none (listed in `warnings`). Without a carousel, the source image (article image or video thumbnail) is attached when available. **AI credits**: one per target account plus one for the carousel outline. Slides are drawn without AI and cost nothing. The workspace brand voice applies unless `use_brand_voice` is `false`. Send an `Idempotency-Key` so a retried call does not create a second draft. Limited to 10 calls per minute.
|
|
807
|
+
# Turns an article URL, a YouTube video, a PDF or pasted text into one **draft** post with a caption for every target account, plus a carousel of rendered slide images (hook, 1 to 6 idea slides, call to action; 1080×1350 PNG). Nothing is published or scheduled. **Sources** (`source_type`): - `url`: the article is fetched and its main text extracted. - `youtube`: title, description and chapters come from YouTube; send the transcript in `transcript` for better results (required when the description is short). - `pdf`: `pdf_url` must be a public PDF of at most 20 MB; the first 30 pages are read. - `text`: send `title` and `text`. **Carousel per network**: Instagram, Facebook, Threads up to 10 slides; LinkedIn up to 9; X and Bluesky up to 4; other networks get the cover slide; YouTube and TikTok get none (listed in `warnings`). Without a carousel, the source image (article image or video thumbnail) is attached when available. **AI credits**: one per target account plus one for the carousel outline. Slides are drawn without AI and cost nothing. The workspace brand voice applies unless `use_brand_voice` is `false`. Send an `Idempotency-Key` so a retried call does not create a second draft. Limited to 10 calls per minute. **Long runs**: the run is queued. The call waits up to 20 seconds and answers `200` with the result when the run finished by then. Otherwise it answers `202` with a `run_id`; poll `getRepurposeRun` (`status_url`) every few seconds until the status is `ok`, `partial` or `failed`. Send `async: true` to get the `202` right away. Validation, account and credit errors are answered before anything is queued.
|
|
739
808
|
# @param workspace_uuid [String] UUID of the workspace.
|
|
740
809
|
# @param repurpose_input [RepurposeInput]
|
|
741
810
|
# @param [Hash] opts the optional parameters
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The PostBoost REST API lets you publish, schedule, and analyze social media posts across 12+ platforms 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.
|
|
6
|
+
The version of the OpenAPI document: 1.19.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 across 12+ platforms 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.
|
|
6
|
+
The version of the OpenAPI document: 1.19.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 across 12+ platforms 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.
|
|
6
|
+
The version of the OpenAPI document: 1.19.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 across 12+ platforms 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.
|
|
6
|
+
The version of the OpenAPI document: 1.19.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 across 12+ platforms 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.
|
|
6
|
+
The version of the OpenAPI document: 1.19.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 across 12+ platforms 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.
|
|
6
|
+
The version of the OpenAPI document: 1.19.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 across 12+ platforms 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.
|
|
6
|
+
The version of the OpenAPI document: 1.19.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 across 12+ platforms 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.
|
|
6
|
+
The version of the OpenAPI document: 1.19.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 across 12+ platforms 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.
|
|
6
|
+
The version of the OpenAPI document: 1.19.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 across 12+ platforms 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.
|
|
6
|
+
The version of the OpenAPI document: 1.19.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 across 12+ platforms 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.
|
|
6
|
+
The version of the OpenAPI document: 1.19.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 across 12+ platforms 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.
|
|
6
|
+
The version of the OpenAPI document: 1.19.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 across 12+ platforms 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.
|
|
6
|
+
The version of the OpenAPI document: 1.19.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 across 12+ platforms 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.
|
|
6
|
+
The version of the OpenAPI document: 1.19.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|