postboost 1.0.0 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CODE_OF_CONDUCT.md +7 -0
- data/CONTRIBUTING.md +31 -0
- data/README.md +252 -0
- data/SECURITY.md +9 -0
- data/docs/AIApi.md +871 -0
- data/docs/AICredits.md +22 -0
- data/docs/AIUsage.md +20 -0
- data/docs/AIUsageText.md +24 -0
- data/docs/Account.md +19 -9
- data/docs/AccountAnalytics.md +28 -0
- data/docs/AccountAnalyticsInitialSync.md +20 -0
- 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/AccountSchedule.md +22 -0
- data/docs/AccountsApi.md +231 -5
- data/docs/ActivityApi.md +87 -0
- data/docs/AddCompetitor202Response.md +20 -0
- data/docs/AddCompetitor409Response.md +20 -0
- data/docs/AddPostToQueueRequest.md +18 -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 +899 -0
- data/docs/AnalyticsPeriod.md +24 -0
- data/docs/AnalyticsSummary.md +20 -0
- data/docs/AnalyticsSummaryData.md +38 -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/ApprovePostRequest.md +24 -0
- data/docs/BestPostingTimes.md +20 -0
- data/docs/BestPostingTimesTimesInner.md +24 -0
- data/docs/BlogToSocial200Response.md +20 -0
- data/docs/BlogToSocial429Response.md +18 -0
- data/docs/BlogToSocialCaption.md +28 -0
- data/docs/BlogToSocialInput.md +44 -0
- data/docs/BlogToSocialMedia.md +20 -0
- data/docs/BlogToSocialResponse.md +30 -0
- data/docs/BrandVoice.md +48 -0
- data/docs/BrandVoiceInput.md +46 -0
- data/docs/BrandVoiceMeta.md +18 -0
- data/docs/CancelSubscription422Response.md +20 -0
- data/docs/CancelSubscription422ResponseErrors.md +18 -0
- data/docs/CancelSubscriptionRequest.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/CompleteChunkedUploadRequest.md +20 -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/CreateMediaFolderRequest.md +20 -0
- data/docs/CreateMention201Response.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/DeleteMediaBulkRequest.md +1 -1
- data/docs/DeleteMediaBulkRequestItemsInner.md +49 -0
- data/docs/DeleteMediaFolderRequest.md +18 -0
- data/docs/DeleteResult.md +3 -3
- 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/ImageAltText200Response.md +18 -0
- data/docs/ImageAltTextInput.md +18 -0
- data/docs/ImageAltTextResponse.md +24 -0
- data/docs/ImageCreditBalance.md +28 -0
- data/docs/ImageEditInput.md +30 -0
- data/docs/ImageGenerate200Response.md +20 -0
- data/docs/ImageGenerate429Response.md +18 -0
- data/docs/ImageGenerateInput.md +38 -0
- data/docs/ImageGenerationResponse.md +30 -0
- data/docs/ImagePrompt200Response.md +20 -0
- data/docs/ImagePrompt429Response.md +18 -0
- data/docs/ImagePromptInput.md +30 -0
- data/docs/ImagePromptResponse.md +18 -0
- data/docs/ImageVariations200Response.md +18 -0
- data/docs/ImageVariationsInput.md +24 -0
- data/docs/ImageVariationsResponse.md +26 -0
- 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/{InitiateChunkedUpload200Response.md → InitiateChunkedUpload201Response.md} +2 -2
- data/docs/{InitiateRemoteUpload200Response.md → InitiateRemoteUpload201Response.md} +7 -7
- data/docs/{InitiateRemoteUpload200ResponseOneOf.md → InitiateRemoteUpload201ResponseOneOf.md} +2 -2
- data/docs/InitiateRemoteUploadRequest.md +3 -1
- 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/ListMediaFolders200Response.md +18 -0
- data/docs/ListMentions200Response.md +22 -0
- data/docs/ListMyWorkspaces200Response.md +18 -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/Media.md +22 -8
- data/docs/MediaApi.md +435 -31
- data/docs/MediaBase64Input.md +24 -0
- data/docs/MediaFolder.md +24 -0
- data/docs/MediaFolderInput.md +20 -0
- data/docs/MediaFolderRef.md +20 -0
- data/docs/Mention.md +28 -0
- data/docs/MentionIdentity.md +24 -0
- data/docs/MentionIdentityInput.md +26 -0
- data/docs/MentionInput.md +22 -0
- data/docs/MentionsApi.md +379 -0
- data/docs/MessageOnly.md +18 -0
- data/docs/PollRssFeed200Response.md +22 -0
- data/docs/Post.md +10 -8
- data/docs/PostAnalytics.md +22 -0
- data/docs/PostContent.md +1 -1
- data/docs/PostInput.md +8 -2
- data/docs/PostOptionsInstagram.md +22 -0
- data/docs/PostOptionsTikTok.md +34 -0
- data/docs/PostOptionsYoutube.md +24 -0
- data/docs/PostVersion.md +4 -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/PostingTimeSlot.md +22 -0
- data/docs/PostingTimes.md +32 -0
- data/docs/PostingTimesBestInner.md +24 -0
- data/docs/PostingTimesDayIntervalsInnerInner.md +28 -0
- data/docs/PostingTimesDaysInner.md +24 -0
- data/docs/PostsApi.md +1264 -82
- data/docs/PreflightResult.md +26 -0
- data/docs/PublicWorkspace.md +24 -0
- data/docs/PublicWorkspacePivot.md +22 -0
- data/docs/PublishProgress.md +22 -0
- data/docs/QueueSlots.md +20 -0
- data/docs/Receipt.md +8 -8
- data/docs/ReceiptsApi.md +15 -1
- 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/RemoveGenericSubscription422Response.md +18 -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/RetryPostAccountResult.md +22 -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/SchedulePostRequest.md +9 -1
- data/docs/ScheduleResult.md +4 -2
- data/docs/Subscription.md +5 -5
- data/docs/SubscriptionsApi.md +27 -5
- data/docs/Tag.md +4 -4
- data/docs/TagsApi.md +18 -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/UpdateMediaRequest.md +6 -2
- data/docs/{UploadChunk200Response.md → UploadChunk201Response.md} +2 -2
- data/docs/User.md +7 -5
- data/docs/UsersApi.md +15 -1
- 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/Workspace.md +8 -6
- 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/WorkspaceInput.md +1 -1
- data/docs/WorkspacesApi.md +582 -3
- 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 +233 -4
- 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 +884 -0
- data/lib/postboost/api/analytics_api.rb +910 -0
- 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 +496 -24
- data/lib/postboost/api/mentions_api.rb +397 -0
- data/lib/postboost/api/posting_schedule_api.rb +389 -0
- data/lib/postboost/api/posts_api.rb +1321 -104
- data/lib/postboost/api/receipts_api.rb +17 -2
- data/lib/postboost/api/subscriptions_api.rb +28 -3
- data/lib/postboost/api/tags_api.rb +23 -2
- data/lib/postboost/api/templates_api.rb +395 -0
- data/lib/postboost/api/users_api.rb +17 -2
- data/lib/postboost/api/webhooks_api.rb +228 -0
- data/lib/postboost/api/workspaces_api.rb +545 -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 +145 -4
- data/lib/postboost/models/account_analytics.rb +308 -0
- data/lib/postboost/models/account_analytics_initial_sync.rb +231 -0
- 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 +255 -0
- 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 +215 -0
- 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 +256 -0
- 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 +270 -0
- data/lib/postboost/models/analytics_summary.rb +237 -0
- data/lib/postboost/models/analytics_summary_data.rb +327 -0
- 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 +247 -0
- data/lib/postboost/models/best_posting_times.rb +240 -0
- data/lib/postboost/models/best_posting_times_times_inner.rb +269 -0
- data/lib/postboost/models/blog_to_social200_response.rb +223 -0
- data/lib/postboost/models/blog_to_social429_response.rb +214 -0
- data/lib/postboost/models/blog_to_social_caption.rb +265 -0
- data/lib/postboost/models/blog_to_social_input.rb +548 -0
- data/lib/postboost/models/blog_to_social_media.rb +226 -0
- data/lib/postboost/models/blog_to_social_response.rb +276 -0
- 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 +223 -0
- data/lib/postboost/models/cancel_subscription422_response_errors.rb +216 -0
- data/lib/postboost/models/cancel_subscription_request.rb +217 -0
- 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 +243 -0
- 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 +258 -0
- data/lib/postboost/models/create_mention201_response.rb +214 -0
- 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 +23 -4
- data/lib/postboost/models/delete_media_bulk_request_items_inner.rb +105 -0
- data/lib/postboost/models/delete_media_folder_request.rb +216 -0
- 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 +23 -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 +221 -0
- data/lib/postboost/models/image_alt_text_input.rb +221 -0
- data/lib/postboost/models/image_alt_text_response.rb +262 -0
- data/lib/postboost/models/image_credit_balance.rb +295 -0
- data/lib/postboost/models/image_edit_input.rb +387 -0
- data/lib/postboost/models/image_generate200_response.rb +230 -0
- data/lib/postboost/models/image_generate429_response.rb +214 -0
- data/lib/postboost/models/image_generate_input.rb +479 -0
- data/lib/postboost/models/image_generation_response.rb +305 -0
- data/lib/postboost/models/image_prompt200_response.rb +230 -0
- data/lib/postboost/models/image_prompt429_response.rb +214 -0
- data/lib/postboost/models/image_prompt_input.rb +377 -0
- data/lib/postboost/models/image_prompt_response.rb +221 -0
- data/lib/postboost/models/image_variations200_response.rb +221 -0
- data/lib/postboost/models/image_variations_input.rb +328 -0
- data/lib/postboost/models/image_variations_response.rb +280 -0
- 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_upload200_response.rb → initiate_chunked_upload201_response.rb} +5 -5
- data/lib/postboost/models/initiate_chunked_upload_request.rb +2 -2
- data/lib/postboost/models/{initiate_remote_upload200_response.rb → initiate_remote_upload201_response.rb} +4 -4
- data/lib/postboost/models/{initiate_remote_upload200_response_one_of.rb → initiate_remote_upload201_response_one_of.rb} +5 -5
- data/lib/postboost/models/initiate_remote_upload_request.rb +16 -6
- 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 +216 -0
- data/lib/postboost/models/list_mentions200_response.rb +241 -0
- data/lib/postboost/models/list_my_workspaces200_response.rb +216 -0
- 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 +128 -3
- data/lib/postboost/models/media_base64_input.rb +295 -0
- data/lib/postboost/models/media_folder.rb +271 -0
- data/lib/postboost/models/media_folder_input.rb +244 -0
- data/lib/postboost/models/media_folder_ref.rb +237 -0
- data/lib/postboost/models/mention.rb +290 -0
- data/lib/postboost/models/mention_identity.rb +257 -0
- data/lib/postboost/models/mention_identity_input.rb +325 -0
- data/lib/postboost/models/mention_input.rb +279 -0
- 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 +69 -3
- data/lib/postboost/models/post_analytics.rb +252 -0
- data/lib/postboost/models/post_content.rb +4 -3
- data/lib/postboost/models/post_input.rb +41 -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 +6 -3
- data/lib/postboost/models/post_version.rb +53 -5
- 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 +315 -0
- data/lib/postboost/models/posting_times.rb +362 -0
- data/lib/postboost/models/posting_times_best_inner.rb +269 -0
- data/lib/postboost/models/posting_times_day_intervals_inner_inner.rb +370 -0
- data/lib/postboost/models/posting_times_days_inner.rb +366 -0
- data/lib/postboost/models/preflight_result.rb +291 -0
- data/lib/postboost/models/public_workspace.rb +262 -0
- data/lib/postboost/models/public_workspace_pivot.rb +267 -0
- data/lib/postboost/models/publish_progress.rb +254 -0
- data/lib/postboost/models/queue_slots.rb +237 -0
- data/lib/postboost/models/receipt.rb +58 -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 +214 -0
- 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 +275 -0
- 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 +48 -6
- data/lib/postboost/models/schedule_result.rb +23 -6
- data/lib/postboost/models/subscription.rb +37 -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 +30 -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 +61 -11
- data/lib/postboost/models/{upload_chunk200_response.rb → upload_chunk201_response.rb} +5 -5
- data/lib/postboost/models/user.rb +48 -3
- 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 +42 -3
- 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 +3 -9
- 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 +219 -6
- data/postboost.gemspec +3 -3
- data/spec/api/account_groups_api_spec.rb +102 -0
- data/spec/api/accounts_api_spec.rb +46 -3
- 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 +189 -0
- data/spec/api/analytics_api_spec.rb +201 -0
- 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 +92 -11
- data/spec/api/mentions_api_spec.rb +104 -0
- data/spec/api/posting_schedule_api_spec.rb +102 -0
- data/spec/api/posts_api_spec.rb +224 -6
- data/spec/api/receipts_api_spec.rb +9 -2
- data/spec/api/subscriptions_api_spec.rb +12 -2
- data/spec/api/tags_api_spec.rb +8 -2
- data/spec/api/templates_api_spec.rb +102 -0
- data/spec/api/users_api_spec.rb +9 -2
- data/spec/api/webhooks_api_spec.rb +73 -0
- data/spec/api/workspaces_api_spec.rb +108 -2
- data/spec/models/account_analytics_initial_sync_spec.rb +42 -0
- data/spec/models/account_analytics_spec.rb +66 -0
- 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 +48 -0
- data/spec/models/account_spec.rb +36 -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 +36 -0
- 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 +48 -0
- 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 +54 -0
- data/spec/models/analytics_summary_data_spec.rb +96 -0
- data/spec/models/analytics_summary_spec.rb +42 -0
- 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 +54 -0
- data/spec/models/best_posting_times_spec.rb +42 -0
- data/spec/models/best_posting_times_times_inner_spec.rb +54 -0
- data/spec/models/blog_to_social200_response_spec.rb +42 -0
- data/spec/models/blog_to_social429_response_spec.rb +36 -0
- data/spec/models/blog_to_social_caption_spec.rb +66 -0
- data/spec/models/blog_to_social_input_spec.rb +134 -0
- data/spec/models/blog_to_social_media_spec.rb +42 -0
- data/spec/models/blog_to_social_response_spec.rb +72 -0
- 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 +36 -0
- data/spec/models/cancel_subscription422_response_spec.rb +42 -0
- data/spec/models/cancel_subscription_request_spec.rb +36 -0
- 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 +42 -0
- 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 +42 -0
- data/spec/models/create_mention201_response_spec.rb +36 -0
- 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 +32 -0
- data/spec/models/delete_media_bulk_request_spec.rb +2 -2
- data/spec/models/delete_media_folder_request_spec.rb +36 -0
- 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 +36 -0
- data/spec/models/image_alt_text_input_spec.rb +36 -0
- data/spec/models/image_alt_text_response_spec.rb +54 -0
- data/spec/models/image_credit_balance_spec.rb +66 -0
- data/spec/models/image_edit_input_spec.rb +80 -0
- data/spec/models/image_generate200_response_spec.rb +42 -0
- data/spec/models/image_generate429_response_spec.rb +36 -0
- data/spec/models/image_generate_input_spec.rb +108 -0
- data/spec/models/image_generation_response_spec.rb +72 -0
- data/spec/models/image_prompt200_response_spec.rb +42 -0
- data/spec/models/image_prompt429_response_spec.rb +36 -0
- data/spec/models/image_prompt_input_spec.rb +76 -0
- data/spec/models/image_prompt_response_spec.rb +36 -0
- data/spec/models/image_variations200_response_spec.rb +36 -0
- data/spec/models/image_variations_input_spec.rb +62 -0
- data/spec/models/image_variations_response_spec.rb +60 -0
- 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 +48 -0
- data/spec/models/initiate_chunked_upload_request_spec.rb +2 -2
- data/spec/models/initiate_remote_upload201_response_one_of_spec.rb +36 -0
- data/spec/models/initiate_remote_upload201_response_spec.rb +32 -0
- data/spec/models/initiate_remote_upload_request_spec.rb +8 -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 +36 -0
- data/spec/models/list_mentions200_response_spec.rb +48 -0
- data/spec/models/list_my_workspaces200_response_spec.rb +36 -0
- 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 +42 -0
- data/spec/models/media_folder_ref_spec.rb +42 -0
- data/spec/models/media_folder_spec.rb +54 -0
- data/spec/models/media_spec.rb +44 -2
- data/spec/models/mention_identity_input_spec.rb +60 -0
- data/spec/models/mention_identity_spec.rb +54 -0
- data/spec/models/mention_input_spec.rb +48 -0
- data/spec/models/mention_spec.rb +66 -0
- 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 +48 -0
- data/spec/models/post_content_spec.rb +2 -2
- data/spec/models/post_input_spec.rb +20 -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 +8 -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 +8 -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 +52 -0
- data/spec/models/posting_times_best_inner_spec.rb +54 -0
- data/spec/models/posting_times_day_intervals_inner_inner_spec.rb +70 -0
- data/spec/models/posting_times_days_inner_spec.rb +58 -0
- data/spec/models/posting_times_spec.rb +78 -0
- data/spec/models/preflight_result_spec.rb +60 -0
- data/spec/models/public_workspace_pivot_spec.rb +52 -0
- data/spec/models/public_workspace_spec.rb +54 -0
- data/spec/models/publish_progress_spec.rb +48 -0
- 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 +36 -0
- 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 +48 -0
- 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 +26 -2
- data/spec/models/schedule_result_spec.rb +8 -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 +14 -2
- data/spec/models/upload_chunk201_response_spec.rb +36 -0
- data/spec/models/user_input_spec.rb +2 -2
- data/spec/models/user_spec.rb +8 -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 +8 -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 +943 -76
- data/git_push.sh +0 -57
- data/spec/models/initiate_chunked_upload200_response_spec.rb +0 -48
- data/spec/models/initiate_remote_upload200_response_one_of_spec.rb +0 -36
- data/spec/models/initiate_remote_upload200_response_spec.rb +0 -32
- data/spec/models/upload_chunk200_response_spec.rb +0 -36
|
@@ -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::AccountGroupsApi
|
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'AccountGroupsApi' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@api_instance = PostBoost::AccountGroupsApi.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of AccountGroupsApi' do
|
|
30
|
+
it 'should create an instance of AccountGroupsApi' do
|
|
31
|
+
expect(@api_instance).to be_instance_of(PostBoost::AccountGroupsApi)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for create_account_group
|
|
36
|
+
# Create an account group
|
|
37
|
+
# Creates a named set of accounts of this workspace. Admins and members only (not viewers).
|
|
38
|
+
# @param workspace_uuid UUID of the workspace.
|
|
39
|
+
# @param account_group_input
|
|
40
|
+
# @param [Hash] opts the optional parameters
|
|
41
|
+
# @return [CreateAccountGroup201Response]
|
|
42
|
+
describe 'create_account_group 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_account_group
|
|
49
|
+
# Delete an account group
|
|
50
|
+
# Deletes the group, not its accounts. Admins and members only (not viewers).
|
|
51
|
+
# @param workspace_uuid UUID of the workspace.
|
|
52
|
+
# @param account_group_uuid The account group `uuid`.
|
|
53
|
+
# @param [Hash] opts the optional parameters
|
|
54
|
+
# @return [nil]
|
|
55
|
+
describe 'delete_account_group 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_account_group
|
|
62
|
+
# Get an account group
|
|
63
|
+
# One account group.
|
|
64
|
+
# @param workspace_uuid UUID of the workspace.
|
|
65
|
+
# @param account_group_uuid The account group `uuid`.
|
|
66
|
+
# @param [Hash] opts the optional parameters
|
|
67
|
+
# @return [CreateAccountGroup201Response]
|
|
68
|
+
describe 'get_account_group 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_account_groups
|
|
75
|
+
# List account groups
|
|
76
|
+
# Named sets of accounts, sorted by name, with their account ids. Pass `account_ids` as `accounts` when you create a post to publish to the whole group. Paginated with `page` and `per_page` (default 100). A key limited to some accounts only sees groups whose accounts are all among its accounts, and `meta.total` counts only those.
|
|
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 [ListAccountGroups200Response]
|
|
82
|
+
describe 'list_account_groups 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_account_group
|
|
89
|
+
# Update an account group
|
|
90
|
+
# Replaces the name and the accounts of the group (accounts you leave out are removed). Admins and members only (not viewers).
|
|
91
|
+
# @param workspace_uuid UUID of the workspace.
|
|
92
|
+
# @param account_group_uuid The account group `uuid`.
|
|
93
|
+
# @param account_group_input
|
|
94
|
+
# @param [Hash] opts the optional parameters
|
|
95
|
+
# @return [CreateAccountGroup201Response]
|
|
96
|
+
describe 'update_account_group 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
|
|
@@ -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
|
|
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
|
|
@@ -32,6 +32,33 @@ describe 'AccountsApi' do
|
|
|
32
32
|
end
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
+
# unit tests for connect_channel
|
|
36
|
+
# Connect a Telegram, Discord or Slack channel
|
|
37
|
+
# Connects a channel that uses a bot token or a webhook URL instead of a login. The credentials are checked against the network first, stored encrypted and never returned. Connecting the same channel again updates it (`200`) instead of adding a second account. Workspace admins only; counts toward the plan's social account limit. - **telegram**: `bot_token` from @BotFather and `chat` (the channel's `@username`, or its numeric id such as `-1001234567890` for a private channel). The bot must be an administrator of the channel allowed to post messages. - **discord**: `webhook_url` from Channel settings → Integrations → Webhooks (`https://discord.com/api/webhooks/…`). - **slack**: `webhook_url` of an incoming webhook (`https://hooks.slack.com/services/…`) and an optional display `name`. Slack posts cannot be deleted from PostBoost, and images must be publicly reachable. Webhook URLs on any other host are refused (`422`) before any request is made.
|
|
38
|
+
# @param workspace_uuid UUID of the workspace.
|
|
39
|
+
# @param provider
|
|
40
|
+
# @param connect_channel_input
|
|
41
|
+
# @param [Hash] opts the optional parameters
|
|
42
|
+
# @return [ChannelAccount]
|
|
43
|
+
describe 'connect_channel test' do
|
|
44
|
+
it 'should work' do
|
|
45
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# unit tests for create_reconnect_link
|
|
50
|
+
# Create a reconnect link
|
|
51
|
+
# Creates a single-use link (valid 7 days) that lets someone without a PostBoost login, such as an agency's client, re-authorize this one account on its network. The link only refreshes the connection of this account; signing in as a different profile or page changes nothing. Workspace admins only. Available for Facebook Pages, Instagram, Threads, LinkedIn, TikTok, YouTube and Pinterest. Returns `404` while the feature is not enabled on this instance.
|
|
52
|
+
# @param workspace_uuid UUID of the workspace.
|
|
53
|
+
# @param account_uuid UUID of the social media account.
|
|
54
|
+
# @param [Hash] opts the optional parameters
|
|
55
|
+
# @return [ReconnectLink]
|
|
56
|
+
describe 'create_reconnect_link test' 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
|
+
|
|
35
62
|
# unit tests for get_account
|
|
36
63
|
# Get account
|
|
37
64
|
# Returns a single social media account.
|
|
@@ -45,11 +72,27 @@ describe 'AccountsApi' do
|
|
|
45
72
|
end
|
|
46
73
|
end
|
|
47
74
|
|
|
75
|
+
# unit tests for get_account_health
|
|
76
|
+
# Account health
|
|
77
|
+
# Pre-flight health of every account in the workspace: whether it is authorized and holds an access token, how much of its daily post cap (per UTC day, scheduled, awaiting approval and published posts) is used today, and its connection health: predicted token expiry, latest publish outcome and where to reconnect it. The `account.token_expiring` and `account.disconnected` webhooks report changes as they happen.
|
|
78
|
+
# @param workspace_uuid UUID of the workspace.
|
|
79
|
+
# @param [Hash] opts the optional parameters
|
|
80
|
+
# @return [GetAccountHealth200Response]
|
|
81
|
+
describe 'get_account_health test' do
|
|
82
|
+
it 'should work' do
|
|
83
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
48
87
|
# unit tests for list_accounts
|
|
49
88
|
# List accounts
|
|
50
|
-
# Returns all social media accounts connected to the workspace.
|
|
89
|
+
# Returns all social media accounts connected to the workspace, newest first. Optional filters narrow the list.
|
|
51
90
|
# @param workspace_uuid UUID of the workspace.
|
|
52
91
|
# @param [Hash] opts the optional parameters
|
|
92
|
+
# @option opts [String] :keyword Match the account name or username.
|
|
93
|
+
# @option opts [String] :group Only accounts in this account group.
|
|
94
|
+
# @option opts [Array<String>] :providers Only accounts of these providers (for example `instagram`, `linkedin`).
|
|
95
|
+
# @option opts [Boolean] :unauthorized When `true`, only accounts that need to be reconnected.
|
|
53
96
|
# @return [ListAccounts200Response]
|
|
54
97
|
describe 'list_accounts test' do
|
|
55
98
|
it 'should work' do
|
|
@@ -0,0 +1,51 @@
|
|
|
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::ActivityApi
|
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'ActivityApi' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@api_instance = PostBoost::ActivityApi.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of ActivityApi' do
|
|
30
|
+
it 'should create an instance of ActivityApi' do
|
|
31
|
+
expect(@api_instance).to be_instance_of(PostBoost::ActivityApi)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for list_api_activity
|
|
36
|
+
# List API activity
|
|
37
|
+
# Every write request (`POST`, `PUT`, `DELETE`) made through the API in this workspace, newest first, with the client that made it and its outcome. Kept for 90 days. Send an `X-PostBoost-Client` header (for example `my-agent/1.2`) to label your requests; otherwise the `User-Agent` is recorded.
|
|
38
|
+
# @param workspace_uuid UUID of the workspace.
|
|
39
|
+
# @param [Hash] opts the optional parameters
|
|
40
|
+
# @option opts [ApiActivityOutcome] :outcome
|
|
41
|
+
# @option opts [String] :client Client label prefix, for example `mcp`.
|
|
42
|
+
# @option opts [Time] :since Only entries at or after this time (UTC).
|
|
43
|
+
# @option opts [Integer] :page
|
|
44
|
+
# @return [ListApiActivity200Response]
|
|
45
|
+
describe 'list_api_activity test' do
|
|
46
|
+
it 'should work' do
|
|
47
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
end
|
|
@@ -0,0 +1,170 @@
|
|
|
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::AgentsApi
|
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'AgentsApi' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@api_instance = PostBoost::AgentsApi.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of AgentsApi' do
|
|
30
|
+
it 'should create an instance of AgentsApi' do
|
|
31
|
+
expect(@api_instance).to be_instance_of(PostBoost::AgentsApi)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for approve_agent_proposal
|
|
36
|
+
# Approve and apply an agent proposal
|
|
37
|
+
# Applies the proposal at once: `hold_post` moves the post back to draft, `edit_caption` replaces the caption. When the post was edited, deleted or left the schedule since the proposal was made, nothing changes and the proposal becomes `stale`. Admins and members only.
|
|
38
|
+
# @param workspace_uuid UUID of the workspace.
|
|
39
|
+
# @param proposal_uuid
|
|
40
|
+
# @param [Hash] opts the optional parameters
|
|
41
|
+
# @option opts [AgentProposalDecision] :agent_proposal_decision
|
|
42
|
+
# @return [ApproveAgentProposal200Response]
|
|
43
|
+
describe 'approve_agent_proposal test' do
|
|
44
|
+
it 'should work' do
|
|
45
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# unit tests for create_agent
|
|
50
|
+
# Switch on a background agent
|
|
51
|
+
# Creates an agent (one per type per workspace). It first runs within five minutes, then on its `schedule`. **Pre-publish checker** looks at posts scheduled in the next `horizon_hours` and proposes holding (back to draft) posts that would fail: disconnected accounts, network requirements, daily caps, the X allowance and links that answer an error. It proposes caption edits that drop `banned_phrases`. With `ai_review: true` it also asks AI to review up to `max_ai_reviews_per_run` posts per run (one AI credit each). Admins and members only.
|
|
52
|
+
# @param workspace_uuid UUID of the workspace.
|
|
53
|
+
# @param workspace_agent_input
|
|
54
|
+
# @param [Hash] opts the optional parameters
|
|
55
|
+
# @return [CreateAgent201Response]
|
|
56
|
+
describe 'create_agent test' 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
|
+
# unit tests for delete_agent
|
|
63
|
+
# Delete a background agent
|
|
64
|
+
# Removes the agent. Its run history and proposals stay. Admins and members only.
|
|
65
|
+
# @param workspace_uuid UUID of the workspace.
|
|
66
|
+
# @param agent_uuid
|
|
67
|
+
# @param [Hash] opts the optional parameters
|
|
68
|
+
# @return [DeleteAgent200Response]
|
|
69
|
+
describe 'delete_agent test' do
|
|
70
|
+
it 'should work' do
|
|
71
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# unit tests for get_agent_run
|
|
76
|
+
# Get an agent run with its proposals
|
|
77
|
+
# @param workspace_uuid UUID of the workspace.
|
|
78
|
+
# @param run_uuid
|
|
79
|
+
# @param [Hash] opts the optional parameters
|
|
80
|
+
# @return [RunAgent202Response]
|
|
81
|
+
describe 'get_agent_run test' do
|
|
82
|
+
it 'should work' do
|
|
83
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# unit tests for list_agent_proposals
|
|
88
|
+
# List agent proposals (approval queue)
|
|
89
|
+
# Proposals of all agents in the workspace, newest first. Defaults to `pending`.
|
|
90
|
+
# @param workspace_uuid UUID of the workspace.
|
|
91
|
+
# @param [Hash] opts the optional parameters
|
|
92
|
+
# @option opts [String] :status
|
|
93
|
+
# @option opts [Integer] :per_page
|
|
94
|
+
# @option opts [Integer] :page
|
|
95
|
+
# @return [ListAgentProposals200Response]
|
|
96
|
+
describe 'list_agent_proposals 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
|
+
# unit tests for list_agent_runs
|
|
103
|
+
# Run history of an agent
|
|
104
|
+
# Runs of the agent, newest first, with what each checked and proposed and the AI credits it used.
|
|
105
|
+
# @param workspace_uuid UUID of the workspace.
|
|
106
|
+
# @param agent_uuid
|
|
107
|
+
# @param [Hash] opts the optional parameters
|
|
108
|
+
# @option opts [Integer] :per_page
|
|
109
|
+
# @option opts [Integer] :page
|
|
110
|
+
# @return [ListAgentRuns200Response]
|
|
111
|
+
describe 'list_agent_runs test' do
|
|
112
|
+
it 'should work' do
|
|
113
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
# unit tests for list_agents
|
|
118
|
+
# List background agents
|
|
119
|
+
# Background agents switched on for the workspace. Agents run on a schedule, record every run and never change a post themselves: each change is a proposal that a workspace admin or member approves. Available type: `pre_publish_checker`.
|
|
120
|
+
# @param workspace_uuid UUID of the workspace.
|
|
121
|
+
# @param [Hash] opts the optional parameters
|
|
122
|
+
# @return [ListAgents200Response]
|
|
123
|
+
describe 'list_agents test' do
|
|
124
|
+
it 'should work' do
|
|
125
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
# unit tests for reject_agent_proposal
|
|
130
|
+
# Reject an agent proposal
|
|
131
|
+
# Records the rejection (and optional note); nothing changes on the post. Admins and members only.
|
|
132
|
+
# @param workspace_uuid UUID of the workspace.
|
|
133
|
+
# @param proposal_uuid
|
|
134
|
+
# @param [Hash] opts the optional parameters
|
|
135
|
+
# @option opts [AgentProposalDecision] :agent_proposal_decision
|
|
136
|
+
# @return [ApproveAgentProposal200Response]
|
|
137
|
+
describe 'reject_agent_proposal test' do
|
|
138
|
+
it 'should work' do
|
|
139
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
140
|
+
end
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
# unit tests for run_agent
|
|
144
|
+
# Run a background agent now
|
|
145
|
+
# Queues a run outside the schedule (`trigger: manual`). Six per hour. Admins and members only.
|
|
146
|
+
# @param workspace_uuid UUID of the workspace.
|
|
147
|
+
# @param agent_uuid
|
|
148
|
+
# @param [Hash] opts the optional parameters
|
|
149
|
+
# @return [RunAgent202Response]
|
|
150
|
+
describe 'run_agent test' do
|
|
151
|
+
it 'should work' do
|
|
152
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
153
|
+
end
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
# unit tests for update_agent
|
|
157
|
+
# Update a background agent
|
|
158
|
+
# Changes the name, schedule, settings or `enabled`. Settings you leave out keep their value. Admins and members only.
|
|
159
|
+
# @param workspace_uuid UUID of the workspace.
|
|
160
|
+
# @param agent_uuid
|
|
161
|
+
# @param workspace_agent_update
|
|
162
|
+
# @param [Hash] opts the optional parameters
|
|
163
|
+
# @return [CreateAgent201Response]
|
|
164
|
+
describe 'update_agent test' do
|
|
165
|
+
it 'should work' do
|
|
166
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
end
|
|
@@ -0,0 +1,189 @@
|
|
|
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::AIApi
|
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'AIApi' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@api_instance = PostBoost::AIApi.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of AIApi' do
|
|
30
|
+
it 'should create an instance of AIApi' do
|
|
31
|
+
expect(@api_instance).to be_instance_of(PostBoost::AIApi)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for blog_to_social
|
|
36
|
+
# Generate social media captions from a blog post
|
|
37
|
+
# Generates platform-specific social media captions from a blog post URL or directly provided title and excerpt. Each platform generates one caption, which consumes one AI credit from the workspace's monthly allowance. **Input modes** (at least one required): - **URL mode**: provide `url` and the API scrapes the blog content automatically, including detecting the featured image via `og:image`. - **Direct mode**: provide `title` and `excerpt` directly (no scraping). If both are provided, direct values take priority. When `create_post` is `true`, a draft post is created in the workspace with per-account caption versions. If an image is available (from `image_url` or the scraped `og:image`), it is imported into the workspace media library and attached to the draft post.
|
|
38
|
+
# @param workspace_uuid UUID of the workspace.
|
|
39
|
+
# @param blog_to_social_input
|
|
40
|
+
# @param [Hash] opts the optional parameters
|
|
41
|
+
# @return [BlogToSocial200Response]
|
|
42
|
+
describe 'blog_to_social 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_brand_voice
|
|
49
|
+
# Delete the brand voice
|
|
50
|
+
# Removes the workspace's brand voice. AI endpoints then run without one. Admins and members only.
|
|
51
|
+
# @param workspace_uuid UUID of the workspace.
|
|
52
|
+
# @param [Hash] opts the optional parameters
|
|
53
|
+
# @return [Object]
|
|
54
|
+
describe 'delete_brand_voice test' do
|
|
55
|
+
it 'should work' do
|
|
56
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# unit tests for get_ai_usage
|
|
61
|
+
# AI credit usage
|
|
62
|
+
# The workspace's AI credits: text credits (captions, rewrites, outlines, alt text; counted per billing cycle) and image credits (one per generated, edited or varied image, and one per repurpose carousel; counted per calendar month, UTC). `limit` and `remaining` are `null` when the workspace has no limit. Readable when credits are used up; costs nothing. When image credits run out, the image endpoints and carousels answer `429` with `code: image_credits_exhausted`; when text credits run out, the AI endpoints answer `429` with `code: ai_credits_exhausted`. Image endpoint responses also carry `image_credits_used` and `image_credits_remaining`; their `credits_used` counts text credits only. If the image pool is switched off (`image.enabled: false`), images cost text credits as before.
|
|
63
|
+
# @param workspace_uuid UUID of the workspace.
|
|
64
|
+
# @param [Hash] opts the optional parameters
|
|
65
|
+
# @return [AIUsage]
|
|
66
|
+
describe 'get_ai_usage test' do
|
|
67
|
+
it 'should work' do
|
|
68
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# unit tests for get_brand_voice
|
|
73
|
+
# Get the brand voice
|
|
74
|
+
# The workspace's brand voice: identity, audience, tone sliders, style rules and example posts. It is the same profile as the Brand Voice page in the app (one per workspace). `data` is `null` when no voice is set. Any workspace member may read it; reading costs no AI credits. The AI endpoints apply it automatically: `blog-to-social` adds it to the caption instructions, `image-prompt` and `image-generate` turn it into a short visual tone line, and `image-edit` applies it when you send `use_brand_voice: true`. `image-variations` and `image-alt-text` never use it (alt text must describe the image literally). Send `use_brand_voice: false` to skip it on a call; responses report `meta.brand_voice_applied`.
|
|
75
|
+
# @param workspace_uuid UUID of the workspace.
|
|
76
|
+
# @param [Hash] opts the optional parameters
|
|
77
|
+
# @return [GetBrandVoice200Response]
|
|
78
|
+
describe 'get_brand_voice test' do
|
|
79
|
+
it 'should work' do
|
|
80
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# unit tests for image_alt_text
|
|
85
|
+
# Generate alt text for a media image using AI
|
|
86
|
+
# Analyzes an existing workspace media item and generates accessible alt text. The alt text is saved back to the media record. Costs 1 AI credit per call.
|
|
87
|
+
# @param workspace_uuid UUID of the workspace.
|
|
88
|
+
# @param image_alt_text_input
|
|
89
|
+
# @param [Hash] opts the optional parameters
|
|
90
|
+
# @return [ImageAltText200Response]
|
|
91
|
+
describe 'image_alt_text test' do
|
|
92
|
+
it 'should work' do
|
|
93
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
94
|
+
end
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# unit tests for image_edit
|
|
98
|
+
# Edit an existing media image using AI
|
|
99
|
+
# Edits an existing workspace media item using the source image and a text prompt. Optionally accepts a mask (transparent areas are replaced). Saves results to the media library. Credits: `count × credit_weight`.
|
|
100
|
+
# @param workspace_uuid UUID of the workspace.
|
|
101
|
+
# @param image_edit_input
|
|
102
|
+
# @param [Hash] opts the optional parameters
|
|
103
|
+
# @return [ImageGenerate200Response]
|
|
104
|
+
describe 'image_edit test' do
|
|
105
|
+
it 'should work' do
|
|
106
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
# unit tests for image_generate
|
|
111
|
+
# Generate social media images from a caption
|
|
112
|
+
# Generates one or more images and saves them immediately to the workspace media library. **Standard mode** (recommended): provide `caption` + `platform`. PostBoost builds a professional image prompt internally using platform-specific templates. No prompt engineering required. **Developer mode**: provide `prompt` directly to bypass prompt building. If both `caption` and `prompt` are sent, standard mode runs. Credits: `count x credit_weight` (default: 5 per image).
|
|
113
|
+
# @param workspace_uuid UUID of the workspace.
|
|
114
|
+
# @param image_generate_input
|
|
115
|
+
# @param [Hash] opts the optional parameters
|
|
116
|
+
# @return [ImageGenerate200Response]
|
|
117
|
+
describe 'image_generate test' do
|
|
118
|
+
it 'should work' do
|
|
119
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
# unit tests for image_prompt
|
|
124
|
+
# Build an optimized image prompt from a social media caption
|
|
125
|
+
# Builds a professional image generation prompt from a caption and platform. No image is generated. Use this to preview the prompt before calling `image-generate`. Costs 1 AI credit per call. When `image-generate` builds the prompt internally (standard mode), no credit is charged for the prompt step.
|
|
126
|
+
# @param workspace_uuid UUID of the workspace.
|
|
127
|
+
# @param image_prompt_input
|
|
128
|
+
# @param [Hash] opts the optional parameters
|
|
129
|
+
# @return [ImagePrompt200Response]
|
|
130
|
+
describe 'image_prompt test' do
|
|
131
|
+
it 'should work' do
|
|
132
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
# unit tests for image_variations
|
|
137
|
+
# Generate variations of an existing media image
|
|
138
|
+
# Creates one or more variations of an existing workspace media item. Saves results to the media library. Credits: `count × credit_weight`.
|
|
139
|
+
# @param workspace_uuid UUID of the workspace.
|
|
140
|
+
# @param image_variations_input
|
|
141
|
+
# @param [Hash] opts the optional parameters
|
|
142
|
+
# @return [ImageVariations200Response]
|
|
143
|
+
describe 'image_variations test' do
|
|
144
|
+
it 'should work' do
|
|
145
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
# unit tests for learn_brand_voice
|
|
150
|
+
# Learn a brand voice from past posts
|
|
151
|
+
# Reads the workspace's latest published posts (original text) and proposes a brand voice in the same shape as `GET /brand-voice`. Returns a draft and saves nothing unless `apply: true`. Without `overwrite`, learned values only fill fields that are empty (tone sliders and styles still at their defaults count as empty); with `overwrite: true` they replace them. The first five sampled posts become `example_posts`. Needs at least 3 published posts (`422`, `code: not_enough_posts`). Costs one AI text credit per AI call (one retry when the reply is not usable). Admins and members only. A key limited to some accounts must send `account_ids`; only posts whose accounts are all among them are read. `apply` also needs the `write` ability.
|
|
152
|
+
# @param workspace_uuid UUID of the workspace.
|
|
153
|
+
# @param [Hash] opts the optional parameters
|
|
154
|
+
# @option opts [LearnBrandVoiceInput] :learn_brand_voice_input
|
|
155
|
+
# @return [LearnBrandVoiceResponse]
|
|
156
|
+
describe 'learn_brand_voice test' do
|
|
157
|
+
it 'should work' do
|
|
158
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
159
|
+
end
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
# unit tests for repurpose_content
|
|
163
|
+
# Repurpose long-form content into a draft post set with a carousel
|
|
164
|
+
# Turns an article URL, a YouTube video, a PDF or pasted text into one **draft** post with a caption for every target account, plus a carousel of rendered slide images (hook, 1 to 6 idea slides, call to action; 1080×1350 PNG). Nothing is published or scheduled. **Sources** (`source_type`): - `url`: the article is fetched and its main text extracted. - `youtube`: title, description and chapters come from YouTube; send the transcript in `transcript` for better results (required when the description is short). - `pdf`: `pdf_url` must be a public PDF of at most 20 MB; the first 30 pages are read. - `text`: send `title` and `text`. **Carousel per network**: Instagram, Facebook, Threads up to 10 slides; LinkedIn up to 9; X and Bluesky up to 4; other networks get the cover slide; YouTube and TikTok get none (listed in `warnings`). Without a carousel, the source image (article image or video thumbnail) is attached when available. **AI credits**: one per target account plus one for the carousel outline. Slides are drawn without AI and cost nothing. The workspace brand voice applies unless `use_brand_voice` is `false`. Send an `Idempotency-Key` so a retried call does not create a second draft. Limited to 10 calls per minute.
|
|
165
|
+
# @param workspace_uuid UUID of the workspace.
|
|
166
|
+
# @param repurpose_input
|
|
167
|
+
# @param [Hash] opts the optional parameters
|
|
168
|
+
# @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.
|
|
169
|
+
# @return [RepurposeContent200Response]
|
|
170
|
+
describe 'repurpose_content test' do
|
|
171
|
+
it 'should work' do
|
|
172
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
173
|
+
end
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
# unit tests for update_brand_voice
|
|
177
|
+
# Create or update the brand voice
|
|
178
|
+
# Creates the workspace's brand voice or updates it. Fields you leave out keep their current value. Admins and members only (not viewers); the workspace must have AI enabled.
|
|
179
|
+
# @param workspace_uuid UUID of the workspace.
|
|
180
|
+
# @param brand_voice_input
|
|
181
|
+
# @param [Hash] opts the optional parameters
|
|
182
|
+
# @return [GetBrandVoice200Response]
|
|
183
|
+
describe 'update_brand_voice test' do
|
|
184
|
+
it 'should work' do
|
|
185
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
186
|
+
end
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
end
|