postboost 1.8.0 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CODE_OF_CONDUCT.md +7 -0
- data/CONTRIBUTING.md +31 -0
- data/README.md +134 -1
- data/SECURITY.md +9 -0
- data/docs/AIApi.md +432 -0
- data/docs/AIUsage.md +20 -0
- data/docs/AIUsageText.md +24 -0
- data/docs/Account.md +6 -2
- data/docs/AccountConnectionHealth.md +34 -0
- data/docs/AccountErrorsInner.md +49 -0
- data/docs/AccountErrorsInnerOneOf.md +24 -0
- data/docs/AccountGroup.md +24 -0
- data/docs/AccountGroupInput.md +20 -0
- data/docs/AccountGroupsApi.md +372 -0
- data/docs/AccountHealth.md +34 -0
- data/docs/AccountHealthDailyCap.md +20 -0
- data/docs/AccountsApi.md +216 -0
- data/docs/ActivityApi.md +87 -0
- data/docs/AddCompetitor202Response.md +20 -0
- data/docs/AddCompetitor409Response.md +20 -0
- data/docs/AgentPageMeta.md +24 -0
- data/docs/AgentProposal.md +44 -0
- data/docs/AgentProposalDecision.md +18 -0
- data/docs/AgentRun.md +44 -0
- data/docs/AgentsApi.md +745 -0
- data/docs/AnalyticsApi.md +498 -0
- data/docs/ApiActivity.md +36 -0
- data/docs/ApiActivityOutcome.md +15 -0
- data/docs/ApiKey.md +32 -0
- data/docs/ApiKeyAbility.md +15 -0
- data/docs/ApiKeyInput.md +24 -0
- data/docs/ApproveAgentProposal200Response.md +18 -0
- data/docs/ApproveAgentProposal409Response.md +20 -0
- data/docs/ApproveInboxReplyDraft403Response.md +20 -0
- data/docs/BlogToSocial200Response.md +3 -1
- data/docs/BlogToSocialInput.md +3 -1
- data/docs/BrandVoice.md +48 -0
- data/docs/BrandVoiceInput.md +46 -0
- data/docs/BrandVoiceMeta.md +18 -0
- data/docs/ChannelAccount.md +36 -0
- data/docs/CodedError.md +22 -0
- data/docs/Competitor.md +34 -0
- data/docs/CompetitorDetail.md +38 -0
- data/docs/CompetitorInput.md +20 -0
- data/docs/CompetitorMedia.md +28 -0
- data/docs/CompetitorSnapshot.md +22 -0
- data/docs/CompetitorsApi.md +296 -0
- data/docs/ConnectChannelInput.md +24 -0
- data/docs/CreateAccountGroup201Response.md +18 -0
- data/docs/CreateAgent201Response.md +18 -0
- data/docs/CreateApiKey201Response.md +18 -0
- data/docs/CreateApiKey201ResponseData.md +34 -0
- data/docs/CreateHashtagGroup201Response.md +18 -0
- data/docs/CreateInboxReplyDraft201Response.md +18 -0
- data/docs/CreateRecyclingRule201Response.md +18 -0
- data/docs/CreateReportExport201Response.md +18 -0
- data/docs/CreateResellerClient201Response.md +18 -0
- data/docs/CreateRssFeed201Response.md +18 -0
- data/docs/CreateTemplate201Response.md +18 -0
- data/docs/CreateWebhookSubscription201Response.md +18 -0
- data/docs/CreateWebhookSubscription201ResponseData.md +30 -0
- data/docs/DeleteAgent200Response.md +18 -0
- data/docs/GetAccountHealth200Response.md +18 -0
- data/docs/GetBrandVoice200Response.md +18 -0
- data/docs/GetCompetitor200Response.md +18 -0
- data/docs/GetInboxConversation200Response.md +18 -0
- data/docs/GetPostingSchedule200Response.md +18 -0
- data/docs/GetReportBranding200Response.md +18 -0
- data/docs/GuardrailError.md +28 -0
- data/docs/HashtagGroup.md +22 -0
- data/docs/HashtagGroupInput.md +20 -0
- data/docs/HashtagGroupsApi.md +372 -0
- data/docs/ImageCreditBalance.md +28 -0
- data/docs/ImageEditInput.md +2 -0
- data/docs/ImageGenerate200Response.md +3 -1
- data/docs/ImageGenerateInput.md +3 -1
- data/docs/ImagePrompt200Response.md +3 -1
- data/docs/ImagePromptInput.md +3 -1
- data/docs/InboxApi.md +758 -0
- data/docs/InboxAuthor.md +22 -0
- data/docs/InboxConversation.md +46 -0
- data/docs/InboxConversationAccount.md +24 -0
- data/docs/InboxConversationUpdate.md +20 -0
- data/docs/InboxMessage.md +32 -0
- data/docs/InboxMessageAuthor.md +22 -0
- data/docs/InboxReplyDraft.md +42 -0
- data/docs/InboxReplyDraftApprove.md +18 -0
- data/docs/InboxReplyDraftEdit.md +18 -0
- data/docs/InboxReplyDraftInput.md +20 -0
- data/docs/LearnBrandVoiceInput.md +24 -0
- data/docs/LearnBrandVoiceResponse.md +20 -0
- data/docs/LearnBrandVoiceResponseMeta.md +26 -0
- data/docs/ListAccountGroups200Response.md +22 -0
- data/docs/ListAgentProposals200Response.md +20 -0
- data/docs/ListAgentRuns200Response.md +20 -0
- data/docs/ListAgents200Response.md +18 -0
- data/docs/ListApiActivity200Response.md +22 -0
- data/docs/ListApiKeys200Response.md +18 -0
- data/docs/ListCompetitors200Response.md +18 -0
- data/docs/ListHashtagGroups200Response.md +22 -0
- data/docs/ListInboxConversations200Response.md +22 -0
- data/docs/ListInboxReplyDrafts200Response.md +22 -0
- data/docs/ListRecyclingRules200Response.md +18 -0
- data/docs/ListRecyclingRuns200Response.md +18 -0
- data/docs/ListReportExports200Response.md +18 -0
- data/docs/ListResellerClients200Response.md +20 -0
- data/docs/ListRssFeeds200Response.md +18 -0
- data/docs/ListTemplates200Response.md +22 -0
- data/docs/ListWebhookSubscriptions200Response.md +18 -0
- data/docs/MediaApi.md +103 -13
- data/docs/MediaBase64Input.md +24 -0
- data/docs/MentionsApi.md +8 -4
- data/docs/MessageOnly.md +18 -0
- data/docs/PollRssFeed200Response.md +22 -0
- data/docs/PostContent.md +1 -1
- data/docs/PostInput.md +5 -1
- data/docs/PostOptionsInstagram.md +22 -0
- data/docs/PostOptionsTikTok.md +34 -0
- data/docs/PostOptionsYoutube.md +24 -0
- data/docs/PostVersion.md +2 -2
- data/docs/PostVersionOptions.md +24 -0
- data/docs/PostingSchedule.md +28 -0
- data/docs/PostingScheduleApi.md +377 -0
- data/docs/PostingScheduleDay.md +22 -0
- data/docs/PostingScheduleDayTimesInner.md +18 -0
- data/docs/PostingScheduleInput.md +24 -0
- data/docs/PostsApi.md +1132 -110
- data/docs/PreflightResult.md +26 -0
- data/docs/QueueSlots.md +20 -0
- data/docs/RecommendedPostingTimes.md +26 -0
- data/docs/ReconnectLink.md +22 -0
- data/docs/RecyclingRule.md +42 -0
- data/docs/RecyclingRuleInput.md +34 -0
- data/docs/RecyclingRuleSettings.md +28 -0
- data/docs/RecyclingRuleUpdate.md +28 -0
- data/docs/RecyclingRun.md +28 -0
- data/docs/ReportBranding.md +28 -0
- data/docs/ReportBrandingInput.md +24 -0
- data/docs/ReportExport.md +42 -0
- data/docs/ReportExportInput.md +28 -0
- data/docs/RepurposeContent200Response.md +20 -0
- data/docs/RepurposeInput.md +54 -0
- data/docs/RepurposeInputTheme.md +22 -0
- data/docs/RepurposeResult.md +32 -0
- data/docs/RepurposeResultMedia.md +20 -0
- data/docs/RepurposeResultSource.md +22 -0
- data/docs/RepurposeSlide.md +20 -0
- data/docs/ResellerClient.md +32 -0
- data/docs/ResellerClientInput.md +18 -0
- data/docs/ResellerClientUsage.md +20 -0
- data/docs/RssFeed.md +38 -0
- data/docs/RssFeedInput.md +30 -0
- data/docs/RssFeedUpdate.md +30 -0
- data/docs/RunAgent202Response.md +18 -0
- data/docs/TagsApi.md +8 -4
- data/docs/Template.md +22 -0
- data/docs/TemplateContentItem.md +20 -0
- data/docs/TemplateInput.md +20 -0
- data/docs/TemplateInputContentInner.md +20 -0
- data/docs/TemplatesApi.md +372 -0
- data/docs/WebhookEventName.md +15 -0
- data/docs/WebhookEventPayload.md +20 -0
- data/docs/WebhookSubscription.md +28 -0
- data/docs/WebhookSubscriptionInput.md +24 -0
- data/docs/WebhooksApi.md +221 -0
- data/docs/WorkspaceAgent.md +34 -0
- data/docs/WorkspaceAgentInput.md +26 -0
- data/docs/WorkspaceAgentSettings.md +26 -0
- data/docs/WorkspaceAgentUpdate.md +24 -0
- data/docs/WorkspacesApi.md +426 -0
- data/docs/XUsage.md +28 -0
- data/docs/XUsageCounter.md +20 -0
- data/lib/postboost/api/account_groups_api.rb +395 -0
- data/lib/postboost/api/accounts_api.rb +219 -2
- data/lib/postboost/api/activity_api.rb +97 -0
- data/lib/postboost/api/agents_api.rb +771 -0
- data/lib/postboost/api/ai_api.rb +420 -2
- data/lib/postboost/api/analytics_api.rb +487 -2
- data/lib/postboost/api/competitors_api.rb +300 -0
- data/lib/postboost/api/hashtag_groups_api.rb +395 -0
- data/lib/postboost/api/inbox_api.rb +789 -0
- data/lib/postboost/api/media_api.rb +133 -4
- data/lib/postboost/api/mentions_api.rb +13 -2
- data/lib/postboost/api/posting_schedule_api.rb +389 -0
- data/lib/postboost/api/posts_api.rb +1149 -96
- data/lib/postboost/api/receipts_api.rb +2 -2
- data/lib/postboost/api/subscriptions_api.rb +2 -2
- data/lib/postboost/api/tags_api.rb +13 -2
- data/lib/postboost/api/templates_api.rb +395 -0
- data/lib/postboost/api/users_api.rb +2 -2
- data/lib/postboost/api/webhooks_api.rb +228 -0
- data/lib/postboost/api/workspaces_api.rb +408 -2
- data/lib/postboost/api_client.rb +2 -2
- data/lib/postboost/api_error.rb +2 -2
- data/lib/postboost/configuration.rb +2 -2
- data/lib/postboost/models/account.rb +28 -4
- data/lib/postboost/models/account_analytics.rb +2 -2
- data/lib/postboost/models/account_analytics_initial_sync.rb +2 -2
- data/lib/postboost/models/account_connection_health.rb +389 -0
- data/lib/postboost/models/account_errors_inner.rb +105 -0
- data/lib/postboost/models/account_errors_inner_one_of.rb +243 -0
- data/lib/postboost/models/account_group.rb +271 -0
- data/lib/postboost/models/account_group_input.rb +252 -0
- data/lib/postboost/models/account_health.rb +352 -0
- data/lib/postboost/models/account_health_daily_cap.rb +239 -0
- data/lib/postboost/models/account_schedule.rb +2 -2
- data/lib/postboost/models/add_competitor202_response.rb +271 -0
- data/lib/postboost/models/add_competitor409_response.rb +223 -0
- data/lib/postboost/models/add_generic_subscription_request.rb +2 -2
- data/lib/postboost/models/add_post_to_queue_request.rb +2 -2
- data/lib/postboost/models/agent_page_meta.rb +269 -0
- data/lib/postboost/models/agent_proposal.rb +444 -0
- data/lib/postboost/models/agent_proposal_decision.rb +233 -0
- data/lib/postboost/models/agent_run.rb +434 -0
- data/lib/postboost/models/ai_credits.rb +2 -2
- data/lib/postboost/models/ai_usage.rb +237 -0
- data/lib/postboost/models/ai_usage_text.rb +252 -0
- data/lib/postboost/models/analytics_period.rb +2 -2
- data/lib/postboost/models/analytics_summary.rb +2 -2
- data/lib/postboost/models/analytics_summary_data.rb +2 -2
- data/lib/postboost/models/api_activity.rb +359 -0
- data/lib/postboost/models/api_activity_outcome.rb +49 -0
- data/lib/postboost/models/api_key.rb +308 -0
- data/lib/postboost/models/api_key_ability.rb +43 -0
- data/lib/postboost/models/api_key_input.rb +316 -0
- data/lib/postboost/models/approve_agent_proposal200_response.rb +221 -0
- data/lib/postboost/models/approve_agent_proposal409_response.rb +237 -0
- data/lib/postboost/models/approve_inbox_reply_draft403_response.rb +264 -0
- data/lib/postboost/models/approve_post_request.rb +2 -2
- data/lib/postboost/models/best_posting_times.rb +2 -2
- data/lib/postboost/models/best_posting_times_times_inner.rb +2 -2
- data/lib/postboost/models/blog_to_social200_response.rb +15 -6
- data/lib/postboost/models/blog_to_social429_response.rb +2 -2
- data/lib/postboost/models/blog_to_social_caption.rb +2 -2
- data/lib/postboost/models/blog_to_social_input.rb +18 -6
- data/lib/postboost/models/blog_to_social_media.rb +2 -2
- data/lib/postboost/models/blog_to_social_response.rb +2 -2
- data/lib/postboost/models/brand_voice.rb +531 -0
- data/lib/postboost/models/brand_voice_input.rb +646 -0
- data/lib/postboost/models/brand_voice_meta.rb +222 -0
- data/lib/postboost/models/cancel_subscription422_response.rb +2 -2
- data/lib/postboost/models/cancel_subscription422_response_errors.rb +2 -2
- data/lib/postboost/models/cancel_subscription_request.rb +2 -2
- data/lib/postboost/models/change_subscription_plan_request.rb +2 -2
- data/lib/postboost/models/channel_account.rb +380 -0
- data/lib/postboost/models/checkout_subscription200_response.rb +2 -2
- data/lib/postboost/models/checkout_subscription_request.rb +2 -2
- data/lib/postboost/models/coded_error.rb +242 -0
- data/lib/postboost/models/competitor.rb +320 -0
- data/lib/postboost/models/competitor_detail.rb +358 -0
- data/lib/postboost/models/competitor_input.rb +258 -0
- data/lib/postboost/models/competitor_media.rb +263 -0
- data/lib/postboost/models/competitor_snapshot.rb +234 -0
- data/lib/postboost/models/complete_chunked_upload_request.rb +2 -2
- data/lib/postboost/models/connect_channel_input.rb +265 -0
- data/lib/postboost/models/create_account_group201_response.rb +221 -0
- data/lib/postboost/models/create_agent201_response.rb +221 -0
- data/lib/postboost/models/create_api_key201_response.rb +221 -0
- data/lib/postboost/models/create_api_key201_response_data.rb +327 -0
- data/lib/postboost/models/create_hashtag_group201_response.rb +221 -0
- data/lib/postboost/models/create_inbox_reply_draft201_response.rb +221 -0
- data/lib/postboost/models/create_media_folder_request.rb +2 -2
- data/lib/postboost/models/create_mention201_response.rb +2 -2
- data/lib/postboost/models/create_recycling_rule201_response.rb +221 -0
- data/lib/postboost/models/create_report_export201_response.rb +221 -0
- data/lib/postboost/models/create_reseller_client201_response.rb +221 -0
- data/lib/postboost/models/create_rss_feed201_response.rb +221 -0
- data/lib/postboost/models/create_template201_response.rb +221 -0
- data/lib/postboost/models/create_webhook_subscription201_response.rb +221 -0
- data/lib/postboost/models/create_webhook_subscription201_response_data.rb +320 -0
- data/lib/postboost/models/delete_agent200_response.rb +221 -0
- data/lib/postboost/models/delete_media_bulk_request.rb +2 -2
- data/lib/postboost/models/delete_media_bulk_request_items_inner.rb +2 -2
- data/lib/postboost/models/delete_media_folder_request.rb +2 -2
- data/lib/postboost/models/delete_mode.rb +2 -2
- data/lib/postboost/models/delete_post_request.rb +2 -2
- data/lib/postboost/models/delete_posts_bulk_request.rb +2 -2
- data/lib/postboost/models/delete_receipts_bulk_request.rb +2 -2
- data/lib/postboost/models/delete_result.rb +2 -2
- data/lib/postboost/models/delete_user400_response.rb +2 -2
- data/lib/postboost/models/delete_users_bulk_request.rb +2 -2
- data/lib/postboost/models/delete_workspaces_bulk_request.rb +2 -2
- data/lib/postboost/models/get_account_health200_response.rb +223 -0
- data/lib/postboost/models/get_brand_voice200_response.rb +217 -0
- data/lib/postboost/models/get_competitor200_response.rb +221 -0
- data/lib/postboost/models/get_inbox_conversation200_response.rb +221 -0
- data/lib/postboost/models/get_posting_schedule200_response.rb +221 -0
- data/lib/postboost/models/get_remote_upload_status200_response.rb +2 -2
- data/lib/postboost/models/get_report_branding200_response.rb +221 -0
- data/lib/postboost/models/guardrail_error.rb +304 -0
- data/lib/postboost/models/hashtag_group.rb +254 -0
- data/lib/postboost/models/hashtag_group_input.rb +275 -0
- data/lib/postboost/models/image_alt_text200_response.rb +2 -2
- data/lib/postboost/models/image_alt_text_input.rb +2 -2
- data/lib/postboost/models/image_alt_text_response.rb +2 -2
- data/lib/postboost/models/image_credit_balance.rb +295 -0
- data/lib/postboost/models/image_edit_input.rb +15 -3
- data/lib/postboost/models/image_generate200_response.rb +15 -6
- data/lib/postboost/models/image_generate429_response.rb +2 -2
- data/lib/postboost/models/image_generate_input.rb +35 -3
- data/lib/postboost/models/image_generation_response.rb +2 -2
- data/lib/postboost/models/image_prompt200_response.rb +15 -6
- data/lib/postboost/models/image_prompt429_response.rb +2 -2
- data/lib/postboost/models/image_prompt_input.rb +35 -3
- data/lib/postboost/models/image_prompt_response.rb +2 -2
- data/lib/postboost/models/image_variations200_response.rb +2 -2
- data/lib/postboost/models/image_variations_input.rb +2 -2
- data/lib/postboost/models/image_variations_response.rb +2 -2
- data/lib/postboost/models/inbox_author.rb +235 -0
- data/lib/postboost/models/inbox_conversation.rb +425 -0
- data/lib/postboost/models/inbox_conversation_account.rb +241 -0
- data/lib/postboost/models/inbox_conversation_update.rb +257 -0
- data/lib/postboost/models/inbox_message.rb +360 -0
- data/lib/postboost/models/inbox_message_author.rb +235 -0
- data/lib/postboost/models/inbox_reply_draft.rb +410 -0
- data/lib/postboost/models/inbox_reply_draft_approve.rb +215 -0
- data/lib/postboost/models/inbox_reply_draft_edit.rb +221 -0
- data/lib/postboost/models/inbox_reply_draft_input.rb +232 -0
- data/lib/postboost/models/initiate_chunked_upload201_response.rb +2 -2
- data/lib/postboost/models/initiate_chunked_upload_request.rb +2 -2
- data/lib/postboost/models/initiate_remote_upload201_response.rb +2 -2
- data/lib/postboost/models/initiate_remote_upload201_response_one_of.rb +2 -2
- data/lib/postboost/models/initiate_remote_upload_request.rb +2 -2
- data/lib/postboost/models/learn_brand_voice_input.rb +300 -0
- data/lib/postboost/models/learn_brand_voice_response.rb +237 -0
- data/lib/postboost/models/learn_brand_voice_response_meta.rb +281 -0
- data/lib/postboost/models/list_account_groups200_response.rb +248 -0
- data/lib/postboost/models/list_accounts200_response.rb +2 -2
- data/lib/postboost/models/list_agent_proposals200_response.rb +239 -0
- data/lib/postboost/models/list_agent_runs200_response.rb +239 -0
- data/lib/postboost/models/list_agents200_response.rb +223 -0
- data/lib/postboost/models/list_api_activity200_response.rb +241 -0
- data/lib/postboost/models/list_api_keys200_response.rb +223 -0
- data/lib/postboost/models/list_competitors200_response.rb +223 -0
- data/lib/postboost/models/list_hashtag_groups200_response.rb +248 -0
- data/lib/postboost/models/list_inbox_conversations200_response.rb +241 -0
- data/lib/postboost/models/list_inbox_reply_drafts200_response.rb +241 -0
- data/lib/postboost/models/list_media200_response.rb +2 -2
- data/lib/postboost/models/list_media_folders200_response.rb +2 -2
- data/lib/postboost/models/list_mentions200_response.rb +2 -2
- data/lib/postboost/models/list_my_workspaces200_response.rb +2 -2
- data/lib/postboost/models/list_posts200_response.rb +2 -2
- data/lib/postboost/models/list_receipts200_response.rb +2 -2
- data/lib/postboost/models/list_recycling_rules200_response.rb +223 -0
- data/lib/postboost/models/list_recycling_runs200_response.rb +223 -0
- data/lib/postboost/models/list_report_exports200_response.rb +223 -0
- data/lib/postboost/models/list_reseller_clients200_response.rb +239 -0
- data/lib/postboost/models/list_rss_feeds200_response.rb +223 -0
- data/lib/postboost/models/list_tags200_response.rb +2 -2
- data/lib/postboost/models/list_templates200_response.rb +248 -0
- data/lib/postboost/models/list_users200_response.rb +2 -2
- data/lib/postboost/models/list_webhook_subscriptions200_response.rb +223 -0
- data/lib/postboost/models/list_workspaces200_response.rb +2 -2
- data/lib/postboost/models/media.rb +2 -2
- data/lib/postboost/models/media_base64_input.rb +295 -0
- data/lib/postboost/models/media_folder.rb +2 -2
- data/lib/postboost/models/media_folder_input.rb +2 -2
- data/lib/postboost/models/media_folder_ref.rb +2 -2
- data/lib/postboost/models/mention.rb +2 -2
- data/lib/postboost/models/mention_identity.rb +2 -2
- data/lib/postboost/models/mention_identity_input.rb +2 -2
- data/lib/postboost/models/mention_input.rb +2 -2
- data/lib/postboost/models/message_only.rb +221 -0
- data/lib/postboost/models/pagination_meta.rb +2 -2
- data/lib/postboost/models/pagination_meta_links.rb +4 -2
- data/lib/postboost/models/pagination_meta_meta.rb +4 -2
- data/lib/postboost/models/poll_rss_feed200_response.rb +255 -0
- data/lib/postboost/models/post.rb +2 -2
- data/lib/postboost/models/post_analytics.rb +2 -2
- data/lib/postboost/models/post_content.rb +4 -3
- data/lib/postboost/models/post_input.rb +28 -6
- data/lib/postboost/models/post_options_instagram.rb +294 -0
- data/lib/postboost/models/post_options_tik_tok.rb +329 -0
- data/lib/postboost/models/post_options_youtube.rb +302 -0
- data/lib/postboost/models/post_status.rb +2 -2
- data/lib/postboost/models/post_version.rb +23 -4
- data/lib/postboost/models/post_version_options.rb +242 -0
- data/lib/postboost/models/posting_schedule.rb +303 -0
- data/lib/postboost/models/posting_schedule_day.rb +285 -0
- data/lib/postboost/models/posting_schedule_day_times_inner.rb +222 -0
- data/lib/postboost/models/posting_schedule_input.rb +312 -0
- data/lib/postboost/models/posting_time_slot.rb +2 -2
- data/lib/postboost/models/posting_times.rb +2 -2
- data/lib/postboost/models/posting_times_best_inner.rb +2 -2
- data/lib/postboost/models/posting_times_day_intervals_inner_inner.rb +2 -2
- data/lib/postboost/models/posting_times_days_inner.rb +2 -2
- data/lib/postboost/models/preflight_result.rb +291 -0
- data/lib/postboost/models/public_workspace.rb +2 -2
- data/lib/postboost/models/public_workspace_pivot.rb +2 -2
- data/lib/postboost/models/publish_progress.rb +2 -2
- data/lib/postboost/models/queue_slots.rb +237 -0
- data/lib/postboost/models/receipt.rb +2 -2
- data/lib/postboost/models/receipt_input.rb +2 -2
- data/lib/postboost/models/receipt_update_input.rb +2 -2
- data/lib/postboost/models/recommended_posting_times.rb +282 -0
- data/lib/postboost/models/reconnect_link.rb +254 -0
- data/lib/postboost/models/recycling_rule.rb +434 -0
- data/lib/postboost/models/recycling_rule_input.rb +435 -0
- data/lib/postboost/models/recycling_rule_settings.rb +381 -0
- data/lib/postboost/models/recycling_rule_update.rb +366 -0
- data/lib/postboost/models/recycling_run.rb +320 -0
- data/lib/postboost/models/remove_generic_subscription422_response.rb +2 -2
- data/lib/postboost/models/remove_user_from_workspace_request.rb +2 -2
- data/lib/postboost/models/report_branding.rb +285 -0
- data/lib/postboost/models/report_branding_input.rb +293 -0
- data/lib/postboost/models/report_export.rb +442 -0
- data/lib/postboost/models/report_export_input.rb +350 -0
- data/lib/postboost/models/repurpose_content200_response.rb +237 -0
- data/lib/postboost/models/repurpose_input.rb +667 -0
- data/lib/postboost/models/repurpose_input_theme.rb +296 -0
- data/lib/postboost/models/repurpose_result.rb +328 -0
- data/lib/postboost/models/repurpose_result_media.rb +224 -0
- data/lib/postboost/models/repurpose_result_source.rb +283 -0
- data/lib/postboost/models/repurpose_slide.rb +239 -0
- data/lib/postboost/models/reseller_client.rb +360 -0
- data/lib/postboost/models/reseller_client_input.rb +240 -0
- data/lib/postboost/models/reseller_client_usage.rb +239 -0
- data/lib/postboost/models/retry_post_account_result.rb +2 -2
- data/lib/postboost/models/rss_feed.rb +402 -0
- data/lib/postboost/models/rss_feed_input.rb +433 -0
- data/lib/postboost/models/rss_feed_update.rb +396 -0
- data/lib/postboost/models/run_agent202_response.rb +221 -0
- data/lib/postboost/models/schedule_post_request.rb +2 -2
- data/lib/postboost/models/schedule_result.rb +2 -2
- data/lib/postboost/models/subscription.rb +2 -2
- data/lib/postboost/models/subscription_input.rb +2 -2
- data/lib/postboost/models/subscription_status.rb +2 -2
- data/lib/postboost/models/subscription_update_input.rb +2 -2
- data/lib/postboost/models/tag.rb +2 -2
- data/lib/postboost/models/tag_input.rb +2 -2
- data/lib/postboost/models/template.rb +256 -0
- data/lib/postboost/models/template_content_item.rb +240 -0
- data/lib/postboost/models/template_input.rb +271 -0
- data/lib/postboost/models/template_input_content_inner.rb +227 -0
- data/lib/postboost/models/update_media_request.rb +2 -2
- data/lib/postboost/models/upload_chunk201_response.rb +2 -2
- data/lib/postboost/models/user.rb +2 -2
- data/lib/postboost/models/user_input.rb +2 -2
- data/lib/postboost/models/user_update_input.rb +2 -2
- data/lib/postboost/models/webhook_event_name.rb +50 -0
- data/lib/postboost/models/webhook_event_payload.rb +262 -0
- data/lib/postboost/models/webhook_subscription.rb +297 -0
- data/lib/postboost/models/webhook_subscription_input.rb +349 -0
- data/lib/postboost/models/workspace.rb +2 -2
- data/lib/postboost/models/workspace_agent.rb +381 -0
- data/lib/postboost/models/workspace_agent_input.rb +326 -0
- data/lib/postboost/models/workspace_agent_settings.rb +340 -0
- data/lib/postboost/models/workspace_agent_update.rb +294 -0
- data/lib/postboost/models/workspace_input.rb +2 -2
- data/lib/postboost/models/workspace_user_input.rb +2 -2
- data/lib/postboost/models/x_usage.rb +303 -0
- data/lib/postboost/models/x_usage_counter.rb +234 -0
- data/lib/postboost/version.rb +3 -3
- data/lib/postboost.rb +151 -2
- data/postboost.gemspec +3 -3
- data/spec/api/account_groups_api_spec.rb +102 -0
- data/spec/api/accounts_api_spec.rb +41 -2
- data/spec/api/activity_api_spec.rb +51 -0
- data/spec/api/agents_api_spec.rb +170 -0
- data/spec/api/ai_api_spec.rb +78 -2
- data/spec/api/analytics_api_spec.rb +90 -2
- data/spec/api/competitors_api_spec.rb +87 -0
- data/spec/api/hashtag_groups_api_spec.rb +102 -0
- data/spec/api/inbox_api_spec.rb +178 -0
- data/spec/api/media_api_spec.rb +21 -3
- data/spec/api/mentions_api_spec.rb +3 -2
- data/spec/api/posting_schedule_api_spec.rb +102 -0
- data/spec/api/posts_api_spec.rb +189 -3
- data/spec/api/receipts_api_spec.rb +2 -2
- data/spec/api/subscriptions_api_spec.rb +2 -2
- data/spec/api/tags_api_spec.rb +3 -2
- data/spec/api/templates_api_spec.rb +102 -0
- data/spec/api/users_api_spec.rb +2 -2
- data/spec/api/webhooks_api_spec.rb +73 -0
- data/spec/api/workspaces_api_spec.rb +77 -2
- data/spec/models/account_analytics_initial_sync_spec.rb +2 -2
- data/spec/models/account_analytics_spec.rb +2 -2
- data/spec/models/account_connection_health_spec.rb +92 -0
- data/spec/models/account_errors_inner_one_of_spec.rb +54 -0
- data/spec/models/account_errors_inner_spec.rb +32 -0
- data/spec/models/account_group_input_spec.rb +42 -0
- data/spec/models/account_group_spec.rb +54 -0
- data/spec/models/account_health_daily_cap_spec.rb +42 -0
- data/spec/models/account_health_spec.rb +84 -0
- data/spec/models/account_schedule_spec.rb +2 -2
- data/spec/models/account_spec.rb +14 -2
- data/spec/models/add_competitor202_response_spec.rb +46 -0
- data/spec/models/add_competitor409_response_spec.rb +42 -0
- data/spec/models/add_generic_subscription_request_spec.rb +2 -2
- data/spec/models/add_post_to_queue_request_spec.rb +2 -2
- data/spec/models/agent_page_meta_spec.rb +54 -0
- data/spec/models/agent_proposal_decision_spec.rb +36 -0
- data/spec/models/agent_proposal_spec.rb +126 -0
- data/spec/models/agent_run_spec.rb +122 -0
- data/spec/models/ai_credits_spec.rb +2 -2
- data/spec/models/ai_usage_spec.rb +42 -0
- data/spec/models/ai_usage_text_spec.rb +54 -0
- data/spec/models/analytics_period_spec.rb +2 -2
- data/spec/models/analytics_summary_data_spec.rb +2 -2
- data/spec/models/analytics_summary_spec.rb +2 -2
- data/spec/models/api_activity_outcome_spec.rb +30 -0
- data/spec/models/api_activity_spec.rb +90 -0
- data/spec/models/api_key_ability_spec.rb +30 -0
- data/spec/models/api_key_input_spec.rb +54 -0
- data/spec/models/api_key_spec.rb +78 -0
- data/spec/models/approve_agent_proposal200_response_spec.rb +36 -0
- data/spec/models/approve_agent_proposal409_response_spec.rb +42 -0
- data/spec/models/approve_inbox_reply_draft403_response_spec.rb +46 -0
- data/spec/models/approve_post_request_spec.rb +2 -2
- data/spec/models/best_posting_times_spec.rb +2 -2
- data/spec/models/best_posting_times_times_inner_spec.rb +2 -2
- data/spec/models/blog_to_social200_response_spec.rb +8 -2
- data/spec/models/blog_to_social429_response_spec.rb +2 -2
- data/spec/models/blog_to_social_caption_spec.rb +2 -2
- data/spec/models/blog_to_social_input_spec.rb +8 -2
- data/spec/models/blog_to_social_media_spec.rb +2 -2
- data/spec/models/blog_to_social_response_spec.rb +2 -2
- data/spec/models/brand_voice_input_spec.rb +128 -0
- data/spec/models/brand_voice_meta_spec.rb +36 -0
- data/spec/models/brand_voice_spec.rb +134 -0
- data/spec/models/cancel_subscription422_response_errors_spec.rb +2 -2
- data/spec/models/cancel_subscription422_response_spec.rb +2 -2
- data/spec/models/cancel_subscription_request_spec.rb +2 -2
- data/spec/models/change_subscription_plan_request_spec.rb +2 -2
- data/spec/models/channel_account_spec.rb +94 -0
- data/spec/models/checkout_subscription200_response_spec.rb +2 -2
- data/spec/models/checkout_subscription_request_spec.rb +2 -2
- data/spec/models/coded_error_spec.rb +48 -0
- data/spec/models/competitor_detail_spec.rb +96 -0
- data/spec/models/competitor_input_spec.rb +42 -0
- data/spec/models/competitor_media_spec.rb +66 -0
- data/spec/models/competitor_snapshot_spec.rb +48 -0
- data/spec/models/competitor_spec.rb +84 -0
- data/spec/models/complete_chunked_upload_request_spec.rb +2 -2
- data/spec/models/connect_channel_input_spec.rb +54 -0
- data/spec/models/create_account_group201_response_spec.rb +36 -0
- data/spec/models/create_agent201_response_spec.rb +36 -0
- data/spec/models/create_api_key201_response_data_spec.rb +84 -0
- data/spec/models/create_api_key201_response_spec.rb +36 -0
- data/spec/models/create_hashtag_group201_response_spec.rb +36 -0
- data/spec/models/create_inbox_reply_draft201_response_spec.rb +36 -0
- data/spec/models/create_media_folder_request_spec.rb +2 -2
- data/spec/models/create_mention201_response_spec.rb +2 -2
- data/spec/models/create_recycling_rule201_response_spec.rb +36 -0
- data/spec/models/create_report_export201_response_spec.rb +36 -0
- data/spec/models/create_reseller_client201_response_spec.rb +36 -0
- data/spec/models/create_rss_feed201_response_spec.rb +36 -0
- data/spec/models/create_template201_response_spec.rb +36 -0
- data/spec/models/create_webhook_subscription201_response_data_spec.rb +72 -0
- data/spec/models/create_webhook_subscription201_response_spec.rb +36 -0
- data/spec/models/delete_agent200_response_spec.rb +36 -0
- data/spec/models/delete_media_bulk_request_items_inner_spec.rb +2 -2
- data/spec/models/delete_media_bulk_request_spec.rb +2 -2
- data/spec/models/delete_media_folder_request_spec.rb +2 -2
- data/spec/models/delete_mode_spec.rb +2 -2
- data/spec/models/delete_post_request_spec.rb +2 -2
- data/spec/models/delete_posts_bulk_request_spec.rb +2 -2
- data/spec/models/delete_receipts_bulk_request_spec.rb +2 -2
- data/spec/models/delete_result_spec.rb +2 -2
- data/spec/models/delete_user400_response_spec.rb +2 -2
- data/spec/models/delete_users_bulk_request_spec.rb +2 -2
- data/spec/models/delete_workspaces_bulk_request_spec.rb +2 -2
- data/spec/models/get_account_health200_response_spec.rb +36 -0
- data/spec/models/get_brand_voice200_response_spec.rb +36 -0
- data/spec/models/get_competitor200_response_spec.rb +36 -0
- data/spec/models/get_inbox_conversation200_response_spec.rb +36 -0
- data/spec/models/get_posting_schedule200_response_spec.rb +36 -0
- data/spec/models/get_remote_upload_status200_response_spec.rb +2 -2
- data/spec/models/get_report_branding200_response_spec.rb +36 -0
- data/spec/models/guardrail_error_spec.rb +70 -0
- data/spec/models/hashtag_group_input_spec.rb +42 -0
- data/spec/models/hashtag_group_spec.rb +48 -0
- data/spec/models/image_alt_text200_response_spec.rb +2 -2
- data/spec/models/image_alt_text_input_spec.rb +2 -2
- data/spec/models/image_alt_text_response_spec.rb +2 -2
- data/spec/models/image_credit_balance_spec.rb +66 -0
- data/spec/models/image_edit_input_spec.rb +8 -2
- data/spec/models/image_generate200_response_spec.rb +8 -2
- data/spec/models/image_generate429_response_spec.rb +2 -2
- data/spec/models/image_generate_input_spec.rb +8 -2
- data/spec/models/image_generation_response_spec.rb +2 -2
- data/spec/models/image_prompt200_response_spec.rb +8 -2
- data/spec/models/image_prompt429_response_spec.rb +2 -2
- data/spec/models/image_prompt_input_spec.rb +8 -2
- data/spec/models/image_prompt_response_spec.rb +2 -2
- data/spec/models/image_variations200_response_spec.rb +2 -2
- data/spec/models/image_variations_input_spec.rb +2 -2
- data/spec/models/image_variations_response_spec.rb +2 -2
- data/spec/models/inbox_author_spec.rb +48 -0
- data/spec/models/inbox_conversation_account_spec.rb +54 -0
- data/spec/models/inbox_conversation_spec.rb +128 -0
- data/spec/models/inbox_conversation_update_spec.rb +46 -0
- data/spec/models/inbox_message_author_spec.rb +48 -0
- data/spec/models/inbox_message_spec.rb +90 -0
- data/spec/models/inbox_reply_draft_approve_spec.rb +36 -0
- data/spec/models/inbox_reply_draft_edit_spec.rb +36 -0
- data/spec/models/inbox_reply_draft_input_spec.rb +42 -0
- data/spec/models/inbox_reply_draft_spec.rb +116 -0
- data/spec/models/initiate_chunked_upload201_response_spec.rb +2 -2
- data/spec/models/initiate_chunked_upload_request_spec.rb +2 -2
- data/spec/models/initiate_remote_upload201_response_one_of_spec.rb +2 -2
- data/spec/models/initiate_remote_upload201_response_spec.rb +2 -2
- data/spec/models/initiate_remote_upload_request_spec.rb +2 -2
- data/spec/models/learn_brand_voice_input_spec.rb +54 -0
- data/spec/models/learn_brand_voice_response_meta_spec.rb +60 -0
- data/spec/models/learn_brand_voice_response_spec.rb +42 -0
- data/spec/models/list_account_groups200_response_spec.rb +48 -0
- data/spec/models/list_accounts200_response_spec.rb +2 -2
- data/spec/models/list_agent_proposals200_response_spec.rb +42 -0
- data/spec/models/list_agent_runs200_response_spec.rb +42 -0
- data/spec/models/list_agents200_response_spec.rb +36 -0
- data/spec/models/list_api_activity200_response_spec.rb +48 -0
- data/spec/models/list_api_keys200_response_spec.rb +36 -0
- data/spec/models/list_competitors200_response_spec.rb +36 -0
- data/spec/models/list_hashtag_groups200_response_spec.rb +48 -0
- data/spec/models/list_inbox_conversations200_response_spec.rb +48 -0
- data/spec/models/list_inbox_reply_drafts200_response_spec.rb +48 -0
- data/spec/models/list_media200_response_spec.rb +2 -2
- data/spec/models/list_media_folders200_response_spec.rb +2 -2
- data/spec/models/list_mentions200_response_spec.rb +2 -2
- data/spec/models/list_my_workspaces200_response_spec.rb +2 -2
- data/spec/models/list_posts200_response_spec.rb +2 -2
- data/spec/models/list_receipts200_response_spec.rb +2 -2
- data/spec/models/list_recycling_rules200_response_spec.rb +36 -0
- data/spec/models/list_recycling_runs200_response_spec.rb +36 -0
- data/spec/models/list_report_exports200_response_spec.rb +36 -0
- data/spec/models/list_reseller_clients200_response_spec.rb +42 -0
- data/spec/models/list_rss_feeds200_response_spec.rb +36 -0
- data/spec/models/list_tags200_response_spec.rb +2 -2
- data/spec/models/list_templates200_response_spec.rb +48 -0
- data/spec/models/list_users200_response_spec.rb +2 -2
- data/spec/models/list_webhook_subscriptions200_response_spec.rb +36 -0
- data/spec/models/list_workspaces200_response_spec.rb +2 -2
- data/spec/models/media_base64_input_spec.rb +54 -0
- data/spec/models/media_folder_input_spec.rb +2 -2
- data/spec/models/media_folder_ref_spec.rb +2 -2
- data/spec/models/media_folder_spec.rb +2 -2
- data/spec/models/media_spec.rb +2 -2
- data/spec/models/mention_identity_input_spec.rb +2 -2
- data/spec/models/mention_identity_spec.rb +2 -2
- data/spec/models/mention_input_spec.rb +2 -2
- data/spec/models/mention_spec.rb +2 -2
- data/spec/models/message_only_spec.rb +36 -0
- data/spec/models/pagination_meta_links_spec.rb +2 -2
- data/spec/models/pagination_meta_meta_spec.rb +2 -2
- data/spec/models/pagination_meta_spec.rb +2 -2
- data/spec/models/poll_rss_feed200_response_spec.rb +48 -0
- data/spec/models/post_analytics_spec.rb +2 -2
- data/spec/models/post_content_spec.rb +2 -2
- data/spec/models/post_input_spec.rb +14 -2
- data/spec/models/post_options_instagram_spec.rb +52 -0
- data/spec/models/post_options_tik_tok_spec.rb +88 -0
- data/spec/models/post_options_youtube_spec.rb +58 -0
- data/spec/models/post_spec.rb +2 -2
- data/spec/models/post_status_spec.rb +2 -2
- data/spec/models/post_version_options_spec.rb +54 -0
- data/spec/models/post_version_spec.rb +2 -2
- data/spec/models/posting_schedule_day_spec.rb +48 -0
- data/spec/models/posting_schedule_day_times_inner_spec.rb +36 -0
- data/spec/models/posting_schedule_input_spec.rb +54 -0
- data/spec/models/posting_schedule_spec.rb +66 -0
- data/spec/models/posting_time_slot_spec.rb +2 -2
- data/spec/models/posting_times_best_inner_spec.rb +2 -2
- data/spec/models/posting_times_day_intervals_inner_inner_spec.rb +2 -2
- data/spec/models/posting_times_days_inner_spec.rb +2 -2
- data/spec/models/posting_times_spec.rb +2 -2
- data/spec/models/preflight_result_spec.rb +60 -0
- data/spec/models/public_workspace_pivot_spec.rb +2 -2
- data/spec/models/public_workspace_spec.rb +2 -2
- data/spec/models/publish_progress_spec.rb +2 -2
- data/spec/models/queue_slots_spec.rb +42 -0
- data/spec/models/receipt_input_spec.rb +2 -2
- data/spec/models/receipt_spec.rb +2 -2
- data/spec/models/receipt_update_input_spec.rb +2 -2
- data/spec/models/recommended_posting_times_spec.rb +60 -0
- data/spec/models/reconnect_link_spec.rb +48 -0
- data/spec/models/recycling_rule_input_spec.rb +92 -0
- data/spec/models/recycling_rule_settings_spec.rb +70 -0
- data/spec/models/recycling_rule_spec.rb +116 -0
- data/spec/models/recycling_rule_update_spec.rb +70 -0
- data/spec/models/recycling_run_spec.rb +70 -0
- data/spec/models/remove_generic_subscription422_response_spec.rb +2 -2
- data/spec/models/remove_user_from_workspace_request_spec.rb +2 -2
- data/spec/models/report_branding_input_spec.rb +54 -0
- data/spec/models/report_branding_spec.rb +66 -0
- data/spec/models/report_export_input_spec.rb +78 -0
- data/spec/models/report_export_spec.rb +120 -0
- data/spec/models/repurpose_content200_response_spec.rb +42 -0
- data/spec/models/repurpose_input_spec.rb +164 -0
- data/spec/models/repurpose_input_theme_spec.rb +48 -0
- data/spec/models/repurpose_result_media_spec.rb +42 -0
- data/spec/models/repurpose_result_source_spec.rb +52 -0
- data/spec/models/repurpose_result_spec.rb +78 -0
- data/spec/models/repurpose_slide_spec.rb +42 -0
- data/spec/models/reseller_client_input_spec.rb +36 -0
- data/spec/models/reseller_client_spec.rb +82 -0
- data/spec/models/reseller_client_usage_spec.rb +42 -0
- data/spec/models/retry_post_account_result_spec.rb +2 -2
- data/spec/models/rss_feed_input_spec.rb +76 -0
- data/spec/models/rss_feed_spec.rb +100 -0
- data/spec/models/rss_feed_update_spec.rb +76 -0
- data/spec/models/run_agent202_response_spec.rb +36 -0
- data/spec/models/schedule_post_request_spec.rb +2 -2
- data/spec/models/schedule_result_spec.rb +2 -2
- data/spec/models/subscription_input_spec.rb +2 -2
- data/spec/models/subscription_spec.rb +2 -2
- data/spec/models/subscription_status_spec.rb +2 -2
- data/spec/models/subscription_update_input_spec.rb +2 -2
- data/spec/models/tag_input_spec.rb +2 -2
- data/spec/models/tag_spec.rb +2 -2
- data/spec/models/template_content_item_spec.rb +42 -0
- data/spec/models/template_input_content_inner_spec.rb +42 -0
- data/spec/models/template_input_spec.rb +42 -0
- data/spec/models/template_spec.rb +48 -0
- data/spec/models/update_media_request_spec.rb +2 -2
- data/spec/models/upload_chunk201_response_spec.rb +2 -2
- data/spec/models/user_input_spec.rb +2 -2
- data/spec/models/user_spec.rb +2 -2
- data/spec/models/user_update_input_spec.rb +2 -2
- data/spec/models/webhook_event_name_spec.rb +30 -0
- data/spec/models/webhook_event_payload_spec.rb +42 -0
- data/spec/models/webhook_subscription_input_spec.rb +58 -0
- data/spec/models/webhook_subscription_spec.rb +66 -0
- data/spec/models/workspace_agent_input_spec.rb +68 -0
- data/spec/models/workspace_agent_settings_spec.rb +60 -0
- data/spec/models/workspace_agent_spec.rb +92 -0
- data/spec/models/workspace_agent_update_spec.rb +58 -0
- data/spec/models/workspace_input_spec.rb +2 -2
- data/spec/models/workspace_spec.rb +2 -2
- data/spec/models/workspace_user_input_spec.rb +2 -2
- data/spec/models/x_usage_counter_spec.rb +42 -0
- data/spec/models/x_usage_spec.rb +66 -0
- data/spec/spec_helper.rb +2 -2
- metadata +615 -4
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#PostBoost API
|
|
3
3
|
|
|
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. ## 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 ```
|
|
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.14.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#PostBoost API
|
|
3
3
|
|
|
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. ## 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 ```
|
|
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.14.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|
data/spec/api/tags_api_spec.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#PostBoost API
|
|
3
3
|
|
|
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. ## 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 ```
|
|
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.14.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|
|
@@ -38,6 +38,7 @@ describe 'TagsApi' do
|
|
|
38
38
|
# @param workspace_uuid UUID of the workspace.
|
|
39
39
|
# @param tag_input
|
|
40
40
|
# @param [Hash] opts the optional parameters
|
|
41
|
+
# @option opts [String] :idempotency_key Unique key (for example a UUID) that makes the request safe to retry. A repeat with the same key and body within 24 hours returns the stored response with `Idempotent-Replayed: true` and has no further effect. Keys are scoped to your user, the workspace, the method and the path.
|
|
41
42
|
# @return [Tag]
|
|
42
43
|
describe 'create_tag test' do
|
|
43
44
|
it 'should work' do
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#PostBoost API
|
|
3
|
+
|
|
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
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.14.0
|
|
7
|
+
Contact: hi@postboost.co
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.9.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
|
|
16
|
+
# Unit tests for PostBoost::TemplatesApi
|
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'TemplatesApi' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@api_instance = PostBoost::TemplatesApi.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of TemplatesApi' do
|
|
30
|
+
it 'should create an instance of TemplatesApi' do
|
|
31
|
+
expect(@api_instance).to be_instance_of(PostBoost::TemplatesApi)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for create_template
|
|
36
|
+
# Create a template
|
|
37
|
+
# Creates a post template: a name and one or more content items (body plus media ids from the media library). Admins and members only (not viewers).
|
|
38
|
+
# @param workspace_uuid UUID of the workspace.
|
|
39
|
+
# @param template_input
|
|
40
|
+
# @param [Hash] opts the optional parameters
|
|
41
|
+
# @return [CreateTemplate201Response]
|
|
42
|
+
describe 'create_template test' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# unit tests for delete_template
|
|
49
|
+
# Delete a template
|
|
50
|
+
# Admins and members only (not viewers).
|
|
51
|
+
# @param workspace_uuid UUID of the workspace.
|
|
52
|
+
# @param template_id The template `id`.
|
|
53
|
+
# @param [Hash] opts the optional parameters
|
|
54
|
+
# @return [nil]
|
|
55
|
+
describe 'delete_template test' do
|
|
56
|
+
it 'should work' do
|
|
57
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# unit tests for get_template
|
|
62
|
+
# Get a template
|
|
63
|
+
# One template.
|
|
64
|
+
# @param workspace_uuid UUID of the workspace.
|
|
65
|
+
# @param template_id The template `id`.
|
|
66
|
+
# @param [Hash] opts the optional parameters
|
|
67
|
+
# @return [CreateTemplate201Response]
|
|
68
|
+
describe 'get_template test' do
|
|
69
|
+
it 'should work' do
|
|
70
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# unit tests for list_templates
|
|
75
|
+
# List templates
|
|
76
|
+
# Post templates of the workspace, newest first. The same templates as the Templates page in the app. Paginated with `page` and `per_page` (default 100).
|
|
77
|
+
# @param workspace_uuid UUID of the workspace.
|
|
78
|
+
# @param [Hash] opts the optional parameters
|
|
79
|
+
# @option opts [Integer] :page Page number (1-based).
|
|
80
|
+
# @option opts [Integer] :per_page Items per page, 1-100.
|
|
81
|
+
# @return [ListTemplates200Response]
|
|
82
|
+
describe 'list_templates test' do
|
|
83
|
+
it 'should work' do
|
|
84
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# unit tests for update_template
|
|
89
|
+
# Update a template
|
|
90
|
+
# Replaces the name and content of a template. Admins and members only (not viewers).
|
|
91
|
+
# @param workspace_uuid UUID of the workspace.
|
|
92
|
+
# @param template_id The template `id`.
|
|
93
|
+
# @param template_input
|
|
94
|
+
# @param [Hash] opts the optional parameters
|
|
95
|
+
# @return [CreateTemplate201Response]
|
|
96
|
+
describe 'update_template test' do
|
|
97
|
+
it 'should work' do
|
|
98
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
end
|
data/spec/api/users_api_spec.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#PostBoost API
|
|
3
3
|
|
|
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. ## 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 ```
|
|
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.14.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#PostBoost API
|
|
3
|
+
|
|
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
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.14.0
|
|
7
|
+
Contact: hi@postboost.co
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.9.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
|
|
16
|
+
# Unit tests for PostBoost::WebhooksApi
|
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'WebhooksApi' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@api_instance = PostBoost::WebhooksApi.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of WebhooksApi' do
|
|
30
|
+
it 'should create an instance of WebhooksApi' do
|
|
31
|
+
expect(@api_instance).to be_instance_of(PostBoost::WebhooksApi)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for create_webhook_subscription
|
|
36
|
+
# Subscribe a webhook
|
|
37
|
+
# Registers a callback URL for the given events, the way n8n, Zapier and Make instant triggers do. Deliveries are `POST` requests with a JSON body (see [Webhooks](/webhooks) for the payload), signed with the returned `secret` in `X-Signature` (HMAC-SHA256 of the raw body, hex encoded) and attempted up to 3 times. Only public `https://` URLs are accepted. The `secret` is in this response only. Workspace admins only.
|
|
38
|
+
# @param workspace_uuid UUID of the workspace.
|
|
39
|
+
# @param webhook_subscription_input
|
|
40
|
+
# @param [Hash] opts the optional parameters
|
|
41
|
+
# @return [CreateWebhookSubscription201Response]
|
|
42
|
+
describe 'create_webhook_subscription test' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# unit tests for delete_webhook_subscription
|
|
49
|
+
# Unsubscribe a webhook
|
|
50
|
+
# Deletes the webhook and stops its deliveries. Workspace admins only.
|
|
51
|
+
# @param workspace_uuid UUID of the workspace.
|
|
52
|
+
# @param subscription_uuid UUID of the webhook subscription.
|
|
53
|
+
# @param [Hash] opts the optional parameters
|
|
54
|
+
# @return [Object]
|
|
55
|
+
describe 'delete_webhook_subscription test' do
|
|
56
|
+
it 'should work' do
|
|
57
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# unit tests for list_webhook_subscriptions
|
|
62
|
+
# List webhook subscriptions
|
|
63
|
+
# The workspace's webhooks, newest first: subscriptions created through this API and the ones added in **Settings → Webhooks**. Secrets are never returned here. Workspace admins only; needs the `webhooks` plan capability and, for scoped keys, the `webhooks` ability.
|
|
64
|
+
# @param workspace_uuid UUID of the workspace.
|
|
65
|
+
# @param [Hash] opts the optional parameters
|
|
66
|
+
# @return [ListWebhookSubscriptions200Response]
|
|
67
|
+
describe 'list_webhook_subscriptions test' do
|
|
68
|
+
it 'should work' do
|
|
69
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
end
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#PostBoost API
|
|
3
3
|
|
|
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. ## 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 ```
|
|
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.14.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|
|
@@ -45,6 +45,32 @@ describe 'WorkspacesApi' do
|
|
|
45
45
|
end
|
|
46
46
|
end
|
|
47
47
|
|
|
48
|
+
# unit tests for create_api_key
|
|
49
|
+
# Create a scoped API key
|
|
50
|
+
# Creates a least-privilege API key for the calling user, bound to this workspace. Pick the abilities it gets and, optionally, the accounts it may act on. The plain key is in `data.token` of this response only; store it safely. | Ability | Allows | |---|---| | `read` | Every `GET`, plus the `posts/validate` dry run | | `write` | Creating and changing drafts, media, tags, mentions, the brand voice | | `publish` | Scheduling, queueing, publishing now, approving and retrying posts, and editing a post that is already scheduled | | `ai` | The `/ai/*` endpoints, running agents and turning on agent AI review (they also need AI credits) | | `webhooks` | Webhook subscription endpoints | A scoped key is refused on other workspaces, on the admin panel, on API key management and on the app's built-in MCP endpoint (use `/mcp/postboost`). With `account_ids`, it may only name those accounts (in the URL, `accounts`, `account_ids` or post versions), cannot touch posts on other accounts, and `GET accounts` / `GET posts` only list matching items (pagination counts are computed before that filter). Workspace admins only, called with an unscoped key.
|
|
51
|
+
# @param workspace_uuid UUID of the workspace.
|
|
52
|
+
# @param api_key_input
|
|
53
|
+
# @param [Hash] opts the optional parameters
|
|
54
|
+
# @return [CreateApiKey201Response]
|
|
55
|
+
describe 'create_api_key test' do
|
|
56
|
+
it 'should work' do
|
|
57
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# unit tests for create_reseller_client
|
|
62
|
+
# Create a client workspace
|
|
63
|
+
# Creates a client workspace on the Reseller client plan, with the caller as its owner and admin, and links it to this workspace. Fails with `422` and `code: client_limit_reached` once the plan's client limit is used (archived clients do not count). Archive clients on the Client workspaces page. Workspace admins with an unscoped key only.
|
|
64
|
+
# @param workspace_uuid UUID of the workspace.
|
|
65
|
+
# @param reseller_client_input
|
|
66
|
+
# @param [Hash] opts the optional parameters
|
|
67
|
+
# @return [CreateResellerClient201Response]
|
|
68
|
+
describe 'create_reseller_client test' do
|
|
69
|
+
it 'should work' do
|
|
70
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
48
74
|
# unit tests for create_workspace
|
|
49
75
|
# Create workspace
|
|
50
76
|
# Create a new workspace. Admin only.
|
|
@@ -57,6 +83,19 @@ describe 'WorkspacesApi' do
|
|
|
57
83
|
end
|
|
58
84
|
end
|
|
59
85
|
|
|
86
|
+
# unit tests for delete_api_key
|
|
87
|
+
# Revoke a scoped API key
|
|
88
|
+
# Revokes a scoped key bound to this workspace. It stops working at once. Workspace admins only, called with an unscoped key.
|
|
89
|
+
# @param workspace_uuid UUID of the workspace.
|
|
90
|
+
# @param api_key_id The key's `id` from `GET api-keys`.
|
|
91
|
+
# @param [Hash] opts the optional parameters
|
|
92
|
+
# @return [Object]
|
|
93
|
+
describe 'delete_api_key test' do
|
|
94
|
+
it 'should work' do
|
|
95
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
60
99
|
# unit tests for delete_workspace
|
|
61
100
|
# Delete workspace
|
|
62
101
|
# Permanently deletes a single workspace and all its associated data. Admin only.
|
|
@@ -105,6 +144,30 @@ describe 'WorkspacesApi' do
|
|
|
105
144
|
end
|
|
106
145
|
end
|
|
107
146
|
|
|
147
|
+
# unit tests for get_x_usage
|
|
148
|
+
# X (Twitter) usage
|
|
149
|
+
# The workspace's X posts this calendar month (UTC) against its monthly X allowance. Every thread part is one X post; a part with a link also counts as a link post. When the allowance is used up, scheduling to X is refused (`429`, `code: x_monthly_cap_reached`) and X posts that come due fail with \"Monthly X allowance reached\". Other networks are not affected. See the X policy in the developer docs.
|
|
150
|
+
# @param workspace_uuid UUID of the workspace.
|
|
151
|
+
# @param [Hash] opts the optional parameters
|
|
152
|
+
# @return [XUsage]
|
|
153
|
+
describe 'get_x_usage test' do
|
|
154
|
+
it 'should work' do
|
|
155
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
156
|
+
end
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
# unit tests for list_api_keys
|
|
160
|
+
# List scoped API keys
|
|
161
|
+
# Scoped API keys bound to this workspace, newest first. The secret is never shown again after creation. Workspace admins only, called with an unscoped key (a scoped key gets `403` with `code: insufficient_scope`).
|
|
162
|
+
# @param workspace_uuid UUID of the workspace.
|
|
163
|
+
# @param [Hash] opts the optional parameters
|
|
164
|
+
# @return [ListApiKeys200Response]
|
|
165
|
+
describe 'list_api_keys test' do
|
|
166
|
+
it 'should work' do
|
|
167
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
|
|
108
171
|
# unit tests for list_my_workspaces
|
|
109
172
|
# List my workspaces
|
|
110
173
|
# Returns the workspaces the authenticated user belongs to, most recently updated first, with the caller's role in each. Use a returned `uuid` as `workspaceUuid`.
|
|
@@ -116,6 +179,18 @@ describe 'WorkspacesApi' do
|
|
|
116
179
|
end
|
|
117
180
|
end
|
|
118
181
|
|
|
182
|
+
# unit tests for list_reseller_clients
|
|
183
|
+
# List client workspaces
|
|
184
|
+
# Client workspaces this workspace created on the Reseller plan, active first, then archived. `accounts_needing_reconnect` counts accounts whose connection must be renewed. `meta` gives the active clients and the plan's client limit. Workspace admins with an unscoped key only; other workspaces get `403` with `code: not_a_reseller`.
|
|
185
|
+
# @param workspace_uuid UUID of the workspace.
|
|
186
|
+
# @param [Hash] opts the optional parameters
|
|
187
|
+
# @return [ListResellerClients200Response]
|
|
188
|
+
describe 'list_reseller_clients test' do
|
|
189
|
+
it 'should work' do
|
|
190
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
191
|
+
end
|
|
192
|
+
end
|
|
193
|
+
|
|
119
194
|
# unit tests for list_workspaces
|
|
120
195
|
# List workspaces
|
|
121
196
|
# Returns a paginated list of all workspaces. Admin only.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#PostBoost API
|
|
3
3
|
|
|
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. ## 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 ```
|
|
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.14.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#PostBoost API
|
|
3
3
|
|
|
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. ## 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 ```
|
|
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.14.0
|
|
7
7
|
Contact: hi@postboost.co
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.9.0
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#PostBoost API
|
|
3
|
+
|
|
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
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.14.0
|
|
7
|
+
Contact: hi@postboost.co
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.9.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for PostBoost::AccountConnectionHealth
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe PostBoost::AccountConnectionHealth do
|
|
21
|
+
let(:instance) { PostBoost::AccountConnectionHealth.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of AccountConnectionHealth' do
|
|
24
|
+
it 'should create an instance of AccountConnectionHealth' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(PostBoost::AccountConnectionHealth)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "status"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["healthy", "failing", "expiring", "expired"])
|
|
34
|
+
# validator.allowable_values.each do |value|
|
|
35
|
+
# expect { instance.status = value }.not_to raise_error
|
|
36
|
+
# end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
describe 'test attribute "expiry_kind"' do
|
|
41
|
+
it 'should work' do
|
|
42
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
43
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["access", "refresh", "expired", "unknown", "none"])
|
|
44
|
+
# validator.allowable_values.each do |value|
|
|
45
|
+
# expect { instance.expiry_kind = value }.not_to raise_error
|
|
46
|
+
# end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
describe 'test attribute "expires_at"' do
|
|
51
|
+
it 'should work' do
|
|
52
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
describe 'test attribute "days_left"' do
|
|
57
|
+
it 'should work' do
|
|
58
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
describe 'test attribute "refreshable"' do
|
|
63
|
+
it 'should work' do
|
|
64
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
describe 'test attribute "note"' do
|
|
69
|
+
it 'should work' do
|
|
70
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
describe 'test attribute "last_success_at"' do
|
|
75
|
+
it 'should work' do
|
|
76
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
describe 'test attribute "last_error"' do
|
|
81
|
+
it 'should work' do
|
|
82
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
describe 'test attribute "reconnect_url"' do
|
|
87
|
+
it 'should work' do
|
|
88
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#PostBoost API
|
|
3
|
+
|
|
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
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.14.0
|
|
7
|
+
Contact: hi@postboost.co
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.9.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for PostBoost::AccountErrorsInnerOneOf
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe PostBoost::AccountErrorsInnerOneOf do
|
|
21
|
+
let(:instance) { PostBoost::AccountErrorsInnerOneOf.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of AccountErrorsInnerOneOf' do
|
|
24
|
+
it 'should create an instance of AccountErrorsInnerOneOf' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(PostBoost::AccountErrorsInnerOneOf)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "platform"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "code"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "message"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
describe 'test attribute "raw"' do
|
|
49
|
+
it 'should work' do
|
|
50
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#PostBoost API
|
|
3
|
+
|
|
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
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.14.0
|
|
7
|
+
Contact: hi@postboost.co
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.9.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for PostBoost::AccountErrorsInner
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe PostBoost::AccountErrorsInner do
|
|
21
|
+
describe '.openapi_one_of' do
|
|
22
|
+
it 'lists the items referenced in the oneOf array' do
|
|
23
|
+
expect(described_class.openapi_one_of).to_not be_empty
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
describe '.build' do
|
|
28
|
+
it 'returns the correct model' do
|
|
29
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#PostBoost API
|
|
3
|
+
|
|
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
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.14.0
|
|
7
|
+
Contact: hi@postboost.co
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.9.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for PostBoost::AccountGroupInput
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe PostBoost::AccountGroupInput do
|
|
21
|
+
let(:instance) { PostBoost::AccountGroupInput.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of AccountGroupInput' do
|
|
24
|
+
it 'should create an instance of AccountGroupInput' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(PostBoost::AccountGroupInput)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "name"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "accounts"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
end
|