{"components":{"schemas":{"AcceptTurboProjectQuoteDto":{"properties":{"quoteId":{"description":"Accepted quote; required to generate ideas","type":"string"}},"type":"object"},"ActivityEntityModel":{"description":"Entity model name","enum":["Ingredient","Post","Article"],"type":"string"},"AddCampaignTargetsDto":{"properties":{"targetType":{"allOf":[{"$ref":"#/components/schemas/CampaignTargetType"}],"default":"tweet","description":"Discriminator for how targets are added. Defaults to URL-based target detection. Use DM_RECIPIENT to add DM recipients by username."},"urls":{"description":"Content URLs to add as targets (manual URL addition, max 100)","items":{"type":"string"},"maxItems":100,"type":"array"},"usernames":{"description":"Usernames to add as DM recipients (requires targetType: dm_recipient, max 100)","items":{"type":"string"},"maxItems":100,"type":"array"}},"type":"object"},"AddCreatorDto":{"properties":{"displayName":{"description":"Display name of the creator","type":"string"},"handle":{"description":"Creator handle/username (without @)","example":"justinwelsh","type":"string"},"niche":{"description":"Niche/industry of the creator","type":"string"},"platform":{"allOf":[{"$ref":"#/components/schemas/ContentIntelligencePlatform"}],"description":"Platform where the creator is active","example":"linkedin"},"profileUrl":{"description":"Profile URL of the creator","type":"string"},"scrapeConfig":{"allOf":[{"$ref":"#/components/schemas/ScrapeConfigDto"}],"description":"Scrape configuration options"},"tags":{"description":"Tags to categorize this creator","items":{"type":"string"},"type":"array"}},"required":["platform","handle"],"type":"object"},"AddEntryDto":{"properties":{"content":{"description":"Content to add to the context","type":"string"},"metadata":{"description":"Additional metadata for the entry","type":"object"},"relevanceWeight":{"default":1,"description":"Relevance weight for this entry (0.0 - 1.0)","maximum":1,"minimum":0,"type":"number"}},"required":["content"],"type":"object"},"AddReferenceImagesDto":{"properties":{},"type":"object"},"AddReplyTargetDto":{"properties":{"brandId":{"description":"Brand whose X account is being warmed up","type":"string"},"username":{"description":"X username to monitor, with or without @","example":"someaccount","type":"string"}},"required":["brandId","username"],"type":"object"},"AddTurboProjectItemsDto":{"properties":{"ideas":{"description":"Replaces the idea project ideas","items":{"$ref":"#/components/schemas/TurboProjectIdeaDto"},"type":"array"},"inputs":{"description":"Appended to the workflow project inputs","items":{"$ref":"#/components/schemas/TurboProjectInputDto"},"type":"array"}},"type":"object"},"AgentChatBodyDto":{"properties":{"agentMode":{"description":"Agent mode (#4672) for a newly created thread — an existing thread keeps its own persisted mode","enum":["auto","manual","plan"],"type":"string"},"artifactReferences":{"description":"Scoped pointers to canonical records; re-authorized server-side","type":"array"},"attachments":{"description":"Ingredient attachments","items":{"type":"string"},"type":"array"},"brandId":{"description":"Brand scope for this turn","nullable":true,"type":"string"},"clientRequestId":{"description":"Stable client-generated identity for idempotent turn retries","maxLength":128,"type":"string"},"content":{"description":"The user message content for this turn","maxLength":32000,"type":"string"},"expectedContextVersion":{"description":"Optimistic-concurrency guard for the thread context version","type":"number"},"generationMode":{"description":"Media routing override for this turn","enum":["auto","image","video"],"type":"string"},"generationSettings":{"$ref":"#/components/schemas/AgentGenerationSettingsDto"},"hostSupportsApproval":{"description":"False when the invoking host cannot persist or resume an approval-required mutation","type":"boolean"},"knowledgeSelection":{"allOf":[{"$ref":"#/components/schemas/KnowledgeSelectionDto"}],"description":"Explicit Knowledge sources, spaces or purposes that ground content generated in this turn"},"model":{"description":"Model override for this turn","type":"string"},"pageContext":{"description":"Page context; nested references re-authorized server-side","type":"object"},"requestedSkillSlugs":{"description":"Skill slugs picked from the composer `/` palette; intersected server-side with the brand’s enabled skills","type":"array"},"source":{"description":"Origin of the turn","enum":["agent","proactive"],"type":"string"},"threadId":{"description":"Existing thread to append the turn to","type":"string"}},"required":["clientRequestId","content"],"type":"object"},"AgentCreditGovernanceDto":{"properties":{"agentDailyCreditCap":{"description":"Optional per-agent daily cap enforced against the pooled org balance","nullable":true,"type":"number"},"brandDailyCreditCap":{"description":"Optional per-brand daily cap enforced against the pooled org balance","nullable":true,"type":"number"},"useOrganizationPool":{"default":true,"description":"Whether autonomous agents spend from the pooled org balance","type":"boolean"}},"type":"object"},"AgentFailureResolutionDto":{"properties":{"isResolved":{"description":"Whether the failed run is marked as handled","type":"boolean"}},"required":["isResolved"],"type":"object"},"AgentGenerationSettingsDto":{"properties":{"aspectRatio":{"example":"1:1","maxLength":32,"type":"string"},"duration":{"maximum":60,"minimum":1,"type":"number"},"model":{"maxLength":256,"type":"string"},"outputs":{"maximum":8,"minimum":1,"type":"number"},"prioritize":{"enum":["quality","speed","cost","balanced"],"type":"string"},"resolution":{"maxLength":32,"type":"string"}},"required":["aspectRatio"],"type":"object"},"AgentPolicyDto":{"properties":{"allowAdvancedOverrides":{"default":false,"description":"Whether raw model override controls are exposed","type":"boolean"},"autonomyDefault":{"default":"SUPERVISED","description":"Default autonomy mode for autonomous agents","enum":["SUPERVISED","AUTO_PUBLISH"],"type":"string"},"creditGovernance":{"allOf":[{"$ref":"#/components/schemas/AgentCreditGovernanceDto"}],"description":"Credit governance defaults for autonomous agents"},"generationModelOverride":{"description":"Optional advanced override for generation model selection","nullable":true,"type":"string"},"qualityTierDefault":{"default":"balanced","description":"Default quality tier for autonomous agent execution","enum":["budget","balanced","high_quality"],"type":"string"},"reviewModelOverride":{"description":"Optional advanced override for review model selection","nullable":true,"type":"string"},"thinkingModelOverride":{"description":"Optional advanced override for the planner/thinking model","nullable":true,"type":"string"}},"type":"object"},"AgentThreadMode":{"description":"Saved default agent mode (#4672) applied to new agent threads","enum":["auto","manual","plan"],"type":"string"},"AnalyzeContentDto":{"properties":{},"type":"object"},"AnalyzeListeningTopicDto":{"properties":{"currentWindowEnd":{"description":"Exclusive end of the current analysis window","type":"string"},"currentWindowStart":{"description":"Inclusive start of the current analysis window","type":"string"},"minimumEvidencePerWindow":{"default":2,"maximum":100,"minimum":1,"type":"number"},"previousWindowEnd":{"description":"Exclusive end of the previous comparison window","type":"string"},"previousWindowStart":{"description":"Inclusive start of the previous comparison window","type":"string"}},"required":["currentWindowEnd","currentWindowStart","previousWindowEnd","previousWindowStart"],"type":"object"},"AnalyzeToneDto":{"properties":{},"type":"object"},"AnalyzeYoutubeDto":{"properties":{"brandId":{"description":"Selected brand used to resolve saved clip identity defaults","type":"string"},"draftProjectId":{"description":"Draft project to start in place instead of creating a new one","type":"string"},"language":{"default":"en","description":"Language code for transcription","type":"string"},"maxClips":{"default":10,"description":"Maximum number of highlights to detect","type":"number"},"minViralityScore":{"default":50,"description":"Minimum virality score threshold (1-100)","type":"number"},"name":{"description":"Optional project name","type":"string"},"youtubeUrl":{"description":"YouTube video URL to analyze","example":"https://www.youtube.com/watch?v=dQw4w9WgXcQ","type":"string"}},"required":["youtubeUrl"],"type":"object"},"ApiKeyCategory":{"description":"Type of API key","enum":["GENFEEDAI","ELEVENLABS","HEDRA","HEYGEN","OPUS_PRO"],"type":"string"},"AppendExternalAgentTurnDto":{"properties":{"assistantMessage":{"maxLength":200000,"type":"string"},"completedAt":{"type":"string"},"model":{"type":"string"},"runtimeKey":{"enum":["local/claude-cli","local/codex-cli"],"type":"string"},"sessionId":{"type":"string"},"startedAt":{"type":"string"},"toolCalls":{"items":{"$ref":"#/components/schemas/ExternalAgentTurnToolCallDto"},"type":"array"},"usage":{"$ref":"#/components/schemas/ExternalAgentTurnUsageDto"},"userMessage":{"maxLength":100000,"type":"string"}},"required":["assistantMessage","runtimeKey","userMessage"],"type":"object"},"ApplyBrandKitDto":{"properties":{},"type":"object"},"ApplyProfileDto":{"properties":{},"type":"object"},"ApproveBrandOsRevisionDto":{"properties":{"reviewedGenerationRulesHash":{"description":"Digest of the saved generation rules reviewed","type":"string"},"updatedAt":{"description":"updatedAt of the reviewed draft","type":"string"}},"required":["updatedAt"],"type":"object"},"ApproveCampaignSpendDto":{"properties":{"confirm":{"description":"Must be the exact string confirm to record spend approval","type":"string"}},"required":["confirm"],"type":"object"},"ApproveStoryboardPlanDto":{"properties":{"expectedRevision":{"minimum":1,"type":"number"}},"required":["expectedRevision"],"type":"object"},"ApproveSystemBrandDto":{"properties":{"updatedAt":{"description":"updatedAt of the reviewed draft","type":"string"}},"required":["updatedAt"],"type":"object"},"ArchiveSkillDto":{"properties":{},"type":"object"},"ArticleCategory":{"description":"Article category","enum":["post","tutorial","guide","news","announcement","analysis","review","interview","article","whitepaper","essay","listicle","linkedin-article","x-article","help"],"type":"string"},"ArticleStatus":{"description":"Article status","enum":["DRAFT","PUBLISHED","ARCHIVED","PROCESSING","FAILED"],"type":"string"},"AssessAccountHealthDto":{"properties":{"signals":{"description":"Optional signal overrides for tests, provider callbacks, or manual re-assessment.","type":"object"},"thresholds":{"description":"Optional per-assessment threshold overrides persisted with the account health record.","type":"object"}},"type":"object"},"AssetCategory":{"enum":["LOGO","BANNER","REFERENCE"],"type":"string"},"AssetParent":{"enum":["ORGANIZATION","INGREDIENT","BRAND","ARTICLE"],"type":"string"},"AssetScope":{"enum":["USER","BRAND","ORGANIZATION","PUBLIC"],"type":"string"},"AssignTurboRunItemDto":{"properties":{},"type":"object"},"AttachBrandRemixAnalysisSourceDto":{"properties":{},"type":"object"},"AttachMcpApprovalResultDto":{"properties":{"result":{"additionalProperties":true,"description":"Execution result payload to persist on the approved approval","type":"object"}},"required":["result"],"type":"object"},"AuthorReplyDraftDto":{"properties":{"brandId":{"type":"string"},"commentAuthor":{"type":"string"},"commentId":{"type":"string"},"commentText":{"type":"string"},"intent":{"description":"Override auto-classified intent persona","enum":["thanks","question","troll","spam","default"],"type":"string"},"parentPostPreview":{"type":"string"},"platform":{"default":"twitter","description":"Platform for harness pack selection (twitter | youtube)","enum":["twitter","youtube"],"type":"string"}},"required":["brandId","commentId","commentText","commentAuthor"],"type":"object"},"AuthorReplySendDto":{"properties":{"brandId":{"type":"string"},"commentAuthor":{"type":"string"},"commentAuthorId":{"type":"string"},"commentId":{"type":"string"},"commentText":{"type":"string"},"intent":{"description":"Override auto-classified intent persona","enum":["thanks","question","troll","spam","default"],"type":"string"},"parentPostId":{"type":"string"},"parentPostPreview":{"type":"string"},"platform":{"default":"twitter","description":"Platform to post the author reply on (twitter | youtube)","enum":["twitter","youtube"],"type":"string"},"replyText":{"description":"Optional pre-edited reply; drafts when omitted","type":"string"}},"required":["brandId","commentId","commentText","commentAuthor","parentPostId"],"type":"object"},"AutoApplySuggestionDto":{"properties":{},"type":"object"},"AutoCreateContextDto":{"properties":{"brandId":{"description":"Brand ID to auto-create context from","type":"string"},"dateRange":{"description":"Date range for content to include (ISO dates)","example":{"end":"2025-10-16","start":"2025-01-01"},"type":"object"},"description":{"description":"Description of the context","type":"string"},"includeAnalytics":{"default":true,"description":"Include engagement analytics in context","type":"boolean"},"includePosts":{"default":true,"description":"Include posts content in context","type":"boolean"},"label":{"description":"Label of the context","type":"string"},"platform":{"description":"Social media platform","enum":["instagram","tiktok","youtube","linkedin","twitter"],"type":"string"}},"required":["label","description","platform","brandId"],"type":"object"},"AvatarProvider":{"description":"Avatar provider","enum":["heygen","hedra"],"type":"string"},"BatchInterpolationDto":{"properties":{"cameraPrompt":{"description":"Camera movement prompt to apply to all pairs","example":"slow dolly forward","type":"string"},"duration":{"default":5,"description":"Duration of each interpolation video in seconds","type":"number"},"format":{"allOf":[{"$ref":"#/components/schemas/IngredientFormat"}],"default":"landscape","description":"Video format/aspect ratio"},"isLoopMode":{"default":false,"description":"Whether the sequence is a loop (last frame connects to first)","type":"boolean"},"isMergeEnabled":{"default":false,"description":"Whether to automatically merge all generated videos into one after completion","type":"boolean"},"mergeSettings":{"allOf":[{"$ref":"#/components/schemas/InterpolationMergeSettingsDto"}],"description":"Transition, caption and music settings the auto-merge applies (with isMergeEnabled)"},"modelKey":{"description":"The model key to use for interpolation","example":"replicate-google-veo-3-1","type":"string"},"pairs":{"description":"Array of frame pairs to interpolate","items":{"$ref":"#/components/schemas/InterpolationPairDto"},"maxItems":50,"minItems":1,"type":"array"},"promptTemplate":{"description":"Prompt template key (e.g., \"video.cinematic.default\")","type":"string"},"useTemplate":{"default":true,"description":"Whether to use prompt templates for enhanced prompts","type":"boolean"}},"required":["pairs","modelKey"],"type":"object"},"BookCalendarSlotDto":{"properties":{"brandId":{"type":"string"},"credentialId":{"type":"string"},"format":{"enum":["ARTICLE","VIDEO","POST","REEL","STORY","IMAGE","TEXT"],"type":"string"},"instant":{"type":"string"},"timezone":{"type":"string"}},"required":["brandId","credentialId","format","instant"],"type":"object"},"BotActivityStatus":{"enum":["pending","processing","awaiting_approval","completed","failed","skipped"],"type":"string"},"BotLivestreamOverrideDto":{"properties":{"activeLinkId":{"description":"Optional active link override for the next drop","type":"string"},"promotionAngle":{"description":"Optional promotion angle layered into generated prompts","type":"string"},"topic":{"description":"Override topic used for context-aware prompts","type":"string"}},"type":"object"},"BotLivestreamRestreamChatIngestDto":{"properties":{"actions":{"description":"Batch of Restream Chat WebSocket actions to ingest as context","items":{"$ref":"#/components/schemas/RestreamChatActionDto"},"type":"array"}},"required":["actions"],"type":"object"},"BotLivestreamSendNowDto":{"properties":{"message":{"description":"Exact message to post immediately. If omitted, the service will generate one.","type":"string"},"platform":{"allOf":[{"$ref":"#/components/schemas/LivestreamPlatform"}],"description":"Platform that should receive the one-off message"},"type":{"description":"Preferred generated message type for one-off sends","example":"scheduled_link_drop","type":"string"}},"required":["platform"],"type":"object"},"BotLivestreamSessionPatchDto":{"properties":{"status":{"allOf":[{"$ref":"#/components/schemas/BotLivestreamSessionStatus"}],"description":"Target livestream session status. \"active\" starts the session when stopped, or resumes it when paused."}},"required":["status"],"type":"object"},"BotLivestreamSessionStatus":{"description":"Target livestream session status. \"active\" starts the session when stopped, or resumes it when paused.","enum":["active","paused","stopped"],"type":"string"},"BotLivestreamTranscriptDto":{"properties":{"audioUrl":{"description":"Audio URL to transcribe with the existing speech backend","type":"string"},"confidence":{"description":"Confidence score for a pre-transcribed chunk","maximum":1,"minimum":0,"type":"number"},"language":{"description":"Optional ISO language code hint for the speech backend","type":"string"},"prompt":{"description":"Optional transcription prompt/context seed","type":"string"},"source":{"description":"Origin of this chunk: manual | audio_url | external_caption_webhook | restream_chat","type":"string"},"text":{"description":"Pre-transcribed chunk text. Optional when audioUrl is provided. Use for host speech while streaming via Restream (external STT/captions).","type":"string"}},"type":"object"},"BrandOsPreviewClaimDto":{"properties":{"previewToken":{"description":"Opaque 32-byte base64url preview bearer token.","maxLength":43,"minLength":43,"type":"string"}},"required":["previewToken"],"type":"object"},"BrandOsPreviewDto":{"properties":{"guidance":{"description":"Bounded, manually supplied Brand OS guidance.","maxLength":12000,"type":"string"},"url":{"description":"Public http(s) website used as preview evidence.","example":"https://example.com","maxLength":2048,"type":"string"}},"type":"object"},"BrandOsScanDto":{"properties":{"requestId":{"description":"Current scan request UUID","type":"string"},"url":{"description":"Website URL to scan","maxLength":2048,"type":"string"}},"required":["url","requestId"],"type":"object"},"BrandSetupDto":{"properties":{"additionalNotes":{"description":"Additional notes or context about the brand","type":"string"},"brandName":{"description":"User-provided brand name","example":"Acme Corp","type":"string"},"brandUrl":{"description":"The brand website URL to analyze","example":"https://example.com","type":"string"},"industry":{"description":"Industry/niche of the brand","example":"Technology","type":"string"},"linkedinUrl":{"description":"LinkedIn company page URL","example":"https://linkedin.com/company/example","type":"string"},"organizationName":{"description":"User-provided organization name","example":"Acme Studio","type":"string"},"targetAudience":{"description":"Target audience description","example":"B2B SaaS companies","type":"string"},"xProfileUrl":{"description":"X/Twitter profile URL","example":"https://x.com/example","type":"string"}},"required":["brandUrl"],"type":"object"},"BroadcastAnnouncementDto":{"properties":{},"type":"object"},"BudgetPolicyCapDto":{"properties":{"creditBudget":{"description":"Credit cap for the key","type":"number"},"key":{"description":"Platform or format key","type":"string"}},"required":["key"],"type":"object"},"BudgetPolicyDto":{"properties":{"maxRetriesPerOpportunity":{"description":"Maximum retries per opportunity","type":"number"},"monthlyCreditBudget":{"description":"Monthly Genfeed credit budget","type":"number"},"perFormatCaps":{"description":"Per-format credit caps","items":{"$ref":"#/components/schemas/BudgetPolicyCapDto"},"type":"array"},"perPlatformCaps":{"description":"Per-platform credit caps","items":{"$ref":"#/components/schemas/BudgetPolicyCapDto"},"type":"array"},"reserveTrendBudget":{"description":"Reserved budget for trends","type":"number"}},"type":"object"},"BulkDeleteIngredientsDto":{"properties":{"ids":{"description":"Array of ingredient IDs to delete (max 100)","example":["507f1f77bcf86cd799439011","507f1f77bcf86cd799439012"],"items":{"type":"string"},"maxItems":100,"type":"array"}},"required":["ids"],"type":"object"},"BulkGenerateCalendarSlotsDto":{"properties":{"brief":{"type":"string"},"campaignId":{"description":"Publish content campaign to stamp on generated calendar content","type":"string"},"confirmedCount":{"description":"Confirmed count of unique identity keys to generate.","maximum":500,"minimum":1,"type":"number"},"identityKeys":{"description":"Missing-slot identities the operator confirmed.","items":{"type":"string"},"type":"array"}},"required":["confirmedCount","identityKeys"],"type":"object"},"BulkScheduleDto":{"properties":{},"type":"object"},"BulkTagIngredientsDto":{"properties":{"action":{"allOf":[{"$ref":"#/components/schemas/TagBulkAction"}]},"ids":{"description":"Assets to change, at most 200 per request","items":{"type":"string"},"maxItems":200,"type":"array"},"tagId":{"description":"The tag to add or remove","type":"string"}},"required":["ids","tagId","action"],"type":"object"},"BulkUpdateActivitiesDto":{"properties":{"ids":{"description":"Array of activity IDs to update (max 100)","example":["507f1f77bcf86cd799439011","507f1f77bcf86cd799439012"],"items":{"type":"string"},"maxItems":100,"type":"array"},"isDeleted":{"description":"Soft-delete activities","example":true,"type":"boolean"},"isRead":{"description":"Mark activities as read","example":true,"type":"boolean"}},"required":["ids"],"type":"object"},"CampaignPlatform":{"description":"Platform for the campaign","enum":["twitter","reddit","instagram"],"type":"string"},"CampaignPostsDto":{"properties":{"postIds":{"items":{"type":"string"},"type":"array"}},"required":["postIds"],"type":"object"},"CampaignStatus":{"description":"Campaign status","enum":["draft","active","paused","completed"],"type":"string"},"CampaignTargetStatus":{"enum":["PENDING","SCHEDULED","PROCESSING","REPLIED","SENT","SKIPPED","FAILED"],"type":"string"},"CampaignTargetType":{"description":"Discriminator for how targets are added. Defaults to URL-based target detection. Use DM_RECIPIENT to add DM recipients by username.","enum":["tweet","reddit_post","reddit_comment","dm_recipient"],"type":"string"},"CampaignType":{"description":"Type of campaign","enum":["manual","discovery","scheduled","dm_outreach"],"type":"string"},"CancelCalendarSlotDto":{"properties":{"identityKey":{"type":"string"}},"required":["identityKey"],"type":"object"},"CaptionFormat":{"description":"The format of the caption file","enum":["srt","vtt","txt"],"type":"string"},"ChangePlanDto":{"properties":{},"type":"object"},"CharacterAvailabilityDto":{"properties":{"brandIds":{"description":"Brands that can use the character when mode is SELECTED_BRANDS; the owning brand is always included","items":{"type":"string"},"type":"array"},"mode":{"allOf":[{"$ref":"#/components/schemas/PersonaAvailabilityMode"}],"description":"owning brand only (default), all brands of the organization, or selected brands"}},"required":["mode"],"type":"object"},"CharacterReferenceUsageDto":{"properties":{"ingredientIds":{"description":"Library assets to check; returns the characters using each one as a reference image","items":{"type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["ingredientIds"],"type":"object"},"CharacterReferencesDto":{"properties":{"ingredientIds":{"description":"Library images, in order. Appending skips images already referenced; reordering must list every current reference exactly once (the first becomes the primary reference).","items":{"type":"string"},"maxItems":14,"minItems":1,"type":"array"}},"required":["ingredientIds"],"type":"object"},"CheckoutTaskDto":{"properties":{"agentId":{"description":"Agent holding the task lease","type":"string"},"runId":{"description":"Run acquiring the task lease","type":"string"}},"required":["agentId","runId"],"type":"object"},"ClaimPublicYoutubeClipDto":{"properties":{"brandId":{"description":"Brand that should own the claimed Studio Clip project.","type":"string"},"previewToken":{"description":"Opaque 32-byte base64url public-tool capability.","maxLength":43,"minLength":43,"type":"string"}},"required":["previewToken"],"type":"object"},"ClaimReferralDto":{"properties":{},"type":"object"},"ClipDraftSourceKind":{"enum":["youtube","upload"],"type":"string"},"ClipProcessingFlow":{"enum":["quick","review"],"type":"string"},"ClipProjectSettingsDto":{"properties":{"addCaptions":{"default":true,"description":"Whether generated clips should include captions","type":"boolean"},"aspectRatio":{"default":"9:16","description":"Output aspect ratio","type":"string"},"avatarId":{"description":"Avatar ID for avatar-mode clip generation","type":"string"},"avatarProvider":{"default":"heygen","description":"Avatar video provider to use","enum":["heygen","argil","genfeedai"],"type":"string"},"captionStyle":{"default":"default","description":"Caption style preset","type":"string"},"flow":{"allOf":[{"$ref":"#/components/schemas/ClipProcessingFlow"}],"default":"quick","description":"Clip processing workflow"},"language":{"default":"en","description":"Source transcription language","type":"string"},"maxClips":{"default":10,"description":"Maximum number of clips to generate","type":"number"},"maxDuration":{"default":90,"description":"Maximum clip duration in seconds","type":"number"},"minDuration":{"default":15,"description":"Minimum clip duration in seconds","type":"number"},"minViralityScore":{"default":50,"description":"Minimum highlight virality score","type":"number"},"mode":{"allOf":[{"$ref":"#/components/schemas/ClipResultMode"}],"default":"avatar","description":"Clip generation mode"},"voiceId":{"description":"Voice ID for avatar-mode clip generation","type":"string"}},"type":"object"},"ClipProjectStatus":{"description":"Project processing status","enum":["draft","pending","transcribing","analyzing","analyzed","clipping","captioning","generating","partially-completed","completed","failed"],"type":"string"},"ClipReferencePolicy":{"description":"How to handle a selected reference when the generation route cannot apply it","enum":["guided","strict"],"type":"string"},"ClipResultMode":{"enum":["avatar","raw-cut"],"type":"string"},"ClipResultStatus":{"description":"Clip terminal processing status","enum":["pending","extracting","reframing","captioning","validating","completed","degraded","failed"],"type":"string"},"CloneVoiceDto":{"properties":{"audioUrl":{"description":"URL to an audio file for cloning (alternative to file upload)","type":"string"},"description":{"description":"Description of the voice","type":"string"},"name":{"description":"Name for the cloned voice","type":"string"},"provider":{"default":"ELEVENLABS","description":"Voice provider to use for cloning","enum":["HEYGEN","ELEVENLABS","HEDRA","GENFEED_AI"],"type":"string"},"removeBackgroundNoise":{"default":true,"description":"Whether to remove background noise from the audio sample","type":"boolean"}},"required":["name"],"type":"object"},"CollectListeningTopicDto":{"properties":{"limit":{"default":25,"maximum":100,"minimum":1,"type":"number"}},"type":"object"},"CompareEvaluationsDto":{"properties":{"evaluationIds":{"description":"Evaluation IDs to compare","example":["evaluation-1","evaluation-2"],"items":{"type":"string"},"maxItems":20,"minItems":2,"type":"array"},"includeIncomplete":{"default":false,"description":"Allow comparison before every evaluation is completed","type":"boolean"}},"required":["evaluationIds"],"type":"object"},"CompleteAgentAuthClaimDto":{"properties":{},"type":"object"},"CompleteSocialWarmupItemDto":{"properties":{"provenance":{"enum":["platform_verified","genfeed_observed","user_confirmed"],"type":"string"}},"type":"object"},"ComposeCharacterSheetDto":{"properties":{"description":{"description":"User description inserted as DATA in the sheet preset","type":"string"},"isNonHumanoid":{"description":"Include a side-profile view for non-humanoid identities","type":"boolean"}},"required":["description"],"type":"object"},"ConfigureUnipileDto":{"properties":{"allowedAccountIds":{"items":{"type":"string"},"type":"array"},"apiBaseUrl":{"description":"Unipile DSN base URL. Values without /api/v1 are normalized by the API.","example":"https://api1.unipile.com:13111/api/v1","type":"string"},"apiKey":{"description":"Unipile dashboard access token.","type":"string"},"defaultAccountId":{"type":"string"}},"required":["apiKey","apiBaseUrl"],"type":"object"},"ConnectCredentialDto":{"properties":{"brandId":{"type":"string"},"credentialId":{"type":"string"},"isHistoryImportRequested":{"default":true,"type":"boolean"}},"required":["brandId"],"type":"object"},"ConnectMastodonCredentialDto":{"properties":{"brandId":{"type":"string"},"credentialId":{"type":"string"},"instanceUrl":{"description":"Public Mastodon instance URL or hostname","example":"mastodon.social","type":"string"},"isHistoryImportRequested":{"default":true,"type":"boolean"}},"required":["brandId","instanceUrl"],"type":"object"},"ConnectShopifyCredentialDto":{"properties":{"brandId":{"type":"string"},"credentialId":{"type":"string"},"isHistoryImportRequested":{"default":true,"type":"boolean"},"shop":{"description":"Canonical Shopify store domain","example":"acme.myshopify.com","type":"string"}},"required":["brandId","shop"],"type":"object"},"ContentCampaignStatus":{"enum":["draft","scheduled","active","paused","completed","archived"],"type":"string"},"ContentIntelligencePlatform":{"enum":["linkedin","twitter","instagram","tiktok"],"type":"string"},"ContentMixConfigDto":{"properties":{"carouselPercent":{"description":"Carousel percentage","type":"number"},"imagePercent":{"description":"Image percentage","type":"number"},"reelPercent":{"description":"Reel percentage","type":"number"},"storyPercent":{"description":"Story percentage","type":"number"},"threadPercent":{"description":"Share of X text posts written as threads (default 25)","type":"number"},"videoPercent":{"description":"Video percentage","type":"number"}},"type":"object"},"ContentPatternType":{"description":"Type of pattern to use for generation","enum":["hook","template","cta","structure","headline"],"type":"string"},"ContentQuotaConfigDto":{"properties":{"images":{"description":"Number of images quota","type":"number"},"posts":{"description":"Number of posts quota","type":"number"},"videos":{"description":"Number of videos quota","type":"number"}},"type":"object"},"ContentRotationConfigDto":{"properties":{"enabled":{"description":"Whether weighted content rotation is enabled","type":"boolean"},"lookbackDays":{"description":"Recent run lookback window in days","type":"number"},"targets":{"description":"Campaign/topic/platform target weights","items":{"$ref":"#/components/schemas/ContentRotationTargetDto"},"type":"array"}},"type":"object"},"ContentRotationTargetDto":{"properties":{"key":{"description":"Stable target key","type":"string"},"label":{"description":"Human-readable target label","type":"string"},"platform":{"description":"Optional platform scope","type":"string"},"strategyId":{"description":"Optional strategy scope","type":"string"},"topic":{"description":"Optional topic bucket scope","type":"string"},"weight":{"description":"Target share weight","type":"number"}},"required":["key","weight"],"type":"object"},"ContentRunStatus":{"enum":["pending","running","completed","failed"],"type":"string"},"ContentStrategyDto":{"properties":{"formats":{"description":"Preferred content formats","items":{"$ref":"#/components/schemas/PersonaContentFormat"},"type":"array"},"frequency":{"description":"Posting cadence (e.g., daily, weekly)","type":"string"},"platforms":{"description":"Priority platform ordering","items":{"type":"string"},"type":"array"},"tone":{"description":"Brand voice tone descriptor","type":"string"},"topics":{"description":"Content topics/themes","items":{"type":"string"},"type":"array"}},"type":"object"},"ControlBrandRemixScenesDto":{"properties":{},"type":"object"},"CrawlBrandKitDto":{"properties":{},"type":"object"},"CreateAgentCampaignFromTemplateDto":{"properties":{"agentStrategyIds":{"description":"Existing selected-brand agents to attach to the Program","items":{"type":"string"},"type":"array"},"brandId":{"description":"Selected brand ID","type":"string"},"brief":{"description":"Program brief","type":"string"},"creditsAllocated":{"description":"Shared credit allocation","type":"number"},"endDate":{"description":"Program end date","format":"date-time","type":"string"},"label":{"description":"Program label","type":"string"},"startDate":{"description":"Program start date","format":"date-time","type":"string"},"templateId":{"description":"Server-owned Program template ID","enum":["creator-studio"],"type":"string"}},"required":["brandId","label","templateId","startDate"],"type":"object"},"CreateAgentGoalDto":{"properties":{"brandId":{"description":"Brand ID","type":"string"},"description":{"description":"Optional goal description","type":"string"},"endDate":{"description":"Optional end date","format":"date-time","type":"string"},"isActive":{"description":"Whether the goal is active","type":"boolean"},"label":{"description":"Goal label","type":"string"},"metric":{"enum":["engagement_rate","posts","views"],"type":"string"},"startDate":{"description":"Optional start date","format":"date-time","type":"string"},"targetValue":{"description":"Target metric value","type":"number"}},"required":["label","metric","targetValue"],"type":"object"},"CreateAgentStudioHandoffDto":{"properties":{"aspectRatio":{"type":"string"},"avatarPhotoUrl":{"description":"Brand identity's portrait URL, for an avatar handoff","type":"string"},"brandId":{"description":"Brand the generation was scoped to","type":"string"},"duration":{"maximum":300,"minimum":1,"type":"number"},"harness":{"type":"boolean"},"modelKey":{"description":"The concrete model the router resolved — never the literal \"auto\"","type":"string"},"outputs":{"maximum":8,"minimum":1,"type":"number"},"prompt":{"description":"The prompt as the Agent wrote it","type":"string"},"references":{"items":{"items":{"type":"string"},"type":"array"},"type":"array"},"requestedSkillSlugs":{"items":{"type":"string"},"type":"array"},"resolution":{"type":"string"},"type":{"enum":["image","video","music","avatar","voice"],"type":"string"},"useIdentity":{"description":"True when the source generation used the brand identity. The server then snapshots that identity at create time.","type":"boolean"},"voiceId":{"description":"Provider voice id, for an avatar or voice handoff","type":"string"}},"required":["type","prompt","brandId","modelKey"],"type":"object"},"CreateAgentThreadDto":{"properties":{"brandId":{"nullable":true,"type":"string"},"runtimeKey":{"description":"Runtime that executes this thread (e.g. `local/claude-cli` for turns run on the desktop user’s own CLI subscription).","type":"string"},"source":{"type":"string"},"title":{"type":"string"}},"type":"object"},"CreateAgentTransferDto":{"properties":{"artifactReferences":{"items":{"type":"object"},"type":"array"},"artifactVersionPinIds":{"items":{"type":"string"},"type":"array"},"content":{"type":"string"},"deliveryMode":{"enum":["SEND","SEND_AND_RUN"],"type":"string"},"destinationBrandId":{"type":"string"},"destinationThreadId":{"type":"string"},"destinationTitle":{"type":"string"},"explicitUserIntent":{"description":"Required acknowledgement for SEND_AND_RUN.","type":"boolean"},"idempotencyKey":{"type":"string"},"parentCorrelationId":{"type":"string"},"selectedContext":{"type":"object"},"sourceThreadId":{"type":"string"}},"required":["sourceThreadId","deliveryMode","content","idempotencyKey"],"type":"object"},"CreateAgentWorkflowDto":{"properties":{},"type":"object"},"CreateApiKeyDto":{"properties":{"allowedIps":{"description":"IP addresses allowed to use this key","example":["192.168.1.1"],"items":{"type":"string"},"type":"array"},"category":{"allOf":[{"$ref":"#/components/schemas/ApiKeyCategory"}],"description":"Type of API key","example":"GENFEEDAI"},"defaultBrandId":{"description":"Default brand for MCP generation tools when a call omits an explicit brandId. Must belong to this key's organization (#5219).","type":"string"},"description":{"description":"Description of what this key is used for","example":"Used for ChatGPT MCP integration","type":"string"},"expiresAt":{"description":"Expiration date for the key","example":"2025-12-31T23:59:59Z","type":"string"},"label":{"description":"Label for the API key","example":"MCP Server Key","type":"string"},"metadata":{"description":"Optional metadata for managed/system-created keys","type":"object"},"rateLimit":{"default":60,"description":"Rate limit (requests per minute)","example":100,"type":"number"},"scopes":{"default":["videos:create","videos:read","analytics:read"],"description":"Scopes/permissions for this key. Must be a subset of the self-service scope presets; privileged and wildcard (\"*\") scopes are rejected.","example":["videos:create","videos:read"],"items":{"enum":["videos:read","videos:create","images:read","images:create","prompts:read","prompts:create","articles:read","articles:create","posts:draft","videos:update","videos:delete","images:update","images:delete","prompts:update","prompts:delete","brands:read","credits:read","posts:schedule","posts:approve","posts:publish","analytics:read"],"type":"string"},"type":"array"}},"required":["label","category"],"type":"object"},"CreateArticleDeliveryDto":{"properties":{"credentialId":{"description":"Connected Ghost, WordPress, Medium or Dev.to account of the article brand to publish the article to.","type":"string"}},"required":["credentialId"],"type":"object"},"CreateAssetDto":{"properties":{"category":{"allOf":[{"$ref":"#/components/schemas/AssetCategory"}]},"parentId":{"type":"string"},"parentType":{"allOf":[{"$ref":"#/components/schemas/AssetParent"}]}},"required":["parentType","category"],"type":"object"},"CreateAvatarUploadDto":{"properties":{"contentType":{"description":"Avatar upload MIME type","type":"string"}},"required":["contentType"],"type":"object"},"CreateAvatarVideoDto":{"properties":{"aspectRatio":{"description":"Output aspect ratio for the generated avatar video","enum":["9:16","16:9","1:1"],"type":"string"},"audioIngredientId":{"description":"Authorized saved narration ingredient","type":"string"},"audioUrl":{"description":"Pre-generated audio URL","type":"string"},"autoSelectModel":{"default":true,"description":"Route to the best engine the selected look supports. Defaults to true when no model is given.","type":"boolean"},"avatarId":{"description":"HeyGen avatar ID (optional if photoUrl provided)","type":"string"},"avatarRef":{"$ref":"#/components/schemas/DefaultAvatarRefDto"},"clonedVoiceId":{"description":"Cloned voice ingredient ID (overrides elevenlabsVoiceId)","type":"string"},"elevenlabsVoiceId":{"description":"ElevenLabs voice ID","type":"string"},"heygenVoiceId":{"description":"HeyGen voice ID (alternative to ElevenLabs)","type":"string"},"model":{"description":"Avatar engine model (`heygen/avatar-iv` or `heygen/avatar-v`). Ignored when autoSelectModel is true.","type":"string"},"photoIngredientId":{"description":"Authorized photo ingredient","type":"string"},"photoUrl":{"description":"Custom photo URL (optional if avatarId provided)","type":"string"},"prioritize":{"allOf":[{"$ref":"#/components/schemas/RouterPriority"}],"default":"balanced","description":"Priority for auto engine routing: quality, speed, cost, or balanced."},"text":{"description":"Text for text-to-speech","type":"string"},"useIdentity":{"default":false,"description":"Use default identity (avatar photo + voice) from org settings","type":"boolean"},"voiceProvider":{"description":"Voice provider for the cloned voice","type":"string"},"voiceRef":{"$ref":"#/components/schemas/DefaultVoiceRefDto"}},"type":"object"},"CreateBatchHookRemixDto":{"properties":{"brandId":{"description":"Brand ID","type":"string"},"ctaIngredientId":{"description":"CTA video ingredient ID","type":"string"},"hookDurationSeconds":{"default":3,"description":"Hook duration in seconds","type":"number"},"labelPrefix":{"description":"Label prefix for output ingredients","type":"string"},"youtubeUrls":{"description":"Array of YouTube video URLs","items":{"type":"string"},"type":"array"}},"required":["youtubeUrls","ctaIngredientId","brandId"],"type":"object"},"CreateBeehiivSubscribersDto":{"properties":{"brandId":{"description":"Brand owning the connected Beehiiv publication","type":"string"},"credentialId":{"description":"Which of the brand's connected Beehiiv publications to add to; omitted uses the brand's default account","type":"string"},"emails":{"description":"Subscriber addresses to add to the connected publication","example":["reader@example.com"],"items":{"type":"array"},"type":"array"},"utmSource":{"description":"Acquisition source recorded by Beehiiv","type":"string"}},"required":["brandId","emails"],"type":"object"},"CreateBrandDto":{"properties":{"backgroundColor":{"default":"#000000","description":"The background color theme for the brand","type":"string"},"defaultImageModel":{"allOf":[{"$ref":"#/components/schemas/ModelKey"}],"description":"The default model to use for image generation"},"defaultImageToVideoModel":{"allOf":[{"$ref":"#/components/schemas/ModelKey"}],"description":"The default model to use for image-to-video conversion"},"defaultMusicModel":{"allOf":[{"$ref":"#/components/schemas/ModelKey"}],"description":"The default model to use for music generation"},"defaultVideoModel":{"allOf":[{"$ref":"#/components/schemas/ModelKey"}],"description":"The default model to use for video generation"},"description":{"description":"A description of the brand","type":"string"},"fontFamily":{"allOf":[{"$ref":"#/components/schemas/FontFamily"}],"default":"MONTSERRAT_BLACK","description":"The font family to use for text overlays"},"isActive":{"default":true,"description":"Whether this brand is currently active","type":"boolean"},"isFleetEnabled":{"default":false,"description":"Whether this brand can access Fleet features and assets","type":"boolean"},"isHighlighted":{"default":false,"description":"Whether this brand is highlighted on the website","type":"boolean"},"label":{"description":"The display name of the brand","type":"string"},"music":{"description":"Optional music ID to use for this brand","type":"string"},"primaryColor":{"default":"#000000","description":"The primary color theme for the brand","type":"string"},"scope":{"allOf":[{"$ref":"#/components/schemas/AssetScope"}],"default":"USER","description":"Brand access scope"},"secondaryColor":{"default":"#FFFFFF","description":"The secondary color theme for the brand","type":"string"},"slug":{"description":"The brand handle: its public profile path and app route segment. Unique across all brands.","maxLength":48,"minLength":2,"type":"string"},"text":{"description":"Text prompt for content generation","type":"string"},"voice":{"description":"Optional voice ID to use for this brand","type":"string"}},"required":["label","fontFamily","primaryColor","secondaryColor","backgroundColor"],"type":"object"},"CreateBrandOsRevisionDto":{"properties":{"content":{"description":"Brand OS draft content","type":"object"}},"required":["content"],"type":"object"},"CreateBrandRemixRunDto":{"properties":{"edits":{"type":"object"},"source":{"description":"Stable source selector. Source content, evidence, metrics, and URLs are resolved by the server.","type":"object"}},"required":["source"],"type":"object"},"CreateCampaignDto":{"properties":{"brandId":{"type":"string"},"brief":{"description":"Shared creative brief every release is produced from","type":"string"},"endDate":{"type":"string"},"idempotencyKey":{"type":"string"},"name":{"type":"string"},"objective":{"type":"string"},"startDate":{"type":"string"},"status":{"allOf":[{"$ref":"#/components/schemas/ContentCampaignStatus"}]}},"required":["brandId","name"],"type":"object"},"CreateCaptionDto":{"properties":{"format":{"allOf":[{"$ref":"#/components/schemas/CaptionFormat"}],"default":"srt","description":"The format of the caption file"},"ingredientId":{"description":"The ingredient ID that this caption belongs to","type":"string"},"language":{"default":"en","description":"The language code for the caption (e.g., en, es, fr)","type":"string"}},"required":["ingredientId","language","format"],"type":"object"},"CreateCheckoutSessionDto":{"properties":{"cancelUrl":{"description":"Custom cancel redirect URL for checkout","type":"string"},"quantity":{"default":1000,"description":"The quantity/amount for the checkout session","minimum":1000,"type":"number"},"stripePriceId":{"description":"The Stripe price ID for the checkout session","type":"string"},"successUrl":{"description":"Custom success redirect URL after checkout","type":"string"}},"required":["stripePriceId"],"type":"object"},"CreateClipProjectDraftDto":{"properties":{"brandId":{"description":"Selected brand the draft project belongs to","type":"string"}},"type":"object"},"CreateClipProjectDto":{"properties":{"brandId":{"description":"Brand context for clip identity and downstream ownership","type":"string"},"language":{"default":"en","description":"Language code for transcription","type":"string"},"name":{"default":"","description":"Project name","type":"string"},"organizationId":{"type":"string"},"referenceFrames":{"description":"Versioned source-video reference-frame candidates and selection state","type":"object"},"settings":{"allOf":[{"$ref":"#/components/schemas/ClipProjectSettingsDto"}],"description":"Clip generation settings"},"sourceVideoS3Key":{"description":"Stored key of an organization-owned Library video; must match sourceVideoUrl when both are supplied.","type":"string"},"sourceVideoUrl":{"description":"Canonical URL of an organization-owned Library video. Use ingestion routes for new sources.","type":"string"},"status":{"allOf":[{"$ref":"#/components/schemas/ClipProjectStatus"}],"description":"Project processing status"},"userId":{"type":"string"}},"required":["sourceVideoUrl"],"type":"object"},"CreateClipProjectFromIngredientDto":{"properties":{"brandId":{"description":"Selected brand; the asset must be shared or in this brand","type":"string"},"ingredientId":{"description":"Library video asset to clip","type":"string"},"language":{"default":"en","type":"string"},"maxClips":{"default":10,"type":"number"},"minViralityScore":{"default":50,"type":"number"},"name":{"type":"string"}},"required":["ingredientId"],"type":"object"},"CreateClipProjectFromYoutubeDto":{"properties":{"avatarId":{"description":"Avatar ID for avatar-mode clip generation","type":"string"},"avatarProvider":{"default":"heygen","description":"Avatar video provider to use","enum":["heygen","argil","genfeedai"],"type":"string"},"brandId":{"description":"Selected brand used to resolve saved clip identity defaults","type":"string"},"draftProjectId":{"description":"Draft project to start in place instead of creating a new one","type":"string"},"language":{"default":"en","description":"Language code for transcription","type":"string"},"maxClips":{"default":10,"description":"Maximum number of clips to generate","type":"number"},"minViralityScore":{"default":50,"description":"Minimum virality score threshold (1-100)","type":"number"},"mode":{"allOf":[{"$ref":"#/components/schemas/ClipResultMode"}],"default":"avatar","description":"Clip generation mode"},"name":{"description":"Optional project name","type":"string"},"voiceId":{"description":"Voice ID for avatar-mode clip generation","type":"string"},"youtubeUrl":{"description":"YouTube video URL","example":"https://www.youtube.com/watch?v=dQw4w9WgXcQ","type":"string"}},"required":["youtubeUrl"],"type":"object"},"CreateClipResultDto":{"properties":{"clipType":{"description":"Clip type classification","enum":["hook","story","tutorial","reaction","quote","controversial","educational"],"type":"string"},"duration":{"description":"Duration in seconds","type":"number"},"endTime":{"description":"End time in seconds","type":"number"},"index":{"description":"Clip index within the project","type":"number"},"isSelected":{"description":"Whether the clip is selected","type":"boolean"},"mode":{"allOf":[{"$ref":"#/components/schemas/ClipResultMode"}],"description":"Clip generation mode (defaults to avatar)"},"organizationId":{"type":"string"},"projectId":{"description":"The clip project ID","type":"string"},"providerJobId":{"description":"External provider job ID","type":"string"},"providerName":{"description":"Avatar video provider name","type":"string"},"readiness":{"description":"Readiness contract for clip handoff actions","type":"object"},"startTime":{"description":"Start time in seconds","type":"number"},"status":{"allOf":[{"$ref":"#/components/schemas/ClipResultStatus"}],"description":"Clip terminal processing status"},"summary":{"description":"Clip summary","type":"string"},"tags":{"description":"Tags for the clip","items":{"type":"string"},"type":"array"},"terminalAt":{"description":"Timestamp when the clip reached a terminal status","format":"date-time","nullable":true,"type":"string"},"title":{"description":"Clip title","type":"string"},"userId":{"type":"string"},"viralityScore":{"description":"Virality score (1-100)","type":"number"}},"required":["projectId","index","title","startTime","endTime","duration"],"type":"object"},"CreateContentPerformanceDto":{"properties":{"brandId":{"description":"Brand ID","type":"string"},"clicks":{"default":0,"type":"number"},"comments":{"default":0,"type":"number"},"contentType":{"description":"Content type","enum":["caption","video","image","article","script"],"type":"string"},"cycleNumber":{"default":1,"type":"number"},"engagementRate":{"type":"number"},"externalPostId":{"type":"string"},"generationId":{"type":"string"},"hookUsed":{"type":"string"},"likes":{"default":0,"type":"number"},"measuredAt":{"description":"Date when metrics were measured","type":"string"},"performanceScore":{"type":"number"},"platform":{"description":"Platform","enum":["youtube","instagram","tiktok","facebook","google_ads","google_search_console","twitter","x_ads","linkedin","pinterest","reddit","discord","telegram","twitch","medium","threads","fanvue","slack","wordpress","snapchat","whatsapp","mastodon","ghost","shopify","beehiiv","unipile","devto","product_hunt","hacker_news","restream"],"type":"string"},"postId":{"type":"string"},"promptUsed":{"type":"string"},"revenue":{"default":0,"type":"number"},"saves":{"default":0,"type":"number"},"shares":{"default":0,"type":"number"},"source":{"allOf":[{"$ref":"#/components/schemas/PerformanceSource"}]},"views":{"default":0,"type":"number"},"workflowExecutionId":{"type":"string"}},"required":["brandId","platform","contentType","measuredAt"],"type":"object"},"CreateContentRunBriefDto":{"properties":{"angle":{"description":"Remix angle","type":"string"},"audience":{"description":"Target audience","type":"string"},"authorHandle":{"description":"Source author handle","type":"string"},"callToAction":{"description":"Call to action","type":"string"},"channelFit":{"description":"Channel fit rationale","type":"string"},"confidence":{"description":"Confidence score for the handoff, from 0 to 1","type":"number"},"contentType":{"description":"Content type for the source","type":"string"},"evidence":{"description":"Explicit evidence lines to preserve in the brief","items":{"type":"string"},"type":"array"},"hypothesis":{"description":"Hook hypothesis","type":"string"},"matchedTrends":{"description":"Matched trend topics from discovery","items":{"type":"string"},"type":"array"},"metrics":{"description":"Source metrics snapshot","type":"object"},"platform":{"description":"Research or discovery source platform","type":"string"},"risk":{"description":"Risk note for the brief","type":"string"},"sourceContentId":{"description":"Original source content ID","type":"string"},"sourceReferenceId":{"description":"Stable source reference ID when available","type":"string"},"sourceUrl":{"description":"Original source URL for research evidence","type":"string"},"text":{"description":"Source text body","type":"string"},"title":{"description":"Source title","type":"string"},"trendId":{"description":"Source trend identifier","type":"string"},"trendTopic":{"description":"Trend or research topic to turn into a brief","type":"string"}},"required":["platform","trendId","trendTopic"],"type":"object"},"CreateContextDto":{"properties":{"description":{"description":"Description of the context","type":"string"},"label":{"description":"Label of the context","type":"string"},"lastAnalyzed":{"description":"Last analyzed timestamp","format":"date-time","type":"string"},"source":{"description":"Source of the context","enum":["onboarding","manual","auto-generated"],"type":"string"},"sourceBrand":{"description":"Brand ID if created from brand","type":"string"},"sourceUrl":{"description":"Source URL if applicable","type":"string"},"type":{"description":"Type of context","enum":["brand_voice","content_library","audience","custom"],"type":"string"}},"required":["label","description","type"],"type":"object"},"CreateCreditsCheckoutDto":{"properties":{"credits":{"description":"Whole Genfeed credits to purchase at the canonical PAYG rate","example":5000,"maximum":1000000,"minimum":1000,"type":"number"}},"required":["credits"],"type":"object"},"CreateCrunImageQuoteDto":{"properties":{},"type":"object"},"CreateCrunVideoQuoteDto":{"properties":{},"type":"object"},"CreateDesktopAuthCodeDto":{"properties":{},"type":"object"},"CreateDistributionDto":{"properties":{"brandId":{"description":"Brand ID","type":"string"},"caption":{"description":"Caption for photo/video","type":"string"},"chatId":{"description":"Telegram chat/channel ID","type":"string"},"contentType":{"allOf":[{"$ref":"#/components/schemas/DistributionContentType"}]},"credentialId":{"description":"Which of the brand's accounts on this platform sends the message; omit to use the brand's default account","type":"string"},"mediaUrl":{"description":"Media URL for photo/video","type":"string"},"platform":{"allOf":[{"$ref":"#/components/schemas/DistributionPlatform"}]},"scheduledAt":{"description":"ISO 8601 date string to schedule the send; omit to send immediately","type":"string"},"text":{"description":"Text content for text messages","type":"string"}},"required":["platform","chatId","contentType"],"type":"object"},"CreateEditorProjectDto":{"properties":{"name":{"default":"Untitled Project","description":"Project name","type":"string"},"settings":{"allOf":[{"$ref":"#/components/schemas/EditorProjectSettingsDto"}],"description":"Project settings"},"sourceVideoIds":{"description":"Source video ingredient IDs, in timeline order. Each becomes one clip on a single video track.","items":{"type":"string"},"type":"array"},"totalDurationFrames":{"default":300,"description":"Total duration in frames","type":"number"},"tracks":{"description":"Editor tracks","items":{"type":"string"},"type":"array"}},"type":"object"},"CreateElementBlacklistDto":{"properties":{"category":{"allOf":[{"$ref":"#/components/schemas/ModelCategory"}],"description":"Category of the blacklist"},"description":{"description":"Description of the element","example":"A detailed description of the element","type":"string"},"isActive":{"default":true,"description":"Whether the element is offered in pickers","type":"boolean"},"isDefault":{"description":"Whether this is auto-selected in promptbar by default","type":"boolean"},"isPlatformDefault":{"description":"Superadmin only. Create a platform default visible to every organization (default for superadmins) or, when false, an element owned by the caller organization.","type":"boolean"},"key":{"description":"Unique key for the element (lowercase, alphanumeric with hyphens)","example":"example-key","type":"string"},"label":{"description":"Display label for the element","example":"Example Label","type":"string"},"model":{"description":"Model information for the element","type":"string"},"sortOrder":{"default":0,"description":"Curated display order, lowest first","type":"number"}},"required":["key","label"],"type":"object"},"CreateElementCameraDto":{"properties":{"description":{"description":"Description of the element","example":"A detailed description of the element","type":"string"},"isActive":{"default":true,"description":"Whether the element is offered in pickers","type":"boolean"},"isPlatformDefault":{"description":"Superadmin only. Create a platform default visible to every organization (default for superadmins) or, when false, an element owned by the caller organization.","type":"boolean"},"key":{"description":"Unique key for the element (lowercase, alphanumeric with hyphens)","example":"example-key","type":"string"},"label":{"description":"Display label for the element","example":"Example Label","type":"string"},"model":{"description":"Model information for the element","type":"string"},"sortOrder":{"default":0,"description":"Curated display order, lowest first","type":"number"}},"required":["key","label"],"type":"object"},"CreateElementCameraMovementDto":{"properties":{"description":{"description":"Description of the element","example":"A detailed description of the element","type":"string"},"isActive":{"default":true,"description":"Whether the element is offered in pickers","type":"boolean"},"isPlatformDefault":{"description":"Superadmin only. Create a platform default visible to every organization (default for superadmins) or, when false, an element owned by the caller organization.","type":"boolean"},"key":{"description":"Unique key for the element (lowercase, alphanumeric with hyphens)","example":"example-key","type":"string"},"label":{"description":"Display label for the element","example":"Example Label","type":"string"},"model":{"description":"Model information for the element","type":"string"},"sortOrder":{"default":0,"description":"Curated display order, lowest first","type":"number"}},"required":["key","label"],"type":"object"},"CreateElementLensDto":{"properties":{"description":{"description":"Description of the element","example":"A detailed description of the element","type":"string"},"isActive":{"default":true,"description":"Whether the element is offered in pickers","type":"boolean"},"isPlatformDefault":{"description":"Superadmin only. Create a platform default visible to every organization (default for superadmins) or, when false, an element owned by the caller organization.","type":"boolean"},"key":{"description":"Unique key for the element (lowercase, alphanumeric with hyphens)","example":"example-key","type":"string"},"label":{"description":"Display label for the element","example":"Example Label","type":"string"},"model":{"description":"Model information for the element","type":"string"},"sortOrder":{"default":0,"description":"Curated display order, lowest first","type":"number"}},"required":["key","label"],"type":"object"},"CreateElementLightingDto":{"properties":{"description":{"description":"Description of the element","example":"A detailed description of the element","type":"string"},"isActive":{"default":true,"description":"Whether the element is offered in pickers","type":"boolean"},"isPlatformDefault":{"description":"Superadmin only. Create a platform default visible to every organization (default for superadmins) or, when false, an element owned by the caller organization.","type":"boolean"},"key":{"description":"Unique key for the element (lowercase, alphanumeric with hyphens)","example":"example-key","type":"string"},"label":{"description":"Display label for the element","example":"Example Label","type":"string"},"model":{"description":"Model information for the element","type":"string"},"sortOrder":{"default":0,"description":"Curated display order, lowest first","type":"number"}},"required":["key","label"],"type":"object"},"CreateElementMoodDto":{"properties":{"description":{"description":"Description of the element","example":"A detailed description of the element","type":"string"},"isActive":{"default":true,"description":"Whether the element is offered in pickers","type":"boolean"},"isPlatformDefault":{"description":"Superadmin only. Create a platform default visible to every organization (default for superadmins) or, when false, an element owned by the caller organization.","type":"boolean"},"key":{"description":"Unique key for the element (lowercase, alphanumeric with hyphens)","example":"example-key","type":"string"},"label":{"description":"Display label for the element","example":"Example Label","type":"string"},"model":{"description":"Model information for the element","type":"string"},"sortOrder":{"default":0,"description":"Curated display order, lowest first","type":"number"}},"required":["key","label"],"type":"object"},"CreateElementSceneDto":{"properties":{"description":{"description":"Description of the element","example":"A detailed description of the element","type":"string"},"isActive":{"default":true,"description":"Whether the element is offered in pickers","type":"boolean"},"isFavorite":{"default":false,"description":"Whether this scene is marked as favorite","type":"boolean"},"isPlatformDefault":{"description":"Superadmin only. Create a platform default visible to every organization (default for superadmins) or, when false, an element owned by the caller organization.","type":"boolean"},"key":{"description":"Unique key for the element (lowercase, alphanumeric with hyphens)","example":"example-key","type":"string"},"label":{"description":"Display label for the element","example":"Example Label","type":"string"},"model":{"description":"Model information for the element","type":"string"},"sortOrder":{"default":0,"description":"Curated display order, lowest first","type":"number"}},"required":["key","label"],"type":"object"},"CreateElementSoundDto":{"properties":{"category":{"allOf":[{"$ref":"#/components/schemas/ModelCategory"}]},"description":{"description":"Description of the element","example":"A detailed description of the element","type":"string"},"isActive":{"default":true,"description":"Whether the element is offered in pickers","type":"boolean"},"isDefault":{"default":false,"description":"Whether this is auto-selected in promptbar by default","type":"boolean"},"isDeleted":{"default":false,"type":"boolean"},"isPlatformDefault":{"description":"Superadmin only. Create a platform default visible to every organization (default for superadmins) or, when false, an element owned by the caller organization.","type":"boolean"},"key":{"description":"Unique key for the element (lowercase, alphanumeric with hyphens)","example":"example-key","type":"string"},"label":{"description":"Display label for the element","example":"Example Label","type":"string"},"model":{"description":"Model information for the element","type":"string"},"organizationId":{"type":"string"},"sortOrder":{"default":0,"description":"Curated display order, lowest first","type":"number"}},"required":["key","label"],"type":"object"},"CreateElementStyleDto":{"properties":{"description":{"description":"Description of the element","example":"A detailed description of the element","type":"string"},"isActive":{"default":true,"description":"Whether the element is offered in pickers","type":"boolean"},"isPlatformDefault":{"description":"Superadmin only. Create a platform default visible to every organization (default for superadmins) or, when false, an element owned by the caller organization.","type":"boolean"},"key":{"description":"Unique key for the element (lowercase, alphanumeric with hyphens)","example":"example-key","type":"string"},"label":{"description":"Display label for the element","example":"Example Label","type":"string"},"model":{"description":"Model information for the element","type":"string"},"models":{"description":"Array of model keys this style applies to","example":["google/imagen-3","leonardoai"],"items":{"$ref":"#/components/schemas/ModelKey"},"type":"array"},"sortOrder":{"default":0,"description":"Curated display order, lowest first","type":"number"}},"required":["key","label"],"type":"object"},"CreateEngagementRuleDto":{"properties":{"actionPayload":{"additionalProperties":true,"type":"object"},"actionType":{"enum":["REPOST","FOLLOW_UP_COMMENT"],"type":"string"},"brandId":{"type":"string"},"isEnabled":{"type":"boolean"},"metric":{"enum":["LIKES","COMMENTS","SHARES","VIEWS","ENGAGEMENT_RATE"],"type":"string"},"mode":{"enum":["APPROVAL","AUTO"],"type":"string"},"postGroupId":{"type":"string"},"targetId":{"type":"string"},"threshold":{"type":"number"},"windowEndsAt":{"type":"string"}},"required":["postGroupId","targetId","metric","threshold","actionType"],"type":"object"},"CreateFolderDto":{"properties":{"brandId":{"description":"Brand ID if folder is brand-specific","type":"string"},"description":{"description":"Description of the folder","example":"A folder to organize my ingredients","type":"string"},"label":{"description":"Display label for the folder","example":"My Ingredients","type":"string"},"parentId":{"description":"Parent folder ID. Omit for a root folder. The parent must live in the same organization and brand scope as the caller.","nullable":true,"type":"object"},"tags":{"description":"Tags for categorizing the folder","example":["important","video-assets"],"items":{"type":"string"},"type":"array"}},"required":["label"],"type":"object"},"CreateFontFamilyDto":{"properties":{"description":{"description":"Description of the element","example":"A detailed description of the element","type":"string"},"key":{"description":"Unique key for the element (lowercase, alphanumeric with hyphens)","example":"example-key","type":"string"},"label":{"description":"Display label for the element","example":"Example Label","type":"string"},"model":{"description":"Model information for the element","type":"string"}},"required":["key","label"],"type":"object"},"CreateFromIngredientDto":{"properties":{"category":{"allOf":[{"$ref":"#/components/schemas/AssetCategory"}],"description":"Asset category (logo or banner)"},"ingredientId":{"description":"The ingredient ID to copy from","type":"string"},"parentId":{"description":"The parent brand ID","type":"string"}},"required":["ingredientId","category","parentId"],"type":"object"},"CreateGoalDto":{"properties":{"description":{"description":"Goal description","maxLength":10000,"type":"string"},"level":{"description":"Goal level","enum":["company","team","individual"],"type":"string"},"parentId":{"description":"Parent goal ID","type":"string"},"status":{"description":"Goal status","enum":["active","completed","archived"],"type":"string"},"title":{"description":"Goal title","maxLength":500,"type":"string"}},"required":["title"],"type":"object"},"CreateHookRemixDto":{"properties":{"brandId":{"description":"Brand ID","type":"string"},"ctaIngredientId":{"description":"CTA video ingredient ID","type":"string"},"description":{"description":"Description for the output ingredient","type":"string"},"hookDurationSeconds":{"default":3,"description":"Hook duration in seconds","type":"number"},"label":{"description":"Label for the output ingredient","type":"string"},"youtubeUrl":{"description":"YouTube video URL","type":"string"}},"required":["youtubeUrl","ctaIngredientId","brandId"],"type":"object"},"CreateImageDto":{"properties":{"agentStrategyId":{"type":"string"},"autoSelectModel":{"default":false,"description":"Automatically select the best model based on the prompt. If true, the model parameter will be ignored.","type":"boolean"},"blacklist":{"description":"Array of blacklist element keys to exclude from generation","items":{"type":"string"},"type":"array"},"bookmarkId":{"type":"string"},"brandId":{"nullable":true,"type":"string"},"brandMode":{"description":"Generate with the prompt exactly as typed and apply no brand identity. The only client-chosen brand mode; approved and provisional modes are resolved on the server.","enum":["raw"],"type":"string"},"brandingMode":{"default":"off","description":"Brand context mode for prompt assembly","enum":["off","brand"],"type":"string"},"camera":{"description":"The camera angle for image generation","type":"string"},"category":{"allOf":[{"$ref":"#/components/schemas/IngredientCategory"}],"default":"IMAGE"},"contentRating":{"description":"Moderation content rating for fleet assets","enum":["SFW","SUGGESTIVE","NSFW"],"type":"string"},"fidelityMode":{"description":"Generation-brief fidelity. When set, overrides brandingMode for brief compilation.","enum":["off","guided","strict"],"type":"string"},"folderId":{"nullable":true,"type":"string"},"fontFamily":{"description":"The font family for image captions/text","type":"string"},"format":{"default":"landscape","description":"The format for image generation","type":"string"},"generationPrompt":{"type":"string"},"generationSeed":{"type":"number"},"generationSource":{"description":"Redacted generation-brief compiler identity","type":"string"},"groupId":{"description":"Group ID for batch operations (e.g., interpolation pairs)","type":"string"},"groupIndex":{"description":"Index within the group for ordering","type":"number"},"harness":{"description":"Override prompt enhancement for this generation","type":"boolean"},"height":{"default":1080,"description":"The height of the generated image in pixels","type":"number"},"isBrandingEnabled":{"default":true,"description":"Whether to include branding in the image","type":"boolean"},"isDefault":{"default":false,"type":"boolean"},"isHighlighted":{"default":false,"type":"boolean"},"isMergeEnabled":{"type":"boolean"},"knowledge":{"allOf":[{"$ref":"#/components/schemas/KnowledgeSelectionDto"}],"description":"Explicit Knowledge sources or spaces to ground this generation on; omit for automatic brand Knowledge"},"language":{"type":"string"},"lens":{"description":"The lens type for image generation","type":"string"},"lighting":{"description":"The lighting for image generation","type":"string"},"loraPath":{"description":"Model file relative to the connected ComfyUI LoRA directory. Required for self-hosted LoRA image models.","example":"styles/product.safetensors","type":"string"},"metadata":{"allOf":[{"$ref":"#/components/schemas/CreateMetadataDto"}],"description":"Optional metadata associated with the image"},"metadataId":{"description":"Metadata ID","type":"string"},"model":{"default":"openai/gpt-image-1.5","description":"The model to use for image generation. Can be a ModelKey enum value or a custom model path (e.g., Replicate destination or training model ID).","type":"string"},"modelUsed":{"type":"string"},"mood":{"description":"The mood for image generation","type":"string"},"negativePrompt":{"type":"string"},"order":{"default":0,"type":"number"},"organizationId":{"type":"string"},"outputs":{"default":1,"description":"Number of images to generate","type":"number"},"parentId":{"type":"string"},"personaId":{"type":"string"},"prioritize":{"allOf":[{"$ref":"#/components/schemas/RouterPriority"}],"default":"balanced","description":"Priority for auto model routing: quality, speed, cost, or balanced."},"promptAuthor":{"description":"Set when the prompt came from an agent proposal: `agent` unchanged, `agent_edited` changed by the member. Recorded in the generation receipt; omit for a prompt the member wrote.","enum":["agent","agent_edited"],"type":"string"},"promptId":{"type":"string"},"promptTemplate":{"description":"Prompt template key (e.g., \"image.product-ad.default\")","type":"string"},"providerData":{"description":"Redacted generation-brief compiler and profile evidence","type":"object"},"quality":{"description":"Native provider quality enum from the model OpenAPI schema (e.g. low, medium, high, xhigh, max, auto). Missing or auto bills at the top band.","type":"string"},"qualityFeedback":{"description":"Quality feedback suggestions from auto-rating","items":{"type":"string"},"type":"array"},"qualityScore":{"description":"Quality score from auto-rating (0-10)","type":"number"},"qualityStatus":{"description":"Automated quality verdict for the ingredient","enum":["UNRATED","GOOD","NEEDS_REVIEW"],"type":"string"},"references":{"description":"Source ingredient IDs used as image references","items":{"type":"string"},"type":"array"},"requestedSkillSlugs":{"items":{"type":"string"},"type":"array"},"reviewStatus":{"allOf":[{"$ref":"#/components/schemas/FleetReviewStatus"}],"description":"Fleet review status for moderated assets"},"scene":{"description":"The scene for image generation","type":"string"},"scope":{"allOf":[{"$ref":"#/components/schemas/AssetScope"}]},"seed":{"description":"Random generation seed","type":"number"},"sourceActionId":{"description":"Confirmed agent action identity for durable reconciliation","type":"string"},"sources":{"description":"Source ingredient IDs (for tracking merged content)","items":{"type":"string"},"type":"array"},"speech":{"description":"Speech text for Google Veo3 models (for image-to-video)","type":"string"},"status":{"allOf":[{"$ref":"#/components/schemas/IngredientStatus"}]},"style":{"default":"realistic","description":"The artistic style for the image generation","type":"string"},"tags":{"description":"Array of tag IDs for this ingredient","items":{"type":"string"},"type":"array"},"text":{"description":"Image generation prompt","type":"string"},"trainingId":{"type":"string"},"transformations":{"description":"Transformations applied to this ingredient","items":{"$ref":"#/components/schemas/TransformationCategory"},"type":"array"},"useTemplate":{"default":true,"description":"Whether to use prompt templates","type":"boolean"},"userId":{"type":"string"},"version":{"default":1,"type":"number"},"voiceSource":{"type":"string"},"waitForCompletion":{"default":false,"description":"If true, wait for generation to complete before returning the result. Defaults to false (returns immediately with placeholder).","type":"boolean"},"width":{"default":1920,"description":"The width of the generated image in pixels","type":"number"},"workflowExecutionId":{"type":"string"}},"required":["category","order","version","text","style","width","height","outputs","model","format"],"type":"object"},"CreateIntegrationDto":{"properties":{"platform":{"allOf":[{"$ref":"#/components/schemas/IntegrationPlatform"}]}},"required":["platform"],"type":"object"},"CreateKnowledgeSourceDto":{"properties":{"isTranscriptGenerationAllowed":{"type":"boolean"},"kind":{"allOf":[{"$ref":"#/components/schemas/KnowledgeSourceKind"}]},"provenance":{"description":"Capture origin merged into the version provenance","type":"object"},"purpose":{"allOf":[{"$ref":"#/components/schemas/KnowledgeSourcePurpose"}]},"referenceUrl":{"description":"HTTP(S) location fetched for URL, DOCUMENT and FILE sources. Providing it creates version 1 and starts ingestion.","type":"string"},"scope":{"allOf":[{"$ref":"#/components/schemas/KnowledgeMemoryScope"}]},"sourceId":{"type":"string"},"text":{"description":"Captured text for TEXT sources. Providing it creates version 1 and starts ingestion.","maxLength":200000,"type":"string"},"title":{"type":"string"},"transcriptUrl":{"type":"string"}},"required":["scope","title","kind","purpose"],"type":"object"},"CreateKnowledgeSpaceDto":{"properties":{"scope":{"allOf":[{"$ref":"#/components/schemas/KnowledgeMemoryScope"}]},"title":{"type":"string"}},"required":["scope","title"],"type":"object"},"CreateKnowledgeVersionDto":{"properties":{"contentHash":{"description":"SHA-256 identity of the captured evidence","type":"string"},"expiresAt":{"type":"string"},"observedAt":{"type":"string"},"payload":{"description":"Captured content and locators; cleared on purge","type":"object"},"provenance":{"description":"Captured origin and attribution; cleared on purge","type":"object"},"retentionPolicy":{"allOf":[{"$ref":"#/components/schemas/KnowledgeRetentionPolicy"}]}},"required":["contentHash","provenance","observedAt"],"type":"object"},"CreateLinkDto":{"properties":{"brandId":{"description":"The brand ID this link belongs to","type":"string"},"category":{"allOf":[{"$ref":"#/components/schemas/LinkCategory"}],"default":"OTHER","description":"The type/category of the link"},"label":{"description":"The display name of the link","type":"string"},"url":{"description":"The URL of the link","type":"string"}},"required":["brandId","label","category","url"],"type":"object"},"CreateLipSyncDto":{"properties":{"parent":{"description":"Image ingredient ID to animate (parent)","example":"507f1f77bcf86cd799439011","type":"string"},"voice":{"description":"Audio ingredient ID for lip-sync (voice)","example":"507f1f77bcf86cd799439012","type":"string"}},"required":["parent","voice"],"type":"object"},"CreateListeningTopicDto":{"properties":{"description":{"maxLength":2000,"type":"string"},"excludedKeywords":{"items":{"type":"string"},"maxItems":25,"type":"array"},"freshnessHours":{"default":24,"maximum":720,"minimum":1,"type":"number"},"isActive":{"default":true,"type":"boolean"},"keywords":{"items":{"type":"string"},"maxItems":25,"minItems":1,"type":"array"},"label":{"description":"Operator-facing topic label","maxLength":160,"type":"string"},"languages":{"items":{"type":"string"},"maxItems":10,"type":"array"},"sourceIds":{"items":{"type":"string"},"maxItems":20,"minItems":1,"type":"array"}},"required":["label","keywords","sourceIds"],"type":"object"},"CreateLiveSessionDto":{"properties":{"ceilingSeconds":{"description":"User-selected session length ceiling in seconds. Credits reserve for this quantity before the provider is contacted.","example":900,"maximum":900,"minimum":60,"type":"number"},"model":{"description":"Realtime video model key reserved before connect","example":"fal/minimax/h3-max/director","type":"string"},"resolution":{"description":"Output resolution. 1080P bills at 2× the standard rate.","example":"768P","type":"string"}},"required":["model","ceilingSeconds"],"type":"object"},"CreateManagedCheckoutDto":{"properties":{"cancelUrl":{"description":"URL to redirect to if checkout is cancelled","type":"string"},"email":{"description":"Email address used to provision the managed account","type":"string"},"firstName":{"description":"Optional first name for legacy auth provider user creation","type":"string"},"lastName":{"description":"Optional last name for legacy auth provider user creation","type":"string"},"quantity":{"description":"Quantity or credit-pack selector for the chosen Stripe price","type":"number"},"stripePriceId":{"description":"Stripe price ID to use for checkout. Defaults to STRIPE_PRICE_PAYG.","type":"string"},"successUrl":{"description":"URL to redirect to after successful checkout","type":"string"}},"required":["email"],"type":"object"},"CreateManualReviewTurboRunDto":{"properties":{"brandId":{"description":"Brand ID that owns the review handoff","type":"string"},"items":{"description":"Items to add directly to the human review queue","items":{"$ref":"#/components/schemas/ManualReviewTurboRunItemDto"},"maxItems":100,"type":"array"}},"required":["brandId","items"],"type":"object"},"CreateMcpApprovalDto":{"properties":{"arguments":{"additionalProperties":true,"description":"Arguments to pass to the MCP tool","type":"object"},"toolName":{"description":"Name of the MCP tool to be executed","type":"string"}},"required":["toolName","arguments"],"type":"object"},"CreateMergedVideoDto":{"properties":{"category":{"allOf":[{"$ref":"#/components/schemas/IngredientCategory"}]},"ids":{"items":{"type":"string"},"type":"array"},"isCaptionsEnabled":{"type":"boolean"},"isMuteVideoAudio":{"description":"Mute original video audio","type":"boolean"},"isResizeEnabled":{"type":"boolean"},"isUpscaleEnabled":{"type":"boolean"},"music":{"type":"string"},"musicVolume":{"default":50,"description":"Background music volume (0-100)","maximum":100,"minimum":0,"type":"number"},"transition":{"allOf":[{"$ref":"#/components/schemas/VideoTransition"}],"default":"none","description":"Transition effect between video clips"},"transitionDuration":{"default":0.5,"description":"Transition duration in seconds","maximum":2,"minimum":0.1,"type":"number"}},"required":["category","ids"],"type":"object"},"CreateMetadataDto":{"properties":{"assistant":{"description":"Required if model is not provided","type":"string"},"description":{"default":"Default Description","type":"string"},"error":{"type":"string"},"extension":{"allOf":[{"$ref":"#/components/schemas/MetadataExtension"}],"default":"JPEG"},"label":{"default":"Default Label","type":"string"},"model":{"description":"Required if assistant is not provided","type":"string"},"promptId":{"type":"string"},"result":{"default":"","type":"string"},"style":{"enum":["3d-model","analog-film","anime","asmr","authentic","bold","branded","cinematic","comic-book","commercial","corporate","cyberpunk","digital-art","documentary","editorial","educational","fantasy-art","fashion","infographic","isometric","lifestyle","line-art","lowpoly","meme","metal","minimal","modeling-compound","neonpunk","origami","photographic","pixel-art","portrait","promotional","social-media","space","steampunk","surrealism","thumbnail","transformation","vintage","watercolor"],"nullable":true,"type":"string"}},"required":["extension"],"type":"object"},"CreateMusicDto":{"properties":{"agentStrategyId":{"type":"string"},"autoSelectModel":{"default":false,"description":"Automatically select the best model based on the prompt. If true, the model parameter will be ignored.","type":"boolean"},"bookmarkId":{"type":"string"},"brandId":{"nullable":true,"type":"string"},"category":{"allOf":[{"$ref":"#/components/schemas/IngredientCategory"}],"default":"IMAGE"},"classifierFreeGuidance":{"default":3,"description":"Classifier free guidance strength","type":"number"},"contentRating":{"description":"Moderation content rating for fleet assets","enum":["SFW","SUGGESTIVE","NSFW"],"type":"string"},"duration":{"default":10,"description":"Duration in seconds","maximum":90,"minimum":4,"type":"number"},"folderId":{"nullable":true,"type":"string"},"generationPrompt":{"type":"string"},"generationSeed":{"type":"number"},"generationSource":{"description":"Redacted generation-brief compiler identity","type":"string"},"groupId":{"description":"Group ID for batch operations (e.g., interpolation pairs)","type":"string"},"groupIndex":{"description":"Index within the group for ordering","type":"number"},"instrumental":{"default":false,"description":"Request a purely instrumental track with no vocals. Only honored by providers that support vocals/lyrics (Eleven Music, Lyria 3 Pro, Mureka V9); ignored by instrumental-only providers (MusicGen).","type":"boolean"},"isDefault":{"default":false,"type":"boolean"},"isHighlighted":{"default":false,"type":"boolean"},"isMergeEnabled":{"type":"boolean"},"language":{"type":"string"},"lyrics":{"description":"Explicit lyrics/composition text (verses, chorus, structure). Only honored by providers that support lyrics (Eleven Music, Lyria 3 Pro, Mureka V9); ignored — and should not be sent — when `instrumental` is true or the resolved model has no vocal/lyrics support.","type":"string"},"metadataId":{"description":"Metadata ID","type":"string"},"model":{"description":"Model key or genfeedai/<id>","type":"string"},"modelUsed":{"type":"string"},"modelVersion":{"default":"melody","description":"Model version: melody, large, etc.","type":"string"},"negativePrompt":{"type":"string"},"order":{"default":0,"type":"number"},"organizationId":{"type":"string"},"outputs":{"default":1,"description":"Number of musics to generate","maximum":4,"minimum":1,"type":"number"},"parentId":{"type":"string"},"personaId":{"type":"string"},"prioritize":{"allOf":[{"$ref":"#/components/schemas/RouterPriority"}],"default":"balanced","description":"Priority for auto model routing: quality, speed, cost, or balanced."},"promptId":{"type":"string"},"providerData":{"description":"Redacted generation-brief compiler and profile evidence","type":"object"},"qualityFeedback":{"description":"Quality feedback suggestions from auto-rating","items":{"type":"string"},"type":"array"},"qualityScore":{"description":"Quality score from auto-rating (0-10)","type":"number"},"qualityStatus":{"description":"Automated quality verdict for the ingredient","enum":["UNRATED","GOOD","NEEDS_REVIEW"],"type":"string"},"requestedSkillSlugs":{"items":{"type":"string"},"type":"array"},"reviewStatus":{"allOf":[{"$ref":"#/components/schemas/FleetReviewStatus"}],"description":"Fleet review status for moderated assets"},"scope":{"allOf":[{"$ref":"#/components/schemas/AssetScope"}]},"seed":{"description":"Random seed for generation","type":"number"},"sourceActionId":{"description":"Confirmed agent action identity for durable reconciliation","type":"string"},"sources":{"description":"Source ingredient IDs (for tracking merged content)","items":{"type":"string"},"type":"array"},"status":{"allOf":[{"$ref":"#/components/schemas/IngredientStatus"}]},"style":{"description":"Genre/style descriptors (e.g. \"synthwave, upbeat, 80s retro\"). Folded into the generation prompt — every music provider responds to genre language in plain text, unlike lyrics/instrumental which need a provider-aware field.","type":"string"},"tags":{"description":"Array of tag IDs for this ingredient","items":{"type":"string"},"type":"array"},"temperature":{"default":1,"description":"Temperature for sampling","type":"number"},"text":{"description":"Description of the music to generate","type":"string"},"topK":{"default":250,"description":"Top-k sampling parameter","type":"number"},"topP":{"default":0,"description":"Top-p sampling parameter","type":"number"},"trainingId":{"type":"string"},"transformations":{"description":"Transformations applied to this ingredient","items":{"$ref":"#/components/schemas/TransformationCategory"},"type":"array"},"userId":{"type":"string"},"version":{"default":1,"type":"number"},"voiceSource":{"type":"string"},"waitForCompletion":{"default":false,"description":"If true, wait for generation to complete before returning the result. Defaults to false (returns immediately with placeholder).","type":"boolean"},"workflowExecutionId":{"type":"string"}},"required":["category","order","version","text"],"type":"object"},"CreateNewsletterDeliveryDto":{"properties":{"credentialId":{"description":"Connected Beehiiv publication of the newsletter brand to deliver the issue to.","type":"string"},"mode":{"description":"`send` sends now, `draft` creates a Beehiiv draft, `schedule` sends at `scheduledDate`.","enum":["send","draft","schedule"],"type":"string"},"scheduledDate":{"description":"ISO send time in the future. Required for `schedule`; ignored otherwise.","type":"string"}},"required":["credentialId","mode"],"type":"object"},"CreateNewsletterDto":{"properties":{"angle":{"description":"Optional angle","type":"string"},"content":{"description":"Markdown content","type":"string"},"contextNewsletterIds":{"description":"Prior newsletters used as context","items":{"type":"string"},"type":"array"},"generationPrompt":{"description":"Prompt used to generate this newsletter","type":"string"},"label":{"description":"Newsletter title","type":"string"},"scheduledFor":{"description":"Scheduled publication time","format":"date-time","type":"string"},"sourceRefs":{"description":"Explicit source references","items":{"$ref":"#/components/schemas/NewsletterSourceRefDto"},"type":"array"},"status":{"description":"Lifecycle status","enum":["proposed","draft","ready_for_review","approved","published","archived"],"type":"string"},"summary":{"description":"Short summary","type":"string"},"topic":{"description":"Primary newsletter topic","type":"string"}},"required":["label","topic"],"type":"object"},"CreateOrganizationRequestDto":{"properties":{"description":{"description":"Description seeded into the default brand","maxLength":1000,"type":"string"},"label":{"description":"The display name of the organization; also names its default brand","maxLength":120,"type":"string"},"websiteUrl":{"description":"Website scanned in the background to fill the default brand (voice, colors, links, system prompt). Bare domains are accepted.","example":"acme.com","maxLength":500,"type":"string"}},"required":["label"],"type":"object"},"CreateOutreachCampaignDto":{"properties":{"aiConfig":{"allOf":[{"$ref":"#/components/schemas/OutreachCampaignAiConfigDto"}],"description":"AI configuration for reply generation"},"campaignType":{"allOf":[{"$ref":"#/components/schemas/CampaignType"}],"description":"Type of campaign","example":"manual"},"credentialId":{"description":"Credential to use for posting replies","type":"string"},"description":{"description":"Description of the campaign","type":"string"},"discoveryConfig":{"allOf":[{"$ref":"#/components/schemas/OutreachCampaignDiscoveryConfigDto"}],"description":"Discovery configuration for AI-powered targeting"},"dmConfig":{"allOf":[{"$ref":"#/components/schemas/OutreachCampaignDmConfigDto"}],"description":"DM configuration for DM outreach campaigns"},"isActive":{"default":true,"description":"Whether the campaign is active","type":"boolean"},"label":{"description":"Name of the campaign","example":"Product Launch Campaign","type":"string"},"platform":{"allOf":[{"$ref":"#/components/schemas/CampaignPlatform"}],"description":"Platform for the campaign","example":"twitter"},"rateLimits":{"allOf":[{"$ref":"#/components/schemas/OutreachCampaignRateLimitsDto"}],"description":"Rate limit configuration"},"schedule":{"allOf":[{"$ref":"#/components/schemas/OutreachCampaignScheduleDto"}],"description":"Schedule configuration"}},"required":["credentialId","label","platform","campaignType"],"type":"object"},"CreatePersonaFromSheetDto":{"properties":{"assetId":{"description":"Approved character-sheet ingredient id","type":"string"},"availability":{"allOf":[{"$ref":"#/components/schemas/CharacterAvailabilityDto"}],"description":"Which brands can use the character. Defaults to the owning brand only."},"handle":{"description":"Brand-unique character handle (lowercase [a-z0-9-_], 2–32 chars)","type":"string"},"label":{"description":"Display name for the character","type":"string"}},"required":["assetId","handle","label"],"type":"object"},"CreatePlaybookDto":{"properties":{"description":{"description":"Description of the playbook purpose","type":"string"},"name":{"description":"Name of the playbook","example":"LinkedIn Growth Playbook","type":"string"},"niche":{"description":"Niche/industry for this playbook","type":"string"},"platform":{"description":"Platform this playbook is for","enum":["linkedin","twitter","instagram","tiktok","all"],"type":"string"},"sourceCreators":{"description":"Creator IDs to include in the playbook analysis","items":{"type":"string"},"type":"array"}},"required":["name","platform"],"type":"object"},"CreatePostDto":{"properties":{"brandId":{"description":"The selected workspace brand","type":"string"},"campaign":{"description":"Optional campaign identifier. When provided with an empty ingredients array, the server resolves approved campaign image ingredients for the current brand.","type":"string"},"campaignId":{"description":"Publish content campaign this post belongs to. Distinct from `campaign`, which resolves approved campaign image ingredients.","type":"string"},"category":{"allOf":[{"$ref":"#/components/schemas/PostCategory"}],"description":"Type of media being published (image or video) - automatically derived from ingredient if not provided"},"contentRunId":{"description":"Originating content run ID for closed-loop attribution","type":"string"},"creativeVersion":{"description":"Creative revision or experiment version label","type":"string"},"credentialId":{"description":"Publishing account; optional for drafts","type":"string"},"description":{"description":"The description/caption for the post","type":"string"},"externalId":{"description":"External platform ID for the published content","type":"string"},"externalShortcode":{"description":"External platform shortcode for the published content","type":"string"},"format":{"allOf":[{"$ref":"#/components/schemas/PostFormat"}],"default":"standard","description":"Editorial shape of the post. Thread segment bodies are linked Post records."},"groupId":{"description":"Group ID for batch post notifications. Posts created together (multi-platform batch) share the same groupId.","type":"string"},"hookVersion":{"description":"Hook revision or experiment version label","type":"string"},"ingredients":{"description":"Array of ingredient IDs (content) to be published. Order is preserved for carousels. Can be empty array for drafts. Max: 35 (TikTok limit).","items":{"type":"string"},"type":"array"},"isAnalyticsEnabled":{"default":true,"description":"Whether to fetch analytics for the post","type":"boolean"},"isRepeat":{"description":"Whether this post should repeat on a schedule","type":"boolean"},"isShareToFeedSelected":{"default":true,"description":"For Instagram Reels only: whether to share the reel to main feed","type":"boolean"},"label":{"description":"The title/label of the post","type":"string"},"maxRepeats":{"default":0,"description":"Maximum number of times to repeat (0 = unlimited)","type":"number"},"order":{"description":"Position/order within thread","type":"number"},"parentId":{"description":"Parent post ID for thread replies","type":"string"},"personaId":{"description":"Persona ID used to shape the published output","type":"string"},"platform":{"allOf":[{"$ref":"#/components/schemas/Platform"}]},"publicationDate":{"description":"When the post was actually posted","format":"date-time","type":"string"},"publishIntent":{"description":"High-level publish intent such as test, campaign, or evergreen","type":"string"},"quoteTweetId":{"description":"Twitter-specific: ID of tweet to quote (creates a quote tweet)","type":"string"},"repeatDaysOfWeek":{"default":[],"description":"Days of week to repeat (0=Sunday, 6=Saturday)","items":{"type":"number"},"type":"array"},"repeatEndDate":{"description":"When to stop repeating the post","format":"date-time","type":"string"},"repeatFrequency":{"allOf":[{"$ref":"#/components/schemas/PostFrequency"}],"default":"never","description":"How often the post should repeat"},"repeatInterval":{"default":1,"description":"The interval between repeats (e.g., every 2 days)","type":"number"},"scheduleSlot":{"description":"Named schedule slot used for publish attribution","type":"string"},"scheduledDate":{"description":"When the post is scheduled to be posted","format":"date-time","type":"string"},"source":{"description":"Origin label for the post (e.g. agent, batch, manual). Free-form string.","type":"string"},"tags":{"description":"Optional tags/hashtags to include with the post","items":{"type":"string"},"type":"array"},"targetExecutionState":{"allOf":[{"$ref":"#/components/schemas/TargetExecutionState"}],"default":"draft","description":"Canonical channel-target publish lifecycle. Defaults to draft when omitted, or scheduled when scheduledDate is set."},"threadDelayMinutes":{"description":"Minutes after the parent post goes live before this comment publishes. Thread replies only; 0 publishes with the parent.","maximum":10080,"minimum":0,"type":"number"},"threadPosts":{"description":"Array of posts for batch thread creation","items":{"$ref":"#/components/schemas/CreatePostDto"},"type":"array"},"timezone":{"default":"UTC","description":"IANA timezone string for the scheduled date (e.g., \"America/New_York\", \"Europe/London\"). Defaults to UTC if not provided.","example":"America/New_York","type":"string"},"variantId":{"description":"Originating variant ID inside the content run","type":"string"},"visibility":{"allOf":[{"$ref":"#/components/schemas/PostVisibility"}],"default":"public","description":"Audience visibility, independent from publish lifecycle"}},"required":["ingredients","description"],"type":"object"},"CreatePostingCadenceDto":{"properties":{"brandId":{"type":"string"},"brief":{"type":"string"},"credentialId":{"type":"string"},"endsAt":{"type":"string"},"format":{"enum":["ARTICLE","IMAGE","POST","REEL","STORY","TEXT","VIDEO"],"type":"string"},"generateLanding":{"enum":["draft","scheduled"],"type":"string"},"intervalMinutes":{"type":"number"},"label":{"type":"string"},"maxOccurrences":{"type":"number"},"startsAt":{"type":"string"},"timezone":{"type":"string"},"windowEndMinute":{"type":"number"},"windowStartMinute":{"type":"number"}},"required":["brandId","credentialId","format","intervalMinutes","startsAt","windowEndMinute","windowStartMinute"],"type":"object"},"CreatePostingSetDto":{"properties":{"brandId":{"type":"string"},"description":{"maxLength":1000,"type":"string"},"isEnabled":{"type":"boolean"},"label":{"description":"Display label","maxLength":120,"type":"string"},"targets":{"description":"Reusable channel targets for this posting set","type":"array"}},"required":["label","targets"],"type":"object"},"CreatePostingSignatureDto":{"properties":{"body":{"maxLength":4000,"type":"string"},"brandId":{"type":"string"},"isEnabled":{"type":"boolean"},"label":{"maxLength":120,"type":"string"},"placement":{"enum":["append","prepend"],"type":"string"},"platforms":{"items":{"enum":["youtube","instagram","tiktok","facebook","google_ads","google_search_console","twitter","x_ads","linkedin","pinterest","reddit","discord","telegram","twitch","medium","threads","fanvue","slack","wordpress","snapchat","whatsapp","mastodon","ghost","shopify","beehiiv","unipile","devto","product_hunt","hacker_news","restream"],"type":"string"},"type":"array"}},"required":["body","label","platforms"],"type":"object"},"CreatePresetDto":{"properties":{"aspectRatio":{"description":"Output aspect ratio, such as 16:9","type":"string"},"blacklists":{"description":"Blacklist keys to auto-select","items":{"type":"string"},"type":"array"},"brandId":{"description":"The brand ID for the preset (null for org-wide presets)","type":"string"},"camera":{"description":"Camera key to auto-select","type":"string"},"cameraMovement":{"description":"Camera movement description or key","type":"string"},"category":{"allOf":[{"$ref":"#/components/schemas/ModelCategory"}],"description":"The category of AI model this preset is for"},"description":{"description":"Description of the element","example":"A detailed description of the element","type":"string"},"duration":{"description":"Video duration in seconds; null clears it on update","nullable":true,"type":"object"},"ingredientId":{"description":"Ingredient image ID used as thumbnail for the preset","type":"string"},"isActive":{"default":true,"description":"Whether the preset is active","type":"boolean"},"key":{"description":"Unique key for the element (lowercase, alphanumeric with hyphens)","example":"example-key","type":"string"},"label":{"description":"Display label for the element","example":"Example Label","type":"string"},"lens":{"description":"Lens description or key","type":"string"},"lighting":{"description":"Lighting description or key","type":"string"},"model":{"description":"Model information for the element","type":"string"},"mood":{"description":"Mood key to auto-select","type":"string"},"organizationId":{"description":"The organization ID for the preset","type":"string"},"platform":{"allOf":[{"$ref":"#/components/schemas/Platform"}],"description":"The platform this preset is for (undefined for universal presets)"},"prompt":{"description":"Optimized prompt for AI generation (separate from description)","type":"string"},"promptTemplate":{"description":"Prompt template key","type":"string"},"scene":{"description":"Scene key to auto-select","type":"string"},"style":{"description":"Style key to auto-select","type":"string"}},"required":["key","label","category"],"type":"object"},"CreateProfileDto":{"properties":{},"type":"object"},"CreateProjectDto":{"properties":{"description":{"description":"Project description","type":"string"},"label":{"description":"Project label","type":"string"},"status":{"description":"Project status","enum":["active","completed","archived"],"type":"string"}},"required":["label"],"type":"object"},"CreatePromptDto":{"properties":{"blacklists":{"items":{"type":"string"},"type":"array"},"brandId":{"nullable":true,"type":"string"},"camera":{"type":"string"},"category":{"allOf":[{"$ref":"#/components/schemas/PromptCategory"}],"description":"Prompt type (supports dynamic types like models-prompt-genfeedai/<destination>)","example":"presets-description-image"},"duration":{"type":"number"},"fontFamily":{"type":"string"},"fps":{"type":"number"},"isFavorite":{"default":false,"description":"Whether this prompt is marked as favorite","type":"boolean"},"isSkipEnhancement":{"default":false,"type":"boolean"},"model":{"description":"Model key or Replicate destination (owner/model[:version]) or Replicate version id","type":"string"},"mood":{"type":"string"},"organizationId":{"nullable":true,"type":"string"},"original":{"type":"string"},"ratio":{"type":"string"},"reference":{"type":"string"},"requestedSkillSlugs":{"description":"Skill slugs picked from the Studio composer `/` palette; their instructions are appended to the enhancement system prompt","type":"array"},"resolution":{"type":"string"},"scene":{"type":"string"},"scope":{"allOf":[{"$ref":"#/components/schemas/AssetScope"}]},"seed":{"type":"number"},"sounds":{"items":{"type":"string"},"type":"array"},"speech":{"description":"Speech text for Google Veo3 models","type":"string"},"status":{"allOf":[{"$ref":"#/components/schemas/PromptStatus"}]},"style":{"type":"string"},"systemPromptKey":{"description":"System prompt template key for enhancement (e.g., system.image, system.brand)","example":"system.image","type":"string"},"tags":{"items":{"type":"string"},"type":"array"},"userId":{"type":"string"}},"required":["category","original","isSkipEnhancement"],"type":"object"},"CreatePublicYoutubeClipDto":{"properties":{"youtubeUrl":{"description":"Public YouTube video URL to analyze.","example":"https://www.youtube.com/watch?v=dQw4w9WgXcQ","maxLength":2048,"type":"string"}},"required":["youtubeUrl"],"type":"object"},"CreatePublicYoutubeClipPreviewDto":{"properties":{"recommendationId":{"description":"Recommendation to render. Defaults to the highest-ranked recommendation.","type":"string"}},"type":"object"},"CreatePublicYoutubeLongFormDto":{"properties":{"outputType":{"enum":["article","linkedin-article","x-article","newsletter"],"example":"linkedin-article","type":"string"},"youtubeUrl":{"description":"Public YouTube video URL to transform.","example":"https://www.youtube.com/watch?v=dQw4w9WgXcQ","maxLength":2048,"type":"string"}},"required":["outputType","youtubeUrl"],"type":"object"},"CreateRemixArticleDto":{"properties":{"instructions":{"description":"Additional instructions for remixing the article content","example":"Make it more casual and add humor","type":"string"},"label":{"description":"New title for the remix article (optional, defaults to \"Remix: [original title]\")","example":"My Remix Article","type":"string"}},"type":"object"},"CreateRemixPostDto":{"properties":{"description":{"description":"New description/caption for the remix post","example":"Check out this amazing content! #viral #trending","type":"string"},"label":{"description":"Optional label/title for the remix post","example":"Remix: My Original Post","type":"string"}},"required":["description"],"type":"object"},"CreateRoleDto":{"properties":{"key":{"description":"The unique identifier key for the role","type":"string"},"label":{"description":"The display name of the role","type":"string"},"primaryColor":{"description":"Optional primary color associated with the role","type":"string"}},"required":["label","key"],"type":"object"},"CreateRssSourceDto":{"properties":{"approvalMode":{"enum":["APPROVAL","AUTO"],"type":"string"},"brandId":{"type":"string"},"feedUrl":{"description":"RSS or Atom feed URL","type":"string"},"importPolicy":{"enum":["DRAFT","SCHEDULED","PUBLISH_NOW"],"type":"string"},"isEnabled":{"type":"boolean"},"label":{"description":"Display label","maxLength":120,"type":"string"},"targetChannels":{"description":"Destination channels for imported items","type":"array"},"timezone":{"type":"string"}},"required":["label","feedUrl","targetChannels"],"type":"object"},"CreateScopedSkillDto":{"properties":{"audience":{"enum":["private","organization"],"type":"string"},"brandId":{"type":"string"},"category":{"type":"string"},"channels":{"items":{"type":"string"},"type":"array"},"description":{"type":"string"},"instructions":{"type":"string"},"modalities":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"},"ownerKind":{"enum":["user","organization","brand"],"type":"string"},"slug":{"type":"string"},"workflowStage":{"type":"string"}},"required":["description","instructions","name","slug"],"type":"object"},"CreateSkillCheckoutDto":{"properties":{"cancelUrl":{"description":"URL to redirect to if checkout is cancelled","type":"string"},"email":{"description":"Pre-fill email for checkout","type":"string"},"skillSlug":{"description":"Optional Skills Pro slug for a single-skill purchase. Omit to purchase the bundle.","type":"string"},"successUrl":{"description":"URL to redirect to after successful checkout","type":"string"}},"type":"object"},"CreateSkillDto":{"properties":{"baseSkill":{"type":"string"},"category":{"enum":["writing","image","video","audio","discovery","distribution","analytics","optimization"],"type":"string"},"channels":{"items":{"enum":["tiktok","reels","instagram","youtube","x","linkedin","blog","ads"],"type":"string"},"type":"array"},"configSchema":{"type":"object"},"defaultInstructions":{"type":"string"},"description":{"type":"string"},"inputSchema":{"type":"object"},"isBuiltIn":{"description":"Tenant API creates organization-owned skills only","type":"boolean"},"modalities":{"items":{"enum":["text","image","video","audio","multi"],"type":"string"},"type":"array"},"name":{"type":"string"},"outputSchema":{"type":"object"},"requiredProviders":{"items":{"enum":["anthropic","openai","openrouter","elevenlabs","replicate","fal","crun","argil","heygen","hedra","klingai","leonardoai","higgsfield","apify","google","xai","bfl","runway"],"type":"string"},"type":"array"},"reviewDefaults":{"type":"object"},"slug":{"type":"string"},"source":{"enum":["built_in","imported","custom","customized"],"type":"string"},"status":{"enum":["draft","published","disabled"],"type":"string"},"systemPromptTemplate":{"type":"string"},"toolOverrides":{"items":{"type":"string"},"type":"array"},"workflowStage":{"enum":["research","planning","creation","review","publishing","analysis"],"type":"string"}},"required":["name","slug","description","category","modalities","channels","workflowStage"],"type":"object"},"CreateSocialSourceDto":{"properties":{"avatarUrl":{"type":"string"},"bio":{"type":"string"},"credentialId":{"type":"string"},"displayName":{"type":"string"},"externalId":{"type":"string"},"followersCount":{"type":"number"},"handle":{"description":"Platform handle, with or without @","type":"string"},"isActive":{"default":true,"type":"boolean"},"platform":{"allOf":[{"$ref":"#/components/schemas/SocialSourcePlatform"}]},"profileUrl":{"type":"string"},"sourceType":{"allOf":[{"$ref":"#/components/schemas/SocialSourceType"}],"default":"account"}},"required":["platform","handle"],"type":"object"},"CreateSocialWarmupEnrollmentDto":{"properties":{"credentialId":{"description":"Credential to enroll in guided social warm-up","type":"string"}},"required":["credentialId"],"type":"object"},"CreateStoryboardRunDto":{"properties":{"clientRequestId":{"format":"uuid","type":"string"},"planSettings":{"type":"object"},"source":{"type":"object"}},"required":["clientRequestId","source"],"type":"object"},"CreateStudioLookDto":{"properties":{"aspectRatio":{"description":"Aspect ratio for the generated output, e.g. \"16:9\"","maxLength":20,"type":"object"},"assetType":{"enum":["image","video"],"type":"string"},"brandingMode":{"description":"Brand context mode for prompt assembly","enum":["brand","off"],"type":"string"},"camera":{"description":"Studio camera key","maxLength":200,"type":"string"},"cameraMovement":{"description":"Studio camera-movement key; accepted only for video Looks","maxLength":200,"type":"object"},"duration":{"description":"Duration in seconds; accepted only for video Looks","maximum":60,"minimum":1,"type":"object"},"label":{"description":"Display name for this saved Look","maxLength":80,"type":"string"},"lens":{"description":"Studio lens key","maxLength":200,"type":"string"},"lighting":{"description":"Studio lighting key","maxLength":200,"type":"string"},"modelKey":{"description":"Router model key for auto-routed generation; empty/omitted means Auto","maxLength":200,"type":"object"},"mood":{"description":"Studio mood key","maxLength":200,"type":"string"},"outputs":{"description":"Number of outputs to generate","maximum":10,"minimum":1,"type":"object"},"prioritize":{"allOf":[{"$ref":"#/components/schemas/RouterPriority"}],"description":"Priority for auto model routing: quality, speed, cost, or balanced"},"promptTemplate":{"description":"Studio preset key","maxLength":200,"type":"string"},"resolution":{"description":"Target resolution for the generated output","maxLength":20,"type":"object"},"scene":{"description":"Studio scene key","maxLength":200,"type":"string"},"style":{"description":"Studio style key","maxLength":200,"type":"string"}},"required":["label","assetType","promptTemplate","style","mood","scene","camera","lens","lighting"],"type":"object"},"CreateSubscriptionPreviewDto":{"properties":{"price":{"description":"The price identifier for the subscription preview","type":"string"}},"required":["price"],"type":"object"},"CreateTagDto":{"properties":{"backgroundColor":{"default":"#000000","description":"The background color of the tag","type":"string"},"category":{"allOf":[{"$ref":"#/components/schemas/TagCategory"}],"description":"The category/type of entities this tag applies to"},"description":{"description":"The tag description","type":"string"},"key":{"description":"A unique key for the tag","type":"string"},"label":{"description":"The tag label","maxLength":80,"type":"string"},"scope":{"default":"brand","description":"Where the tag is visible: the active brand (default) or every brand of the organization. Organization-wide tags need an owner or admin.","enum":["brand","organization"],"type":"string"},"textColor":{"default":"#FFFFFF","description":"The text color of the tag","type":"string"}},"required":["label"],"type":"object"},"CreateTaskCommentDto":{"properties":{"body":{"description":"Markdown body of the comment","type":"string"}},"required":["body"],"type":"object"},"CreateTaskDto":{"properties":{"assigneeAgentId":{"description":"Agent ID of the assignee","type":"string"},"assigneeUserId":{"description":"Canonical user ID of the assignee","type":"string"},"brandId":{"description":"Canonical brand ID for the task","type":"string"},"description":{"description":"Detailed task description","type":"string"},"elevenlabsVoiceId":{"description":"ElevenLabs voice ID for facecam tasks","type":"string"},"goalId":{"description":"Goal reference ID","type":"string"},"heygenAvatarId":{"description":"HeyGen avatar ID for facecam tasks","type":"string"},"linkedEntities":{"description":"Linked entities (ingredients, posts, articles, evaluations)","items":{"$ref":"#/components/schemas/LinkedEntityDto"},"type":"array"},"outputType":{"description":"Output type for AI generation","enum":["caption","facecam","image","ingredient","newsletter","post","video"],"type":"string"},"parentId":{"description":"Parent task ID for sub-tasks","type":"string"},"platforms":{"description":"Target platforms","items":{"type":"string"},"type":"array"},"priority":{"description":"Task priority","enum":["critical","high","medium","low"],"type":"string"},"projectId":{"description":"Project reference ID","type":"string"},"request":{"description":"AI generation request text","type":"string"},"status":{"description":"Task status","enum":["backlog","todo","in_progress","blocked","in_review","done","failed","cancelled"],"type":"string"},"title":{"description":"Task title","type":"string"},"voiceId":{"description":"Provider-agnostic voice ID for facecam tasks (HeyGen catalog ID, ElevenLabs ID, or canonical Voice ID)","type":"string"},"voiceProvider":{"description":"Voice provider hint — determines how voiceId is resolved (heygen | elevenlabs | genfeed-ai | hedra)","type":"string"}},"required":["title"],"type":"object"},"CreateTemplateDto":{"properties":{"categories":{"description":"Template categories","items":{"type":"string"},"type":"array"},"category":{"allOf":[{"$ref":"#/components/schemas/TemplateCategory"}],"description":"Unified category for both content and prompt templates"},"content":{"description":"Template content with {{variables}}","type":"string"},"description":{"description":"Description of the template","type":"string"},"industries":{"description":"Industries","items":{"type":"string"},"type":"array"},"isActive":{"description":"Whether template is active (for prompt templates)","type":"boolean"},"key":{"description":"Unique key for prompt templates (e.g., \"article.generate.default\")","type":"string"},"label":{"description":"Label of the template","type":"string"},"metadata":{"description":"Template metadata properties","type":"object"},"platforms":{"description":"Platforms","items":{"type":"string"},"type":"array"},"purpose":{"description":"Template purpose: content (user-facing) or prompt (system-level)","enum":["content","prompt"],"type":"string"},"scope":{"allOf":[{"$ref":"#/components/schemas/AssetScope"}],"description":"Asset scope"},"tags":{"description":"Tags","items":{"type":"string"},"type":"array"},"variables":{"description":"Template variables","items":{"type":"string"},"type":"array"},"version":{"description":"Template version (for prompt templates)","type":"number"}},"required":["purpose","label","description","content"],"type":"object"},"CreateTrackedLinkDto":{"properties":{},"type":"object"},"CreateTrainingDto":{"properties":{"baseModel":{"default":"genfeed-ai/z-image-turbo","description":"Base model for training","type":"string"},"category":{"allOf":[{"$ref":"#/components/schemas/TrainingCategory"}]},"description":{"type":"string"},"label":{"type":"string"},"model":{"default":"replicate/fast-flux-trainer:f463fbfc97389e10a2f443a8a84b6953b1058eafbf0c9af4d84457ff07cb04db","description":"Replicate training model version","type":"string"},"provider":{"default":"replicate","description":"Training provider","type":"string"},"seed":{"description":"Random seed for training","type":"number"},"sources":{"description":"Array of source ingredient IDs","items":{"type":"string"},"maxItems":50,"type":"array"},"status":{"allOf":[{"$ref":"#/components/schemas/TrainingStatus"}]},"steps":{"type":"number"},"trigger":{"type":"string"}},"required":["label","trigger","category","steps"],"type":"object"},"CreateTurboContentDto":{"properties":{"count":{"description":"Number of drafts to generate in parallel","example":5,"maximum":100,"minimum":1,"type":"number"},"params":{"description":"Optional skill parameters","type":"object"},"skillSlug":{"description":"Content skill slug to execute for each run item","example":"content-writing","type":"string"}},"required":["skillSlug","count"],"type":"object"},"CreateTurboProjectDto":{"properties":{"brandId":{"description":"Brand that owns the project","type":"string"},"kind":{"allOf":[{"$ref":"#/components/schemas/TurboProjectKind"}]},"name":{"maxLength":120,"type":"string"},"workflowId":{"description":"Saved workflow for workflow projects","type":"string"}},"required":["kind","brandId"],"type":"object"},"CreateTurboRewriteJobDto":{"properties":{},"type":"object"},"CreateTurboRunDto":{"properties":{},"type":"object"},"CreateTweetReplyDto":{"properties":{"context":{"description":"Additional context or instructions for the reply","type":"string"},"customInstructions":{"description":"Custom instructions for generating the reply","maxLength":280,"type":"string"},"length":{"allOf":[{"$ref":"#/components/schemas/ReplyLength"}],"default":"medium","description":"The desired length of the reply"},"tagGrok":{"default":false,"description":"Whether to tag @grok in the reply to create a thread and request feedback","type":"boolean"},"tone":{"allOf":[{"$ref":"#/components/schemas/ReplyTone"}],"default":"friendly","description":"The tone of the reply"},"tweetAuthor":{"description":"The Twitter username of the tweet author","type":"string"},"tweetContent":{"description":"The original tweet content to reply to","type":"string"},"tweetUrl":{"description":"The URL of the tweet being replied to","type":"string"}},"required":["tweetContent"],"type":"object"},"CreateVideoDto":{"properties":{"agentStrategyId":{"type":"string"},"audioUrl":{"description":"Audio file URL for avatar/talking-head generation (Kling Avatar V2). Duration matches audio length.","type":"string"},"autoSelectModel":{"default":false,"description":"Automatically select the best model based on the prompt. If true, the model parameter will be ignored.","type":"boolean"},"blacklist":{"description":"Array of blacklist element keys to exclude from video generation","items":{"type":"string"},"type":"array"},"bookmark":{"description":"The bookmark ID that this video was generated from","type":"string"},"bookmarkId":{"type":"string"},"brandId":{"nullable":true,"type":"string"},"brandMode":{"description":"Generate with the prompt exactly as typed and apply no brand identity. The only client-chosen brand mode; approved and provisional modes are resolved on the server.","enum":["raw"],"type":"string"},"brandingMode":{"default":"off","description":"Brand context mode for prompt assembly","enum":["off","brand"],"type":"string"},"camera":{"description":"The camera angle for video generation","type":"string"},"cameraMovement":{"description":"The camera movement for video generation","type":"string"},"category":{"allOf":[{"$ref":"#/components/schemas/IngredientCategory"}],"default":"IMAGE"},"contentRating":{"description":"Moderation content rating for fleet assets","enum":["SFW","SUGGESTIVE","NSFW"],"type":"string"},"duration":{"default":10,"description":"Duration in seconds","maximum":60,"minimum":1,"type":"number"},"endFrame":{"description":"The end frame image ID for video interpolation. When provided with a reference image, generates video that interpolates between the start and end frames.","type":"string"},"fidelityMode":{"description":"Generation-brief fidelity. When set, overrides brandingMode for brief compilation.","enum":["off","guided","strict"],"type":"string"},"folderId":{"nullable":true,"type":"string"},"fontFamily":{"description":"The font family for video captions/text","type":"string"},"format":{"description":"The format for video generation","type":"string"},"generationPrompt":{"type":"string"},"generationSeed":{"type":"number"},"generationSource":{"description":"Redacted generation-brief compiler identity","type":"string"},"groupId":{"description":"Group ID for batch operations (e.g., interpolation pairs)","type":"string"},"groupIndex":{"description":"Index within the group for ordering","type":"number"},"harness":{"description":"Override prompt enhancement for this generation","type":"boolean"},"height":{"description":"The height of the generated video in pixels","type":"number"},"isAudioEnabled":{"default":false,"description":"Whether to include audio in the video","type":"boolean"},"isBrandingEnabled":{"default":true,"description":"Whether to include branding in the video","type":"boolean"},"isDefault":{"default":false,"type":"boolean"},"isHighlighted":{"default":false,"type":"boolean"},"isMergeEnabled":{"type":"boolean"},"knowledge":{"allOf":[{"$ref":"#/components/schemas/KnowledgeSelectionDto"}],"description":"Explicit Knowledge sources or spaces to ground this generation on; omit for automatic brand Knowledge"},"language":{"description":"The language code for the video content","type":"string"},"lens":{"description":"The lens type for video generation","type":"string"},"lighting":{"description":"The lighting for video generation","type":"string"},"metadata":{"allOf":[{"$ref":"#/components/schemas/CreateMetadataDto"}],"description":"Optional metadata associated with the video"},"metadataId":{"description":"Metadata ID","type":"string"},"model":{"description":"The model to use for video generation","type":"string"},"modelUsed":{"type":"string"},"mood":{"description":"The mood for video generation","type":"string"},"negativePrompt":{"type":"string"},"order":{"default":0,"type":"number"},"organizationId":{"type":"string"},"outputs":{"default":1,"description":"Number of videos to generate (multi-output models only)","maximum":4,"minimum":1,"type":"number"},"parentId":{"type":"string"},"personaId":{"type":"string"},"prioritize":{"allOf":[{"$ref":"#/components/schemas/RouterPriority"}],"default":"balanced","description":"Priority for auto model routing: quality, speed, cost, or balanced."},"promptAuthor":{"description":"Set when the prompt came from an agent proposal: `agent` unchanged, `agent_edited` changed by the member. Recorded in the generation receipt; omit for a prompt the member wrote.","enum":["agent","agent_edited"],"type":"string"},"promptId":{"type":"string"},"promptTemplate":{"description":"Prompt template key (e.g., \"video.cinematic.default\")","type":"string"},"providerData":{"description":"Redacted generation-brief compiler and profile evidence","type":"object"},"qualityFeedback":{"description":"Quality feedback suggestions from auto-rating","items":{"type":"string"},"type":"array"},"qualityScore":{"description":"Quality score from auto-rating (0-10)","type":"number"},"qualityStatus":{"description":"Automated quality verdict for the ingredient","enum":["UNRATED","GOOD","NEEDS_REVIEW"],"type":"string"},"references":{"description":"Source image ingredient IDs used as still references","items":{"type":"string"},"type":"array"},"requestedSkillSlugs":{"items":{"type":"string"},"type":"array"},"resolution":{"description":"Model-specific video resolution from the selected model capability list","type":"string"},"reviewStatus":{"allOf":[{"$ref":"#/components/schemas/FleetReviewStatus"}],"description":"Fleet review status for moderated assets"},"scene":{"description":"The scene for video generation","type":"string"},"scope":{"allOf":[{"$ref":"#/components/schemas/AssetScope"}]},"seed":{"description":"Random generation seed","type":"number"},"sounds":{"description":"Array of sound element keys to include in video generation","items":{"type":"string"},"type":"array"},"sourceActionId":{"description":"Confirmed agent action identity for durable reconciliation","type":"string"},"sources":{"description":"Source ingredient IDs (for tracking merged content)","items":{"type":"string"},"type":"array"},"speech":{"description":"Speech text for Google Veo3 models","type":"string"},"status":{"allOf":[{"$ref":"#/components/schemas/IngredientStatus"}]},"style":{"description":"The style for video generation","type":"string"},"tags":{"description":"Array of tag IDs for this ingredient","items":{"type":"string"},"type":"array"},"targetFps":{"default":60,"description":"Target FPS for video upscaling","type":"number"},"targetResolution":{"default":"4k","description":"Target resolution for video upscaling","enum":["720p","1080p","4k"],"type":"string"},"text":{"description":"Video generation prompt","type":"string"},"trainingId":{"type":"string"},"transformations":{"description":"Transformations applied to this ingredient","items":{"$ref":"#/components/schemas/TransformationCategory"},"type":"array"},"useTemplate":{"default":true,"description":"Whether to use prompt templates","type":"boolean"},"userId":{"type":"string"},"version":{"default":1,"type":"number"},"videoReferences":{"description":"Stored video ingredient IDs used as native video references by supported models","items":{"type":"string"},"type":"array"},"voiceSource":{"type":"string"},"waitForCompletion":{"default":false,"description":"If true, wait for generation to complete before returning the result. Defaults to false (returns immediately with placeholder).","type":"boolean"},"width":{"description":"The width of the generated video in pixels","type":"number"},"workflowExecutionId":{"type":"string"}},"required":["category","order","version"],"type":"object"},"CreateVideoWithCaptionsDto":{"properties":{"caption":{"type":"string"},"language":{"type":"string"}},"required":["caption"],"type":"object"},"CreateVisualProjectDto":{"properties":{},"type":"object"},"CreateVoteDto":{"properties":{"entity":{"description":"The ID of the entity being voted on","type":"string"},"entityModel":{"allOf":[{"$ref":"#/components/schemas/VoteEntityModel"}],"description":"The type of entity being voted on"}},"required":["entityModel","entity"],"type":"object"},"CreateWarmupAccountDto":{"properties":{},"type":"object"},"CreateWatchlistDto":{"properties":{},"type":"object"},"CreateWorkflowDto":{"properties":{"brandId":{"description":"Brand ID this workflow is scoped to","type":"string"},"completedAt":{"description":"Workflow completion timestamp","format":"date-time","type":"string"},"description":{"description":"Optional detailed description of the workflow","type":"string"},"edgeStyle":{"description":"Rendering style of the workflow graph edges","enum":["default","smoothstep","straight"],"type":"string"},"edges":{"description":"Connections between nodes","items":{"$ref":"#/components/schemas/WorkflowEdgeDto"},"type":"array"},"executionCount":{"description":"Number of times this workflow has been executed","type":"number"},"idempotencyKey":{"description":"Stable seeded-template creation attempt key","maxLength":256,"type":"string"},"inputVariables":{"description":"Input variables that can be customized per run","items":{"$ref":"#/components/schemas/WorkflowInputVariableDto"},"type":"array"},"isPublic":{"description":"Whether workflow is visible in marketplace","type":"boolean"},"isScheduleEnabled":{"description":"Whether the schedule is enabled","type":"boolean"},"isTemplate":{"description":"Whether workflow is a reusable template","type":"boolean"},"label":{"description":"The display label/name of the workflow. Omit when sourceWorkflowId is set; the server derives the copy label.","type":"string"},"lastExecutedAt":{"description":"Last execution timestamp","format":"date-time","type":"string"},"metadata":{"description":"Additional metadata for the workflow","type":"object"},"nodes":{"description":"Visual nodes on the workflow canvas","items":{"$ref":"#/components/schemas/WorkflowVisualNodeDto"},"type":"array"},"progress":{"description":"Workflow progress percentage","type":"number"},"recurrence":{"allOf":[{"$ref":"#/components/schemas/WorkflowRecurrenceDto"}],"description":"Recurrence settings for automated scheduling"},"schedule":{"description":"Cron expression for scheduling (e.g., \"0 9 * * *\" for 9am daily)","type":"string"},"scheduledFor":{"description":"When to first run the workflow (for scheduled workflows)","format":"date-time","type":"string"},"sourceAsset":{"description":"Source asset that triggered the workflow","type":"string"},"sourceType":{"description":"When `system-catalog`, `templateId` is a system catalog canonical id and create installs that catalog entry (idempotent). When `featured-workflow`, `sourceWorkflowId` is an admin-pinned Featured workflow and create copies its graph into the caller organization.","enum":["system-catalog","seeded-template","featured-workflow"],"type":"string"},"sourceWorkflowId":{"description":"When set, create is a clone of this workflow (POST /workflows body clone).","type":"string"},"startedAt":{"description":"Workflow start timestamp","format":"date-time","type":"string"},"status":{"allOf":[{"$ref":"#/components/schemas/WorkflowStatus"}],"description":"Workflow status"},"tags":{"description":"Tags for categorizing the workflow","items":{"type":"string"},"type":"array"},"templateId":{"description":"Template ID if using a predefined workflow","type":"string"},"thumbnail":{"description":"Workflow thumbnail URL","type":"string"},"thumbnailNodeId":{"description":"Node ID currently selected as the workflow thumbnail source","type":"string"},"timezone":{"description":"Timezone for schedule (e.g., \"America/New_York\")","type":"string"},"trigger":{"allOf":[{"$ref":"#/components/schemas/WorkflowTrigger"}],"description":"When the workflow should trigger"}},"type":"object"},"CreateWorkflowExecutionDto":{"properties":{"expectedContextVersion":{"minimum":1,"type":"number"},"inputValues":{"description":"Input values for workflow variables","type":"object"},"metadata":{"description":"Additional metadata","type":"object"},"threadId":{"description":"Active agent thread ID","type":"string"},"trigger":{"allOf":[{"$ref":"#/components/schemas/WorkflowExecutionTrigger"}],"default":"manual","description":"What triggered this execution"},"workflowId":{"description":"Workflow ID to execute","type":"string"}},"required":["workflowId","trigger"],"type":"object"},"CredentialPlatform":{"enum":["youtube","instagram","tiktok","facebook","google_ads","google_search_console","twitter","x_ads","linkedin","pinterest","reddit","discord","telegram","twitch","medium","threads","fanvue","slack","wordpress","snapchat","whatsapp","mastodon","ghost","shopify","beehiiv","unipile","devto","product_hunt","hacker_news","restream"],"type":"string"},"CredentialPostingTimeDto":{"properties":{"hour":{"example":9,"type":"number"},"minute":{"example":0,"type":"number"}},"required":["hour","minute"],"type":"object"},"CsvMetricEntryDto":{"properties":{"comments":{"default":0,"type":"number"},"externalPostId":{"description":"External post ID from the platform","type":"string"},"likes":{"default":0,"type":"number"},"measuredAt":{"description":"Date when metrics were measured","type":"string"},"platform":{"description":"Platform","enum":["youtube","instagram","tiktok","facebook","google_ads","google_search_console","twitter","x_ads","linkedin","pinterest","reddit","discord","telegram","twitch","medium","threads","fanvue","slack","wordpress","snapchat","whatsapp","mastodon","ghost","shopify","beehiiv","unipile","devto","product_hunt","hacker_news","restream"],"type":"string"},"revenue":{"default":0,"type":"number"},"saves":{"default":0,"type":"number"},"shares":{"default":0,"type":"number"},"views":{"default":0,"type":"number"}},"required":["externalPostId","platform","measuredAt"],"type":"object"},"CustomizeSkillDto":{"properties":{"description":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"}},"type":"object"},"DefaultAvatarRefDto":{"properties":{"groupId":{"nullable":true,"type":"object"},"lookId":{"type":"string"},"ownership":{"enum":["private","public"],"type":"string"},"source":{"enum":["heygen-look"],"type":"string"}},"required":["source","lookId","ownership"],"type":"object"},"DefaultVoiceRefDto":{"properties":{"externalVoiceId":{"description":"External provider voice ID","type":"string"},"internalVoiceId":{"description":"Internal cloned voice ingredient ID","type":"string"},"label":{"description":"Display label for the saved voice","type":"string"},"preview":{"description":"Preview audio URL for catalog voices","nullable":true,"type":"string"},"provider":{"enum":["HEYGEN","ELEVENLABS","HEDRA","GENFEED_AI"],"type":"string"},"source":{"enum":["catalog","cloned"],"type":"string"}},"required":["source","provider"],"type":"object"},"DesktopAuthCodeStatusDto":{"properties":{},"type":"object"},"DimensionsDto":{"properties":{"height":{"description":"Height in pixels","example":1080,"type":"number"},"width":{"description":"Width in pixels","example":1920,"type":"number"}},"type":"object"},"DiscoverReplyTargetsDto":{"properties":{"brandId":{"description":"Brand whose X account is being warmed up","type":"string"},"maxResults":{"default":10,"maximum":20,"minimum":1,"type":"number"},"query":{"description":"The niche in a few words, e.g. \"indie hackers shipping saas\"","maxLength":200,"minLength":3,"type":"string"}},"required":["brandId","query"],"type":"object"},"DistributionContentType":{"enum":["text","photo","video"],"type":"string"},"DistributionPlatform":{"enum":["telegram"],"type":"string"},"DownloadSkillDto":{"properties":{"receiptId":{"description":"Receipt ID for download authorization (format: sk_rcpt_<id>)","type":"string"},"skillSlug":{"description":"Entitled skill slug to download or install","type":"string"}},"required":["receiptId","skillSlug"],"type":"object"},"DraftStoryboardPlanDto":{"properties":{"expectedRevision":{"minimum":1,"type":"number"},"instruction":{"maxLength":2000,"minLength":1,"type":"string"}},"required":["expectedRevision"],"type":"object"},"EditImageDto":{"properties":{"prompt":{"description":"Instruction to apply to the source image","type":"string"}},"required":["prompt"],"type":"object"},"EditorProjectSettingsDto":{"properties":{"backgroundColor":{"default":"#000000","description":"Background color","type":"string"},"format":{"default":"landscape","description":"Video format","enum":["landscape","portrait","square"],"type":"string"},"fps":{"default":30,"description":"Frames per second","type":"number"},"height":{"default":1080,"description":"Video height in pixels","type":"number"},"width":{"default":1920,"description":"Video width in pixels","type":"number"}},"type":"object"},"EnhancePostDto":{"properties":{"isDraft":{"default":false,"description":"When true, return the proposed text on the post without saving it, so the caller can review it first","type":"boolean"},"prompt":{"description":"Enhancement prompt","example":"make it shorter","type":"string"},"tone":{"allOf":[{"$ref":"#/components/schemas/TweetTone"}],"default":"professional","description":"Tone for the enhanced content"}},"required":["prompt"],"type":"object"},"EnhancePromptDto":{"properties":{},"type":"object"},"EnsureAuthorResponderDto":{"properties":{"brandId":{"description":"Brand to enable author-reply loop for","type":"string"},"credentialId":{"description":"X credential id (auto-detected when omitted)","type":"string"},"isActive":{"default":true,"description":"Whether the comment_responder bot should be active","type":"boolean"},"platform":{"default":"twitter","description":"Platform for comment_responder (twitter | youtube)","type":"string"}},"required":["brandId"],"type":"object"},"EstimateGenerationCreditsDto":{"properties":{"aspectRatio":{"description":"Aspect ratio the Agent request executes with (e.g. \"1:1\", \"16:9\"); drives per-megapixel pricing dimensions","example":"1:1","type":"string"},"category":{"description":"Image, image edit, music or video","enum":["image","image-edit","music","video"],"example":"image","type":"string"},"duration":{"description":"Duration in seconds. Video uses the submitted length; music sends it only when the model bills by time, up to the music generation cap.","maximum":90,"minimum":1,"type":"number"},"editSize":{"enum":["source","1024x1024","1280x896","896x1280","1344x768","768x1344","1536x640","640x1536"],"type":"string"},"height":{"description":"Executed pixel height; send with width to quote exact size","type":"number"},"isAudioEnabled":{"description":"Video audio toggle; priced as the audio selector","type":"boolean"},"modelKey":{"type":"string"},"outputs":{"default":1,"maximum":8,"minimum":1,"type":"number"},"prioritize":{"allOf":[{"$ref":"#/components/schemas/RouterPriority"}],"default":"balanced"},"prompt":{"description":"The prompt as the Agent wrote it. Required only when the server must route (no modelKey).","example":"A futuristic city at sunset with flying cars","type":"string"},"quality":{"description":"Image quality tier (\"standard\" | \"hd\")","type":"string"},"referenceUrls":{"items":{"type":"string"},"type":"array"},"resolution":{"description":"Video resolution option (e.g. \"1080p\", \"4k\")","type":"string"},"width":{"description":"Executed pixel width; send with height to quote exact size","type":"number"}},"required":["category"],"type":"object"},"EvaluateContentDto":{"properties":{"contentId":{"description":"Content ID to evaluate","type":"string"},"contentType":{"description":"Content type to evaluate","enum":["IMAGE","VIDEO","MUSIC","GIF","AVATAR","AUDIO","IMAGE_EDIT","VIDEO_EDIT","VOICE","INGREDIENT","TEXT","SOURCE","article"],"type":"string"},"evaluationType":{"allOf":[{"$ref":"#/components/schemas/EvaluationType"}],"default":"pre-publication","description":"Evaluation type"}},"required":["contentType","contentId"],"type":"object"},"EvaluateExternalDto":{"properties":{"platform":{"allOf":[{"$ref":"#/components/schemas/ExternalPlatform"}],"description":"Platform where content is hosted"},"url":{"description":"External content URL to analyze","example":"https://www.tiktok.com/@user/video/1234567890","type":"string"}},"required":["url","platform"],"type":"object"},"EvaluateMcpToolResultDto":{"properties":{"content":{"description":"Complete serialized tool result observed by the authenticated caller","type":"string"},"isPartial":{"description":"True when content is a bounded sample of a larger result, so part of what the caller returns to its model was not sent for classification","type":"boolean"}},"required":["content"],"type":"object"},"EvaluationType":{"description":"Evaluation type","enum":["pre-publication","post-publication","external-analysis"],"type":"string"},"ExchangeAgentAuthClaimDto":{"properties":{},"type":"object"},"ExchangeDesktopAuthCodeDto":{"properties":{},"type":"object"},"ExecuteAbTestSuggestionDto":{"properties":{},"type":"object"},"ExecuteAgentToolContextDto":{"properties":{"approvedApprovalId":{"description":"Already-claimed MCP approval that authorizes this exact logical write","maxLength":128,"type":"string"},"brandId":{"description":"Brand the caller is acting in. Authorized against the authenticated organization on the server before it reaches the executor.","maxLength":128,"type":"string"}},"type":"object"},"ExecuteAgentToolDto":{"properties":{"context":{"$ref":"#/components/schemas/ExecuteAgentToolContextDto"},"parameters":{"type":"object"}},"type":"object"},"ExecuteAiActionDto":{"properties":{},"type":"object"},"ExecuteBrandRemixGenerationDto":{"properties":{},"type":"object"},"ExecuteBrandRemixScenesDto":{"properties":{},"type":"object"},"ExecutePartialDto":{"properties":{"dryRun":{"default":false,"description":"Dry run - validate without executing","type":"boolean"},"nodeIds":{"description":"Node IDs to execute","example":["node-1","node-2"],"items":{"type":"string"},"type":"array"},"respectLocks":{"default":true,"description":"Whether to skip locked nodes","type":"boolean"}},"required":["nodeIds"],"type":"object"},"ExecuteSkillDto":{"properties":{},"type":"object"},"ExecuteWorkflowBatchDto":{"properties":{"ingredientIds":{"description":"Tenant-owned ingredient IDs supplied to the child workflow","items":{"type":"string"},"type":"array"}},"required":["ingredientIds"],"type":"object"},"ExecuteWorkflowDto":{"properties":{"debugMode":{"description":"Whether the editor requested debug payload capture","type":"boolean"},"expectedContextVersion":{"minimum":1,"type":"number"},"inputValues":{"description":"Input values for workflow variables","type":"object"},"metadata":{"description":"Additional execution metadata","type":"object"},"selectedNodeIds":{"description":"When set, execute only these node IDs (partial run)","example":["PyHRz6uB"],"items":{"type":"string"},"type":"array"},"threadId":{"description":"Active agent thread ID","type":"string"}},"type":"object"},"ExpandPostingSetDto":{"properties":{"overrides":{"items":{"type":"string"},"type":"array"},"scheduledDate":{"type":"string"},"timezone":{"type":"string"}},"type":"object"},"ExpandToThreadDto":{"properties":{"count":{"description":"Total number of tweets in the final thread (including original)","example":3,"maximum":5,"minimum":2,"type":"number"},"tone":{"allOf":[{"$ref":"#/components/schemas/TweetTone"}],"default":"professional","description":"Tone for the generated thread expansion"}},"required":["count"],"type":"object"},"ExportIngredientDto":{"properties":{"watermark":{"type":"boolean"}},"required":["watermark"],"type":"object"},"ExportVisualProjectDto":{"properties":{},"type":"object"},"ExternalAgentTurnToolCallDto":{"properties":{"argsSummary":{"type":"string"},"durationMs":{"minimum":0,"type":"number"},"error":{"type":"string"},"name":{"type":"string"},"resultSummary":{"type":"string"},"status":{"enum":["completed","failed"],"type":"string"}},"required":["name","status"],"type":"object"},"ExternalAgentTurnUsageDto":{"properties":{"cachedInputTokens":{"minimum":0,"type":"number"},"costUsd":{"minimum":0,"type":"number"},"inputTokens":{"minimum":0,"type":"number"},"outputTokens":{"minimum":0,"type":"number"}},"type":"object"},"ExternalPlatform":{"description":"Platform where content is hosted","enum":["facebook","instagram","linkedin","tiktok","twitter","youtube"],"type":"string"},"FillCalendarSlotDto":{"properties":{"brief":{"type":"string"},"campaignId":{"description":"Publish content campaign to stamp on generated calendar content","type":"string"},"identityKey":{"type":"string"}},"required":["identityKey"],"type":"object"},"FinalizeClipUploadDto":{"properties":{"ingredientId":{"description":"Ingredient returned when this upload was prepared; finalize refuses a source that has since been replaced","type":"string"}},"required":["ingredientId"],"type":"object"},"FleetEvaluationPolicyDto":{"properties":{},"type":"object"},"FleetReviewStatus":{"description":"Fleet review status for moderated assets","enum":["PENDING","APPROVED","REJECTED","NEEDS_REVISION"],"type":"string"},"FleetVoiceCloneWebhookPayloadDto":{"properties":{"assetId":{"description":"Asset the clone belongs to","type":"string"},"duration":{"description":"Sample duration","type":"number"},"durationSeconds":{"description":"Sample duration, seconds","type":"number"},"duration_seconds":{"description":"Sample duration, seconds, snake_case","type":"number"},"error":{"description":"Failure detail","type":"object"},"handle":{"description":"Voice handle","type":"string"},"id":{"description":"Fleet record id","type":"string"},"ingredientId":{"description":"Ingredient the clone belongs to","type":"string"},"jobId":{"description":"Job id, camelCase","type":"string"},"job_id":{"description":"Job id, snake_case","type":"string"},"metrics":{"description":"Run metrics","type":"object"},"output":{"description":"Job output","type":"object"},"processTime":{"description":"Processing time","type":"number"},"processTimeMs":{"description":"Processing time in milliseconds","type":"number"},"processTimeSeconds":{"description":"Processing time in seconds","type":"number"},"process_time":{"description":"Processing time, snake_case","type":"number"},"process_time_seconds":{"description":"Processing time in seconds, snake_case","type":"number"},"processingTime":{"description":"Processing time, legacy camelCase","type":"number"},"processing_time":{"description":"Processing time, legacy snake_case","type":"number"},"result":{"description":"Job result","type":"object"},"sampleAudioUrl":{"description":"Sample audio URL, camelCase","type":"string"},"sample_audio_url":{"description":"Sample audio URL, snake_case","type":"string"},"state":{"description":"Job state alias","type":"string"},"status":{"description":"Job status","type":"string"},"voiceId":{"description":"Cloned voice id, camelCase","type":"string"},"voice_id":{"description":"Cloned voice id, snake_case","type":"string"}},"type":"object"},"FontFamily":{"description":"The font family to use for text overlays","enum":["MONTSERRAT_BLACK","MONTSERRAT_BOLD","MONTSERRAT_REGULAR","INTER_BOLD","POPPINS_BOLD","BEBAS_NEUE","ANTON","ARCHIVO_BLACK","BANGERS"],"type":"string"},"GenerateAccountPostDto":{"properties":{"count":{"description":"Number of posts to generate. Credit-funded batches are capped by the available balance; BYOK and free-model batches allow up to 50 posts per request. Threads allow 2–9 posts.","example":1,"minimum":1,"type":"number"},"credentialId":{"description":"Credential ID for the selected account","type":"string"},"format":{"default":"post","description":"Account-aware social generation format","enum":["post","thread"],"type":"string"},"sourceReferenceIds":{"description":"Optional trend source reference IDs to preserve remix lineage","items":{"type":"string"},"type":"array"},"sourceUrl":{"description":"Optional originating source URL for remix lineage fallback","type":"string"},"tone":{"allOf":[{"$ref":"#/components/schemas/TweetTone"}],"default":"professional","description":"Tone for the generated content"},"topic":{"description":"Topic or prompt for generating account-aware social content","example":"AI productivity tips","type":"string"},"trendId":{"description":"Optional originating trend ID for remix lineage","type":"string"}},"required":["topic","count","credentialId","format"],"type":"object"},"GenerateArticlesDto":{"properties":{},"type":"object"},"GenerateAssetDto":{"properties":{"category":{"allOf":[{"$ref":"#/components/schemas/AssetCategory"}]},"model":{"type":"string"},"parentId":{"type":"string"},"parentType":{"allOf":[{"$ref":"#/components/schemas/AssetParent"}]},"text":{"type":"string"}},"required":["parentId","parentType","category","text","model"],"type":"object"},"GenerateBrandVoiceDto":{"properties":{"brandId":{"description":"Existing brand ID to use stored data for voice generation","type":"string"},"examplesToAvoid":{"description":"Examples or styles the brand wants to avoid","items":{"type":"string"},"type":"array"},"examplesToEmulate":{"description":"Examples the brand wants to sound like","items":{"type":"string"},"type":"array"},"industry":{"description":"Industry or niche context","example":"Technology","type":"string"},"offering":{"description":"What the brand sells, creates, or helps with","example":"AI workflow automation for marketers","type":"string"},"samples":{"description":"The brand's own posts or replies, pasted verbatim. Treated as own writing alongside imported account history.","items":{"type":"string"},"type":"array"},"targetAudience":{"description":"Target audience description for voice tuning","example":"B2B SaaS founders","type":"string"},"url":{"description":"Website URL to scrape for brand voice analysis","example":"https://example.com","type":"string"}},"type":"object"},"GenerateCampaignContentDto":{"properties":{"contentRunId":{"description":"Originating content run to stamp on generated posts","type":"string"},"credentialIds":{"description":"Connected credentials to fan out. Omit to use every connected account on the campaign brand.","items":{"type":"string"},"type":"array"},"idempotencyKey":{"type":"string"},"source":{"description":"Origin label stamped as post source (e.g. campaign, remix)","type":"string"},"workflowExecutionId":{"description":"Originating workflow execution to stamp as lineage","type":"string"}},"type":"object"},"GenerateCampaignPlanDto":{"properties":{"brandId":{"type":"string"},"idempotencyKey":{"type":"string"},"name":{"type":"string"}},"required":["brandId","name"],"type":"object"},"GenerateClipHighlightDto":{"properties":{"id":{"description":"Highlight ID","type":"string"},"summary":{"description":"Highlight script/summary to use for generation","type":"string"},"title":{"description":"Highlight title to use for generation","type":"string"}},"required":["id","title","summary"],"type":"object"},"GenerateClipsDto":{"properties":{"avatarId":{"description":"Avatar ID for avatar-mode clip generation","type":"string"},"avatarProvider":{"default":"heygen","description":"Avatar video provider to use","enum":["heygen","argil","genfeedai"],"type":"string"},"editedHighlights":{"description":"Edited highlight payloads to persist before generation","items":{"$ref":"#/components/schemas/GenerateClipHighlightDto"},"type":"array"},"hookApprovalRequired":{"default":true,"description":"Pause multi-clip avatar generation after the completed hook clip for operator approval","type":"boolean"},"mode":{"allOf":[{"$ref":"#/components/schemas/ClipResultMode"}],"default":"avatar","description":"Clip generation mode"},"referencePolicy":{"allOf":[{"$ref":"#/components/schemas/ClipReferencePolicy"}],"default":"guided","description":"How to handle a selected reference when the generation route cannot apply it"},"selectedHighlightIds":{"description":"IDs of selected highlights to generate clips from","example":["uuid-1","uuid-2"],"items":{"type":"string"},"type":"array"},"voiceId":{"description":"Voice ID for avatar-mode clip generation","type":"string"}},"required":["selectedHighlightIds","editedHighlights"],"type":"object"},"GenerateContentDto":{"properties":{"additionalContext":{"description":"Additional context or instructions","items":{"type":"string"},"type":"array"},"brandId":{"description":"Brand ID to generate for.","type":"string"},"hashtags":{"description":"Hashtags to include in the content","items":{"type":"string"},"type":"array"},"knowledge":{"allOf":[{"$ref":"#/components/schemas/KnowledgeSelectionDto"}],"description":"Explicit Knowledge sources, spaces or purposes to ground this generation on"},"patternId":{"description":"Specific pattern ID to use for generation","type":"string"},"patternType":{"allOf":[{"$ref":"#/components/schemas/ContentPatternType"}],"description":"Type of pattern to use for generation"},"platform":{"allOf":[{"$ref":"#/components/schemas/ContentIntelligencePlatform"}],"description":"Target platform for the generated content"},"playbookId":{"description":"Playbook ID to use for generation guidelines","type":"string"},"templateCategory":{"allOf":[{"$ref":"#/components/schemas/TemplateCategory"}],"description":"Template category to use"},"topic":{"description":"Topic or subject for the content","example":"Building a personal brand on LinkedIn","type":"string"},"variationsCount":{"default":3,"description":"Number of content variations to generate","maximum":10,"minimum":1,"type":"number"}},"required":["platform","topic","brandId"],"type":"object"},"GenerateContentPlanDto":{"properties":{},"type":"object"},"GenerateFromExamplesDto":{"properties":{},"type":"object"},"GenerateHooksDto":{"properties":{},"type":"object"},"GenerateLaunchCopyDto":{"properties":{"brandId":{"description":"Brand the launch belongs to","type":"string"},"channel":{"description":"Target launch channel","enum":["hacker_news","product_hunt"],"example":"hacker_news","type":"string"},"description":{"description":"What the product does, in plain language","type":"string"},"productName":{"description":"Product / project name","type":"string"},"url":{"description":"Landing page or repo URL","type":"string"},"variationsCount":{"description":"Number of tagline variants to produce (Product Hunt)","maximum":5,"minimum":1,"type":"number"}},"required":["channel","productName","description","brandId"],"type":"object"},"GenerateNewsletterDraftDto":{"properties":{"angle":{"description":"Optional angle","type":"string"},"contextNewsletterIds":{"description":"Override newsletter memory set","items":{"type":"string"},"type":"array"},"instructions":{"description":"Optional generation instructions","type":"string"},"newsletterId":{"description":"Existing newsletter to update","type":"string"},"sourceRefs":{"description":"Additional source references","items":{"$ref":"#/components/schemas/NewsletterSourceRefDto"},"type":"array"},"topic":{"description":"Newsletter topic","type":"string"}},"required":["topic"],"type":"object"},"GenerateNewsletterTopicsDto":{"properties":{"count":{"default":5,"description":"Number of proposals to return","type":"number"},"instructions":{"description":"Optional extra planning instructions","type":"string"}},"type":"object"},"GeneratePostDraftDto":{"properties":{"brandId":{"description":"The selected workspace brand","type":"string"},"format":{"allOf":[{"$ref":"#/components/schemas/PostFormat"}]},"platform":{"allOf":[{"$ref":"#/components/schemas/Platform"}]},"prompt":{"description":"What to write about","type":"string"},"requestKey":{"description":"Idempotency key (UUID v4). A repeat returns the original draft; regenerating uses a new key.","type":"string"}},"required":["brandId","prompt","platform","requestKey"],"type":"object"},"GeneratePostDto":{"properties":{"aspectRatio":{"description":"Aspect ratio for image (e.g., 1:1, 4:5, 16:9)","type":"string"},"caption":{"description":"Override caption for the post","type":"string"},"organizationId":{"description":"Organization that owns the persona","type":"string"},"personaSlug":{"description":"Persona slug to generate content for","type":"string"},"platforms":{"description":"Platforms to publish to (e.g., instagram, twitter)","example":["instagram","twitter"],"items":{"type":"string"},"type":"array"},"prompt":{"description":"Override prompt for image generation","type":"string"}},"required":["organizationId","personaSlug","platforms"],"type":"object"},"GeneratePromptsDto":{"properties":{},"type":"object"},"GenerateSourcePostVariationsDto":{"properties":{"count":{"default":3,"description":"Number of distinct post variations to generate","maximum":10,"minimum":1,"type":"number"},"platform":{"allOf":[{"$ref":"#/components/schemas/ContentIntelligencePlatform"}],"description":"Target platform for the generated variations"},"postId":{"type":"string"},"sourcePostId":{"type":"string"},"sourceReferenceId":{"type":"string"},"trendId":{"description":"Tenant-owned trend exposing the imported source reference","type":"string"}},"required":["platform"],"type":"object"},"GenerateStoryboardStillsDto":{"properties":{"expectedRevision":{"minimum":1,"type":"number"},"inputHash":{"type":"string"},"shotIds":{"items":{"type":"string"},"maxItems":12,"minItems":1,"type":"array"}},"required":["expectedRevision","shotIds","inputHash"],"type":"object"},"GenerateStudioProposalsDto":{"properties":{"count":{"maximum":6,"minimum":1,"type":"number"},"surface":{"enum":["image","video","storyboard"],"type":"string"}},"required":["surface"],"type":"object"},"GenerateTurboIdeasDto":{"properties":{"angle":{"description":"Optional creative angle or theme to steer the project","example":"Black Friday launch","type":"string"},"count":{"default":6,"description":"Number of ideas to generate (3-9)","type":"number"},"formats":{"description":"Content formats to distribute the idea project across","items":{"enum":["image","video","avatar"],"type":"string"},"type":"array"}},"required":["formats","count"],"type":"object"},"GenerateVariantsDto":{"properties":{},"type":"object"},"GenerateVoiceDto":{"properties":{"autoSelectModel":{"default":false,"description":"Route to the best speech model for the voice. If true, `model` is ignored.","type":"boolean"},"model":{"description":"Speech model key; it must speak voices from `voiceProvider`. Omitted, the router picks one.","type":"string"},"prioritize":{"allOf":[{"$ref":"#/components/schemas/RouterPriority"}],"default":"balanced","description":"Priority for auto model routing: quality, speed, cost, or balanced."},"requestedSkillSlugs":{"items":{"type":"string"},"type":"array"},"sourceActionId":{"description":"Confirmed agent action identity for durable reconciliation","type":"string"},"speed":{"default":1,"description":"Speech speed multiplier (0.5-2.0)","type":"number"},"text":{"description":"The text to convert to speech","type":"string"},"voiceId":{"description":"Voice to speak with: an ElevenLabs voice id from the Genfeed voice catalog, or a HeyGen Voice id from /heygen/speech-voices","type":"string"},"voiceProvider":{"default":"ELEVENLABS","description":"The voice catalog `voiceId` belongs to","enum":["ELEVENLABS","HEYGEN"],"type":"string"},"waitForCompletion":{"default":false,"description":"If true, wait for generation to complete before returning the result.","type":"boolean"}},"required":["text","voiceId"],"type":"object"},"GenerateWorkflowDto":{"properties":{"description":{"description":"Natural language description of the desired workflow","example":"Create a workflow that generates an image and publishes it to Instagram","type":"string"},"targetPlatforms":{"description":"Target platforms to include in the workflow","example":["instagram","tiktok"],"items":{"type":"string"},"type":"array"}},"required":["description"],"type":"object"},"GenerateWorkflowWebhookDto":{"properties":{"authType":{"description":"Webhook authentication mode","enum":["none","secret","bearer"],"type":"string"}},"type":"object"},"GenerationPriority":{"description":"Model selection priority for agent-initiated generations. Persisted as the Prisma `GenerationPriority` label; the model router receives the mapped lowercase `RouterPriority`.","enum":["QUALITY","SPEED","COST","BALANCED"],"type":"string"},"GetForecastDto":{"properties":{},"type":"object"},"GetOptimalTimeDto":{"properties":{},"type":"object"},"GrantBillingRoleDto":{"properties":{"role":{"enum":["OWNER","ADMINISTRATOR","VIEWER"],"type":"string"},"userId":{"description":"User receiving the billing role","type":"string"}},"required":["userId","role"],"type":"object"},"GrantCharacterDto":{"properties":{"brandIds":{"description":"Brands of the receiving organization that can use the character when mode is SELECTED_BRANDS","items":{"type":"string"},"type":"array"},"mode":{"description":"all brands of the receiving organization, or selected brands of it","enum":["ALL_BRANDS","SELECTED_BRANDS"],"type":"string"},"recipientOrganizationId":{"description":"Organization that receives the character for use only; the actor must be owner or admin of both organizations","type":"string"}},"required":["recipientOrganizationId","mode"],"type":"object"},"GrantSkillDto":{"properties":{"access":{"enum":["use","use_and_read"],"type":"string"},"recipientBrandId":{"type":"string"},"recipientKind":{"enum":["user","organization","brand"],"type":"string"},"recipientOrganizationId":{"type":"string"},"recipientUserId":{"type":"string"}},"required":["recipientKind"],"type":"object"},"ImageEditDto":{"properties":{"brand":{"description":"Account ID for the image","type":"string"},"enhanceModel":{"default":"Low Resolution V2","description":"Enhancement model for upscaling","enum":["Standard V2","Low Resolution V2","CGI","High Fidelity V2","Text Refine"],"type":"string"},"faceEnhancement":{"default":true,"description":"Enable face enhancement","type":"boolean"},"faceEnhancementCreativity":{"default":0.5,"description":"Face enhancement creativity","maximum":1,"minimum":0,"type":"number"},"faceEnhancementStrength":{"default":0.8,"description":"Face enhancement strength","maximum":1,"minimum":0,"type":"number"},"model":{"description":"Model to use for image editing","type":"string"},"organization":{"description":"Organization ID for the image","type":"string"},"outputFormat":{"allOf":[{"$ref":"#/components/schemas/ImageFormat"}],"default":"jpg","description":"Output format for edited image"},"outputs":{"default":1,"description":"Number of outputs to generate","maximum":10,"minimum":1,"type":"number"},"subjectDetection":{"default":"Foreground","description":"Subject detection mode","enum":["Foreground","Background","All","None"],"type":"string"},"upscaleFactor":{"allOf":[{"$ref":"#/components/schemas/UpscaleFactor"}],"default":"4x","description":"Upscale factor"}},"type":"object"},"ImageFormat":{"description":"Output format for edited image","enum":["jpg","png","webp","gif"],"type":"string"},"ImportAccountVoiceDto":{"properties":{"externalVoiceId":{"description":"ElevenLabs voice ID from the connected account","type":"string"}},"required":["externalVoiceId"],"type":"object"},"ImportBrandKitAssetCandidateDto":{"properties":{"candidateId":{"type":"string"},"label":{"type":"string"},"mimeType":{"type":"string"},"referenceCategory":{"allOf":[{"$ref":"#/components/schemas/ReferenceImageCategory"}]},"replaceExisting":{"type":"boolean"},"role":{"enum":["logo","banner","reference"],"type":"string"},"sourceType":{"enum":["current_brand","website","manual","uploaded_guidance","system"],"type":"string"},"sourceUrl":{"type":"string"},"url":{"type":"string"}},"required":["role"],"type":"object"},"ImportBrandKitAssetsDto":{"properties":{"assets":{"items":{"$ref":"#/components/schemas/ImportBrandKitAssetCandidateDto"},"type":"array"}},"required":["assets"],"type":"object"},"ImportCreatorsDto":{"properties":{"creators":{"description":"Array of creators to import","items":{"$ref":"#/components/schemas/AddCreatorDto"},"maxItems":50,"minItems":1,"type":"array"},"format":{"allOf":[{"$ref":"#/components/schemas/ImportFormat"}],"default":"json","description":"Format of the import data"}},"required":["creators"],"type":"object"},"ImportCsvDto":{"properties":{"brandId":{"description":"Brand ID to associate with unmatched entries","type":"string"},"entries":{"description":"Array of CSV metric entries","items":{"$ref":"#/components/schemas/CsvMetricEntryDto"},"maxItems":200,"type":"array"}},"required":["entries"],"type":"object"},"ImportFormat":{"description":"Format of the import data","enum":["json","csv"],"type":"string"},"ImportManualDto":{"properties":{"comments":{"default":0,"type":"number"},"externalPostId":{"description":"External post ID (provide this OR postId)","type":"string"},"likes":{"default":0,"type":"number"},"notes":{"type":"string"},"platform":{"description":"Platform","enum":["youtube","instagram","tiktok","facebook","google_ads","google_search_console","twitter","x_ads","linkedin","pinterest","reddit","discord","telegram","twitch","medium","threads","fanvue","slack","wordpress","snapchat","whatsapp","mastodon","ghost","shopify","beehiiv","unipile","devto","product_hunt","hacker_news","restream"],"type":"string"},"postId":{"description":"Post ID (provide this OR externalPostId)","type":"string"},"revenue":{"default":0,"type":"number"},"saves":{"default":0,"type":"number"},"shares":{"default":0,"type":"number"},"views":{"default":0,"type":"number"}},"required":["platform"],"type":"object"},"ImportSkillPackageDto":{"properties":{"expectedPackageChecksum":{"type":"string"},"package":{"oneOf":[{"$ref":"#/components/schemas/ImportSkillPackageFilesDto"},{"$ref":"#/components/schemas/ImportSkillPackageZipDto"}]},"slug":{"maxLength":160,"type":"string"},"sourceUrl":{"maxLength":2000,"type":"string"}},"required":["slug","package"],"type":"object"},"ImportSkillPackageFileDto":{"properties":{"content":{"maxLength":128000,"type":"string"},"path":{"maxLength":65535,"type":"string"}},"required":["path","content"],"type":"object"},"ImportSkillPackageFilesDto":{"properties":{"files":{"items":{"$ref":"#/components/schemas/ImportSkillPackageFileDto"},"maxItems":128,"type":"array"},"format":{"enum":["files"],"type":"string"}},"required":["format","files"],"type":"object"},"ImportSkillPackageZipDto":{"properties":{"archiveBase64":{"maxLength":1333336,"type":"string"},"format":{"enum":["zip"],"type":"string"}},"required":["format","archiveBase64"],"type":"object"},"ImportSocialPostDto":{"properties":{"url":{"description":"Public X, Instagram, or TikTok post URL to import","maxLength":512,"type":"string"}},"required":["url"],"type":"object"},"ImportVoicesDto":{"properties":{"providers":{"description":"Providers to import into the catalog. Defaults to ElevenLabs and HeyGen.","items":{"$ref":"#/components/schemas/VoiceProvider"},"type":"array"}},"type":"object"},"ImportWorkflowDto":{"properties":{"format":{"description":"Source format hint: \"core\" or \"cloud\". Auto-detected if omitted.","enum":["core","cloud"],"type":"string"},"name":{"description":"Workflow name (overrides the name in the JSON if provided)","type":"string"},"workflow":{"description":"Workflow JSON in core or cloud format","type":"object"}},"required":["workflow"],"type":"object"},"IngredientCategory":{"enum":["IMAGE","VIDEO","MUSIC","GIF","AVATAR","AUDIO","IMAGE_EDIT","VIDEO_EDIT","VOICE","INGREDIENT","TEXT","SOURCE"],"type":"string"},"IngredientFormat":{"description":"Video format/aspect ratio","enum":["landscape","portrait","square"],"type":"string"},"IngredientOrigin":{"enum":["UPLOADED","GENERATED","IMPORTED","UNKNOWN"],"type":"string"},"IngredientStatus":{"enum":["DRAFT","PROCESSING","UPLOADED","GENERATED","VALIDATED","FAILED","ARCHIVED","REJECTED"],"type":"string"},"InspectAgentAuthClaimDto":{"properties":{},"type":"object"},"InspectCharacterImageDto":{"properties":{"assetId":{"description":"Image asset to inspect in the current brand","type":"string"}},"required":["assetId"],"type":"object"},"IntegrationPlatform":{"enum":["TELEGRAM","SLACK","DISCORD","UNIPILE","RESTREAM"],"type":"string"},"InterpolationMergeSettingsDto":{"properties":{"isCaptionsEnabled":{"default":false,"type":"boolean"},"isMuteVideoAudio":{"type":"boolean"},"music":{"description":"Music ingredient id","type":"string"},"musicVolume":{"description":"Background music volume (0-100)","maximum":100,"minimum":0,"type":"number"},"transition":{"allOf":[{"$ref":"#/components/schemas/VideoTransition"}]},"transitionDuration":{"description":"Transition duration in seconds","maximum":2,"minimum":0.1,"type":"number"}},"type":"object"},"InterpolationPairDto":{"properties":{"endImageId":{"description":"The ID of the end frame image","example":"507f1f77bcf86cd799439012","type":"string"},"prompt":{"description":"Optional prompt to guide the interpolation","example":"smooth camera dolly forward","type":"string"},"startImageId":{"description":"The ID of the start frame image","example":"507f1f77bcf86cd799439011","type":"string"}},"required":["startImageId","endImageId"],"type":"object"},"InviteMemberDto":{"properties":{"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"roleId":{"type":"string"}},"required":["email"],"type":"object"},"JsonApiError":{"properties":{"code":{"type":"string"},"detail":{"type":"string"},"source":{"$ref":"#/components/schemas/JsonApiErrorSource"},"status":{"type":"string"},"title":{"type":"string"}},"required":["code","title","detail"],"type":"object"},"JsonApiErrorDocument":{"properties":{"errors":{"items":{"$ref":"#/components/schemas/JsonApiError"},"type":"array"}},"required":["errors"],"type":"object"},"JsonApiErrorSource":{"properties":{"parameter":{"type":"string"},"pointer":{"type":"string"}},"type":"object"},"KlingAIWebhookPayloadDto":{"properties":{"custom_id":{"description":"Correlation id sent on the job","type":"string"},"task_error":{"description":"Task failure detail","type":"object"},"task_id":{"description":"KlingAI task id","type":"string"},"task_result":{"description":"Task result tree","type":"object"},"task_status":{"description":"Task lifecycle status","type":"string"}},"type":"object"},"KnowledgeEligibilityDto":{"properties":{"state":{"allOf":[{"$ref":"#/components/schemas/KnowledgeRetrievalState"}]}},"required":["state"],"type":"object"},"KnowledgeLegalHoldDto":{"properties":{"isLegalHold":{"type":"boolean"}},"required":["isLegalHold"],"type":"object"},"KnowledgeMemoryScope":{"enum":["personal","brand","org"],"type":"string"},"KnowledgeProcessingDto":{"properties":{"state":{"allOf":[{"$ref":"#/components/schemas/KnowledgeProcessingState"}]}},"required":["state"],"type":"object"},"KnowledgeProcessingState":{"enum":["QUEUED","PROCESSING","READY","FAILED"],"type":"string"},"KnowledgePurgeScheduleDto":{"properties":{"purgeScheduledAt":{"type":"string"}},"required":["purgeScheduledAt"],"type":"object"},"KnowledgeRefreshPolicyDto":{"properties":{"graceMinutes":{"type":"number"},"intervalMinutes":{"type":"number"},"isEnabled":{"type":"boolean"}},"required":["isEnabled"],"type":"object"},"KnowledgeRetentionPolicy":{"enum":["KEEP","UNTIL_EXPIRY"],"type":"string"},"KnowledgeRetrievalState":{"enum":["ACTIVE","STALE","CONTRADICTED","SUPERSEDED","QUARANTINED","EXPIRED"],"type":"string"},"KnowledgeScopeDto":{"properties":{"scope":{"allOf":[{"$ref":"#/components/schemas/KnowledgeMemoryScope"}]}},"required":["scope"],"type":"object"},"KnowledgeSelectionDto":{"properties":{"purposes":{"items":{"$ref":"#/components/schemas/KnowledgeSourcePurpose"},"type":"array"},"sourceIds":{"items":{"type":"string"},"type":"array"},"spaceIds":{"items":{"type":"string"},"type":"array"}},"type":"object"},"KnowledgeSourceKind":{"enum":["TEXT","URL","FILE","DOCUMENT","VIDEO","AUDIO","RSS"],"type":"string"},"KnowledgeSourcePurpose":{"enum":["BRAND_TRUTH","INSPIRATION","RESEARCH"],"type":"string"},"KnowledgeVerificationDto":{"properties":{"expiresAt":{"type":"string"},"verifiedAt":{"type":"string"}},"required":["verifiedAt"],"type":"object"},"LeaderboardSort":{"enum":["engagement","views","posts"],"type":"string"},"LearningConsentDto":{"properties":{},"type":"object"},"LearningControlDto":{"properties":{},"type":"object"},"LearningDatasetDto":{"properties":{},"type":"object"},"LearningEligibilityDto":{"properties":{},"type":"object"},"LearningMutationDto":{"properties":{},"type":"object"},"LearningReceivingDto":{"properties":{},"type":"object"},"LearningReleaseControlDto":{"properties":{},"type":"object"},"LearningReleaseDto":{"properties":{},"type":"object"},"LearningRunControlDto":{"properties":{},"type":"object"},"LearningRunDto":{"properties":{},"type":"object"},"LeonardoAIWebhookPayloadDto":{"properties":{"customId":{"description":"Correlation id sent on the generation","type":"string"},"data":{"description":"Event envelope","type":"object"},"generationId":{"description":"Generation id","type":"string"},"images":{"description":"Generated images","items":{"type":"string"},"type":"array"},"status":{"description":"Generation lifecycle status","type":"string"},"type":{"description":"Leonardo.AI event type","type":"string"}},"type":"object"},"LibraryShelf":{"enum":["references","generating","unsorted","needs-review","approved","rejected","failed","archived"],"type":"string"},"LinkCategory":{"description":"The type/category of the link","enum":["FACEBOOK","INSTAGRAM","LINKEDIN","OTHER","TIKTOK","TWITTER","WEBSITE","YOUTUBE"],"type":"string"},"LinkOrganizationDto":{"properties":{"organizationId":{"description":"Organization to attach to the billing account","type":"string"}},"required":["organizationId"],"type":"object"},"LinkedEntityDto":{"properties":{"entityId":{"description":"Entity ID reference","type":"string"},"entityModel":{"allOf":[{"$ref":"#/components/schemas/TaskLinkedEntityModel"}],"description":"Entity model name"}},"required":["entityId","entityModel"],"type":"object"},"LivestreamPlatform":{"description":"Platform that should receive the one-off message","enum":["twitch","youtube"],"type":"string"},"ManagedInferenceOperation":{"enum":["image","video"],"type":"string"},"ManagedInferenceProvider":{"enum":["fal","genfeedai","leonardoai","replicate"],"type":"string"},"ManagedInferenceRequestDto":{"properties":{"credits":{"default":1,"description":"Credits to debit before running the inference request","type":"number"},"input":{"description":"Provider input payload","type":"object"},"model":{"description":"Provider model identifier","type":"string"},"operation":{"allOf":[{"$ref":"#/components/schemas/ManagedInferenceOperation"}]},"provider":{"allOf":[{"$ref":"#/components/schemas/ManagedInferenceProvider"}]}},"required":["provider","operation","model","input"],"type":"object"},"ManualAccountHealthOverrideDto":{"properties":{"confirm":{"description":"Must be true to confirm that the account-health hold is being manually overridden.","type":"boolean"},"expiresAt":{"description":"Optional override expiry. Open-ended overrides are allowed.","type":"string"},"reason":{"description":"Operator-visible reason for overriding the warmup publishing hold.","type":"string"}},"required":["confirm","reason"],"type":"object"},"ManualBrandKitDto":{"properties":{},"type":"object"},"ManualInputDto":{"properties":{"brandId":{"description":"Brand ID","type":"string"},"entries":{"description":"Array of metric entries","items":{"$ref":"#/components/schemas/ManualMetricEntryDto"},"maxItems":50,"type":"array"}},"required":["brandId","entries"],"type":"object"},"ManualMetricEntryDto":{"properties":{"clicks":{"default":0,"type":"number"},"comments":{"default":0,"type":"number"},"contentType":{"description":"Content type","enum":["caption","video","image","article","script"],"type":"string"},"externalPostId":{"type":"string"},"generationId":{"type":"string"},"likes":{"default":0,"type":"number"},"measuredAt":{"type":"string"},"platform":{"description":"Platform","enum":["youtube","instagram","tiktok","facebook","google_ads","google_search_console","twitter","x_ads","linkedin","pinterest","reddit","discord","telegram","twitch","medium","threads","fanvue","slack","wordpress","snapchat","whatsapp","mastodon","ghost","shopify","beehiiv","unipile","devto","product_hunt","hacker_news","restream"],"type":"string"},"postId":{"type":"string"},"revenue":{"default":0,"type":"number"},"saves":{"default":0,"type":"number"},"shares":{"default":0,"type":"number"},"views":{"default":0,"type":"number"}},"required":["platform","contentType","measuredAt"],"type":"object"},"ManualReviewTurboRunItemDto":{"properties":{"caption":{"description":"Initial caption or review note","type":"string"},"contentRunId":{"description":"Originating content run identifier for publish attribution","type":"string"},"creativeVersion":{"description":"Creative version label used for the publish experiment","type":"string"},"engagementAction":{"description":"Quote/repost/reply distinction for an engagement item","type":"string"},"format":{"allOf":[{"$ref":"#/components/schemas/ReviewTurboRunItemFormat"}],"description":"Content format for the review item"},"gateOverallScore":{"description":"Overall publish gate score used for review handoff","type":"number"},"gateReasons":{"description":"Publish gate reasons carried into the publishing inbox","items":{"type":"string"},"type":"array"},"hookVersion":{"description":"Hook version label used for the publish experiment","type":"string"},"ingredientId":{"description":"Ingredient ID to attach to the draft post","type":"string"},"label":{"description":"Display title for the linked draft post","type":"string"},"mediaUrl":{"description":"Optional media URL for review preview","type":"string"},"opportunitySourceType":{"description":"Autopilot source type that originated the review item","enum":["trend","event","evergreen"],"type":"string"},"opportunityTopic":{"description":"Opportunity topic that produced the review item","type":"string"},"platform":{"description":"Target platform context, if known","type":"string"},"postId":{"description":"Existing canonical draft Post to link instead of creating a duplicate","type":"string"},"prompt":{"description":"Prompt used to generate the asset","type":"string"},"publishIntent":{"description":"High-level publish intent such as test, campaign, or evergreen","type":"string"},"scheduleSlot":{"description":"Named schedule slot used for attribution","type":"string"},"sourceActionId":{"description":"Originating agent action identifier","type":"string"},"sourceWorkflowId":{"description":"Originating workflow identifier","type":"string"},"sourceWorkflowName":{"description":"Originating workflow display name","type":"string"},"targetAuthor":{"description":"Author of the post an engagement reply answers","type":"string"},"targetIdempotencyKey":{"description":"Durable key preventing duplicate canonical draft Posts","type":"string"},"targetPostContent":{"description":"Content of the post an engagement reply answers","type":"string"},"targetPostId":{"description":"External (platform-native) ID of the post an engagement reply answers","type":"string"},"targetPostUrl":{"description":"URL of the post an engagement reply answers","type":"string"},"type":{"description":"Distinguishes an engagement-reply item from a generated content item","enum":["content","engagement"],"type":"string"},"variantId":{"description":"Originating variant identifier inside the content run","type":"string"},"workflowExecutionId":{"description":"Originating workflow execution identifier","type":"string"}},"required":["format"],"type":"object"},"MarginInputMode":{"description":"How the two margin multipliers above are typed and read in /admin: a markup percent on provider cost, or a margin percent on sell price. Never changes what is stored or billed.","enum":["MARGIN","MARKUP"],"type":"string"},"McpApprovalStatus":{"enum":["PENDING","APPROVED","DECLINED"],"type":"string"},"MetadataExtension":{"enum":["JPEG","JPG","PNG","GIF","WEBP","MP4","WEBM","MOV","AVI","MP3","WAV"],"type":"string"},"ModelCategory":{"enum":["text","embedding","image","image-edit","image-upscale","video","video-edit","video-upscale","music","voice","avatar"],"type":"string"},"ModelKey":{"description":"The default model to use for video generation","enum":["replicate/fast-flux-trainer","google/imagen-3","google/imagen-3-fast","google/imagen-4","google/imagen-4-fast","google/imagen-4-ultra","google/nano-banana","google/nano-banana-pro","google/nano-banana-2","google/nano-banana-2.1","google/nano-banana-2-lite","google/veo-2","google/veo-3","google/veo-3-fast","google/veo-3.1","google/veo-3.1-fast","google/veo-3.1-lite","ideogram-ai/ideogram-character","ideogram-ai/ideogram-4-5","ideogram-ai/ideogram-v3-balanced","ideogram-ai/ideogram-v3-quality","ideogram-ai/ideogram-v3-turbo","openai/clip","openai/gpt-5.2","openai/gpt-image-1.5","openai/gpt-image-2","openai/gpt-image-2.5-flare","openai/gpt-image-2.5-sunburst","openai/sora-2","openai/sora-2-pro","qwen/qwen-image","recraft-ai/recraft-v4","recraft-ai/recraft-v4-pro","runwayml/gen4-image-turbo","runwayml/gen-4.5","bytedance/seedream-4","bytedance/seedream-4.5","bytedance/seedance-2.0","bytedance/seedance-2.0-fast","bytedance/seedance-2.5","bytedance/seedream-5-lite","bytedance/seedream-5-pro","bytedance/video-upscaler","black-forest-labs/flux-1.1-pro","black-forest-labs/flux-3-image","black-forest-labs/flux-3-image-edit","black-forest-labs/flux-2-dev","black-forest-labs/flux-2-flex","black-forest-labs/flux-2-klein-4b","black-forest-labs/flux-2-pro","black-forest-labs/flux-kontext-pro","black-forest-labs/flux-kontext-max","black-forest-labs/flux-2-max","black-forest-labs/flux-schnell","luma/reframe-image","luma/reframe-video","sync/lipsync-2","sync/lipsync-2-pro","topazlabs/image-upscale","topazlabs/video-upscale","kwaivgi/kling-v1.6-pro","kwaivgi/kling-v2.1","kwaivgi/kling-v2.1-master","kwaivgi/kling-v2.5-turbo-pro","kwaivgi/kling-v2.6","kwaivgi/kling-o1","kwaivgi/kling-v3-video","kwaivgi/kling-v3-omni-video","kwaivgi/kling-avatar-v2","prunaai/p-video","xai/grok-imagine-image","xai/grok-imagine-video","minimax/h3","minimax/hailuo-2.3","minimax/hailuo-2.3-fast","pixverse/pixverse-v6","vidu/q3-pro","vidu/q3-turbo","wan-video/wan-2.2-i2v-fast","wan-video/wan-2.7-t2v","meta/musicgen","fal-ai/elevenlabs/music","fal-ai/lyria3/pro","mureka/v9","argil/atom","heygen/avatar","heygen/avatar-iv","heygen/avatar-v","heygen/heygen-video-1","heygen/heygen-voice-1","elevenlabs/eleven_v4","elevenlabs/eleven_multilingual_v2","elevenlabs/eleven_flash_v2_5","deepseek-ai/deepseek-r1","anthropic/claude-4.5-sonnet","google/gemini-2.5-flash","google/gemini-3-pro","meta/meta-llama-3.1-405b-instruct","x-ai/grok-4-fast","x-ai/grok-4","x-ai/grok-4.1-fast","x-ai/grok-4.3","google/gemini-3.8-flash","baai/bge-large-en-v1.5","klingai-v2","leonardoai","runwayml","sdxl","higgsfield-ai/soul/v2/standard","higgsfield-ai/dop/lite","higgsfield-ai/dop/turbo","higgsfield-ai/dop/standard","higgsfield/genjutsu/motion-transfer/v1.0","fal-ai/flux/dev","fal-ai/flux/schnell","fal-ai/flux-pro","fal-ai/kling-video","fal-ai/luma-dream-machine","fal-ai/runway-gen3","fal-ai/nano-banana-2","fal-ai/flux-2-pro","fal-ai/recraft/v4/pro","fal-ai/gpt-image-2","fal-ai/kling-video/v3/pro","fal-ai/veo3.1","fal-ai/pixverse/v6","fal-ai/seedance-2.0","fal/google/gemini-omni-flash","fal/minimax/h3-max/text-to-video","fal/minimax/h3-max/director","fal-ai/stable-video-diffusion","fal-ai/eleven-labs-tts","fal-ai/face-swap","fal-ai/clarity-upscaler","fal-ai/topaz/upscale/image","fal-ai/topaz/upscale/video","genfeed-ai/flux-dev","genfeed-ai/flux-dev-pulid","genfeed-ai/z-image-turbo","genfeed-ai/flux2-dev","genfeed-ai/flux2-dev-pulid","genfeed-ai/flux2-dev-pulid-lora","genfeed-ai/flux2-dev-pulid-upscale","genfeed-ai/flux2-klein","genfeed-ai/z-image-turbo-lora"],"type":"string"},"ModelLifecycle":{"description":"Operator-controlled model lifecycle","enum":["RECOMMENDED","AVAILABLE","LEGACY","RETIRED"],"type":"string"},"ModelProvider":{"description":"The provider/service that hosts this model","enum":["replicate","fal","crun","openrouter","genfeed-ai","mureka","heygen","elevenlabs","higgsfield","google","xai","bfl","runway","openai"],"type":"string"},"MoodBoardLayoutItemDto":{"properties":{"assetId":{"description":"Asset ID placed on the board","type":"string"},"position":{"allOf":[{"$ref":"#/components/schemas/MoodBoardLayoutItemPositionDto"}],"description":"Position of the asset on the canvas"},"width":{"description":"Width of the asset tile","type":"number"},"z":{"description":"Z-index layer for stacking","type":"number"}},"required":["assetId","position"],"type":"object"},"MoodBoardLayoutItemPositionDto":{"properties":{"x":{"description":"X coordinate on canvas","type":"number"},"y":{"description":"Y coordinate on canvas","type":"number"}},"required":["x","y"],"type":"object"},"MoveCharacterOwnershipDto":{"properties":{"brandId":{"description":"Brand that becomes the owning brand; it must be one of the brands the character is available to","type":"string"}},"required":["brandId"],"type":"object"},"NewsletterSourceRefDto":{"properties":{"label":{"description":"Human-readable source label","type":"string"},"note":{"description":"Optional source note","type":"string"},"sourceType":{"description":"Source category","enum":["url","manual","context","newsletter"],"type":"string"},"url":{"description":"Source URL","type":"string"}},"required":["label","sourceType"],"type":"object"},"OAuthAuthorizeDecisionDto":{"properties":{},"type":"object"},"OAuthRevokeTokenDto":{"properties":{},"type":"object"},"OAuthTokenExchangeDto":{"properties":{},"type":"object"},"OnboardingDraftContextDto":{"properties":{"audience":{"description":"Who the posts are for","type":"string"},"goals":{"description":"What the posts should work toward","items":{"type":"string"},"type":"array"},"offer":{"description":"What the brand sells or offers","type":"string"},"tone":{"enum":["keep","casual","professional"],"type":"string"}},"type":"object"},"OnboardingDraftsDto":{"properties":{"context":{"allOf":[{"$ref":"#/components/schemas/OnboardingDraftContextDto"}],"description":"Brand context from the \"doesn't look right\" round. Saved on the brand and applied to the new drafts."},"previousRequestKey":{"description":"Request key of the X draft being replaced, so the new draft is linked to it","type":"string"}},"type":"object"},"OnboardingJourneyMissionStateDto":{"properties":{"completedAt":{"format":"date-time","nullable":true,"type":"string"},"id":{"enum":["complete_company_info","generate_first_image","connect_social_account","generate_first_video","publish_first_post"],"type":"string"},"isCompleted":{"type":"boolean"},"rewardClaimed":{"type":"boolean"},"rewardCredits":{"type":"number"}},"required":["id","isCompleted","rewardClaimed","rewardCredits"],"type":"object"},"OnboardingScanDto":{"properties":{"url":{"description":"A public link about the brand: website, profile or link page","example":"https://example.com","type":"string"}},"required":["url"],"type":"object"},"OpenAssistedReplyDto":{"properties":{"replyText":{"description":"Edited reply text; the saved draft is used when omitted","maxLength":280,"type":"string"}},"type":"object"},"OpportunitySourcesDto":{"properties":{"eventTriggersEnabled":{"description":"Enable event-based triggers","type":"boolean"},"evergreenCadenceEnabled":{"description":"Enable evergreen cadence opportunities","type":"boolean"},"trendWatchersEnabled":{"description":"Enable trend watcher inputs","type":"boolean"}},"type":"object"},"OptimizeContentDto":{"properties":{},"type":"object"},"OptimizePromptDto":{"properties":{},"type":"object"},"OpusProWebhookPayloadDto":{"properties":{"callback_id":{"description":"Correlation id sent on the job","type":"string"},"error":{"description":"Failure detail","type":"string"},"status":{"description":"Clip lifecycle status","type":"string"},"videoUrl":{"description":"Rendered clip URL, camelCase","type":"string"},"video_url":{"description":"Rendered clip URL, snake_case","type":"string"}},"type":"object"},"OutlierAccountDto":{"properties":{"accountId":{"type":"string"},"accountType":{"enum":["credential","social_source"],"type":"string"},"brandId":{"type":"string"}},"required":["brandId","accountType","accountId"],"type":"object"},"OutreachCampaignAiConfigDto":{"properties":{"context":{"description":"Context about your brand/product for AI to use","example":"We are a SaaS startup that helps content creators grow their audience","type":"string"},"ctaLink":{"description":"CTA link to include in replies","example":"https://genfeed.ai","type":"string"},"customInstructions":{"description":"Custom instructions for AI reply generation","example":"Always mention our product name and include a call to action","type":"string"},"length":{"allOf":[{"$ref":"#/components/schemas/ReplyLength"}],"default":"medium","description":"Preferred length of replies"},"templateText":{"description":"Template text to use if not using AI generation","type":"string"},"tone":{"allOf":[{"$ref":"#/components/schemas/ReplyTone"}],"default":"friendly","description":"Tone for AI-generated replies"},"useAiGeneration":{"default":true,"description":"Whether to use AI for reply generation","type":"boolean"}},"type":"object"},"OutreachCampaignDiscoveryConfigDto":{"properties":{"excludeAuthors":{"description":"Authors to exclude from targeting","example":["competitor1","spammer123"],"items":{"type":"string"},"type":"array"},"hashtags":{"description":"Hashtags to monitor","example":["startup","buildinpublic"],"items":{"type":"string"},"type":"array"},"keywords":{"description":"Keywords to search for","example":["startup","saas","tech"],"items":{"type":"string"},"type":"array"},"maxAgeHours":{"default":24,"description":"Maximum age of content in hours","type":"number"},"maxEngagement":{"default":10000,"description":"Maximum engagement (avoid viral content)","type":"number"},"minEngagement":{"default":0,"description":"Minimum engagement (likes + retweets)","type":"number"},"minRelevanceScore":{"default":0.5,"description":"Minimum relevance score (0-1)","type":"number"},"subreddits":{"description":"Subreddits to monitor (Reddit only)","example":["entrepreneur","startups"],"items":{"type":"string"},"type":"array"}},"type":"object"},"OutreachCampaignDmConfigDto":{"properties":{"context":{"description":"Context about what you are selling or promoting","example":"Selling genfeed.ai/skills — AI content creation skills","type":"string"},"ctaLink":{"description":"Link to include in the DM","example":"https://genfeed.ai/skills","type":"string"},"customInstructions":{"description":"Custom instructions for DM generation","type":"string"},"offer":{"description":"The offer to promote","example":"30-Day Content Sprint","type":"string"},"templateText":{"description":"Template text for DMs. Supports {{username}}, {{offer}}, {{cta}}","type":"string"},"useAiGeneration":{"default":true,"description":"Whether to use AI for DM generation","type":"boolean"}},"type":"object"},"OutreachCampaignRateLimitsDto":{"properties":{"delayBetweenRepliesSeconds":{"default":60,"description":"Delay between replies in seconds","type":"number"},"maxPerDay":{"default":50,"description":"Maximum replies per day","type":"number"},"maxPerHour":{"default":10,"description":"Maximum replies per hour","type":"number"}},"type":"object"},"OutreachCampaignScheduleDto":{"properties":{"activeDays":{"default":["Monday","Tuesday","Wednesday","Thursday","Friday"],"description":"Days of the week to run the campaign","items":{"type":"string"},"type":"array"},"activeEndTime":{"default":"21:00","description":"End time for daily activity (HH:mm)","type":"string"},"activeStartTime":{"default":"09:00","description":"Start time for daily activity (HH:mm)","type":"string"},"endAt":{"description":"End date and time for the campaign","format":"date-time","type":"string"},"localDateTime":{"description":"Local wall-clock delivery time as YYYY-MM-DDTHH:mm. Required for Scheduled Blast.","example":"2026-08-25T09:00","type":"string"},"startAt":{"description":"Start date and time for the campaign","format":"date-time","type":"string"},"timezone":{"default":"America/Los_Angeles","description":"Timezone for schedule","type":"string"}},"type":"object"},"ParsePromptDto":{"properties":{"brandId":{"type":"string"},"category":{"allOf":[{"$ref":"#/components/schemas/PromptCategory"}]},"original":{"type":"string"}},"required":["original","category"],"type":"object"},"PatchAgentWorkflowDto":{"properties":{"event":{"enum":["advance","approve","rollback"],"type":"string"},"force":{"description":"Bypass gate checks when advancing","type":"boolean"},"targetPhase":{"description":"Required destination phase for rollback events","enum":["exploring","clarifying","proposing","awaiting_approval","implementing","verifying","complete"],"type":"string"}},"required":["event"],"type":"object"},"PatchStreakDto":{"properties":{},"type":"object"},"PatchWorkflowNodesDto":{"properties":{"lock":{"description":"Node IDs to lock (skip execution, use cached output)","example":["node-1","node-2"],"items":{"type":"string"},"type":"array"},"unlock":{"description":"Node IDs to unlock","example":["node-3"],"items":{"type":"string"},"type":"array"}},"type":"object"},"PatchWorkflowWebhookDto":{"properties":{"rotateSecret":{"description":"Rotate (regenerate) the webhook secret in place","type":"boolean"}},"type":"object"},"PausedMetaCampaignDestinationDto":{"properties":{"adAccountId":{"type":"string"},"credentialId":{"type":"string"}},"required":["adAccountId","credentialId"],"type":"object"},"PerformanceSource":{"enum":["api","manual","webhook","csv"],"type":"string"},"PersonaAvailabilityMode":{"description":"owning brand only (default), all brands of the organization, or selected brands","enum":["OWNING_BRAND","ALL_BRANDS","SELECTED_BRANDS"],"type":"string"},"PersonaContentFormat":{"description":"Preferred content formats","enum":["photo","video","reel","story","article","audio","text"],"type":"string"},"PersonaStatus":{"description":"Persona status","enum":["ACTIVE","INACTIVE","ARCHIVED"],"type":"string"},"Platform":{"enum":["youtube","instagram","tiktok","facebook","google_ads","google_search_console","twitter","x_ads","linkedin","pinterest","reddit","discord","telegram","twitch","medium","threads","fanvue","slack","wordpress","snapchat","whatsapp","mastodon","ghost","shopify","beehiiv","unipile","devto","product_hunt","hacker_news","restream"],"type":"string"},"PostBatchItemDto":{"properties":{"ingredientId":{"description":"Ingredient ID for attached image (optional)","type":"string"},"postId":{"description":"Post ID to schedule","type":"string"},"scheduledDate":{"description":"Scheduled date and time for the tweet (ISO 8601)","example":"2025-11-27T14:30:00Z","type":"string"},"text":{"description":"Tweet text content","example":"This is a sample tweet","type":"string"},"timezone":{"description":"IANA timezone string for the scheduled date","example":"America/New_York","type":"string"}},"required":["postId","text","scheduledDate"],"type":"object"},"PostCategory":{"description":"Type of media being published (image or video) - automatically derived from ingredient if not provided","enum":["ARTICLE","VIDEO","POST","REEL","STORY","IMAGE","TEXT"],"type":"string"},"PostFormat":{"enum":["standard","long-form","thread"],"type":"string"},"PostFrequency":{"description":"How often the post should repeat","enum":["daily","weekly","monthly","yearly","never"],"type":"string"},"PostRepurposeMode":{"description":"deterministic adapts the caption through the channel capability catalog instantly; agent rewrites it with the content engine and routes the result through the review queue","enum":["agent","deterministic"],"type":"string"},"PostVisibility":{"description":"Audience visibility, independent from publish lifecycle","enum":["public","private","unlisted"],"type":"string"},"PostsBatchDto":{"properties":{"credentialId":{"description":"Credential ID (Twitter account) to use for publishing","type":"string"},"items":{"description":"Per-item batch of posts to update (updates existing DRAFT posts to SCHEDULED, max 50)","items":{"$ref":"#/components/schemas/PostBatchItemDto"},"maxItems":50,"type":"array"}},"required":["items","credentialId"],"type":"object"},"PredictViralDto":{"properties":{},"type":"object"},"PrepareCampaignActivationDto":{"properties":{"adAccountId":{"description":"Provider ads account id","type":"string"},"credentialId":{"type":"string"},"idempotencyKey":{"type":"string"},"platform":{"description":"Ads gateway platform: meta, google, tiktok, x","type":"string"},"postIds":{"items":{"type":"string"},"type":"array"},"targeting":{"type":"object"}},"required":["credentialId","adAccountId","platform"],"type":"object"},"PrepareClipUploadDto":{"properties":{"avatarId":{"type":"string"},"avatarProvider":{"default":"heygen","enum":["heygen","argil","genfeedai"],"type":"string"},"brandId":{"type":"string"},"contentType":{"example":"video/mp4","type":"string"},"draftProjectId":{"description":"Draft project to start in place instead of creating a new one","type":"string"},"filename":{"description":"Original local filename","type":"string"},"flow":{"allOf":[{"$ref":"#/components/schemas/ClipProcessingFlow"}],"default":"quick"},"language":{"default":"en","type":"string"},"maxClips":{"default":10,"type":"number"},"minViralityScore":{"default":50,"type":"number"},"mode":{"allOf":[{"$ref":"#/components/schemas/ClipResultMode"}],"default":"avatar"},"name":{"type":"string"},"sizeBytes":{"maximum":10737418240,"minimum":1,"type":"number"},"voiceId":{"type":"string"}},"required":["filename","contentType","sizeBytes"],"type":"object"},"PrepareMediaPreviewsDto":{"properties":{},"type":"object"},"PreparePausedMetaCampaignDraftDto":{"properties":{"destination":{"$ref":"#/components/schemas/PausedMetaCampaignDestinationDto"},"sourceTweetId":{"description":"X Ads only: id of an existing tweet to promote. Required when the run targets X.","type":"string"},"variantId":{"type":"string"}},"required":["destination"],"type":"object"},"PreparePublicMediaDto":{"properties":{},"type":"object"},"PrepareWarmupAccountDto":{"properties":{},"type":"object"},"PresignedUploadDto":{"properties":{"category":{"allOf":[{"$ref":"#/components/schemas/IngredientCategory"}],"default":"IMAGE"},"contentType":{"example":"image/png","type":"string"},"filename":{"description":"Original filename","type":"string"},"sizeBytes":{"description":"Exact size of the file in bytes. It is checked against the category limit and signed into the upload URL.","minimum":1,"type":"number"}},"required":["filename","contentType","sizeBytes"],"type":"object"},"PromoteWinnersDto":{"properties":{"brandId":{"description":"Brand to promote winners for","type":"string"},"limit":{"description":"Max winners to promote (default 5, max 20)","maximum":20,"minimum":1,"type":"number"},"platform":{"description":"Optional platform filter (product lowercase id)","type":"string"}},"required":["brandId"],"type":"object"},"PromptCategory":{"enum":["BRAND_DESCRIPTION","STORYBOARD_SCRIPT_DESCRIPTION","PRESET_DESCRIPTION_TEXT","PRESET_DESCRIPTION_IMAGE","PRESET_DESCRIPTION_VIDEO","PRESET_DESCRIPTION_MUSIC","POST_CONTENT_TWITTER","POST_CONTENT_YOUTUBE","POST_CONTENT_TIKTOK","POST_CONTENT_INSTAGRAM","POST_TITLE_TWITTER","POST_TITLE_YOUTUBE","POST_TITLE_TIKTOK","POST_TITLE_INSTAGRAM","MODELS_PROMPT_IMAGE","MODELS_PROMPT_VIDEO","MODELS_PROMPT_MUSIC","MODELS_PROMPT_TRAINING","ARTICLE"],"type":"string"},"PromptStatus":{"enum":["DRAFT","PROCESSING","GENERATED","FAILED"],"type":"string"},"PublishBrandOsDto":{"properties":{},"type":"object"},"PublishPolicyDto":{"properties":{"autoPublishEnabled":{"description":"Allow auto-publish gating","type":"boolean"},"minImageScore":{"description":"Minimum image score","type":"number"},"minPostScore":{"description":"Minimum post score","type":"number"}},"type":"object"},"PublishSkillDto":{"properties":{"audience":{"enum":["organization","public"],"type":"string"}},"required":["audience"],"type":"object"},"PublishStatus":{"enum":["scheduled","publishing","published","failed","cancelled"],"type":"string"},"PushDesktopAssetsDto":{"properties":{},"type":"object"},"PushDesktopSyncOpsDto":{"properties":{},"type":"object"},"PushDesktopThreadsDto":{"properties":{},"type":"object"},"QueryContextDto":{"properties":{"contextBaseId":{"description":"Context base ID to search within","type":"string"},"limit":{"default":10,"description":"Maximum number of results to return (1-20)","maximum":20,"minimum":1,"type":"number"},"minRelevance":{"default":0.7,"description":"Minimum similarity score threshold (0.0 - 1.0)","maximum":1,"minimum":0,"type":"number"},"query":{"description":"Search query to find relevant context","type":"string"}},"required":["query","contextBaseId"],"type":"object"},"QuoteBrandRemixGenerationDto":{"properties":{},"type":"object"},"QuoteBrandRemixScenesDto":{"properties":{},"type":"object"},"QuoteStoryboardStillsDto":{"properties":{"expectedRevision":{"minimum":1,"type":"number"},"shotIds":{"items":{"type":"string"},"maxItems":12,"minItems":1,"type":"array"}},"required":["expectedRevision"],"type":"object"},"QuoteTurboProjectDto":{"properties":{"itemIds":{"description":"The failed idea to price for a retry (one at a time: each retry accepts its own quote); omit to price every pending idea","items":{"type":"string"},"type":"array"}},"type":"object"},"QuoteVisualProjectDto":{"properties":{},"type":"object"},"RankingPolicyDto":{"properties":{"costEfficiencyWeight":{"description":"Cost efficiency score weight","type":"number"},"expectedTrafficWeight":{"description":"Expected traffic score weight","type":"number"},"freshnessWeight":{"description":"Freshness score weight","type":"number"},"historicalConfidenceWeight":{"description":"Historical confidence score weight","type":"number"},"relevanceWeight":{"description":"Relevance score weight","type":"number"}},"type":"object"},"RecaptureImportedSourceDto":{"properties":{},"type":"object"},"RecordEvaluationReviewDto":{"properties":{"comment":{"description":"Human reviewer comment","maxLength":2000,"type":"string"},"decision":{"description":"Human review decision","enum":["approved","needs_changes","rejected","neutral"],"type":"string"},"reviewerScore":{"description":"Human reviewer score from 0 to 100","maximum":100,"minimum":0,"type":"number"},"tags":{"description":"Reviewer-provided tags","items":{"type":"string"},"maxItems":20,"type":"array"}},"type":"object"},"ReferenceImageCategory":{"enum":["FACE","PRODUCT","STYLE","LOGO"],"type":"string"},"RefreshSocialTimelineDto":{"properties":{"credentialId":{"type":"string"}},"type":"object"},"RegisterAgentAuthDto":{"properties":{"assertion":{"example":"user@example.com","type":"string"},"assertion_type":{"enum":["verified_email"],"type":"string"},"login_hint":{"example":"user@example.com","type":"string"},"requested_credential_type":{"enum":["api_key"],"type":"string"},"requested_scopes":{"items":{"enum":["videos:read","videos:create","images:read","images:create","prompts:read","prompts:create","articles:read","articles:create","posts:draft","videos:update","videos:delete","images:update","images:delete","prompts:update","prompts:delete","brands:read","credits:read","posts:schedule","posts:approve","posts:publish","analytics:read"],"type":"string"},"type":"array"},"type":{"enum":["identity_assertion","service_auth"],"type":"string"}},"required":["type","requested_credential_type"],"type":"object"},"RegisterOAuthClientDto":{"properties":{},"type":"object"},"ReleaseStatus":{"enum":["draft","scheduled","paused","cancelled","publishing","published","failed","partially-published"],"type":"string"},"ReleaseTargetSource":{"enum":["manual","workflow","agent","rss"],"type":"string"},"ReleaseTaskDto":{"properties":{"agentId":{"description":"Agent holding the task lease","type":"string"}},"required":["agentId"],"type":"object"},"RenderRemotionCompositionDto":{"properties":{},"type":"object"},"ReorderFeaturedWorkflowsDto":{"properties":{"workflowIds":{"description":"Every pinned workflow id in the new Featured order. Must list exactly the current pins; a stale list is refused with 409.","items":{"type":"string"},"maxItems":12,"type":"array"}},"required":["workflowIds"],"type":"object"},"ReplaceCredentialPostingTimesDto":{"properties":{"times":{"items":{"$ref":"#/components/schemas/CredentialPostingTimeDto"},"type":"array"}},"required":["times"],"type":"object"},"ReplaceStoryboardCharacterDto":{"properties":{"imageAssetIds":{"items":{"type":"string"},"maxItems":8,"minItems":1,"type":"array"},"prompt":{"maxLength":1000,"type":"string"}},"required":["imageAssetIds"],"type":"object"},"ReplicateWebhookPayloadDto":{"properties":{"error":{"description":"Prediction error","type":"object"},"id":{"description":"Replicate prediction id","type":"string"},"input":{"description":"Prediction input","type":"object"},"model":{"description":"Model key, `owner/name`","type":"object"},"output":{"description":"Prediction output","type":"object"},"status":{"description":"Prediction lifecycle status","type":"string"},"version":{"description":"Trained model version","type":"object"}},"required":["id","status"],"type":"object"},"ReplyBotType":{"enum":["reply_guy","account_monitor","comment_responder"],"type":"string"},"ReplyLength":{"description":"The desired length of the reply","enum":["short","medium","long"],"type":"string"},"ReplyTone":{"description":"The tone of the reply","enum":["professional","casual","friendly","humorous","informative","supportive","engaging"],"type":"string"},"ReportingPolicyDto":{"properties":{"dailyDigestEnabled":{"description":"Enable daily digest reporting","type":"boolean"},"reportRecipientUserIds":{"description":"Optional report recipient user IDs","items":{"type":"string"},"type":"array"},"weeklySummaryEnabled":{"description":"Enable weekly summary reporting","type":"boolean"}},"type":"object"},"RepurposePostDto":{"properties":{"credentialId":{"description":"Optional connected credential for the target channel; resolved at scheduling time when omitted","type":"string"},"mode":{"allOf":[{"$ref":"#/components/schemas/PostRepurposeMode"}],"description":"deterministic adapts the caption through the channel capability catalog instantly; agent rewrites it with the content engine and routes the result through the review queue"},"platform":{"allOf":[{"$ref":"#/components/schemas/Platform"}],"description":"Target channel the repurposed draft is created for"}},"required":["platform","mode"],"type":"object"},"RequestDesktopAssetUploadDto":{"properties":{},"type":"object"},"ResetStoryboardPlanDto":{"properties":{"expectedRevision":{"minimum":1,"type":"number"}},"required":["expectedRevision"],"type":"object"},"ResolveAgentReportReviewDto":{"properties":{},"type":"object"},"ResolveMcpApprovalDto":{"properties":{"decision":{"description":"Decision on the approval request","enum":["approve","decline"],"type":"string"},"result":{"additionalProperties":true,"description":"Optional result payload for approved actions","type":"object"}},"required":["decision"],"type":"object"},"RestoreCampaignDto":{"properties":{"status":{"allOf":[{"$ref":"#/components/schemas/ContentCampaignStatus"}],"description":"Status to restore into; defaults to draft"}},"type":"object"},"RestreamChatActionDto":{"properties":{"action":{"type":"string"},"author":{"additionalProperties":true,"type":"object"},"eventPayload":{"additionalProperties":true,"type":"object"},"payload":{"additionalProperties":true,"type":"object"},"text":{"type":"string"}},"type":"object"},"ResumeExecutionDto":{"properties":{"expectedContextVersion":{"minimum":1,"type":"number"},"respectLocks":{"default":true,"description":"Whether to skip locked nodes","type":"boolean"},"threadId":{"description":"Active agent thread ID","type":"string"}},"type":"object"},"RetryAccountGenerationDto":{"properties":{"requestKey":{"description":"Idempotency key (UUID v4) of this retry. A repeat returns the original attempt without a second charge; a new attempt needs a new key.","type":"string"}},"required":["requestKey"],"type":"object"},"RetryImportedSourceMediaDto":{"properties":{},"type":"object"},"ReviewArticleDto":{"properties":{},"type":"object"},"ReviewFirstSystemItemDto":{"properties":{"action":{"description":"approve runs the item into the review queue, edit updates its topic or prompt, reject skips it.","enum":["approve","edit","reject"],"type":"string"},"prompt":{"description":"Edited generation prompt for the item.","type":"string"},"topic":{"description":"Edited topic for the item.","type":"string"}},"required":["action"],"type":"object"},"ReviewInboxDecisionDto":{"properties":{"decision":{"enum":["approve","reject"],"type":"string"},"itemId":{"description":"Review inbox item id, as listed by GET /review-inbox","example":"workflow_review_gate:exec-1:review-gate-1","type":"string"},"reason":{"description":"Reviewer feedback recorded with a rejection","type":"string"}},"required":["itemId","decision"],"type":"object"},"ReviewListeningThemeDto":{"properties":{"state":{"enum":["acknowledged","deferred"],"type":"string"}},"required":["state"],"type":"object"},"ReviewTurboProjectItemsDto":{"properties":{"decision":{"enum":["approved","rejected"],"type":"string"},"itemIds":{"items":{"type":"string"},"type":"array"}},"required":["itemIds","decision"],"type":"object"},"ReviewTurboRunItemFormat":{"description":"Content format for the review item","enum":["image","video","carousel","reel","story","article","newsletter","post"],"type":"string"},"ReviseBrandRemixRunDto":{"properties":{"edits":{"type":"object"},"expectedRevision":{"minimum":1,"type":"number"}},"required":["edits","expectedRevision"],"type":"object"},"ReviseVisualProjectDto":{"properties":{},"type":"object"},"RevokeAgentAuthCredentialDto":{"properties":{},"type":"object"},"RewriteHighlightDto":{"properties":{},"type":"object"},"RollbackInstalledSkillDto":{"properties":{"skillSlug":{"description":"Installed Skills Pro slug to roll back","type":"string"},"versionId":{"description":"Captured version to restore. Omit to restore the previous one.","type":"string"}},"required":["skillSlug"],"type":"object"},"RollbackSkillDto":{"properties":{"versionId":{"type":"string"}},"required":["versionId"],"type":"object"},"RouteSignalDto":{"properties":{},"type":"object"},"RouterPriority":{"description":"Optimization priority for model selection","enum":["quality","speed","cost","balanced"],"type":"string"},"RunAgentStrategyWorkflowDto":{"properties":{"cta":{"description":"Optional CTA text override.","type":"string"},"inputs":{"additionalProperties":true,"description":"Raw inputValues merged last (exact workflow inputVariable keys).","type":"object"},"prompt":{"description":"Prompt or script override (maps to prompt / script / angle keys).","type":"string"},"referenceImage":{"description":"Optional reference image URL or ingredient id for asset slots.","type":"string"},"topic":{"description":"Primary topic override (maps to topic / titleText / visualAngle keys).","type":"string"},"workflowId":{"description":"Override preferred workflow id for this run only (must belong to org).","type":"string"}},"type":"object"},"SaveImportedSourceDto":{"properties":{},"type":"object"},"SaveTrendPreferencesDto":{"properties":{"autoRequeueWinners":{"description":"Automatically feed winning content-run signals back into trend ingestion (opt-out; defaults to true when unset)","example":true,"type":"boolean"},"brandId":{"description":"Brand ID (optional, for brand-specific preferences)","type":"string"},"categories":{"description":"Categories/Industries of interest","example":["tech","finance","healthcare"],"items":{"type":"string"},"type":"array"},"hashtags":{"description":"Specific hashtags to track","example":["#AI","#TechNews","#Startups"],"items":{"type":"string"},"type":"array"},"keywords":{"description":"Specific keywords/topics to track","example":["AI","cryptocurrency","startups"],"items":{"type":"string"},"type":"array"},"platforms":{"description":"Preferred platforms","example":["twitter","tiktok","youtube"],"items":{"enum":["tiktok","instagram","linkedin","twitter","youtube","reddit","pinterest"],"type":"string"},"type":"array"}},"type":"object"},"ScheduleDailyPostsDto":{"properties":{"organizationId":{"description":"Organization to process","type":"string"}},"required":["organizationId"],"type":"object"},"ScheduleHistoryImportDto":{"properties":{"credentialId":{"description":"The connected account whose existing posts to import","type":"string"}},"required":["credentialId"],"type":"object"},"SchedulePostWatchDto":{"properties":{"brandId":{"type":"string"},"platform":{"default":"twitter","description":"Platform for the watched post (twitter | youtube)","enum":["twitter","youtube"],"type":"string"},"postId":{"description":"Post/video id to watch for 24h","type":"string"},"postPreview":{"type":"string"}},"required":["brandId","postId"],"type":"object"},"ScheduleTurboProjectDto":{"properties":{"captions":{"additionalProperties":true,"description":"Caption per item id","type":"object"},"targets":{"items":{"$ref":"#/components/schemas/TurboProjectScheduleTargetDto"},"type":"array"},"timezone":{"description":"IANA timezone the creator scheduled in","type":"string"}},"required":["targets"],"type":"object"},"ScoreSeoDto":{"properties":{},"type":"object"},"ScrapeConfigDto":{"properties":{"dateRangeDays":{"default":90,"description":"Date range in days to scrape posts from","maximum":365,"minimum":7,"type":"number"},"includeReplies":{"default":false,"description":"Whether to include replies in scraping","type":"boolean"},"maxPosts":{"default":100,"description":"Maximum number of posts to scrape","maximum":500,"minimum":10,"type":"number"}},"type":"object"},"SeedArticlesDto":{"properties":{"brandId":{"type":"string"},"brandSlug":{"type":"string"},"dryRun":{"default":true,"type":"boolean"},"organizationId":{"type":"string"},"organizationLabel":{"type":"string"},"ownerEmail":{"description":"Email of the user who owns the publishing org","type":"string"}},"required":["ownerEmail"],"type":"object"},"SeedTemplatesDto":{"properties":{"dryRun":{"default":true,"type":"boolean"}},"type":"object"},"SeedWorkflowsDto":{"properties":{"allBrands":{"description":"Required for a live run without a brand or org","type":"boolean"},"brandId":{"type":"string"},"dryRun":{"default":true,"type":"boolean"},"organizationId":{"type":"string"}},"required":["allBrands"],"type":"object"},"SelectClipReferenceFrameDto":{"properties":{"candidateId":{"description":"ID of an available reference-frame candidate","type":"string"}},"required":["candidateId"],"type":"object"},"SelectModelDto":{"properties":{"category":{"allOf":[{"$ref":"#/components/schemas/ModelCategory"}],"description":"The category of content to generate","example":"image"},"dimensions":{"allOf":[{"$ref":"#/components/schemas/DimensionsDto"}],"description":"Dimensions for image/video generation"},"duration":{"description":"Duration in seconds for video generation","example":10,"maximum":60,"minimum":4,"type":"number"},"outputs":{"default":1,"description":"Number of outputs to generate","maximum":4,"minimum":1,"type":"number"},"prioritize":{"allOf":[{"$ref":"#/components/schemas/RouterPriority"}],"default":"balanced","description":"Optimization priority for model selection"},"prompt":{"description":"The user prompt for content generation","example":"A futuristic city at sunset with flying cars","type":"string"},"speech":{"description":"Speech text for video generation","type":"string"}},"required":["prompt","category"],"type":"object"},"SendUnipileEmailDto":{"properties":{"accountId":{"type":"string"},"bcc":{"items":{"$ref":"#/components/schemas/UnipileContactDto"},"type":"array"},"body":{"type":"string"},"cc":{"items":{"$ref":"#/components/schemas/UnipileContactDto"},"type":"array"},"replyTo":{"type":"string"},"subject":{"type":"string"},"to":{"items":{"$ref":"#/components/schemas/UnipileContactDto"},"type":"array"}},"required":["accountId","to","subject","body"],"type":"object"},"SetPrefixDto":{"properties":{"prefix":{"description":"Unique 3-letter uppercase prefix for issue identifiers (e.g., GEN)","example":"GEN","maxLength":3,"minLength":3,"pattern":"^[A-Z]{3}$","type":"string"}},"required":["prefix"],"type":"object"},"SkipCalendarSlotDto":{"properties":{"identityKey":{"type":"string"}},"required":["identityKey"],"type":"object"},"SocialConversationReadDto":{"properties":{"seenInboundSequence":{"minimum":0,"type":"number"}},"type":"object"},"SocialConversationUpdateDto":{"properties":{"assignedOwnerId":{"nullable":true,"type":"string"},"status":{"enum":["open","needs_review","resolved","archived"],"type":"string"},"tags":{"items":{"type":"string"},"type":"array"}},"type":"object"},"SocialDmDto":{"properties":{"idempotencyKey":{"type":"string"},"recipientId":{"type":"string"},"text":{"maxLength":5000,"minLength":1,"type":"string"},"workflowRunId":{"type":"string"}},"required":["text"],"type":"object"},"SocialDraftDto":{"properties":{"idempotencyKey":{"type":"string"},"messageType":{"enum":["reply","dm"],"type":"string"},"recipientId":{"type":"string"},"text":{"maxLength":5000,"minLength":1,"type":"string"},"workflowRunId":{"type":"string"}},"required":["text"],"type":"object"},"SocialDraftUpdateDto":{"properties":{"reason":{"type":"string"},"status":{"enum":["approved","rejected"],"type":"string"}},"required":["status"],"type":"object"},"SocialInboxIngestDto":{"properties":{"credentialId":{"type":"string"},"limit":{"default":25,"maximum":100,"minimum":1,"type":"number"}},"type":"object"},"SocialReplyCampaignCreateDto":{"properties":{"bodyTemplate":{"description":"Message body sent to every recipient. Supports {{handle}} and {{name}} placeholders.","maxLength":5000,"minLength":1,"type":"string"},"conversationIds":{"description":"Conversations to enroll, in drain order.","items":{"type":"string"},"maxItems":500,"type":"array"},"description":{"type":"string"},"maxPerDay":{"default":50,"maximum":2000,"minimum":1,"type":"number"},"maxPerHour":{"default":10,"maximum":500,"minimum":1,"type":"number"},"messageType":{"enum":["reply","dm"],"type":"string"},"minDelaySeconds":{"default":60,"maximum":86400,"minimum":5,"type":"number"},"name":{"maxLength":120,"minLength":1,"type":"string"},"platform":{"enum":["youtube","instagram","tiktok","twitter","linkedin","unipile"],"type":"string"}},"required":["name","platform","bodyTemplate","conversationIds"],"type":"object"},"SocialReplyCampaignStatusDto":{"properties":{"transition":{"enum":["start","pause","resume","cancel"],"type":"string"}},"required":["transition"],"type":"object"},"SocialReplyCampaignUpdateDto":{"properties":{"bodyTemplate":{"maxLength":5000,"minLength":1,"type":"string"},"description":{"type":"string"},"maxPerDay":{"maximum":2000,"minimum":1,"type":"number"},"maxPerHour":{"maximum":500,"minimum":1,"type":"number"},"minDelaySeconds":{"maximum":86400,"minimum":5,"type":"number"},"name":{"maxLength":120,"minLength":1,"type":"string"}},"type":"object"},"SocialReplyDto":{"properties":{"idempotencyKey":{"type":"string"},"text":{"maxLength":5000,"minLength":1,"type":"string"},"workflowRunId":{"type":"string"}},"required":["text"],"type":"object"},"SocialSourcePlatform":{"enum":["twitter","instagram","tiktok","youtube","linkedin"],"type":"string"},"SocialSourceType":{"enum":["account","timeline","post","own-account"],"type":"string"},"SourcePostActionType":{"enum":["draft","reply","quote","repost","remix","send_to_agent"],"type":"string"},"SourcePostDraftActionDto":{"properties":{"actionType":{"allOf":[{"$ref":"#/components/schemas/SourcePostActionType"}],"default":"draft"},"credentialId":{"type":"string"},"listeningEvidenceIds":{"items":{"type":"string"},"type":"array"},"listeningThemeId":{"type":"string"},"listeningTopicId":{"type":"string"},"text":{"type":"string"}},"type":"object"},"SourcePostNativeActionDto":{"properties":{"action":{"enum":["like","reply","repost","quote","comment"],"type":"string"},"credentialId":{"type":"string"},"idempotencyKey":{"type":"string"},"text":{"type":"string"}},"required":["action","credentialId","idempotencyKey"],"type":"object"},"SplitImageDto":{"properties":{"borderInset":{"default":10,"description":"Border inset in pixels to crop out from each frame edge","maximum":50,"minimum":0,"type":"number"},"gridCols":{"description":"Number of columns in the grid","example":3,"maximum":4,"minimum":2,"type":"number"},"gridRows":{"description":"Number of rows in the grid","example":2,"maximum":4,"minimum":2,"type":"number"}},"required":["gridRows","gridCols"],"type":"object"},"StartBrandRemixRunDto":{"properties":{"expectedRevision":{"minimum":1,"type":"number"}},"required":["expectedRevision"],"type":"object"},"StartImportedSourceMediaDto":{"properties":{},"type":"object"},"StudioGenerateDraftReferenceDto":{"properties":{"id":{"description":"Library ingredient id","type":"string"},"role":{"enum":["reference","editSource","editMask","startFrame","endFrame","videoReference"],"type":"string"}},"required":["id","role"],"type":"object"},"SubmitApprovalDto":{"properties":{"approved":{"description":"Whether the review gate was approved","example":true,"type":"boolean"},"expectedContextVersion":{"minimum":1,"type":"number"},"nodeId":{"description":"Review gate node ID awaiting approval","example":"review-gate-1","type":"string"},"rejectionReason":{"description":"Optional rejection reason when approval is denied","example":"Rejected by reviewer","type":"string"},"threadId":{"description":"Active agent thread ID","type":"string"}},"required":["nodeId","approved"],"type":"object"},"SubmitBrandInterviewAnswerDto":{"properties":{"answer":{"description":"The answer to the current interview question. For list fields, separate items with newlines or commas.","example":"Professional yet warm, with a touch of wit.","type":"string"},"fieldKey":{"description":"Optional field key when re-saving an already-answered step from the steps sidebar. Defaults to the session current field.","example":"tone","type":"string"}},"required":["answer"],"type":"object"},"SubmitBrandRemixRunForReviewDto":{"properties":{"variantIds":{"items":{"type":"string"},"maxItems":8,"type":"array"}},"type":"object"},"SubmitHookClipDecisionDto":{"properties":{"action":{"description":"Operator decision for the completed hook clip","enum":["approve","request_changes","reject"],"type":"string"},"feedback":{"description":"Required guidance for rejection or hook regeneration","type":"string"}},"required":["action"],"type":"object"},"SuggestHashtagsDto":{"properties":{},"type":"object"},"SuggestTemplatesDto":{"properties":{},"type":"object"},"SwitchOrganizationDto":{"properties":{},"type":"object"},"SyncSocialSourceDto":{"properties":{"limit":{"default":25,"maximum":100,"minimum":1,"type":"number"}},"type":"object"},"TagBulkAction":{"enum":["add","remove"],"type":"string"},"TagCategory":{"description":"The category/type of entities this tag applies to","enum":["ORGANIZATION","CREDENTIAL","INGREDIENT","PROMPT","ARTICLE"],"type":"string"},"TagMatchMode":{"enum":["any","all"],"type":"string"},"TargetExecutionState":{"description":"Canonical channel-target publish lifecycle. Defaults to draft when omitted, or scheduled when scheduledDate is set.","enum":["draft","scheduled","paused","cancelled","publishing","published","failed","skipped"],"type":"string"},"TaskLinkedEntityModel":{"description":"Entity model name","enum":["Ingredient","Post","Article","Evaluation"],"type":"string"},"TemplateCategory":{"description":"Unified category for both content and prompt templates","enum":["caption","video","image","article","script","email","social-media","marketing","ecommerce","education","entertainment","news","personal-brand","corporate","nonprofit","article-generation","article-virality-analysis","video-generation","video-cinematic","video-social-media","video-product-ad","video-podcast","video-influencer","image-generation","image-product-ad","image-banner","image-super-model","music-generation","caption-generation"],"type":"string"},"TestOrganizationWebhookDto":{"properties":{"event":{"description":"Webhook event type to use for the sample test payload. Defaults to the first configured event filter or target.published.","enum":["release.published","release.partially_published","release.failed","target.published","target.failed","generation.completed","generation.failed","workflow.execution.completed","workflow.execution.failed"],"type":"string"}},"type":"object"},"ToggleBrandSkillDto":{"properties":{"enabledSkills":{"description":"Updated list of enabled skill slugs for this brand","items":{"type":"string"},"maxItems":100,"type":"array"},"useDefaultSkills":{"description":"Use the first-party default skill set instead of the explicit list","type":"boolean"}},"required":["enabledSkills"],"type":"object"},"TrackClickDto":{"properties":{},"type":"object"},"TrackSubscriptionDto":{"properties":{},"type":"object"},"TrainingCategory":{"enum":["subject","style"],"type":"string"},"TrainingStatus":{"enum":["processing","completed","failed"],"type":"string"},"TranscribeAudioDto":{"properties":{"language":{"description":"Language code for transcription (e.g., \"en\", \"es\", \"fr\")","example":"en","type":"string"},"prompt":{"description":"Optional prompt to guide the transcription","example":"This is a podcast about technology","type":"string"}},"type":"object"},"TranscribeUrlDto":{"properties":{"language":{"description":"Language code for transcription (e.g., \"en\", \"es\", \"fr\")","example":"en","type":"string"},"prompt":{"description":"Optional prompt to guide the transcription","example":"This is a podcast about technology","type":"string"},"url":{"description":"URL of the audio file to transcribe","example":"https://example.com/audio.mp3","type":"string"}},"required":["url"],"type":"object"},"TranscriptSegmentDto":{"properties":{"end":{"description":"Segment end time in seconds","type":"number"},"start":{"description":"Segment start time in seconds","type":"number"},"text":{"description":"Segment text content","type":"string"}},"required":["start","end","text"],"type":"object"},"TransformationCategory":{"description":"Transformations applied to this ingredient","enum":["UPSCALED","RESIZED","ENHANCED","EXTENDED","INTERPOLATED","STABILIZED","BACKGROUND_REMOVED","STYLE_TRANSFERRED","FACE_SWAPPED","LIP_SYNCED","ANIMATED","IMAGE_TO_VIDEO","CLIPPED","MERGED","EDITED","REVERSED","MIRRORED","CAPTIONED","VALIDATED","REFRAMED"],"type":"string"},"TrendNotificationFrequency":{"description":"Frequency of trend notifications","enum":["REALTIME","HOURLY","DAILY","WEEKLY"],"type":"string"},"TrendPlatform":{"enum":["tiktok","instagram","linkedin","twitter","youtube","reddit","pinterest"],"type":"string"},"TriggerDigestDto":{"properties":{},"type":"object"},"TriggerSyncDto":{"properties":{},"type":"object"},"TurboProjectIdeaDto":{"properties":{"caption":{"type":"string"},"format":{"enum":["image","video","avatar"],"type":"string"},"hook":{"type":"string"},"id":{"type":"string"},"platformHints":{"items":{"type":"string"},"type":"array"},"speechText":{"type":"string"},"visualPrompt":{"type":"string"}},"required":["id","format","hook","caption","visualPrompt","platformHints"],"type":"object"},"TurboProjectInputDto":{"properties":{"ingredientId":{"description":"Uploaded image or video ingredient","type":"string"}},"required":["ingredientId"],"type":"object"},"TurboProjectKind":{"enum":["IDEAS","WORKFLOW"],"type":"string"},"TurboProjectScheduleTargetDto":{"properties":{"credentialId":{"type":"string"},"platform":{"description":"Canonical lowercase platform","type":"string"},"scheduledDate":{"description":"Omit to publish now","type":"string"}},"required":["credentialId","platform"],"type":"object"},"TurboProjectStep":{"enum":["inputs","ideas","review","schedule"],"type":"string"},"TurboRunActionDto":{"properties":{},"type":"object"},"TurboRunStatus":{"enum":["PENDING","PROCESSING","COMPLETED","PARTIAL","FAILED","CANCELLED"],"type":"string"},"TweetTone":{"description":"Tone for the generated content","enum":["professional","casual","viral","educational","humorous"],"type":"string"},"TwitterPipelineDraftDto":{"properties":{},"type":"object"},"TwitterPipelinePublishDto":{"properties":{},"type":"object"},"TwitterPipelineSearchDto":{"properties":{},"type":"object"},"UnipileContactDto":{"properties":{"displayName":{"type":"string"},"identifier":{"type":"string"}},"required":["identifier"],"type":"object"},"UpdatableClipProjectStatus":{"description":"Project processing status. A project cannot be moved back to draft.","enum":["pending","transcribing","analyzing","analyzed","clipping","captioning","generating","partially-completed","completed","failed"],"type":"string"},"UpdateActivityDto":{"properties":{"brandId":{"nullable":true,"type":"string"},"entityId":{"description":"Entity ID reference","type":"string"},"entityModel":{"allOf":[{"$ref":"#/components/schemas/ActivityEntityModel"}],"description":"Entity model name"},"filter":{"description":"Filter criteria for bulk operations","type":"object"},"isDeleted":{"description":"Whether the activity is marked as deleted","type":"boolean"},"isRead":{"description":"Whether the activity has been read","type":"boolean"},"key":{"type":"string"},"organizationId":{"type":"string"},"source":{"type":"string"},"userId":{"type":"string"},"value":{"type":"string"}},"type":"object"},"UpdateAdWatchedAdvertiserDto":{"properties":{"advertiserHandle":{"description":"Advertiser handle, page slug, or advertiser id on the selected platform","type":"string"},"advertiserName":{"description":"Display name of the advertiser","type":"string"},"brandId":{"description":"Brand this watched advertiser is scoped to","type":"string"},"credentialId":{"description":"Optional platform credential used to authenticate ingestion. Public transparency archives (Meta, TikTok, Google) need none.","type":"string"},"externalAdvertiserId":{"description":"Platform-native advertiser id, once known from a transparency archive response","type":"string"},"isDeleted":{"description":"Whether the watched advertiser is marked as deleted","type":"boolean"},"platform":{"description":"Ad platform whose public transparency archive is polled for this advertiser","enum":["google","meta","tiktok","x","youtube"],"type":"string"}},"type":"object"},"UpdateAgentCampaignDto":{"properties":{"agentStrategyIds":{"description":"Agent strategy IDs included in this campaign","items":{"type":"string"},"type":"array"},"brandId":{"description":"Brand ID","type":"string"},"brief":{"description":"Campaign brief / description","type":"string"},"campaignLeadStrategyId":{"description":"Optional presentation-only lead strategy ID","type":"string"},"contentQuota":{"allOf":[{"$ref":"#/components/schemas/ContentQuotaConfigDto"}],"description":"Content production quotas"},"contentRotation":{"allOf":[{"$ref":"#/components/schemas/ContentRotationConfigDto"}],"description":"Weighted campaign/topic rotation rules"},"creditsAllocated":{"description":"Credits allocated to this campaign","type":"number"},"endDate":{"description":"Campaign end date","format":"date-time","type":"string"},"label":{"description":"Campaign label","type":"string"},"orchestrationEnabled":{"description":"Whether campaign orchestration is enabled","type":"boolean"},"orchestrationIntervalHours":{"description":"Campaign orchestration cadence in hours","type":"number"},"startDate":{"description":"Campaign start date","format":"date-time","type":"string"},"status":{"description":"Campaign status","enum":["draft","active","paused","completed"],"type":"string"}},"type":"object"},"UpdateAgentGoalDto":{"properties":{"brandId":{"description":"Brand ID","type":"string"},"description":{"description":"Goal description","type":"string"},"endDate":{"description":"Optional end date","format":"date-time","type":"string"},"isActive":{"description":"Whether the goal is active","type":"boolean"},"label":{"description":"Goal label","type":"string"},"metric":{"enum":["engagement_rate","posts","views"],"type":"string"},"startDate":{"description":"Optional start date","format":"date-time","type":"string"},"targetValue":{"description":"Target metric value","type":"number"}},"type":"object"},"UpdateAgentModeDto":{"properties":{"mode":{"allOf":[{"$ref":"#/components/schemas/AgentThreadMode"}]},"threadId":{"type":"string"}},"required":["mode"],"type":"object"},"UpdateAgentStrategyDto":{"properties":{"agentType":{"description":"Agent type (drives tool subset and prompt template)","enum":["general","x_content","image_creator","video_creator","ai_avatar","article_writer","linkedin_content","ads_script_writer","short_form_writer","cta_content","youtube_script","brand_interview","orchestrator"],"type":"string"},"autoPublishConfidenceThreshold":{"description":"Auto-publish confidence threshold","type":"number"},"autonomyMode":{"description":"Autonomy mode — supervised requires manual review","enum":["SUPERVISED","AUTO_PUBLISH"],"type":"string"},"brandId":{"description":"Brand ID","type":"string"},"budgetPolicy":{"allOf":[{"$ref":"#/components/schemas/BudgetPolicyDto"}],"description":"Monthly pacing and retry policy"},"contentMix":{"allOf":[{"$ref":"#/components/schemas/ContentMixConfigDto"}],"description":"Content mix configuration"},"dailyCreditBudget":{"description":"Daily credit budget","type":"number"},"dailyCreditResetAt":{"description":"Daily credit reset timestamp","format":"date-time","type":"string"},"dailyResetAt":{"description":"Daily reset timestamp","format":"date-time","type":"string"},"displayRole":{"description":"Optional user-facing role label","type":"string"},"engagementEnabled":{"description":"Enable engagement discovery","type":"boolean"},"engagementKeywords":{"description":"Engagement search keywords","items":{"type":"string"},"type":"array"},"engagementTone":{"description":"Engagement reply tone","type":"string"},"goalId":{"description":"Optional linked goal ID","type":"string"},"goalProfile":{"description":"Primary optimization goal profile","enum":["reach_traffic"],"type":"string"},"isActive":{"description":"Whether strategy is active","type":"boolean"},"isEnabled":{"description":"Whether strategy is enabled (user toggle)","type":"boolean"},"label":{"description":"Strategy label","type":"string"},"maxEngagementsPerDay":{"description":"Max engagements per day","type":"number"},"minCreditThreshold":{"description":"Minimum organization credits required to keep strategy active","type":"number"},"model":{"description":"Preferred model for this strategy","type":"string"},"monthlyResetAt":{"description":"Monthly reset timestamp","format":"date-time","type":"string"},"nextRunAt":{"description":"Next scheduled run time","format":"date-time","type":"string"},"opportunitySources":{"allOf":[{"$ref":"#/components/schemas/OpportunitySourcesDto"}],"description":"Opportunity source controls"},"platforms":{"description":"Target platforms","items":{"enum":["youtube","instagram","tiktok","facebook","google_ads","google_search_console","twitter","x_ads","linkedin","pinterest","reddit","discord","telegram","twitch","medium","threads","fanvue","slack","wordpress","snapchat","whatsapp","mastodon","ghost","shopify","beehiiv","unipile","devto","product_hunt","hacker_news","restream"],"type":"string"},"type":"array"},"postsPerWeek":{"description":"Weekly posting target; separate from the configured publishing ceiling","type":"number"},"preferredPostingTimes":{"description":"Preferred posting times (HH:MM format)","items":{"type":"string"},"type":"array"},"preferredWorkflowId":{"description":"Bound workflow id for deterministic Run Workflow (first-class column).","type":"string"},"preferredWorkflowTemplateId":{"description":"Seeded template id installed on first Run Workflow when no preferredWorkflowId is set.","type":"string"},"publishPolicy":{"allOf":[{"$ref":"#/components/schemas/PublishPolicyDto"}],"description":"Publish gating policy"},"publishingCeilingPerWeek":{"description":"Maximum content groups scheduled or published per local ISO week","type":"number"},"qualityTier":{"description":"Quality tier override for this strategy","enum":["budget","balanced","high_quality"],"type":"string"},"rankingPolicy":{"allOf":[{"$ref":"#/components/schemas/RankingPolicyDto"}],"description":"Opportunity ranking weights"},"readyDraftReserve":{"description":"Desired reserve of unscheduled quality-approved drafts","type":"number"},"reportingPolicy":{"allOf":[{"$ref":"#/components/schemas/ReportingPolicyDto"}],"description":"Reporting configuration"},"reportsToLabel":{"description":"Optional presentation-only reporting label","type":"string"},"runFrequency":{"description":"Run frequency","enum":["every_6_hours","twice_daily","daily"],"type":"string"},"skillSlugs":{"description":"Skill slugs assigned to this strategy","items":{"type":"string"},"maxItems":100,"type":"array"},"teamGroup":{"description":"Optional presentation-only team grouping label","type":"string"},"timezone":{"description":"Timezone","type":"string"},"topics":{"description":"Content topics","items":{"type":"string"},"type":"array"},"voice":{"description":"Brand voice description","type":"string"},"weeklyCreditBudget":{"description":"Weekly credit budget","type":"number"},"workflowInputOverrides":{"description":"Typed saved slot overrides for the bound workflow (key/value scalars only).","items":{"$ref":"#/components/schemas/WorkflowInputOverrideDto"},"type":"array"}},"type":"object"},"UpdateAgentThreadContextDto":{"properties":{"brandId":{"nullable":true,"type":"string"},"expectedContextVersion":{"minimum":1,"type":"number"}},"required":["expectedContextVersion"],"type":"object"},"UpdateApiKeyDto":{"properties":{"allowedIps":{"description":"IP addresses allowed to use this key","example":["192.168.1.1"],"items":{"type":"string"},"type":"array"},"category":{"allOf":[{"$ref":"#/components/schemas/ApiKeyCategory"}],"description":"Type of API key","example":"GENFEEDAI"},"defaultBrandId":{"description":"Default brand for MCP generation tools when a call omits an explicit brandId. Must belong to this key's organization (#5219).","type":"string"},"description":{"description":"Description of what this key is used for","example":"Used for ChatGPT MCP integration","type":"string"},"expiresAt":{"description":"Expiration date for the key","example":"2025-12-31T23:59:59Z","type":"string"},"isDeleted":{"description":"Whether the key is marked as deleted","type":"boolean"},"label":{"description":"Label for the API key","example":"MCP Server Key","type":"string"},"metadata":{"description":"Optional metadata for managed/system-created keys","type":"object"},"rateLimit":{"default":60,"description":"Rate limit (requests per minute)","example":100,"type":"number"},"scopes":{"default":["videos:create","videos:read","analytics:read"],"description":"Scopes/permissions for this key. Must be a subset of the self-service scope presets; privileged and wildcard (\"*\") scopes are rejected.","example":["videos:create","videos:read"],"items":{"enum":["videos:read","videos:create","images:read","images:create","prompts:read","prompts:create","articles:read","articles:create","posts:draft","videos:update","videos:delete","images:update","images:delete","prompts:update","prompts:delete","brands:read","credits:read","posts:schedule","posts:approve","posts:publish","analytics:read"],"type":"string"},"type":"array"}},"type":"object"},"UpdateArticleDto":{"properties":{"category":{"allOf":[{"$ref":"#/components/schemas/ArticleCategory"}],"description":"Article category"},"content":{"description":"Full article content as HTML. Article.content stores HTML only; Markdown is converted before it is saved.","type":"string"},"coverImageUrl":{"description":"Absolute URL of the article cover image","example":"https://cdn.genfeed.ai/assets/articles/my-article.jpg","type":"string"},"externalUrl":{"description":"Live URL of the article when it was published outside Genfeed. Send null to clear it.","maxLength":2048,"nullable":true,"type":"object"},"generationPrompt":{"description":"Generation prompt used for AI content creation","maxLength":2000,"type":"string"},"isDeleted":{"description":"Whether the key is marked as deleted","type":"boolean"},"label":{"description":"Article label (display title; persisted as label, not title)","maxLength":200,"type":"string"},"publishedAt":{"description":"Publication date (ISO 8601 format)","example":"2025-10-16T12:00:00Z","type":"string"},"restoreFromVersionId":{"description":"Restore the article content from a prior version (prompt) id. When set, the article is reverted to that version and other update fields are ignored.","type":"string"},"scope":{"allOf":[{"$ref":"#/components/schemas/AssetScope"}],"description":"Article access scope"},"slug":{"description":"URL-friendly slug (lowercase letters, numbers, and hyphens only)","example":"my-article-title","type":"string"},"status":{"allOf":[{"$ref":"#/components/schemas/ArticleStatus"}],"description":"Article status"},"summary":{"description":"Article summary","maxLength":500,"type":"string"},"tags":{"description":"Array of tag IDs","items":{"type":"string"},"type":"array"},"viralityAnalysis":{"description":"Virality analysis data","type":"object"}},"type":"object"},"UpdateAssetDto":{"properties":{"category":{"allOf":[{"$ref":"#/components/schemas/AssetCategory"}]},"externalId":{"description":"External ID for tracking async generation (e.g., Replicate prediction ID)","type":"string"},"isDeleted":{"description":"Whether the asset is marked as deleted","type":"boolean"},"parentId":{"type":"string"},"parentType":{"allOf":[{"$ref":"#/components/schemas/AssetParent"}]}},"type":"object"},"UpdateBrandAgentAutoPublishDto":{"properties":{"confidenceThreshold":{"description":"Confidence threshold for auto publishing","type":"number"},"enabled":{"description":"Whether auto publish is enabled","type":"boolean"},"isApprovalRequired":{"description":"Publish approval gate. Expert Path brands default to true; nothing publishes without approval.","type":"boolean"}},"type":"object"},"UpdateBrandAgentConfigDto":{"properties":{"autoPublish":{"$ref":"#/components/schemas/UpdateBrandAgentAutoPublishDto"},"defaultAvatarIngredientId":{"description":"Default avatar ingredient ID for identity generation","type":"string"},"defaultAvatarPhotoUrl":null,"defaultAvatarRef":{"allOf":[{"$ref":"#/components/schemas/DefaultAvatarRefDto"}],"nullable":true,"type":"object"},"defaultModel":{"description":"Default agent model key","type":"string"},"defaultVoiceId":{"description":"Default cloned voice ingredient ID for identity generation","type":"string"},"defaultVoiceRef":{"allOf":[{"$ref":"#/components/schemas/DefaultVoiceRefDto"}],"description":"Provider-aware default voice reference for identity generation"},"enabledSkills":{"description":"Enabled skill slugs","items":{"type":"string"},"maxItems":100,"type":"array"},"heygenAvatarId":{"description":"Default HeyGen avatar ID for facecam tasks","type":"string"},"heygenVoiceId":{"description":"Default HeyGen voice ID for facecam tasks","type":"string"},"persona":{"description":"Custom agent persona/system prompt","type":"string"},"platformOverrides":{"additionalProperties":{"$ref":"#/components/schemas/UpdateBrandAgentPlatformOverrideDto"},"description":"Platform-keyed overrides for voice, strategy, persona, and model","type":"object"},"prompting":{"allOf":[{"$ref":"#/components/schemas/UpdateBrandAgentPromptingDto"}],"description":"Persisted prompt seeds and conversation starters"},"schedule":{"$ref":"#/components/schemas/UpdateBrandAgentScheduleDto"},"strategy":{"$ref":"#/components/schemas/UpdateBrandAgentStrategyDto"},"useDefaultSkills":{"description":"Use the first-party default skill set instead of enabledSkills","type":"boolean"},"voice":{"$ref":"#/components/schemas/UpdateBrandAgentVoiceDto"}},"type":"object"},"UpdateBrandAgentPromptingDto":{"properties":{"conversationStarters":{"description":"Top conversation starters generated with the brand profile","items":{"$ref":"#/components/schemas/UpdateBrandConversationStarterDto"},"type":"array"},"seeds":{"description":"Reusable prompt seeds generated with the brand profile","items":{"$ref":"#/components/schemas/UpdateBrandPromptSeedDto"},"type":"array"}},"type":"object"},"UpdateBrandAgentScheduleDto":{"properties":{"cronExpression":{"description":"Cron expression used for scheduled runs","type":"string"},"enabled":{"description":"Whether schedule is active","type":"boolean"},"timezone":{"description":"IANA timezone","type":"string"}},"type":"object"},"UpdateBrandAgentStrategyDto":{"properties":{"competitors":{"description":"Competitors the content positions against","items":{"type":"string"},"type":"array"},"contentTypes":{"description":"Enabled content types","items":{"type":"string"},"type":"array"},"frequency":{"description":"Publishing frequency descriptor","type":"string"},"goals":{"description":"Primary strategic goals","items":{"type":"string"},"type":"array"},"offers":{"description":"Offers the content should drive","items":{"type":"string"},"type":"array"},"platforms":{"description":"Target platforms","items":{"type":"string"},"type":"array"},"topics":{"description":"Canonical content topics for prompt personalization","items":{"type":"string"},"type":"array"}},"type":"object"},"UpdateBrandAgentVoiceDto":{"properties":{"approvedHooks":{"description":"Approved hook patterns for high-performing content","items":{"type":"string"},"type":"array"},"audience":{"description":"Target audience","items":{"type":"string"},"type":"array"},"bannedPhrases":{"description":"Banned phrases that should never appear in output","items":{"type":"string"},"type":"array"},"canonicalSource":{"description":"Canonical source of truth for the voice profile","enum":["brand","founder","hybrid"],"type":"string"},"doNotSoundLike":{"description":"Phrases or styles the brand should avoid","items":{"type":"string"},"type":"array"},"exemplarTexts":{"description":"Reference exemplars that capture the desired voice","items":{"type":"string"},"type":"array"},"hashtags":{"description":"Preferred hashtags","items":{"type":"string"},"type":"array"},"messagingPillars":{"description":"Core messaging pillars for the brand","items":{"type":"string"},"type":"array"},"sampleOutput":{"description":"Representative sample output for the approved brand voice","type":"string"},"style":{"description":"Brand voice style","type":"string"},"taglines":{"description":"Brand taglines","items":{"type":"string"},"type":"array"},"tone":{"description":"Brand voice tone","type":"string"},"values":{"description":"Core brand values","items":{"type":"string"},"type":"array"},"writingRules":{"description":"Format-agnostic writing rules for generated content","items":{"type":"string"},"type":"array"}},"type":"object"},"UpdateBrandConversationStarterDto":{"properties":{"id":{"description":"Stable identifier for the conversation starter","maxLength":120,"type":"string"},"intent":{"description":"Agent intent represented by the conversation starter","enum":["analyze","create","plan"],"type":"string"},"label":{"description":"Short prompt-bar label","maxLength":32,"type":"string"},"prompt":{"description":"Prompt inserted when the starter is selected","maxLength":220,"type":"string"},"topic":{"description":"Canonical brand topic used by the starter","maxLength":200,"type":"string"}},"required":["id","intent","label","prompt","topic"],"type":"object"},"UpdateBrandDto":{"properties":{"agentConfig":{"description":"Agent configuration overrides for the brand","type":"object"},"backgroundColor":{"default":"#000000","description":"The background color theme for the brand","type":"string"},"defaultImageModel":{"allOf":[{"$ref":"#/components/schemas/ModelKey"}],"description":"The default model to use for image generation"},"defaultImageToVideoModel":{"allOf":[{"$ref":"#/components/schemas/ModelKey"}],"description":"The default model to use for image-to-video conversion"},"defaultMusicModel":{"allOf":[{"$ref":"#/components/schemas/ModelKey"}],"description":"The default model to use for music generation"},"defaultVideoModel":{"allOf":[{"$ref":"#/components/schemas/ModelKey"}],"description":"The default model to use for video generation"},"description":{"description":"A description of the brand","type":"string"},"fontFamily":{"allOf":[{"$ref":"#/components/schemas/FontFamily"}],"default":"MONTSERRAT_BLACK","description":"The font family to use for text overlays"},"isActive":{"default":true,"description":"Whether this brand is currently active","type":"boolean"},"isFleetEnabled":{"default":false,"description":"Whether this brand can access Fleet features and assets","type":"boolean"},"isHighlighted":{"default":false,"description":"Whether this brand is highlighted on the website","type":"boolean"},"label":{"description":"The display name of the brand","type":"string"},"music":{"description":"Optional music ID to use for this brand","type":"string"},"organizationId":{"description":"Destination organization identifier. Providing a different value than the brand's current organization relocates the brand — cascading organizationId across all brand-owned records in one transaction. Superadmin, or an owner/admin of both the source and destination organizations, only.","type":"string"},"organizationLabel":{"description":"Onboarding-only organization label override used with syncOrganizationName. The server regenerates the unique organization slug and never persists this control field on the brand record.","type":"string"},"primaryColor":{"default":"#000000","description":"The primary color theme for the brand","type":"string"},"referenceImages":{"description":"Reference images used for generation consistency","items":{"type":"object"},"type":"array"},"scope":{"allOf":[{"$ref":"#/components/schemas/AssetScope"}],"default":"USER","description":"Brand access scope"},"secondaryColor":{"default":"#FFFFFF","description":"The secondary color theme for the brand","type":"string"},"slug":{"description":"The brand handle: its public profile path and app route segment. Unique across all brands.","maxLength":48,"minLength":2,"type":"string"},"syncOrganizationName":{"description":"Onboarding-only control flag. When true and `label` is present, the brand rename cascades to the owning organization's label + slug (and the brand's own slug), matching the single-brand onboarding workspace. Never persisted on the brand record.","type":"boolean"},"text":{"description":"Text prompt for content generation","type":"string"},"voice":{"description":"Optional voice ID to use for this brand","type":"string"},"watermarkLogoId":{"description":"Brand image asset used as a watermark","nullable":true,"type":"object"},"watermarkOpacity":{"maximum":1,"minimum":0.05,"type":"number"},"watermarkPosition":{"enum":["top-left","top-right","bottom-left","bottom-right"],"type":"string"},"watermarkText":{"nullable":true,"type":"object"}},"type":"object"},"UpdateBrandOsRevisionDto":{"properties":{"content":{"description":"Brand OS draft content","type":"object"},"updatedAt":{"description":"updatedAt of the revision being edited","type":"string"}},"required":["content","updatedAt"],"type":"object"},"UpdateBrandPromptSeedDto":{"properties":{"angle":{"description":"Reusable content angle grounded in the brand profile","maxLength":200,"type":"string"},"audience":{"description":"Audience segment the prompt seed should address","maxLength":200,"type":"string"},"preferredFormats":{"description":"Content formats suited to this prompt seed","items":{"type":"string"},"type":"array"},"topic":{"description":"Canonical brand topic used by this prompt seed","maxLength":200,"type":"string"}},"required":["angle","audience","preferredFormats","topic"],"type":"object"},"UpdateCampaignDto":{"properties":{"brandId":{"type":"string"},"brief":{"description":"Shared creative brief every release is produced from","type":"string"},"endDate":{"type":"string"},"name":{"type":"string"},"objective":{"type":"string"},"startDate":{"type":"string"},"status":{"allOf":[{"$ref":"#/components/schemas/ContentCampaignStatus"}]}},"type":"object"},"UpdateCaptionDto":{"properties":{"content":{"description":"The caption content (SRT format text)","type":"string"},"format":{"allOf":[{"$ref":"#/components/schemas/CaptionFormat"}],"default":"srt","description":"The format of the caption file"},"ingredientId":{"description":"The ingredient ID that this caption belongs to","type":"string"},"isDeleted":{"description":"Whether the caption is marked as deleted","type":"boolean"},"language":{"default":"en","description":"The language code for the caption (e.g., en, es, fr)","type":"string"}},"type":"object"},"UpdateClipProjectDraftDto":{"properties":{"filename":{"description":"Picked upload filename; the file itself is not kept","type":"string"},"maxClips":{"type":"number"},"minViralityScore":{"type":"number"},"mode":{"allOf":[{"$ref":"#/components/schemas/ClipResultMode"}]},"sourceKind":{"allOf":[{"$ref":"#/components/schemas/ClipDraftSourceKind"}]},"youtubeUrl":{"description":"YouTube URL as typed; validated only when the project starts","type":"string"}},"type":"object"},"UpdateClipProjectDto":{"properties":{"brandId":{"description":"Brand context for clip identity and downstream ownership","type":"string"},"error":{"description":"Error message if processing failed","nullable":true,"type":"string"},"failedClipCount":{"description":"Number of failed clips in the project","type":"number"},"isDeleted":{"description":"Whether the project is marked as deleted","type":"boolean"},"language":{"default":"en","description":"Language code for transcription","type":"string"},"name":{"default":"","description":"Project name","type":"string"},"pendingClipCount":{"description":"Number of non-terminal clips in the project","type":"number"},"progress":{"description":"Processing progress percentage (0-100)","type":"number"},"readiness":{"description":"Readiness contract for terminal clip handoff","type":"object"},"readyClipCount":{"description":"Number of ready clips in the project","type":"number"},"referenceFrames":{"description":"Versioned source-video reference-frame candidates and selection state","type":"object"},"settings":{"allOf":[{"$ref":"#/components/schemas/ClipProjectSettingsDto"}],"description":"Clip generation settings"},"sourceVideoS3Key":{"description":"Stored key of an organization-owned Library video; must match sourceVideoUrl when both are supplied.","type":"string"},"sourceVideoUrl":{"description":"Canonical URL of an organization-owned Library video. Use ingestion routes for new sources.","type":"string"},"status":{"allOf":[{"$ref":"#/components/schemas/UpdatableClipProjectStatus"}],"description":"Project processing status. A project cannot be moved back to draft."},"terminalAt":{"description":"Timestamp when the project reached a terminal status","format":"date-time","nullable":true,"type":"string"},"transcriptSegments":{"description":"Transcript segments with timestamps","items":{"$ref":"#/components/schemas/TranscriptSegmentDto"},"type":"array"},"transcriptSrt":{"description":"Transcript in SRT format","type":"string"},"transcriptText":{"description":"Full transcript text","type":"string"},"videoMetadata":{"allOf":[{"$ref":"#/components/schemas/VideoMetadataDto"}],"description":"Video metadata"}},"type":"object"},"UpdateClipResultDto":{"properties":{"captionSrt":{"description":"Caption SRT content","type":"string"},"captionedVideoS3Key":{"description":"Captioned video S3 key","type":"string"},"captionedVideoUrl":{"description":"Captioned video URL","type":"string"},"isDeleted":{"description":"Soft delete flag","type":"boolean"},"isSelected":{"description":"Whether the clip is selected","type":"boolean"},"mode":{"allOf":[{"$ref":"#/components/schemas/ClipResultMode"}],"description":"Clip generation mode (defaults to avatar)"},"providerJobId":{"description":"External provider job ID","type":"string"},"providerName":{"description":"Avatar video provider name","type":"string"},"readiness":{"description":"Readiness contract for clip handoff actions","type":"object"},"status":{"allOf":[{"$ref":"#/components/schemas/ClipResultStatus"}],"description":"Clip status"},"summary":{"description":"Clip summary","type":"string"},"terminalAt":{"description":"Timestamp when the clip reached a terminal status","format":"date-time","nullable":true,"type":"string"},"thumbnailUrl":{"description":"Thumbnail URL","type":"string"},"title":{"description":"Clip title","type":"string"},"videoS3Key":{"description":"Extracted video S3 key","type":"string"},"videoUrl":{"description":"Extracted video URL","type":"string"}},"type":"object"},"UpdateContentPlanDto":{"properties":{},"type":"object"},"UpdateContextDto":{"properties":{"description":{"description":"Description of the context","type":"string"},"label":{"description":"Label of the context","type":"string"},"lastAnalyzed":{"description":"Last analyzed timestamp","format":"date-time","type":"string"},"source":{"description":"Source of the context","enum":["onboarding","manual","auto-generated"],"type":"string"},"sourceBrand":{"description":"Brand ID if created from brand","type":"string"},"sourceUrl":{"description":"Source URL if applicable","type":"string"},"type":{"description":"Type of context","enum":["brand_voice","content_library","audience","custom"],"type":"string"}},"type":"object"},"UpdateCredentialDto":{"properties":{"accessToken":{"type":"string"},"accessTokenExpiry":{"type":"string"},"accessTokenSecret":{"type":"string"},"description":{"type":"string"},"externalAvatar":{"type":"string"},"externalHandle":{"type":"string"},"externalId":{"type":"string"},"externalName":{"type":"string"},"grantedScopes":{"description":"Provider-granted OAuth scopes captured at connect or refresh","items":{"type":"string"},"type":"array"},"grantedScopesCapturedAt":{"description":"When grantedScopes were last written. Null means they were never captured.","format":"date-time","type":"string"},"isConnected":{"type":"boolean"},"isDeleted":{"description":"Whether the credential is marked as deleted","type":"boolean"},"label":{"type":"string"},"oauthToken":{"type":"string"},"oauthTokenSecret":{"type":"string"},"refreshToken":{"type":"string"},"refreshTokenExpiry":{"type":"string"},"tagIds":{"description":"Array of tag IDs","items":{"type":"string"},"type":"array"}},"type":"object"},"UpdateEditorProjectDto":{"properties":{"isDeleted":{"description":"Whether the project is deleted","type":"boolean"},"name":{"default":"Untitled Project","description":"Project name","type":"string"},"settings":{"allOf":[{"$ref":"#/components/schemas/EditorProjectSettingsDto"}],"description":"Project settings"},"sourceVideoIds":{"description":"Source video ingredient IDs, in timeline order. Each becomes one clip on a single video track.","items":{"type":"string"},"type":"array"},"status":{"description":"Project status","enum":["draft","rendering","completed","cancelled","failed"],"type":"string"},"thumbnailUrl":{"description":"Thumbnail URL","type":"string"},"totalDurationFrames":{"default":300,"description":"Total duration in frames","type":"number"},"tracks":{"description":"Editor tracks","items":{"type":"string"},"type":"array"}},"type":"object"},"UpdateElementBlacklistDto":{"properties":{"category":{"allOf":[{"$ref":"#/components/schemas/ModelCategory"}],"description":"Category of the blacklist"},"description":{"description":"Description of the element","example":"A detailed description of the element","type":"string"},"isActive":{"default":true,"description":"Whether the element is offered in pickers","type":"boolean"},"isDefault":{"description":"Whether this is auto-selected in promptbar by default","type":"boolean"},"isDeleted":{"description":"Whether the blacklist is marked as deleted","type":"boolean"},"isPlatformDefault":{"description":"Superadmin only. Create a platform default visible to every organization (default for superadmins) or, when false, an element owned by the caller organization.","type":"boolean"},"key":{"description":"Unique key for the element (lowercase, alphanumeric with hyphens)","example":"example-key","type":"string"},"label":{"description":"Display label for the element","example":"Example Label","type":"string"},"model":{"description":"Model information for the element","type":"string"},"sortOrder":{"default":0,"description":"Curated display order, lowest first","type":"number"}},"type":"object"},"UpdateElementCameraDto":{"properties":{"description":{"description":"Description of the element","example":"A detailed description of the element","type":"string"},"isActive":{"default":true,"description":"Whether the element is offered in pickers","type":"boolean"},"isDeleted":{"description":"Whether the camera is marked as deleted","type":"boolean"},"isPlatformDefault":{"description":"Superadmin only. Create a platform default visible to every organization (default for superadmins) or, when false, an element owned by the caller organization.","type":"boolean"},"key":{"description":"Unique key for the element (lowercase, alphanumeric with hyphens)","example":"example-key","type":"string"},"label":{"description":"Display label for the element","example":"Example Label","type":"string"},"model":{"description":"Model information for the element","type":"string"},"sortOrder":{"default":0,"description":"Curated display order, lowest first","type":"number"}},"type":"object"},"UpdateElementCameraMovementDto":{"properties":{"description":{"description":"Description of the element","example":"A detailed description of the element","type":"string"},"isActive":{"default":true,"description":"Whether the element is offered in pickers","type":"boolean"},"isPlatformDefault":{"description":"Superadmin only. Create a platform default visible to every organization (default for superadmins) or, when false, an element owned by the caller organization.","type":"boolean"},"key":{"description":"Unique key for the element (lowercase, alphanumeric with hyphens)","example":"example-key","type":"string"},"label":{"description":"Display label for the element","example":"Example Label","type":"string"},"model":{"description":"Model information for the element","type":"string"},"sortOrder":{"default":0,"description":"Curated display order, lowest first","type":"number"}},"type":"object"},"UpdateElementLensDto":{"properties":{"description":{"description":"Description of the element","example":"A detailed description of the element","type":"string"},"isActive":{"default":true,"description":"Whether the element is offered in pickers","type":"boolean"},"isPlatformDefault":{"description":"Superadmin only. Create a platform default visible to every organization (default for superadmins) or, when false, an element owned by the caller organization.","type":"boolean"},"key":{"description":"Unique key for the element (lowercase, alphanumeric with hyphens)","example":"example-key","type":"string"},"label":{"description":"Display label for the element","example":"Example Label","type":"string"},"model":{"description":"Model information for the element","type":"string"},"sortOrder":{"default":0,"description":"Curated display order, lowest first","type":"number"}},"type":"object"},"UpdateElementLightingDto":{"properties":{"description":{"description":"Description of the element","example":"A detailed description of the element","type":"string"},"isActive":{"default":true,"description":"Whether the element is offered in pickers","type":"boolean"},"isPlatformDefault":{"description":"Superadmin only. Create a platform default visible to every organization (default for superadmins) or, when false, an element owned by the caller organization.","type":"boolean"},"key":{"description":"Unique key for the element (lowercase, alphanumeric with hyphens)","example":"example-key","type":"string"},"label":{"description":"Display label for the element","example":"Example Label","type":"string"},"model":{"description":"Model information for the element","type":"string"},"sortOrder":{"default":0,"description":"Curated display order, lowest first","type":"number"}},"type":"object"},"UpdateElementMoodDto":{"properties":{"description":{"description":"Description of the element","example":"A detailed description of the element","type":"string"},"isActive":{"default":true,"description":"Whether the element is offered in pickers","type":"boolean"},"isDeleted":{"description":"Whether the style is marked as deleted","type":"boolean"},"isPlatformDefault":{"description":"Superadmin only. Create a platform default visible to every organization (default for superadmins) or, when false, an element owned by the caller organization.","type":"boolean"},"key":{"description":"Unique key for the element (lowercase, alphanumeric with hyphens)","example":"example-key","type":"string"},"label":{"description":"Display label for the element","example":"Example Label","type":"string"},"model":{"description":"Model information for the element","type":"string"},"sortOrder":{"default":0,"description":"Curated display order, lowest first","type":"number"}},"type":"object"},"UpdateElementSceneDto":{"properties":{"description":{"description":"Description of the element","example":"A detailed description of the element","type":"string"},"isActive":{"default":true,"description":"Whether the element is offered in pickers","type":"boolean"},"isFavorite":{"default":false,"description":"Whether this scene is marked as favorite","type":"boolean"},"isPlatformDefault":{"description":"Superadmin only. Create a platform default visible to every organization (default for superadmins) or, when false, an element owned by the caller organization.","type":"boolean"},"key":{"description":"Unique key for the element (lowercase, alphanumeric with hyphens)","example":"example-key","type":"string"},"label":{"description":"Display label for the element","example":"Example Label","type":"string"},"model":{"description":"Model information for the element","type":"string"},"sortOrder":{"default":0,"description":"Curated display order, lowest first","type":"number"}},"type":"object"},"UpdateElementSoundDto":{"properties":{"category":{"allOf":[{"$ref":"#/components/schemas/ModelCategory"}]},"description":{"description":"Description of the element","example":"A detailed description of the element","type":"string"},"isActive":{"default":true,"description":"Whether the element is offered in pickers","type":"boolean"},"isDefault":{"default":false,"description":"Whether this is auto-selected in promptbar by default","type":"boolean"},"isDeleted":{"default":false,"description":"Whether the sound is marked as deleted","type":"boolean"},"isPlatformDefault":{"description":"Superadmin only. Create a platform default visible to every organization (default for superadmins) or, when false, an element owned by the caller organization.","type":"boolean"},"key":{"description":"Unique key for the element (lowercase, alphanumeric with hyphens)","example":"example-key","type":"string"},"label":{"description":"Display label for the element","example":"Example Label","type":"string"},"model":{"description":"Model information for the element","type":"string"},"organizationId":{"type":"string"},"sortOrder":{"default":0,"description":"Curated display order, lowest first","type":"number"}},"type":"object"},"UpdateElementStyleDto":{"properties":{"description":{"description":"Description of the element","example":"A detailed description of the element","type":"string"},"isActive":{"default":true,"description":"Whether the element is offered in pickers","type":"boolean"},"isDeleted":{"description":"Whether the setting is marked as deleted","type":"boolean"},"isPlatformDefault":{"description":"Superadmin only. Create a platform default visible to every organization (default for superadmins) or, when false, an element owned by the caller organization.","type":"boolean"},"key":{"description":"Unique key for the element (lowercase, alphanumeric with hyphens)","example":"example-key","type":"string"},"label":{"description":"Display label for the element","example":"Example Label","type":"string"},"model":{"description":"Model information for the element","type":"string"},"models":{"description":"Array of model keys this style applies to","example":["google/imagen-3","leonardoai"],"items":{"$ref":"#/components/schemas/ModelKey"},"type":"array"},"sortOrder":{"default":0,"description":"Curated display order, lowest first","type":"number"}},"type":"object"},"UpdateEngagementRuleDto":{"properties":{"actionPayload":{"additionalProperties":true,"type":"object"},"actionType":{"enum":["REPOST","FOLLOW_UP_COMMENT"],"type":"string"},"brandId":{"type":"string"},"isEnabled":{"type":"boolean"},"metric":{"enum":["LIKES","COMMENTS","SHARES","VIEWS","ENGAGEMENT_RATE"],"type":"string"},"mode":{"enum":["APPROVAL","AUTO"],"type":"string"},"threshold":{"type":"number"},"windowEndsAt":{"type":"string"}},"type":"object"},"UpdateFolderDto":{"properties":{"brandId":{"description":"Brand ID if folder is brand-specific","type":"string"},"description":{"description":"Description of the folder","example":"A folder to organize my ingredients","type":"string"},"isActive":{"description":"Whether the folder is active","type":"boolean"},"label":{"description":"Display label for the folder","example":"My Ingredients","type":"string"},"parentId":{"description":"Parent folder ID. Omit for a root folder. The parent must live in the same organization and brand scope as the caller.","nullable":true,"type":"object"},"tags":{"description":"Tags for categorizing the folder","example":["important","video-assets"],"items":{"type":"string"},"type":"array"}},"type":"object"},"UpdateFontFamilyDto":{"properties":{"description":{"description":"Description of the element","example":"A detailed description of the element","type":"string"},"isDeleted":{"description":"Whether the style is marked as deleted","type":"boolean"},"key":{"description":"Unique key for the element (lowercase, alphanumeric with hyphens)","example":"example-key","type":"string"},"label":{"description":"Display label for the element","example":"Example Label","type":"string"},"model":{"description":"Model information for the element","type":"string"}},"type":"object"},"UpdateGenerationHarnessSettingsDto":{"properties":{},"type":"object"},"UpdateGoalDto":{"properties":{"description":{"description":"Goal description","maxLength":10000,"type":"string"},"isDeleted":{"description":"Soft delete flag","type":"boolean"},"level":{"description":"Goal level","enum":["company","team","individual"],"type":"string"},"parentId":{"description":"Parent goal ID","type":"string"},"status":{"description":"Goal status","enum":["active","completed","archived"],"type":"string"},"title":{"description":"Goal title","maxLength":500,"type":"string"}},"type":"object"},"UpdateHarnessProfileDto":{"properties":{},"type":"object"},"UpdateIngredientDto":{"properties":{"category":{"allOf":[{"$ref":"#/components/schemas/IngredientCategory"}],"default":"IMAGE"},"contentRating":{"description":"Moderation content rating for fleet assets","enum":["SFW","SUGGESTIVE","NSFW"],"type":"string"},"folderId":{"nullable":true,"type":"string"},"generationCompletedAt":{"description":"Timestamp when generation completed","format":"date-time","type":"string"},"generationError":{"description":"Generation error message, if any","type":"string"},"generationProgress":{"description":"Generation progress percentage","type":"number"},"generationPrompt":{"type":"string"},"generationSeed":{"type":"number"},"generationSource":{"description":"Underlying generation source/provider","type":"string"},"generationStage":{"description":"Human-readable generation stage","type":"string"},"groupId":{"description":"Group ID for batch operations (e.g., interpolation pairs)","type":"string"},"groupIndex":{"description":"Index within the group for ordering","type":"number"},"isDefault":{"default":false,"type":"boolean"},"isDeleted":{"description":"Whether the ingredient is marked as deleted","type":"boolean"},"isFavorite":{"default":false,"description":"Whether this ingredient is marked as favorite","type":"boolean"},"isHighlighted":{"default":false,"type":"boolean"},"isMergeEnabled":{"type":"boolean"},"language":{"type":"string"},"modelUsed":{"description":"Resolved model key used for generation","type":"string"},"negativePrompt":{"type":"string"},"order":{"default":0,"type":"number"},"qualityFeedback":{"description":"Quality feedback suggestions from auto-rating","items":{"type":"string"},"type":"array"},"qualityScore":{"description":"Quality score from auto-rating (0-10)","type":"number"},"qualityStatus":{"description":"Automated quality verdict for the ingredient","enum":["UNRATED","GOOD","NEEDS_REVIEW"],"type":"string"},"reviewStatus":{"allOf":[{"$ref":"#/components/schemas/FleetReviewStatus"}],"description":"Fleet review status for moderated assets"},"scope":{"allOf":[{"$ref":"#/components/schemas/AssetScope"}]},"status":{"allOf":[{"$ref":"#/components/schemas/IngredientStatus"}]},"tags":{"description":"Array of tag IDs for this ingredient","items":{"type":"string"},"type":"array"},"transformations":{"description":"Transformations applied to this ingredient","items":{"$ref":"#/components/schemas/TransformationCategory"},"type":"array"},"version":{"default":1,"type":"number"},"voiceSource":{"type":"string"}},"type":"object"},"UpdateIngredientMetadataDto":{"properties":{"description":{"type":"string"},"label":{"type":"string"}},"type":"object"},"UpdateInsightDto":{"properties":{"isDismissed":{"description":"Whether the insight has been dismissed.","type":"boolean"},"isRead":{"description":"Whether the insight has been read.","type":"boolean"}},"type":"object"},"UpdateIntegrationDto":{"properties":{"platform":{"allOf":[{"$ref":"#/components/schemas/IntegrationPlatform"}]}},"type":"object"},"UpdateKnowledgeSourceDto":{"properties":{"isVisible":{"type":"boolean"},"purpose":{"allOf":[{"$ref":"#/components/schemas/KnowledgeSourcePurpose"}]},"title":{"type":"string"}},"type":"object"},"UpdateKnowledgeSpaceDto":{"properties":{"title":{"type":"string"}},"required":["title"],"type":"object"},"UpdateLinkDto":{"properties":{"brandId":{"description":"The brand ID this link belongs to","type":"string"},"category":{"allOf":[{"$ref":"#/components/schemas/LinkCategory"}],"default":"OTHER","description":"The type/category of the link"},"isDeleted":{"description":"Whether the link is marked as deleted","type":"boolean"},"label":{"description":"The display name of the link","type":"string"},"url":{"description":"The URL of the link","type":"string"}},"type":"object"},"UpdateListeningTopicDto":{"properties":{"description":{"maxLength":2000,"type":"string"},"excludedKeywords":{"items":{"type":"string"},"maxItems":25,"type":"array"},"freshnessHours":{"default":24,"maximum":720,"minimum":1,"type":"number"},"isActive":{"default":true,"type":"boolean"},"keywords":{"items":{"type":"string"},"maxItems":25,"minItems":1,"type":"array"},"label":{"description":"Operator-facing topic label","maxLength":160,"type":"string"},"languages":{"items":{"type":"string"},"maxItems":10,"type":"array"},"sourceIds":{"items":{"type":"string"},"maxItems":20,"minItems":1,"type":"array"}},"type":"object"},"UpdateMemberDto":{"properties":{"brandIds":{"description":"Brand IDs assigned to this member","items":{"type":"string"},"type":"array"},"isActive":{"description":"Whether this member is currently active","type":"boolean"},"isDeleted":{"description":"Whether the member is marked as deleted","type":"boolean"},"roleId":{"description":"The role ID assigned to this member","type":"string"}},"type":"object"},"UpdateModelDto":{"properties":{"category":{"allOf":[{"$ref":"#/components/schemas/ModelCategory"}],"description":"The type/category of the model"},"cost":{"default":0,"description":"The cost per usage of this model","type":"number"},"description":{"description":"Description of when and where to use this model","type":"string"},"endpoint":{"description":"Provider-side endpoint. Defaults to key for backward compatibility.","type":"string"},"externalId":{"description":"Provider-side model or version identifier","type":"string"},"isActive":{"default":true,"description":"Whether this model is active/visible in dropdowns","type":"boolean"},"isDefault":{"default":false,"description":"Whether this is the default model for its category (used by auto-router)","type":"boolean"},"isDeleted":{"description":"Whether the model is marked as deleted","type":"boolean"},"isDiscovered":{"default":false,"description":"Whether this record was discovered from a provider API","type":"boolean"},"isFree":{"default":false,"description":"Whether the provider guarantees this route costs zero","type":"boolean"},"isHighlighted":{"default":false,"description":"Whether this model is highlighted/featured","type":"boolean"},"isPublic":{"default":true,"description":"Whether the model is globally available","type":"boolean"},"key":{"description":"The unique identifier key for the model","type":"string"},"label":{"description":"The display name of the model","type":"string"},"lifecycle":{"allOf":[{"$ref":"#/components/schemas/ModelLifecycle"}],"default":"AVAILABLE","description":"Operator-controlled model lifecycle"},"margin":{"description":"Commercial margin applied above provider cost","type":"number"},"organizationId":{"description":"Owning organization for private/custom models","type":"string"},"parentModelId":{"description":"Parent/base model id for trained or derivative models","type":"string"},"provider":{"allOf":[{"$ref":"#/components/schemas/ModelProvider"}],"description":"The provider/service that hosts this model"},"providerConfig":{"description":"Provider-specific metadata used by sync/discovery jobs","type":"object"},"reason":{"description":"Reason recorded when rejecting a discovered model","type":"string"},"reviewStatus":{"description":"Registry review transition. Routes the update to approve/reject.","enum":["approved","rejected"],"type":"string"},"succeededBy":{"description":"Replacement model key required for Legacy and Retired","type":"string"},"supportsFeatures":{"description":"Features supported by the model","items":{"type":"string"},"type":"array"},"trainingId":{"description":"Training id that produced this model","type":"string"},"trigger":{"description":"Provider trigger used by trained models","type":"string"},"triggerWord":{"description":"Prompt trigger word used by trained models","type":"string"}},"type":"object"},"UpdateMoodBoardDto":{"properties":{"brandId":{"description":"Brand ID this mood board belongs to","type":"string"},"layout":{"description":"Canvas layout items","items":{"$ref":"#/components/schemas/MoodBoardLayoutItemDto"},"type":"array"},"metadata":{"description":"Additional metadata","type":"object"}},"type":"object"},"UpdateMusicDto":{"properties":{"agentStrategyId":{"type":"string"},"autoSelectModel":{"default":false,"description":"Automatically select the best model based on the prompt. If true, the model parameter will be ignored.","type":"boolean"},"bookmarkId":{"type":"string"},"brandId":{"nullable":true,"type":"string"},"category":{"allOf":[{"$ref":"#/components/schemas/IngredientCategory"}],"default":"IMAGE"},"classifierFreeGuidance":{"default":3,"description":"Classifier free guidance strength","type":"number"},"contentRating":{"description":"Moderation content rating for fleet assets","enum":["SFW","SUGGESTIVE","NSFW"],"type":"string"},"duration":{"default":10,"description":"Duration in seconds","maximum":90,"minimum":4,"type":"number"},"folderId":{"nullable":true,"type":"string"},"generationPrompt":{"type":"string"},"generationSeed":{"type":"number"},"generationSource":{"description":"Redacted generation-brief compiler identity","type":"string"},"groupId":{"description":"Group ID for batch operations (e.g., interpolation pairs)","type":"string"},"groupIndex":{"description":"Index within the group for ordering","type":"number"},"instrumental":{"default":false,"description":"Request a purely instrumental track with no vocals. Only honored by providers that support vocals/lyrics (Eleven Music, Lyria 3 Pro, Mureka V9); ignored by instrumental-only providers (MusicGen).","type":"boolean"},"isDefault":{"default":false,"type":"boolean"},"isDeleted":{"description":"Whether the music is marked as deleted","type":"boolean"},"isHighlighted":{"default":false,"type":"boolean"},"isMergeEnabled":{"type":"boolean"},"language":{"type":"string"},"lyrics":{"description":"Explicit lyrics/composition text (verses, chorus, structure). Only honored by providers that support lyrics (Eleven Music, Lyria 3 Pro, Mureka V9); ignored — and should not be sent — when `instrumental` is true or the resolved model has no vocal/lyrics support.","type":"string"},"metadataId":{"description":"Metadata ID","type":"string"},"model":{"description":"Model key or genfeedai/<id>","type":"string"},"modelUsed":{"type":"string"},"modelVersion":{"default":"melody","description":"Model version: melody, large, etc.","type":"string"},"negativePrompt":{"type":"string"},"order":{"default":0,"type":"number"},"organizationId":{"type":"string"},"outputs":{"default":1,"description":"Number of musics to generate","maximum":4,"minimum":1,"type":"number"},"parentId":{"type":"string"},"personaId":{"type":"string"},"prioritize":{"allOf":[{"$ref":"#/components/schemas/RouterPriority"}],"default":"balanced","description":"Priority for auto model routing: quality, speed, cost, or balanced."},"promptId":{"type":"string"},"providerData":{"description":"Redacted generation-brief compiler and profile evidence","type":"object"},"qualityFeedback":{"description":"Quality feedback suggestions from auto-rating","items":{"type":"string"},"type":"array"},"qualityScore":{"description":"Quality score from auto-rating (0-10)","type":"number"},"qualityStatus":{"description":"Automated quality verdict for the ingredient","enum":["UNRATED","GOOD","NEEDS_REVIEW"],"type":"string"},"requestedSkillSlugs":{"items":{"type":"string"},"type":"array"},"reviewStatus":{"allOf":[{"$ref":"#/components/schemas/FleetReviewStatus"}],"description":"Fleet review status for moderated assets"},"scope":{"allOf":[{"$ref":"#/components/schemas/AssetScope"}]},"seed":{"description":"Random seed for generation","type":"number"},"sourceActionId":{"description":"Confirmed agent action identity for durable reconciliation","type":"string"},"sources":{"description":"Source ingredient IDs (for tracking merged content)","items":{"type":"string"},"type":"array"},"status":{"allOf":[{"$ref":"#/components/schemas/IngredientStatus"}]},"style":{"description":"Genre/style descriptors (e.g. \"synthwave, upbeat, 80s retro\"). Folded into the generation prompt — every music provider responds to genre language in plain text, unlike lyrics/instrumental which need a provider-aware field.","type":"string"},"tags":{"description":"Array of tag IDs for this ingredient","items":{"type":"string"},"type":"array"},"temperature":{"default":1,"description":"Temperature for sampling","type":"number"},"text":{"description":"Description of the music to generate","type":"string"},"topK":{"default":250,"description":"Top-k sampling parameter","type":"number"},"topP":{"default":0,"description":"Top-p sampling parameter","type":"number"},"trainingId":{"type":"string"},"transformations":{"description":"Transformations applied to this ingredient","items":{"$ref":"#/components/schemas/TransformationCategory"},"type":"array"},"userId":{"type":"string"},"version":{"default":1,"type":"number"},"voiceSource":{"type":"string"},"waitForCompletion":{"default":false,"description":"If true, wait for generation to complete before returning the result. Defaults to false (returns immediately with placeholder).","type":"boolean"},"workflowExecutionId":{"type":"string"}},"type":"object"},"UpdateNewsletterDto":{"properties":{"action":{"description":"Lifecycle action. `approve` or `publish` run the dedicated transition; omit for field updates.","enum":["approve","publish"],"type":"string"},"angle":{"description":"Optional angle","type":"string"},"content":{"description":"Markdown content","type":"string"},"contextNewsletterIds":{"description":"Prior newsletters used as context","items":{"type":"string"},"type":"array"},"externalUrl":{"description":"Live URL of the issue when it was sent outside Genfeed. Send null to clear it.","maxLength":2048,"nullable":true,"type":"object"},"generationPrompt":{"description":"Prompt used to generate this newsletter","type":"string"},"label":{"description":"Newsletter title","type":"string"},"scheduledFor":{"description":"Scheduled publication time","format":"date-time","type":"string"},"sourceRefs":{"description":"Explicit source references","items":{"$ref":"#/components/schemas/NewsletterSourceRefDto"},"type":"array"},"status":{"description":"Lifecycle status","enum":["proposed","draft","ready_for_review","approved","published","archived"],"type":"string"},"summary":{"description":"Short summary","type":"string"},"topic":{"description":"Primary newsletter topic","type":"string"}},"type":"object"},"UpdateOrganizationSettingDto":{"properties":{"agentPolicy":{"allOf":[{"$ref":"#/components/schemas/AgentPolicyDto"}],"description":"Default autonomous agent policy for the organization"},"agentReplyStyle":{"default":"CONCISE","description":"Agent reply style preference","enum":["CONCISE","DETAILED","FRIENDLY","PROFESSIONAL"],"type":"string"},"brandsLimit":{"default":5,"type":"number"},"byokOpenrouterApiKey":{"description":"User-provided OpenRouter API key (encrypted at rest)","type":"string"},"defaultAvatarIngredientId":{"description":"Default avatar ingredient ID for identity generation","type":"string"},"defaultAvatarPhotoUrl":null,"defaultAvatarRef":{"allOf":[{"$ref":"#/components/schemas/DefaultAvatarRefDto"}],"nullable":true,"type":"object"},"defaultImageModel":{"description":"Default image generation model for the organization","type":"string"},"defaultImageToVideoModel":{"description":"Default image-to-video generation model for the organization","type":"string"},"defaultLocale":{"default":"en","description":"Locale applied to members who have not chosen one of their own","enum":["en","en-XA"],"type":"string"},"defaultModel":{"description":"Default text model for article generation","type":"string"},"defaultModelReview":{"description":"Default text model for article review","type":"string"},"defaultModelUpdate":{"description":"Default text model for article revision/update","type":"string"},"defaultMusicModel":{"description":"Default music generation model for the organization","type":"string"},"defaultVideoModel":{"description":"Default video generation model for the organization","type":"string"},"defaultVoiceId":{"description":"Default cloned voice ingredient ID for identity generation","type":"string"},"defaultVoiceProvider":{"description":"Default voice provider for identity generation","type":"string"},"defaultVoiceRef":{"allOf":[{"$ref":"#/components/schemas/DefaultVoiceRefDto"}],"description":"Provider-aware default voice reference for identity generation"},"enabledModelIds":{"default":[],"description":"Array of enabled model IDs for the organization","items":{"type":"string"},"type":"array"},"isAutoEvaluateEnabled":{"default":false,"description":"Whether content is automatically evaluated after generation (costs 1 credit per evaluation)","type":"boolean"},"isBrandVisionChecksEnabled":{"default":false,"description":"Paid provider reading of branded visuals (#6727). Off by default; owners and admins may change it.","type":"boolean"},"isBreakoutAutoPublishEnabled":{"default":false,"description":"Lets a breakout response that passed every check schedule itself (#6526). Off by default; owners and admins may change it.","type":"boolean"},"isBreakoutResponsesEnabled":{"default":false,"description":"Own-account breakout responses (#6526). Off by default; owners and admins may change it.","type":"boolean"},"isByokEnabled":{"default":false,"description":"Whether BYOK (Bring Your Own Key) mode is enabled for AI providers","type":"boolean"},"isDeleted":{"description":"Whether the style is marked as deleted","type":"boolean"},"isFirstLogin":{"description":"Whether this is the org owner’s first login. Set to false to mark onboarding complete.","type":"boolean"},"isFleetNsfwVisible":{"default":false,"description":"Whether NSFW fleet assets can be revealed in brand-scoped library surfaces","type":"boolean"},"isGenerateArticlesEnabled":{"default":false,"description":"Whether article generation is enabled","type":"boolean"},"isGenerateImagesEnabled":{"default":true,"description":"Whether image generation is enabled","type":"boolean"},"isGenerateMusicEnabled":{"default":true,"description":"Whether music generation is enabled","type":"boolean"},"isGenerateVideosEnabled":{"default":true,"description":"Whether video generation is enabled","type":"boolean"},"isNotificationsDiscordEnabled":{"default":false,"description":"Whether Discord notifications are enabled","type":"boolean"},"isNotificationsEmailEnabled":{"default":true,"description":"Whether email notifications are enabled","type":"boolean"},"isNotificationsTelegramEnabled":{"default":false,"description":"Whether Telegram notifications are enabled","type":"boolean"},"isReleasePreviewEnabled":{"description":"Release preview. Only platform admins may change it; on cloud it lets modules not yet released in Admin → Flags admit new work.","type":"boolean"},"isVerifyIngredientEnabled":{"default":true,"description":"Whether ingredient verification is enabled","type":"boolean"},"isVerifyScriptEnabled":{"default":true,"description":"Whether script verification is enabled","type":"boolean"},"isVerifyVideoEnabled":{"default":true,"description":"Whether video verification is enabled","type":"boolean"},"isVoiceControlEnabled":{"default":false,"type":"boolean"},"isWatermarkEnabled":{"default":true,"description":"Whether watermarks are enabled on generated content","type":"boolean"},"isWebhookEnabled":{"default":false,"description":"Whether webhooks are enabled","type":"boolean"},"isWhitelabelEnabled":{"default":false,"type":"boolean"},"moduleOverrides":{"description":"Organization module preferences. Only owners and admins may update them.","type":"object"},"onboardingJourneyCompletedAt":{"description":"Timestamp when the onboarding journey was fully completed","format":"date-time","nullable":true,"type":"string"},"onboardingJourneyMissions":{"description":"Tracked onboarding journey mission state for the organization","items":{"$ref":"#/components/schemas/OnboardingJourneyMissionStateDto"},"type":"array"},"organizationId":{"type":"string"},"quotaInstagram":{"default":5,"description":"Daily cap on published Instagram posts per connected account. 0 = no cap.","maximum":1000,"minimum":0,"type":"number"},"quotaTiktok":{"default":1,"description":"Daily cap on published TikTok posts per connected account. 0 = no cap.","maximum":1000,"minimum":0,"type":"number"},"quotaTwitter":{"default":15,"description":"Daily cap on published X (Twitter) posts per connected account. A thread counts as one post. 0 = no cap.","maximum":1000,"minimum":0,"type":"number"},"quotaYoutube":{"default":5,"description":"Daily cap on published YouTube posts per connected account. 0 = no cap.","maximum":1000,"minimum":0,"type":"number"},"releasedItemIds":{"description":"Release items opened for this organization alone. Only platform admins may change it; on cloud each listed item admits new work without a platform-wide release in Admin → Flags.","items":{"type":"string"},"type":"array"},"seatsLimit":{"default":3,"type":"number"},"subscriptionTier":{"description":"Subscription tier for the organization (free, creator, pro, scale, enterprise)","type":"string"},"timezone":{"default":"UTC","description":"Organization timezone for scheduling (e.g., America/New_York, Europe/Paris)","type":"string"},"webhookEndpoint":{"description":"Webhook endpoint URL","type":"string"},"webhookEventTypes":{"description":"Optional webhook event filter. Empty means every webhook event is delivered.","items":{"enum":["release.published","release.partially_published","release.failed","target.published","target.failed","generation.completed","generation.failed","workflow.execution.completed","workflow.execution.failed"],"type":"string"},"type":"array"},"webhookSecret":{"description":"Webhook secret for signature verification","type":"string"}},"type":"object"},"UpdateOutreachCampaignDto":{"properties":{"aiConfig":{"allOf":[{"$ref":"#/components/schemas/OutreachCampaignAiConfigDto"}],"description":"AI configuration for reply generation"},"campaignType":{"allOf":[{"$ref":"#/components/schemas/CampaignType"}],"description":"Type of campaign","example":"manual"},"credentialId":{"description":"Credential to use for posting replies","type":"string"},"description":{"description":"Description of the campaign","type":"string"},"discoveryConfig":{"allOf":[{"$ref":"#/components/schemas/OutreachCampaignDiscoveryConfigDto"}],"description":"Discovery configuration for AI-powered targeting"},"dmConfig":{"allOf":[{"$ref":"#/components/schemas/OutreachCampaignDmConfigDto"}],"description":"DM configuration for DM outreach campaigns"},"isActive":{"default":true,"description":"Whether the campaign is active","type":"boolean"},"label":{"description":"Name of the campaign","example":"Product Launch Campaign","type":"string"},"platform":{"allOf":[{"$ref":"#/components/schemas/CampaignPlatform"}],"description":"Platform for the campaign","example":"twitter"},"rateLimits":{"allOf":[{"$ref":"#/components/schemas/OutreachCampaignRateLimitsDto"}],"description":"Rate limit configuration"},"schedule":{"allOf":[{"$ref":"#/components/schemas/OutreachCampaignScheduleDto"}],"description":"Schedule configuration"},"status":{"allOf":[{"$ref":"#/components/schemas/CampaignStatus"}],"description":"Campaign status"}},"type":"object"},"UpdatePersonaDto":{"properties":{"assignedMembers":{"description":"Assigned team member user IDs","items":{"type":"string"},"type":"array"},"avatarExternalId":{"description":"Provider-side avatar ID","type":"string"},"avatarIngredientId":{"description":"Avatar ingredient ID","type":"string"},"avatarProvider":{"allOf":[{"$ref":"#/components/schemas/AvatarProvider"}],"description":"Avatar provider"},"contentStrategy":{"allOf":[{"$ref":"#/components/schemas/ContentStrategyDto"}],"description":"Content strategy configuration"},"credentials":{"description":"Linked credential IDs for social accounts","items":{"type":"string"},"type":"array"},"description":{"description":"Bio/description","type":"string"},"handle":{"description":"Brand-unique character handle (lowercase [a-z0-9-_], 2–32 chars). Required only for @-mentionability.","type":"object"},"isDeleted":{"description":"Whether the persona is marked as deleted","type":"boolean"},"label":{"description":"Display name of the persona","type":"string"},"memberIds":{"description":"Assigned team member user IDs to set on the persona","items":{"type":"string"},"type":"array"},"profileImageUrl":{"description":"CDN URL for profile image","type":"string"},"status":{"allOf":[{"$ref":"#/components/schemas/PersonaStatus"}],"default":"INACTIVE","description":"Persona status"},"tags":{"description":"Tag IDs","items":{"type":"string"},"type":"array"},"voiceExternalId":{"description":"Provider-side voice ID","type":"string"},"voiceIngredientId":{"description":"Voice ID","type":"string"},"voiceProvider":{"allOf":[{"$ref":"#/components/schemas/VoiceProvider"}],"description":"Voice provider"}},"type":"object"},"UpdatePlatformSettingDto":{"properties":{"agentAutoRoutingDecisionMode":{"description":"Agent auto-routing (#4865).","enum":["off","shadow","live"],"type":"string"},"brandVisionDetectModelKey":{"description":"`Model.key` of the catalog model that detects logo and product regions (capability `brand-detection`). `null` leaves detection unavailable.","nullable":true,"type":"object"},"brandVisionOcrModelKey":{"description":"`Model.key` of the catalog model that reads text from branded visuals (capability `brand-ocr`). `null` leaves OCR unavailable.","nullable":true,"type":"object"},"flags":{"description":"Module and feature flags to change (#5468), e.g. `{\"studio\":false}`. Omitted flags keep their value.","type":"object"},"isAgentContextCompressionEnabled":{"description":"Summarise older agent-thread turns to fit the context.","type":"boolean"},"isAgentTokenStreamingEnabled":{"description":"Real token-by-token agent streaming.","type":"boolean"},"isBrandVisualAnalysisEnabled":{"description":"Provider-backed OCR and placement checks on brand artifacts (#6727). Off keeps them unknown and spends nothing.","type":"boolean"},"isEmailVerificationRequired":{"description":"Email/password accounts must verify their email before signing in.","type":"boolean"},"isMediaPerceptionEnabled":{"description":"Media perception sweep (#4879). `false` stops the workers enqueuing assets.","type":"boolean"},"marginInputMode":{"allOf":[{"$ref":"#/components/schemas/MarginInputMode"}],"default":"MARGIN","description":"How the two margin multipliers above are typed and read in /admin: a markup percent on provider cost, or a margin percent on sell price. Never changes what is stored or billed."},"marginMultiplierAgentChat":{"description":"Agent-chat sell/cost ratio applied to provider USD. 2.0 = 100% markup on provider cost (50% margin).","maximum":10,"minimum":0.01,"type":"number"},"marginMultiplierGeneration":{"description":"Generation sell/cost ratio applied to provider USD. 3.33 = 70% margin on sell price.","maximum":10,"minimum":0.01,"type":"number"},"mediaGateVisionMode":{"description":"Vision-evaluation flags (#4881).","enum":["off","shadow","live"],"type":"string"},"mediaPerceptionFrameCount":{"description":"Evenly spaced stills sampled per video.","maximum":24,"minimum":1,"type":"number"},"mediaPerceptionLookbackHours":{"description":"How far back, in hours, the sweep looks for unperceived assets.","maximum":720,"minimum":1,"type":"number"},"mediaPerceptionVisionModel":{"description":"Scene-description vision model. `null` or empty uses the fast text default.","nullable":true,"type":"object"},"mediaTextGateDecisionMode":{"description":"Text decisions on perception output (#4882).","enum":["off","shadow","live"],"type":"string"},"mediaTextGateMinConfidence":{"description":"Minimum confidence for a `false` text decision to count.","maximum":1,"minimum":0,"type":"number"},"modelDiscoveryDecisionMode":{"description":"Model-discovery category decision (#4869).","enum":["off","shadow","live"],"type":"string"},"modelDiscoveryMinConfidence":{"description":"Model-discovery minimum confidence.","maximum":1,"minimum":0,"type":"number"},"moderationMode":{"description":"Moderation gate (#4880).","enum":["off","shadow","live"],"type":"string"},"moderationProvider":{"description":"Moderation classifier. `openai` needs OPENAI_API_KEY on the server.","enum":["none","openai"],"type":"string"},"moderationThresholds":{"description":"Per-category overrides of the default moderation thresholds, e.g. `{\"sexual\":0.5}`. Lower is stricter.","type":"object"},"patternAnalyzerDecisionMode":{"description":"Pattern-analyzer labels (#4868). Capped at shadow.","enum":["off","shadow"],"type":"string"},"patternAnalyzerMinConfidence":{"description":"Pattern-analyzer minimum confidence.","maximum":1,"minimum":0,"type":"number"},"replyBotIntentDecisionMode":{"description":"Reply-bot intent (#4866).","enum":["off","shadow","live"],"type":"string"},"replyBotIntentMinConfidence":{"description":"Reply-bot intent minimum confidence.","maximum":1,"minimum":0,"type":"number"},"systemEventsEnabledAt":{"description":"ISO timestamp from which signup and billing system events are recorded. `null` disables recording.","nullable":true,"type":"object"},"taskRoutingDecisionMode":{"description":"Task-routing output type (#4867). Capped at shadow.","enum":["off","shadow"],"type":"string"},"taskRoutingMinConfidence":{"description":"Task-routing minimum confidence.","maximum":1,"minimum":0,"type":"number"},"typedDecisionProvider":{"description":"Which provider answers typed decisions. `none` keeps every migrated decision point on its deterministic path.","enum":["jev","none"],"type":"string"},"untrustedContentDecisionMode":{"description":"Untrusted-content gate (#4870). Live activation is closed.","enum":["off","shadow"],"type":"string"},"untrustedContentMinConfidence":{"description":"Untrusted-content minimum confidence.","maximum":1,"minimum":0,"type":"number"}},"type":"object"},"UpdatePlaybookDto":{"properties":{"description":{"description":"Description of the playbook purpose","type":"string"},"name":{"description":"Name of the playbook","type":"string"},"niche":{"description":"Niche/industry for this playbook","type":"string"},"sourceCreators":{"description":"Creator IDs to include in the playbook analysis","items":{"type":"string"},"type":"array"}},"type":"object"},"UpdatePostingCadenceDto":{"properties":{"brandId":{"type":"string"},"brief":{"type":"string"},"credentialId":{"type":"string"},"endsAt":{"type":"string"},"format":{"enum":["ARTICLE","IMAGE","POST","REEL","STORY","TEXT","VIDEO"],"type":"string"},"generateLanding":{"enum":["draft","scheduled"],"type":"string"},"intervalMinutes":{"type":"number"},"label":{"type":"string"},"maxOccurrences":{"type":"number"},"startsAt":{"type":"string"},"timezone":{"type":"string"},"windowEndMinute":{"type":"number"},"windowStartMinute":{"type":"number"}},"type":"object"},"UpdatePostingSetDto":{"properties":{"brandId":{"type":"string"},"description":{"maxLength":1000,"type":"string"},"isEnabled":{"type":"boolean"},"label":{"description":"Display label","maxLength":120,"type":"string"},"targets":{"description":"Reusable channel targets for this posting set","type":"array"}},"type":"object"},"UpdatePostingSignatureDto":{"properties":{"body":{"maxLength":4000,"type":"string"},"brandId":{"type":"string"},"isEnabled":{"type":"boolean"},"label":{"maxLength":120,"type":"string"},"placement":{"enum":["append","prepend"],"type":"string"},"platforms":{"items":{"enum":["youtube","instagram","tiktok","facebook","google_ads","google_search_console","twitter","x_ads","linkedin","pinterest","reddit","discord","telegram","twitch","medium","threads","fanvue","slack","wordpress","snapchat","whatsapp","mastodon","ghost","shopify","beehiiv","unipile","devto","product_hunt","hacker_news","restream"],"type":"string"},"type":"array"}},"type":"object"},"UpdatePresetDto":{"properties":{"aspectRatio":{"description":"Output aspect ratio, such as 16:9","type":"string"},"blacklists":{"description":"Blacklist keys to auto-select","items":{"type":"string"},"type":"array"},"brandId":{"description":"The brand ID for the preset (null for org-wide presets)","type":"string"},"camera":{"description":"Camera key to auto-select","type":"string"},"cameraMovement":{"description":"Camera movement description or key","type":"string"},"category":{"allOf":[{"$ref":"#/components/schemas/ModelCategory"}],"description":"The category of AI model this preset is for"},"description":{"description":"Description of the element","example":"A detailed description of the element","type":"string"},"duration":{"description":"Video duration in seconds; null clears it on update","nullable":true,"type":"object"},"ingredientId":{"description":"Ingredient image ID used as thumbnail for the preset","type":"string"},"isActive":{"default":true,"description":"Whether the preset is active","type":"boolean"},"isDeleted":{"description":"Whether this preset is deleted","type":"boolean"},"isFavorite":{"default":false,"description":"Whether this preset is marked as favorite","type":"boolean"},"key":{"description":"Unique key for the element (lowercase, alphanumeric with hyphens)","example":"example-key","type":"string"},"label":{"description":"Display label for the element","example":"Example Label","type":"string"},"lens":{"description":"Lens description or key","type":"string"},"lighting":{"description":"Lighting description or key","type":"string"},"model":{"description":"Model information for the element","type":"string"},"mood":{"description":"Mood key to auto-select","type":"string"},"organizationId":{"description":"The organization ID for the preset","type":"string"},"platform":{"allOf":[{"$ref":"#/components/schemas/Platform"}],"description":"The platform this preset is for (undefined for universal presets)"},"prompt":{"description":"Optimized prompt for AI generation (separate from description)","type":"string"},"promptTemplate":{"description":"Prompt template key","type":"string"},"scene":{"description":"Scene key to auto-select","type":"string"},"style":{"description":"Style key to auto-select","type":"string"}},"type":"object"},"UpdateProfileDto":{"properties":{},"type":"object"},"UpdateProjectDto":{"properties":{"description":{"description":"Project description","type":"string"},"isDeleted":{"description":"Soft delete flag","type":"boolean"},"label":{"description":"Project label","type":"string"},"status":{"description":"Project status","enum":["active","completed","archived"],"type":"string"}},"type":"object"},"UpdatePromptDto":{"properties":{"blacklists":{"items":{"type":"string"},"type":"array"},"brandId":{"nullable":true,"type":"string"},"camera":{"type":"string"},"category":{"allOf":[{"$ref":"#/components/schemas/PromptCategory"}],"description":"Prompt type (supports dynamic types like models-prompt-genfeedai/<destination>)","example":"presets-description-image"},"duration":{"type":"number"},"fontFamily":{"type":"string"},"fps":{"type":"number"},"ingredientId":{"type":"string"},"isDeleted":{"description":"Whether the prompt is marked as deleted","type":"boolean"},"isFavorite":{"default":false,"description":"Whether this prompt is marked as favorite","type":"boolean"},"isSkipEnhancement":{"default":false,"type":"boolean"},"model":{"description":"Model key or Replicate destination (owner/model[:version]) or Replicate version id","type":"string"},"mood":{"type":"string"},"organizationId":{"nullable":true,"type":"string"},"original":{"type":"string"},"ratio":{"type":"string"},"reference":{"type":"string"},"requestedSkillSlugs":{"description":"Skill slugs picked from the Studio composer `/` palette; their instructions are appended to the enhancement system prompt","type":"array"},"resolution":{"type":"string"},"scene":{"type":"string"},"scope":{"allOf":[{"$ref":"#/components/schemas/AssetScope"}]},"seed":{"type":"number"},"sounds":{"items":{"type":"string"},"type":"array"},"speech":{"description":"Speech text for Google Veo3 models","type":"string"},"status":{"allOf":[{"$ref":"#/components/schemas/PromptStatus"}]},"style":{"type":"string"},"systemPromptKey":{"description":"System prompt template key for enhancement (e.g., system.image, system.brand)","example":"system.image","type":"string"},"tags":{"items":{"type":"string"},"type":"array"},"userId":{"type":"string"}},"type":"object"},"UpdateRoleDto":{"properties":{"isDeleted":{"description":"Whether the role is marked as deleted","type":"boolean"},"key":{"description":"The unique identifier key for the role","type":"string"},"label":{"description":"The display name of the role","type":"string"},"primaryColor":{"description":"Optional primary color associated with the role","type":"string"}},"type":"object"},"UpdateRssSourceDto":{"properties":{"approvalMode":{"enum":["APPROVAL","AUTO"],"type":"string"},"brandId":{"type":"string"},"feedUrl":{"description":"RSS or Atom feed URL","type":"string"},"importPolicy":{"enum":["DRAFT","SCHEDULED","PUBLISH_NOW"],"type":"string"},"isEnabled":{"type":"boolean"},"label":{"description":"Display label","maxLength":120,"type":"string"},"targetChannels":{"description":"Destination channels for imported items","type":"array"},"timezone":{"type":"string"}},"type":"object"},"UpdateSettingDto":{"properties":{"agentMode":{"allOf":[{"$ref":"#/components/schemas/AgentThreadMode"}],"default":"manual","description":"Saved default agent mode (#4672) applied to new agent threads"},"contentPreferences":{"default":[],"description":"Content type preferences selected during onboarding","items":{"enum":["image","video","avatar","music"],"type":"string"},"type":"array"},"dashboardPreferences":{"description":"Per-user dashboard preferences keyed by scope (organization, brand)","type":"object"},"favoriteModelKeys":{"default":[],"description":"Favorite generation model keys saved for the current user","items":{"items":{"type":"string"},"type":"array"},"type":"array"},"favoriteWorkflowIds":{"default":[],"description":"Favorite workflow ids saved for the current user. Every id must be a non-deleted workflow in the caller organization.","items":{"items":{"type":"string"},"type":"array"},"maxItems":50,"type":"array"},"generationPriority":{"allOf":[{"$ref":"#/components/schemas/GenerationPriority"}],"default":"QUALITY","description":"Model selection priority for agent-initiated generations. Persisted as the Prisma `GenerationPriority` label; the model router receives the mapped lowercase `RouterPriority`."},"hiddenAppIds":{"default":[],"description":"Core apps the member took off the rail. They stay in the rail More menu until pinned back. Empty keeps every core app on the rail.","items":{"enum":["workspace","agent","library","publishing","analytics"],"type":"string"},"maxItems":5,"type":"array"},"homeAppId":{"description":"The app the member lands on after login. Null clears it, falling back to the organization default, then Workspace. An app that is unavailable to the member at login time is skipped.","enum":["workspace","agent","library","publishing","analytics","playground","storyboard","turbo","motion","clips","editor","automation","messages","discovery"],"nullable":true,"type":"string"},"isAdvancedMode":{"default":false,"description":"Whether the prompt bar offers manual model choice (otherwise Auto)","type":"boolean"},"isAgentAssetsPanelOpen":{"default":false,"description":"Whether the conversation assets panel is open in agent chat","type":"boolean"},"isDeleted":{"description":"Whether the setting is marked as deleted","type":"boolean"},"isFirstLogin":{"default":false,"description":"Whether this is the user's first login","type":"boolean"},"isMenuCollapsed":{"default":false,"description":"Whether the sidebar menu is collapsed","type":"boolean"},"isSidebarProgressCollapsed":{"default":false,"description":"Whether the consolidated sidebar progress module is collapsed","type":"boolean"},"isSidebarProgressVisible":{"default":true,"description":"Whether the consolidated sidebar progress module is visible","type":"boolean"},"isTrendNotificationsEmail":{"default":false,"description":"Enable email trend notifications","type":"boolean"},"isTrendNotificationsInApp":{"default":true,"description":"Enable in-app trend notifications","type":"boolean"},"isTrendNotificationsTelegram":{"default":false,"description":"Enable Telegram trend notifications","type":"boolean"},"isVerified":{"default":false,"description":"Whether the user is verified","type":"boolean"},"isVideoNotificationsEmail":{"default":false,"description":"Enable video completion and failure emails","type":"boolean"},"locale":{"default":"en","description":"The language the app UI is rendered in","enum":["en","en-XA"],"type":"string"},"pinnedAppIds":{"default":[],"description":"Native secondary apps pinned onto the rail from the Apps launcher, in pin order. A pin shows only while the app is installed and available in the current organization.","items":{"enum":["playground","storyboard","turbo","motion","clips","editor","automation","messages","discovery"],"type":"string"},"maxItems":9,"type":"array"},"railAppOrder":{"default":[],"description":"Rail order over every rail app (core and secondary), left to right. Empty keeps the default order; apps not listed follow in default order.","items":{"enum":["workspace","agent","library","publishing","analytics","playground","storyboard","turbo","motion","clips","editor","automation","messages","discovery"],"type":"string"},"maxItems":14,"type":"array"},"theme":{"default":"system","description":"The UI appearance preference","enum":["system","light","dark"],"type":"string"},"trendNotificationsEmailAddress":{"description":"Email address for trend notifications","type":"string"},"trendNotificationsFrequency":{"allOf":[{"$ref":"#/components/schemas/TrendNotificationFrequency"}],"default":"DAILY","description":"Frequency of trend notifications"},"trendNotificationsMinViralScore":{"default":70,"description":"Minimum viral score for trend notifications","type":"number"},"trendNotificationsTelegramChatId":{"description":"Telegram chat ID for trend notifications","type":"string"},"user":{"description":"The user ID that owns these settings","type":"string"}},"type":"object"},"UpdateSkillDto":{"properties":{"category":{"enum":["writing","image","video","audio","discovery","distribution","analytics","optimization"],"type":"string"},"channels":{"items":{"enum":["tiktok","reels","instagram","youtube","x","linkedin","blog","ads"],"type":"string"},"type":"array"},"configSchema":{"type":"object"},"defaultInstructions":{"type":"string"},"description":{"type":"string"},"inputSchema":{"type":"object"},"modalities":{"items":{"enum":["text","image","video","audio","multi"],"type":"string"},"type":"array"},"name":{"type":"string"},"outputSchema":{"type":"object"},"requiredProviders":{"items":{"enum":["anthropic","openai","openrouter","elevenlabs","replicate","fal","crun","argil","heygen","hedra","klingai","leonardoai","higgsfield","apify","google","xai","bfl","runway"],"type":"string"},"type":"array"},"reviewDefaults":{"type":"object"},"slug":{"type":"string"},"status":{"enum":["draft","published","disabled"],"type":"string"},"systemPromptTemplate":{"type":"string"},"toolOverrides":{"items":{"type":"string"},"type":"array"},"workflowStage":{"enum":["research","planning","creation","review","publishing","analysis"],"type":"string"}},"type":"object"},"UpdateSocialSourceDto":{"properties":{"avatarUrl":{"type":"string"},"bio":{"type":"string"},"credentialId":{"type":"string"},"displayName":{"type":"string"},"externalId":{"type":"string"},"followersCount":{"type":"number"},"handle":{"description":"Platform handle, with or without @","type":"string"},"isActive":{"default":true,"type":"boolean"},"platform":{"allOf":[{"$ref":"#/components/schemas/SocialSourcePlatform"}]},"profileUrl":{"type":"string"},"sourceType":{"allOf":[{"$ref":"#/components/schemas/SocialSourceType"}],"default":"account"}},"type":"object"},"UpdateStoryboardPlanDto":{"properties":{"capabilityVersion":{"type":"string"},"expectedRevision":{"minimum":1,"type":"number"},"plan":{"type":"object"}},"required":["expectedRevision","plan"],"type":"object"},"UpdateStoryboardSourceDto":{"properties":{"expectedRevision":{"minimum":1,"type":"number"},"source":{"type":"object"}},"required":["expectedRevision","source"],"type":"object"},"UpdateStudioLookDto":{"properties":{"aspectRatio":{"description":"Aspect ratio for the generated output, e.g. \"16:9\"","maxLength":20,"type":"object"},"assetType":{"enum":["image","video"],"type":"string"},"brandingMode":{"description":"Brand context mode for prompt assembly","enum":["brand","off"],"type":"string"},"camera":{"description":"Studio camera key","maxLength":200,"type":"string"},"cameraMovement":{"description":"Studio camera-movement key; accepted only for video Looks","maxLength":200,"type":"object"},"duration":{"description":"Duration in seconds; accepted only for video Looks","maximum":60,"minimum":1,"type":"object"},"label":{"description":"Display name for this saved Look","maxLength":80,"type":"string"},"lens":{"description":"Studio lens key","maxLength":200,"type":"string"},"lighting":{"description":"Studio lighting key","maxLength":200,"type":"string"},"modelKey":{"description":"Router model key for auto-routed generation; empty/omitted means Auto","maxLength":200,"type":"object"},"mood":{"description":"Studio mood key","maxLength":200,"type":"string"},"outputs":{"description":"Number of outputs to generate","maximum":10,"minimum":1,"type":"object"},"prioritize":{"allOf":[{"$ref":"#/components/schemas/RouterPriority"}],"description":"Priority for auto model routing: quality, speed, cost, or balanced"},"promptTemplate":{"description":"Studio preset key","maxLength":200,"type":"string"},"resolution":{"description":"Target resolution for the generated output","maxLength":20,"type":"object"},"scene":{"description":"Studio scene key","maxLength":200,"type":"string"},"style":{"description":"Studio style key","maxLength":200,"type":"string"}},"type":"object"},"UpdateTagsDto":{"properties":{"tags":{"description":"Array of tag IDs to assign to this ingredient","example":["507f1f77bcf86cd799439011","507f191e810c19729de860ea"],"items":{"type":"string"},"type":"array"}},"required":["tags"],"type":"object"},"UpdateTaskDto":{"properties":{"assigneeAgentId":{"description":"Agent ID of the assignee","type":"string"},"assigneeUserId":{"description":"Canonical user ID of the assignee","type":"string"},"brandId":{"description":"Canonical brand ID for the task","type":"string"},"description":{"description":"Detailed task description","type":"string"},"elevenlabsVoiceId":{"description":"ElevenLabs voice ID for facecam tasks","type":"string"},"goalId":{"description":"Goal reference ID","type":"string"},"heygenAvatarId":{"description":"HeyGen avatar ID for facecam tasks","type":"string"},"isDeleted":{"description":"Soft delete flag","type":"boolean"},"linkedEntities":{"description":"Linked entities (ingredients, posts, articles, evaluations)","items":{"$ref":"#/components/schemas/LinkedEntityDto"},"type":"array"},"outputType":{"description":"Output type for AI generation","enum":["caption","facecam","image","ingredient","newsletter","post","video"],"type":"string"},"parentId":{"description":"Parent task ID for sub-tasks","type":"string"},"platforms":{"description":"Target platforms","items":{"type":"string"},"type":"array"},"priority":{"description":"Task priority","enum":["critical","high","medium","low"],"type":"string"},"projectId":{"description":"Project reference ID","type":"string"},"reason":{"description":"Reason recorded when requesting changes or dismissing a task","type":"string"},"request":{"description":"AI generation request text","type":"string"},"reviewState":{"description":"Review transition. Routes the update to approve/request-changes/dismiss.","enum":["approved","changes_requested","dismissed"],"type":"string"},"status":{"description":"Task status","enum":["backlog","todo","in_progress","blocked","in_review","done","failed","cancelled"],"type":"string"},"title":{"description":"Task title","type":"string"},"voiceId":{"description":"Provider-agnostic voice ID for facecam tasks (HeyGen catalog ID, ElevenLabs ID, or canonical Voice ID)","type":"string"},"voiceProvider":{"description":"Voice provider hint — determines how voiceId is resolved (heygen | elevenlabs | genfeed-ai | hedra)","type":"string"}},"type":"object"},"UpdateTaskOutputDto":{"properties":{"isKept":{"description":"Whether the output is kept (approved) or reverted.","type":"boolean"}},"required":["isKept"],"type":"object"},"UpdateTemplateDto":{"properties":{"categories":{"description":"Template categories","items":{"type":"string"},"type":"array"},"category":{"allOf":[{"$ref":"#/components/schemas/TemplateCategory"}],"description":"Unified category for both content and prompt templates"},"content":{"description":"Template content with {{variables}}","type":"string"},"description":{"description":"Description of the template","type":"string"},"industries":{"description":"Industries","items":{"type":"string"},"type":"array"},"isActive":{"description":"Whether template is active (for prompt templates)","type":"boolean"},"key":{"description":"Unique key for prompt templates (e.g., \"article.generate.default\")","type":"string"},"label":{"description":"Label of the template","type":"string"},"metadata":{"description":"Template metadata properties","type":"object"},"platforms":{"description":"Platforms","items":{"type":"string"},"type":"array"},"purpose":{"description":"Template purpose: content (user-facing) or prompt (system-level)","enum":["content","prompt"],"type":"string"},"scope":{"allOf":[{"$ref":"#/components/schemas/AssetScope"}],"description":"Asset scope"},"tags":{"description":"Tags","items":{"type":"string"},"type":"array"},"variables":{"description":"Template variables","items":{"type":"string"},"type":"array"},"version":{"description":"Template version (for prompt templates)","type":"number"}},"type":"object"},"UpdateTurboProjectDto":{"properties":{"name":{"maxLength":120,"type":"string"},"settings":{"additionalProperties":true,"description":"Idea and schedule choices; each key replaces its section","type":"object"},"step":{"allOf":[{"$ref":"#/components/schemas/TurboProjectStep"}]},"workflowId":{"description":"Saved workflow for workflow projects","type":"string"}},"type":"object"},"UpdateTurboProjectItemDto":{"properties":{"caption":{"description":"Post caption for this item","type":"string"}},"type":"object"},"UpdateTurboRunDto":{"properties":{},"type":"object"},"UpdateUserDto":{"properties":{"avatar":{"description":"The avatar/profile picture URL of the user","type":"string"},"email":{"description":"The email address of the user","type":"string"},"firstName":{"description":"The first name of the user","type":"string"},"handle":{"description":"The unique handle/username for the user","type":"string"},"isDeleted":{"description":"Whether the user is marked as deleted","type":"boolean"},"isInvited":{"description":"Whether the user was pre-created from an invitation flow","type":"boolean"},"isOnboardingCompleted":{"default":false,"description":"Whether onboarding has been completed by the user","type":"boolean"},"lastName":{"description":"The last name of the user","type":"string"},"onboardingCompletedAt":{"description":"Timestamp for when onboarding completed","format":"date-time","type":"string"},"onboardingStartedAt":{"description":"Timestamp for when onboarding started","format":"date-time","type":"string"},"onboardingStepsCompleted":{"description":"Completed onboarding step keys","items":{"type":"string"},"type":"array"},"onboardingType":{"description":"Onboarding flow type","enum":["CREATOR","ORGANIZATION"],"type":"string"},"selectedBrandId":{"description":"Active brand selection id for the current user. Send null to clear the brand selection and return to organization scope.","nullable":true,"type":"string"}},"type":"object"},"UpdateUserOnboardingDto":{"properties":{"isOnboardingCompleted":{"default":false,"description":"Whether onboarding has been completed by the user","type":"boolean"},"onboardingCompletedAt":{"description":"Timestamp for when onboarding completed","format":"date-time","type":"string"},"onboardingStartedAt":{"description":"Timestamp for when onboarding started","format":"date-time","type":"string"},"onboardingStepsCompleted":{"description":"Completed onboarding step keys","items":{"type":"string"},"type":"array"},"onboardingType":{"description":"Onboarding flow type","enum":["CREATOR","ORGANIZATION"],"type":"string"}},"type":"object"},"UpdateVoiceCatalogDto":{"properties":{"isActive":{"description":"Whether the catalog voice is active","type":"boolean"},"isDefaultSelectable":{"description":"Whether the catalog voice can be selected as a default","type":"boolean"},"isFeatured":{"description":"Whether the catalog voice should be featured in the UI","type":"boolean"}},"type":"object"},"UpdateWatchlistDto":{"properties":{"isDeleted":{"description":"Whether the watchlist is marked as deleted","type":"boolean"}},"type":"object"},"UpdateWorkflowDto":{"properties":{"brandId":{"description":"Brand ID this workflow is scoped to","type":"string"},"completedAt":{"description":"Workflow completion timestamp","format":"date-time","type":"string"},"description":{"description":"Optional detailed description of the workflow","type":"string"},"edgeStyle":{"description":"Rendering style of the workflow graph edges","enum":["default","smoothstep","straight"],"type":"string"},"edges":{"description":"Connections between nodes","items":{"$ref":"#/components/schemas/WorkflowEdgeDto"},"type":"array"},"executionCount":{"description":"Number of times this workflow has been executed","type":"number"},"inputVariables":{"description":"Input variables that can be customized per run","items":{"$ref":"#/components/schemas/WorkflowInputVariableDto"},"type":"array"},"isPublic":{"description":"Whether workflow is visible in marketplace","type":"boolean"},"isScheduleEnabled":{"description":"Whether the schedule is enabled","type":"boolean"},"isTemplate":{"description":"Whether workflow is a reusable template","type":"boolean"},"label":{"description":"The display label/name of the workflow. Omit when sourceWorkflowId is set; the server derives the copy label.","type":"string"},"lastExecutedAt":{"description":"Last execution timestamp","format":"date-time","type":"string"},"lifecycle":{"allOf":[{"$ref":"#/components/schemas/WorkflowLifecycle"}],"description":"Lifecycle status (draft / published / archived)"},"metadata":{"description":"Additional metadata for the workflow","type":"object"},"nodes":{"description":"Visual nodes on the workflow canvas","items":{"$ref":"#/components/schemas/WorkflowVisualNodeDto"},"type":"array"},"progress":{"description":"Workflow progress percentage","type":"number"},"recurrence":{"allOf":[{"$ref":"#/components/schemas/WorkflowRecurrenceDto"}],"description":"Recurrence settings for automated scheduling"},"schedule":{"description":"Cron expression for scheduling (e.g., \"0 9 * * *\" for 9am daily)","type":"string"},"scheduledFor":{"description":"When to first run the workflow (for scheduled workflows)","format":"date-time","type":"string"},"sourceAsset":{"description":"Source asset that triggered the workflow","type":"string"},"sourceType":{"description":"When `system-catalog`, `templateId` is a system catalog canonical id and create installs that catalog entry (idempotent). When `featured-workflow`, `sourceWorkflowId` is an admin-pinned Featured workflow and create copies its graph into the caller organization.","enum":["system-catalog","seeded-template","featured-workflow"],"type":"string"},"sourceWorkflowId":{"description":"When set, create is a clone of this workflow (POST /workflows body clone).","type":"string"},"startedAt":{"description":"Workflow start timestamp","format":"date-time","type":"string"},"status":{"allOf":[{"$ref":"#/components/schemas/WorkflowStatus"}],"description":"Workflow status"},"tags":{"description":"Tags for categorizing the workflow","items":{"type":"string"},"type":"array"},"templateId":{"description":"Template ID if using a predefined workflow","type":"string"},"thumbnail":{"description":"Workflow thumbnail URL","type":"string"},"thumbnailNodeId":{"description":"Node ID currently selected as the workflow thumbnail source","type":"string"},"timezone":{"description":"Timezone for schedule (e.g., \"America/New_York\")","type":"string"},"trigger":{"allOf":[{"$ref":"#/components/schemas/WorkflowTrigger"}],"description":"When the workflow should trigger"}},"type":"object"},"UpdateWorkflowEmailNotificationPreferenceDto":{"properties":{"isEnabled":{"description":"Send an email when an owned workflow completes or fails","type":"boolean"}},"required":["isEnabled"],"type":"object"},"UpdateWorkflowExecutionDto":{"properties":{"error":{"description":"Error message if failed","type":"string"},"status":{"allOf":[{"$ref":"#/components/schemas/WorkflowExecutionStatus"}],"description":"Execution status"}},"type":"object"},"UploadBrandFontDto":{"properties":{},"type":"object"},"UploadDesktopAssetDto":{"properties":{},"type":"object"},"UploadImageDto":{"properties":{"category":{"allOf":[{"$ref":"#/components/schemas/IngredientCategory"}],"description":"Category of the ingredient to upload"}},"required":["category"],"type":"object"},"UploadIntegrationMediaDto":{"properties":{},"type":"object"},"UploadKnowledgeSourceDto":{"properties":{"purpose":{"allOf":[{"$ref":"#/components/schemas/KnowledgeSourcePurpose"}]},"scope":{"allOf":[{"$ref":"#/components/schemas/KnowledgeMemoryScope"}]},"title":{"description":"Defaults to the uploaded file name.","type":"string"}},"required":["scope","purpose"],"type":"object"},"UploadNftDto":{"properties":{"address":{"description":"NFT address on Solana blockchain","example":"7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU","type":"string"}},"required":["address"],"type":"object"},"UpscaleFactor":{"description":"Upscale factor","enum":["2x","4x","6x"],"type":"string"},"UpsertDashboardLayoutDto":{"properties":{"brandId":{"description":"Brand ID this dashboard layout belongs to","type":"string"},"document":{"description":"Persisted dashboard layout document (sanitized OpenUI blocks)","type":"object"},"pageKey":{"description":"Page key identifying which dashboard page this layout is for. Defaults to `workspace-overview` when omitted.","type":"string"},"version":{"description":"Layout schema version","type":"number"}},"required":["brandId","document"],"type":"object"},"UpsertHarnessProfileDto":{"properties":{},"type":"object"},"UpsertSocialWarmupSignalDto":{"properties":{"evidence":{"type":"object"},"key":{"maxLength":160,"type":"string"},"observedAt":{"type":"object"},"source":{"enum":["PLATFORM","GENFEED","USER"],"type":"string"},"staleAt":{"type":"object"},"status":{"enum":["AVAILABLE","EMPTY","STALE","UNAVAILABLE","PERMISSION_LIMITED","FAILED","MISSING","REVOKED"],"type":"string"}},"required":["key","status","source"],"type":"object"},"UpsertStudioGenerateDraftDto":{"properties":{"attachments":{"description":"Composer uploads, already persisted as Library assets","items":{"$ref":"#/components/schemas/StudioGenerateDraftReferenceDto"},"type":"array"},"brandId":{"description":"Brand open in the requesting tab; must belong to the caller organization","type":"string"},"knowledgeSelection":{"$ref":"#/components/schemas/KnowledgeSelectionDto"},"prompt":{"maxLength":20000,"type":"string"},"references":{"items":{"$ref":"#/components/schemas/StudioGenerateDraftReferenceDto"},"type":"array"},"settingsByType":{"description":"Composer settings keyed by asset type; unknown types are discarded","type":"object"},"type":{"enum":["image","image-edit","video","music","avatar","voice"],"type":"string"}},"required":["brandId","type","prompt","settingsByType","references","attachments","knowledgeSelection"],"type":"object"},"UseTemplateDto":{"properties":{},"type":"object"},"ValidateSocialSourceDto":{"properties":{"handle":{"description":"Platform handle or profile URL","maxLength":512,"type":"string"},"platform":{"allOf":[{"$ref":"#/components/schemas/SocialSourcePlatform"}]}},"required":["platform","handle"],"type":"object"},"ValidateTwitterUsernameDto":{"properties":{"username":{"description":"Twitter username to validate (without @)","example":"elonmusk","type":"string"}},"required":["username"],"type":"object"},"ValidateWorkflowConnectionDto":{"properties":{"sourceHandle":{"description":"Source output handle","type":"string"},"sourceType":{"description":"Source node type","type":"string"},"targetHandle":{"description":"Target input handle","type":"string"},"targetType":{"description":"Target node type","type":"string"}},"required":["sourceType","sourceHandle","targetType","targetHandle"],"type":"object"},"ValidateWorkflowInputsDto":{"properties":{"inputs":{"description":"Workflow input values","type":"object"}},"type":"object"},"VerifyMcpConnectionDto":{"properties":{"key":{"description":"Copy-once Genfeed API key used only for this bounded MCP verification.","example":"gf_live_...","maxLength":256,"minLength":32,"pattern":"^gf_(live|test)_[A-Za-z0-9_-]+$","type":"string","writeOnly":true}},"required":["key"],"type":"object"},"VerifyReceiptDto":{"properties":{"receiptId":{"description":"Receipt ID to verify (format: sk_rcpt_<id>)","type":"string"}},"required":["receiptId"],"type":"object"},"VideoClipChainDto":{"properties":{"aspectRatio":{"default":"16:9","type":"string"},"characterHandles":{"description":"Brand character handles resolved to canonical stills before the run is created. Merged with `characterIngredientIds`. Prompt `@handle` scanning is not performed.","items":{"type":"string"},"type":"array"},"characterIngredientIds":{"description":"Canonical character still ingredient ids (avatar / character sheet) attached to every segment as identity refs. Optional when `characterHandles` is supplied.","items":{"type":"string"},"type":"array"},"duration":{"default":8,"maximum":30,"minimum":1,"type":"number"},"environmentIngredientIds":{"description":"Optional environment / location still ingredient ids locked on every segment as extra subject refs","items":{"type":"string"},"type":"array"},"identityDirective":{"description":"Prose identity line prepended to every segment prompt. Prompt colour only — it never substitutes for the ingredient ids.","type":"string"},"label":{"description":"Workflow label","type":"string"},"model":{"description":"Allowlisted video generation model key","type":"string"},"productIngredientIds":{"description":"Optional product still ingredient ids locked on every segment","items":{"type":"string"},"type":"array"},"segmentCount":{"default":3,"maximum":30,"minimum":2,"type":"number"},"segmentPrompts":{"description":"Per-segment motion / dialogue beats. Defines the segment count when `segmentCount` is omitted.","items":{"type":"string"},"type":"array"}},"required":["model"],"type":"object"},"VideoEditDto":{"properties":{"brand":{"description":"Account ID for the video","type":"string"},"model":{"description":"Model to use for video editing","type":"string"},"organization":{"description":"Organization ID for the video","type":"string"},"targetFps":{"default":60,"description":"Target FPS for video upscaling","maximum":120,"minimum":1,"type":"number"},"targetResolution":{"default":"4k","description":"Target resolution for video upscaling","enum":["720p","1080p","2k","4k"],"type":"string"}},"type":"object"},"VideoExtendDto":{"properties":{"duration":{"default":8,"maximum":30,"minimum":1,"type":"number"},"model":{"description":"Allowlisted video generation model key","type":"string"},"prompt":{"description":"Direction for the generated continuation","example":"Continue the camera move as the subject enters the next room","type":"string"}},"required":["prompt","model"],"type":"object"},"VideoMetadataDto":{"properties":{"codec":{"description":"Video codec","type":"string"},"duration":{"description":"Video duration in seconds","type":"number"},"fileSize":{"description":"Video file size in bytes","type":"number"},"fps":{"description":"Video frames per second","type":"number"},"height":{"description":"Video height in pixels","type":"number"},"width":{"description":"Video width in pixels","type":"number"}},"type":"object"},"VideoTransition":{"description":"Transition effect between video clips","enum":["none","fade","dissolve","wipeleft","wiperight","wipeup","wipedown","circleopen","circleclose","slideleft","slideright"],"type":"string"},"VoiceProvider":{"description":"Voice provider","enum":["HEYGEN","ELEVENLABS","HEDRA","GENFEED_AI"],"type":"string"},"VoteEntityModel":{"description":"The type of entity being voted on","enum":["Ingredient","Prompt"],"type":"string"},"WebsitePreviewDto":{"properties":{"websiteUrl":{"description":"Public website URL to scrape for brand create prefill","example":"https://acme.com","type":"string"}},"required":["websiteUrl"],"type":"object"},"WorkflowEdgeDto":{"properties":{"id":{"description":"Unique edge ID","type":"string"},"source":{"description":"Source node ID","type":"string"},"sourceHandle":{"description":"Source handle/port","type":"string"},"target":{"description":"Target node ID","type":"string"},"targetHandle":{"description":"Target handle/port","type":"string"}},"required":["id","source","target"],"type":"object"},"WorkflowExecutionStatus":{"enum":["PENDING","RUNNING","COMPLETED","FAILED","CANCELLED"],"type":"string"},"WorkflowExecutionTrigger":{"enum":["manual","scheduled","event","api"],"type":"string"},"WorkflowInputOverrideDto":{"properties":{"key":{"description":"Workflow inputVariable key","example":"cta","type":"string"},"value":{"description":"Scalar override value (string, number, or boolean)","example":"Follow for more","type":"object"}},"required":["key","value"],"type":"object"},"WorkflowInputVariableDto":{"properties":{"defaultValue":{"description":"Default value","type":"object"},"description":{"description":"Help text","type":"string"},"key":{"description":"Variable key (used in node config)","type":"string"},"label":{"description":"Display label","type":"string"},"required":{"description":"Whether this variable is required","type":"boolean"},"type":{"description":"Variable type","enum":["image","video","audio","text","number","select","asset","boolean"],"type":"string"},"validation":{"allOf":[{"$ref":"#/components/schemas/WorkflowInputVariableValidationDto"}],"description":"Validation rules"}},"required":["key","type","label"],"type":"object"},"WorkflowInputVariableValidationDto":{"properties":{"max":{"description":"Maximum value for numbers","type":"number"},"min":{"description":"Minimum value for numbers","type":"number"},"options":{"description":"Options for select type","items":{"type":"string"},"type":"array"},"pattern":{"description":"Regex pattern for text","type":"string"}},"type":"object"},"WorkflowLifecycle":{"description":"Lifecycle status (draft / published / archived)","enum":["draft","published","archived"],"type":"string"},"WorkflowNodeDataDto":{"properties":{"config":{"description":"Node configuration","type":"object"},"inputVariableKeys":{"description":"Keys of input variables used by this node","items":{"type":"string"},"type":"array"},"label":{"description":"Display label for the node","type":"string"}},"required":["label"],"type":"object"},"WorkflowNodePositionDto":{"properties":{"x":{"description":"X coordinate on canvas","type":"number"},"y":{"description":"Y coordinate on canvas","type":"number"}},"required":["x","y"],"type":"object"},"WorkflowRecurrenceDto":{"properties":{"category":{"allOf":[{"$ref":"#/components/schemas/WorkflowRecurrenceType"}],"default":"once","description":"Recurrence frequency"},"endDate":{"description":"Stop recurring after this date","format":"date-time","type":"string"},"timezone":{"description":"Timezone (e.g., America/Los_Angeles, Europe/London)","example":"America/Los_Angeles","type":"string"}},"required":["category"],"type":"object"},"WorkflowRecurrenceType":{"description":"Recurrence frequency","enum":["once","every-30-min","hourly","daily","weekly","monthly"],"type":"string"},"WorkflowStatus":{"description":"Workflow status","enum":["draft","active","paused","completed","failed","running"],"type":"string"},"WorkflowTrigger":{"description":"When the workflow should trigger","enum":["manual","on-video-complete","on-image-complete","scheduled"],"type":"string"},"WorkflowVisualNodeDto":{"properties":{"data":{"allOf":[{"$ref":"#/components/schemas/WorkflowNodeDataDto"}],"description":"Node data and config"},"id":{"description":"Unique node ID","type":"string"},"position":{"allOf":[{"$ref":"#/components/schemas/WorkflowNodePositionDto"}],"description":"Node position on canvas"},"type":{"description":"Node type from registry","type":"string"}},"required":["id","type","position","data"],"type":"object"},"WorkspaceInboxReadDto":{"properties":{},"type":"object"}},"securitySchemes":{"bearer":{"bearerFormat":"JWT","scheme":"bearer","type":"http"}}},"info":{"contact":{},"description":"Genfeed.ai API","title":"Genfeed.ai API","version":"0.2.13"},"openapi":"3.0.0","paths":{"/v1/accept-invitation":{"get":{"description":"InvitationsController.acceptInvitationRedirect","operationId":"InvitationsController.acceptInvitationRedirect","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Invitations"]}},"/v1/activities":{"get":{"description":"findAll","operationId":"ActivitiesController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["activities"]},"patch":{"description":"bulkUpdate","operationId":"ActivitiesController.bulkUpdate","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkUpdateActivitiesDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"bulkUpdate","tags":["activities"]}},"/v1/activities/{activityId}":{"patch":{"description":"update","operationId":"ActivitiesController.update","parameters":[{"in":"path","name":"activityId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateActivityDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["activities"]}},"/v1/ad-watched-advertisers":{"get":{"description":"findAll","operationId":"AdWatchedAdvertisersController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["ad-watched-advertisers","Ad Watched Advertisers"]},"post":{"description":"create","operationId":"AdWatchedAdvertisersController.create","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["ad-watched-advertisers","Ad Watched Advertisers"]}},"/v1/ad-watched-advertisers/{id}":{"delete":{"description":"remove","operationId":"AdWatchedAdvertisersController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["ad-watched-advertisers","Ad Watched Advertisers"]},"get":{"description":"findOne","operationId":"AdWatchedAdvertisersController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["ad-watched-advertisers","Ad Watched Advertisers"]},"patch":{"description":"patch","operationId":"AdWatchedAdvertisersController.patch","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAdWatchedAdvertiserDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patch","tags":["ad-watched-advertisers","Ad Watched Advertisers"]}},"/v1/admin/ai-influencer/generate":{"post":{"description":"Generate and publish a post for a specific persona","operationId":"AiInfluencerController.generatePost","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneratePostDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Generate and publish a post for a specific persona","tags":["Admin / AI Influencer"]}},"/v1/admin/ai-influencer/posts":{"get":{"description":"List generated AI influencer posts","operationId":"AiInfluencerController.listPosts","parameters":[{"description":"Filter by persona slug","in":"query","name":"personaSlug","required":false,"schema":{"type":"string"}},{"description":"Filter by platform","in":"query","name":"platform","required":false,"schema":{"type":"string"}},{"description":"Number of results to return","in":"query","name":"limit","required":false,"schema":{"default":20,"type":"number"}},{"description":"Page number","in":"query","name":"page","required":false,"schema":{"default":1,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"List generated AI influencer posts","tags":["Admin / AI Influencer"]}},"/v1/admin/ai-influencer/schedule":{"post":{"description":"Trigger daily schedule for all personas with autopilot enabled","operationId":"AiInfluencerController.scheduleDailyPosts","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleDailyPostsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Trigger daily schedule for all personas with autopilot enabled","tags":["Admin / AI Influencer"]}},"/v1/admin/announcements":{"get":{"description":"Get announcement broadcast history","operationId":"AnnouncementsController.getHistory","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get announcement broadcast history","tags":["Admin / Announcements"]}},"/v1/admin/announcements/broadcast":{"post":{"description":"Broadcast an announcement to Discord and/or Twitter","operationId":"AnnouncementsController.broadcast","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BroadcastAnnouncementDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Broadcast an announcement to Discord and/or Twitter","tags":["Admin / Announcements"]}},"/v1/admin/content-learning/accounts":{"get":{"description":"ContentLearningAdminController.accounts","operationId":"ContentLearningAdminController.accounts","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearningAdmin"]}},"/v1/admin/content-learning/accounts/{id}/pause":{"post":{"description":"ContentLearningAdminController.pauseAccount","operationId":"ContentLearningAdminController.pauseAccount","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LearningMutationDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearningAdmin"]}},"/v1/admin/content-learning/datasets":{"get":{"description":"ContentLearningAdminController.datasetList","operationId":"ContentLearningAdminController.datasetList","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearningAdmin"]},"post":{"description":"ContentLearningAdminController.createDataset","operationId":"ContentLearningAdminController.createDataset","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LearningDatasetDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearningAdmin"]}},"/v1/admin/content-learning/datasets/{id}/train":{"post":{"description":"ContentLearningAdminController.train","operationId":"ContentLearningAdminController.train","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LearningRunDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearningAdmin"]}},"/v1/admin/content-learning/health":{"get":{"description":"ContentLearningAdminController.health","operationId":"ContentLearningAdminController.health","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearningAdmin"]}},"/v1/admin/content-learning/releases":{"get":{"description":"ContentLearningAdminController.releaseList","operationId":"ContentLearningAdminController.releaseList","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearningAdmin"]},"post":{"description":"ContentLearningAdminController.createRelease","operationId":"ContentLearningAdminController.createRelease","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LearningReleaseDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearningAdmin"]}},"/v1/admin/content-learning/releases/{id}/control":{"post":{"description":"ContentLearningAdminController.controlRelease","operationId":"ContentLearningAdminController.controlRelease","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LearningReleaseControlDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearningAdmin"]}},"/v1/admin/content-learning/runs":{"get":{"description":"ContentLearningAdminController.runList","operationId":"ContentLearningAdminController.runList","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearningAdmin"]}},"/v1/admin/content-learning/runs/{id}/cancel":{"post":{"description":"ContentLearningAdminController.cancel","operationId":"ContentLearningAdminController.cancel","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LearningRunControlDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearningAdmin"]}},"/v1/admin/content-learning/runs/{id}/evaluate":{"post":{"description":"ContentLearningAdminController.evaluate","operationId":"ContentLearningAdminController.evaluate","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LearningRunDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearningAdmin"]}},"/v1/admin/content-learning/runs/{id}/retry":{"post":{"description":"ContentLearningAdminController.retry","operationId":"ContentLearningAdminController.retry","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LearningRunControlDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearningAdmin"]}},"/v1/admin/economics/costs":{"get":{"description":"LLM and generation provider cost by day, model and category","operationId":"EconomicsController.getCosts","parameters":[{"description":"Inclusive period start date or timestamp (UTC day)","in":"query","name":"from","required":false,"schema":{"example":"2026-09-01","type":"string"}},{"description":"Inclusive period end date or timestamp (UTC day)","in":"query","name":"to","required":false,"schema":{"example":"2026-09-30","type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"LLM and generation provider cost by day, model and category","tags":["Admin / Economics"]}},"/v1/admin/economics/coverage":{"get":{"description":"Ledger freshness and credits spent per operation next to the provider cost recorded for it","operationId":"EconomicsController.getCoverage","parameters":[{"description":"Inclusive period start date or timestamp (UTC day)","in":"query","name":"from","required":false,"schema":{"example":"2026-09-01","type":"string"}},{"description":"Inclusive period end date or timestamp (UTC day)","in":"query","name":"to","required":false,"schema":{"example":"2026-09-30","type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Ledger freshness and credits spent per operation next to the provider cost recorded for it","tags":["Admin / Economics"]}},"/v1/admin/economics/overview":{"get":{"description":"Revenue, provider cost, credits and both margins, with a daily series and the previous period","operationId":"EconomicsController.getOverview","parameters":[{"description":"Inclusive period start date or timestamp (UTC day)","in":"query","name":"from","required":false,"schema":{"example":"2026-09-01","type":"string"}},{"description":"Inclusive period end date or timestamp (UTC day)","in":"query","name":"to","required":false,"schema":{"example":"2026-09-30","type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Revenue, provider cost, credits and both margins, with a daily series and the previous period","tags":["Admin / Economics"]}},"/v1/admin/economics/revenue":{"get":{"description":"Stripe revenue by day and source, top organizations and the latest payments","operationId":"EconomicsController.getRevenue","parameters":[{"description":"Inclusive period start date or timestamp (UTC day)","in":"query","name":"from","required":false,"schema":{"example":"2026-09-01","type":"string"}},{"description":"Inclusive period end date or timestamp (UTC day)","in":"query","name":"to","required":false,"schema":{"example":"2026-09-30","type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Stripe revenue by day and source, top organizations and the latest payments","tags":["Admin / Economics"]}},"/v1/admin/featured-workflows":{"get":{"description":"List the pinned Featured workflows in order","operationId":"FeaturedWorkflowsController.list","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"List the pinned Featured workflows in order","tags":["Admin / Featured Workflows"]}},"/v1/admin/featured-workflows/order":{"put":{"description":"Reorder the pinned Featured workflows","operationId":"FeaturedWorkflowsController.reorder","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReorderFeaturedWorkflowsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Reorder the pinned Featured workflows","tags":["Admin / Featured Workflows"]}},"/v1/admin/featured-workflows/{workflowId}":{"delete":{"description":"Unpin a workflow from Featured","operationId":"FeaturedWorkflowsController.unpin","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Unpin a workflow from Featured","tags":["Admin / Featured Workflows"]},"put":{"description":"Pin a workflow to the end of Featured","operationId":"FeaturedWorkflowsController.pin","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Pin a workflow to the end of Featured","tags":["Admin / Featured Workflows"]}},"/v1/admin/model-pricing":{"get":{"description":"AdminModelPricingController.getReport","operationId":"AdminModelPricingController.getReport","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["AdminModelPricing"]}},"/v1/admin/model-pricing/fix":{"post":{"description":"AdminModelPricingController.fix","operationId":"AdminModelPricingController.fix","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["AdminModelPricing"]}},"/v1/admin/model-pricing/sync":{"post":{"description":"AdminModelPricingController.sync","operationId":"AdminModelPricingController.sync","parameters":[],"responses":{"202":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["AdminModelPricing"]}},"/v1/admin/model-pricing/{modelId}/approve-rates":{"post":{"description":"AdminModelPricingController.approveRates","operationId":"AdminModelPricingController.approveRates","parameters":[{"in":"path","name":"modelId","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["AdminModelPricing"]}},"/v1/admin/organization-apps":{"get":{"description":"Read-only report of the apps each organization sees, with release flags and per-organization switches","operationId":"OrganizationAppsReportController.getReport","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Read-only report of the apps each organization sees, with release flags and per-organization switches","tags":["Admin / Organization Apps"]}},"/v1/admin/organizations/{organizationId}/credit-holds":{"get":{"description":"AdminCreditHoldsController.list","operationId":"AdminCreditHoldsController.list","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"query","name":"cursor","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["AdminCreditHolds"]}},"/v1/admin/organizations/{organizationId}/credit-holds/{reservationId}/actions":{"post":{"description":"AdminCreditHoldsController.act","operationId":"AdminCreditHoldsController.act","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"reservationId","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["AdminCreditHolds"]}},"/v1/admin/platform-settings":{"get":{"description":"Get platform-wide operator settings (singleton)","operationId":"PlatformSettingsController.get","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get platform-wide operator settings (singleton)","tags":["Admin / Platform Settings"]},"patch":{"description":"Update platform-wide operator settings (singleton)","operationId":"PlatformSettingsController.update","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePlatformSettingDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Update platform-wide operator settings (singleton)","tags":["Admin / Platform Settings"]}},"/v1/admin/platform-settings/brand-vision-models":{"get":{"description":"Catalog models an operator can pick for brand OCR and brand detection, with their per-second price","operationId":"PlatformSettingsController.getBrandVisionModels","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Catalog models an operator can pick for brand OCR and brand detection, with their per-second price","tags":["Admin / Platform Settings"]}},"/v1/admin/seeds/articles":{"post":{"description":"Publish the launch and help articles","operationId":"AdminSeedsController.articles","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedArticlesDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Publish the launch and help articles","tags":["Admin / Seeds"]}},"/v1/admin/seeds/templates":{"post":{"description":"Create the missing platform (system) templates","operationId":"AdminSeedsController.templates","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedTemplatesDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Create the missing platform (system) templates","tags":["Admin / Seeds"]}},"/v1/admin/seeds/workflows":{"post":{"description":"Ensure the default recurring workflows per brand","operationId":"AdminSeedsController.workflows","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedWorkflowsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Ensure the default recurring workflows per brand","tags":["Admin / Seeds"]}},"/v1/admin/system-brand":{"get":{"description":"Get the Genfeed system brand revision, creating it on first use","operationId":"SystemBrandController.get","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get the Genfeed system brand revision, creating it on first use","tags":["Admin / System Brand"]}},"/v1/admin/system-brand/revisions/{revisionId}":{"patch":{"description":"Edit the system brand kit draft","operationId":"SystemBrandController.update","parameters":[{"in":"path","name":"revisionId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBrandOsRevisionDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Edit the system brand kit draft","tags":["Admin / System Brand"]}},"/v1/admin/system-brand/revisions/{revisionId}/approve":{"post":{"description":"Approve the edited system brand kit; internal output is then generated against an approved brand","operationId":"SystemBrandController.approve","parameters":[{"in":"path","name":"revisionId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApproveSystemBrandDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Approve the edited system brand kit; internal output is then generated against an approved brand","tags":["Admin / System Brand"]}},"/v1/admin/system-emails":{"get":{"description":"List platform-owned lifecycle system emails","operationId":"SystemEmailsController.list","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"List platform-owned lifecycle system emails","tags":["Admin / System Emails"]}},"/v1/admin/system-emails/performance":{"get":{"description":"Report unique email outcomes by queued message cohort","operationId":"SystemEmailsController.performance","parameters":[{"description":"Inclusive UTC cohort start; defaults to 30 days ago","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"Exclusive UTC cohort end; maximum range is 90 days","in":"query","name":"to","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Report unique email outcomes by queued message cohort","tags":["Admin / System Emails"]}},"/v1/admin/system-notifications":{"get":{"description":"AdminSystemNotificationsController.overview","operationId":"AdminSystemNotificationsController.overview","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["AdminSystemNotifications"]},"patch":{"description":"AdminSystemNotificationsController.configure","operationId":"AdminSystemNotificationsController.configure","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["AdminSystemNotifications"]}},"/v1/admin/system-notifications/deliveries/{id}/retry":{"post":{"description":"AdminSystemNotificationsController.retry","operationId":"AdminSystemNotificationsController.retry","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["AdminSystemNotifications"]}},"/v1/admin/system-notifications/destinations":{"post":{"description":"AdminSystemNotificationsController.createDestination","operationId":"AdminSystemNotificationsController.createDestination","parameters":[],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["AdminSystemNotifications"]}},"/v1/admin/system-notifications/destinations/{id}":{"delete":{"description":"AdminSystemNotificationsController.removeDestination","operationId":"AdminSystemNotificationsController.removeDestination","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["AdminSystemNotifications"]},"patch":{"description":"AdminSystemNotificationsController.updateDestination","operationId":"AdminSystemNotificationsController.updateDestination","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["AdminSystemNotifications"]}},"/v1/admin/system-notifications/destinations/{id}/test":{"post":{"description":"AdminSystemNotificationsController.testDestination","operationId":"AdminSystemNotificationsController.testDestination","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["AdminSystemNotifications"]}},"/v1/admin/system-notifications/discord-channels/{channel}/test":{"post":{"description":"AdminSystemNotificationsController.testDiscordChannel","operationId":"AdminSystemNotificationsController.testDiscordChannel","parameters":[{"in":"path","name":"channel","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["AdminSystemNotifications"]}},"/v1/admin/unit-economics":{"get":{"description":"Revenue, credits consumed, provider cost, and gross margin per organization (or per user with organizationId)","operationId":"UnitEconomicsController.getReport","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}},{"description":"Inclusive period start date or timestamp","in":"query","name":"from","required":false,"schema":{"example":"2026-09-01","type":"string"}},{"description":"Inclusive period end date or timestamp","in":"query","name":"to","required":false,"schema":{"example":"2026-09-30","type":"string"}},{"description":"Drill into one organization, grouped by user","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Order the rows by this column in the database. Defaults to provider cost.","in":"query","name":"sortKey","required":false,"schema":{"enum":["agentChatCredits","agentTurns","generationCredits","grossMarginPercent","grossMarginUsd","label","llmProviderCostUsd","mediaProviderCostUsd","revenueUsd"],"type":"string"}},{"description":"Sort direction for sortKey","in":"query","name":"sortDirection","required":false,"schema":{"default":"desc","enum":["asc","desc"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Revenue, credits consumed, provider cost, and gross margin per organization (or per user with organizationId)","tags":["Admin / Unit Economics"]}},"/v1/admin/warmup-accounts":{"get":{"description":"List warm-up accounts","operationId":"WarmupAccountsController.list","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"List warm-up accounts","tags":["Admin / Warm-up Accounts"]},"post":{"description":"Provision a lead warm-up account","operationId":"WarmupAccountsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWarmupAccountDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Provision a lead warm-up account","tags":["Admin / Warm-up Accounts"]}},"/v1/admin/warmup-accounts/{id}":{"get":{"description":"Get warm-up account details","operationId":"WarmupAccountsController.get","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get warm-up account details","tags":["Admin / Warm-up Accounts"]}},"/v1/admin/warmup-accounts/{id}/invitation":{"get":{"description":"Inspect a warm-up invitation lifecycle and diagnostics","operationId":"WarmupAccountsController.inspectInvitation","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Inspect a warm-up invitation lifecycle and diagnostics","tags":["Admin / Warm-up Accounts"]}},"/v1/admin/warmup-accounts/{id}/invitation/resend":{"post":{"description":"Resend a warm-up invitation","operationId":"WarmupAccountsController.resendInvitation","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Resend a warm-up invitation","tags":["Admin / Warm-up Accounts"]}},"/v1/admin/warmup-accounts/{id}/invitation/revoke":{"post":{"description":"Revoke a warm-up invitation","operationId":"WarmupAccountsController.revokeInvitation","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Revoke a warm-up invitation","tags":["Admin / Warm-up Accounts"]}},"/v1/admin/warmup-accounts/{id}/invitation/send":{"post":{"description":"Send a pending warm-up invitation","operationId":"WarmupAccountsController.sendInvitation","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Send a pending warm-up invitation","tags":["Admin / Warm-up Accounts"]}},"/v1/admin/warmup-accounts/{id}/prepare":{"post":{"description":"Repair, fund, prepare or archive a warm-up workspace","operationId":"WarmupAccountsController.prepare","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrepareWarmupAccountDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Repair, fund, prepare or archive a warm-up workspace","tags":["Admin / Warm-up Accounts"]}},"/v1/ads/compare":{"get":{"description":"comparePlatforms","operationId":"AdsGatewayController.comparePlatforms","parameters":[{"in":"query","name":"platforms","required":true,"schema":{"type":"string"}},{"in":"query","name":"credentialIds","required":true,"schema":{"type":"string"}},{"in":"query","name":"adAccountIds","required":true,"schema":{"type":"string"}},{"in":"query","name":"datePreset","required":true,"schema":{"type":"string"}},{"in":"query","name":"since","required":true,"schema":{"type":"string"}},{"in":"query","name":"until","required":true,"schema":{"type":"string"}},{"in":"query","name":"loginCustomerIds","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"comparePlatforms","tags":["ads"]}},"/v1/ads/research":{"get":{"description":"listAds","operationId":"AdsResearchController.listAds","parameters":[{"in":"query","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"query","name":"brandName","required":true,"schema":{"type":"string"}},{"in":"query","name":"industry","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}},{"in":"query","name":"credentialId","required":true,"schema":{"type":"string"}},{"in":"query","name":"adAccountId","required":true,"schema":{"type":"string"}},{"in":"query","name":"loginCustomerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listAds","tags":["ads/research"]}},"/v1/ads/research/ad-pack":{"post":{"description":"generateAdPack","operationId":"AdsResearchController.generateAdPack","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generateAdPack","tags":["ads/research"]}},"/v1/ads/research/discover":{"get":{"description":"discover","operationId":"AdsResearchController.discover","parameters":[{"in":"query","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"query","name":"keyword","required":true,"schema":{"type":"string"}},{"in":"query","name":"countries","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}},{"in":"query","name":"mediaType","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"discover","tags":["ads/research"]}},"/v1/ads/research/launch-prep":{"post":{"description":"prepareCampaignForReview","operationId":"AdsResearchController.prepareCampaignForReview","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"prepareCampaignForReview","tags":["ads/research"]}},"/v1/ads/research/remix-workflow":{"post":{"description":"createRemixWorkflow","operationId":"AdsResearchController.createRemixWorkflow","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createRemixWorkflow","tags":["ads/research"]}},"/v1/ads/research/watchlist-readiness":{"get":{"description":"listWatchlistReadiness","operationId":"AdsResearchController.listWatchlistReadiness","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listWatchlistReadiness","tags":["ads/research"]}},"/v1/ads/research/{source}/{id}":{"get":{"description":"getAdDetail","operationId":"AdsResearchController.getAdDetail","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"credentialId","required":true,"schema":{"type":"string"}},{"in":"query","name":"adAccountId","required":true,"schema":{"type":"string"}},{"in":"query","name":"loginCustomerId","required":true,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getAdDetail","tags":["ads/research"]}},"/v1/ads/{platform}/accounts":{"get":{"description":"getAdAccounts","operationId":"AdsGatewayController.getAdAccounts","parameters":[{"in":"path","name":"platform","required":true,"schema":{"type":"string"}},{"in":"query","name":"credentialId","required":true,"schema":{"type":"string"}},{"in":"query","name":"loginCustomerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getAdAccounts","tags":["ads"]}},"/v1/ads/{platform}/ads":{"get":{"description":"listAds","operationId":"AdsGatewayController.listAds","parameters":[{"in":"path","name":"platform","required":true,"schema":{"type":"string"}},{"in":"query","name":"credentialId","required":true,"schema":{"type":"string"}},{"in":"query","name":"adAccountId","required":true,"schema":{"type":"string"}},{"in":"query","name":"adSetId","required":true,"schema":{"type":"string"}},{"in":"query","name":"loginCustomerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listAds","tags":["ads"]},"post":{"description":"createAd","operationId":"AdsGatewayController.createAd","parameters":[{"in":"path","name":"platform","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createAd","tags":["ads"]}},"/v1/ads/{platform}/ads/{adId}/insights":{"get":{"description":"getAdInsights","operationId":"AdsGatewayController.getAdInsights","parameters":[{"in":"path","name":"platform","required":true,"schema":{"type":"string"}},{"in":"path","name":"adId","required":true,"schema":{"type":"string"}},{"in":"query","name":"credentialId","required":true,"schema":{"type":"string"}},{"in":"query","name":"adAccountId","required":true,"schema":{"type":"string"}},{"in":"query","name":"datePreset","required":true,"schema":{"type":"string"}},{"in":"query","name":"since","required":true,"schema":{"type":"string"}},{"in":"query","name":"until","required":true,"schema":{"type":"string"}},{"in":"query","name":"loginCustomerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getAdInsights","tags":["ads"]}},"/v1/ads/{platform}/adsets":{"get":{"description":"listAdSets","operationId":"AdsGatewayController.listAdSets","parameters":[{"in":"path","name":"platform","required":true,"schema":{"type":"string"}},{"in":"query","name":"credentialId","required":true,"schema":{"type":"string"}},{"in":"query","name":"adAccountId","required":true,"schema":{"type":"string"}},{"in":"query","name":"campaignId","required":true,"schema":{"type":"string"}},{"in":"query","name":"loginCustomerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listAdSets","tags":["ads"]},"post":{"description":"createAdSet","operationId":"AdsGatewayController.createAdSet","parameters":[{"in":"path","name":"platform","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createAdSet","tags":["ads"]}},"/v1/ads/{platform}/adsets/{adSetId}/insights":{"get":{"description":"getAdSetInsights","operationId":"AdsGatewayController.getAdSetInsights","parameters":[{"in":"path","name":"platform","required":true,"schema":{"type":"string"}},{"in":"path","name":"adSetId","required":true,"schema":{"type":"string"}},{"in":"query","name":"credentialId","required":true,"schema":{"type":"string"}},{"in":"query","name":"adAccountId","required":true,"schema":{"type":"string"}},{"in":"query","name":"datePreset","required":true,"schema":{"type":"string"}},{"in":"query","name":"since","required":true,"schema":{"type":"string"}},{"in":"query","name":"until","required":true,"schema":{"type":"string"}},{"in":"query","name":"loginCustomerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getAdSetInsights","tags":["ads"]}},"/v1/ads/{platform}/campaigns":{"get":{"description":"listCampaigns","operationId":"AdsGatewayController.listCampaigns","parameters":[{"in":"path","name":"platform","required":true,"schema":{"type":"string"}},{"in":"query","name":"credentialId","required":true,"schema":{"type":"string"}},{"in":"query","name":"adAccountId","required":true,"schema":{"type":"string"}},{"in":"query","name":"loginCustomerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listCampaigns","tags":["ads"]},"post":{"description":"createCampaign","operationId":"AdsGatewayController.createCampaign","parameters":[{"in":"path","name":"platform","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createCampaign","tags":["ads"]}},"/v1/ads/{platform}/campaigns/{campaignId}":{"put":{"description":"updateCampaign","operationId":"AdsGatewayController.updateCampaign","parameters":[{"in":"path","name":"platform","required":true,"schema":{"type":"string"}},{"in":"path","name":"campaignId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateCampaign","tags":["ads"]}},"/v1/ads/{platform}/campaigns/{campaignId}/insights":{"get":{"description":"getCampaignInsights","operationId":"AdsGatewayController.getCampaignInsights","parameters":[{"in":"path","name":"platform","required":true,"schema":{"type":"string"}},{"in":"path","name":"campaignId","required":true,"schema":{"type":"string"}},{"in":"query","name":"credentialId","required":true,"schema":{"type":"string"}},{"in":"query","name":"adAccountId","required":true,"schema":{"type":"string"}},{"in":"query","name":"datePreset","required":true,"schema":{"type":"string"}},{"in":"query","name":"since","required":true,"schema":{"type":"string"}},{"in":"query","name":"until","required":true,"schema":{"type":"string"}},{"in":"query","name":"loginCustomerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getCampaignInsights","tags":["ads"]}},"/v1/ads/{platform}/top-performers":{"get":{"description":"getTopPerformers","operationId":"AdsGatewayController.getTopPerformers","parameters":[{"in":"path","name":"platform","required":true,"schema":{"type":"string"}},{"in":"query","name":"credentialId","required":true,"schema":{"type":"string"}},{"in":"query","name":"adAccountId","required":true,"schema":{"type":"string"}},{"in":"query","name":"metric","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}},{"in":"query","name":"datePreset","required":true,"schema":{"type":"string"}},{"in":"query","name":"loginCustomerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTopPerformers","tags":["ads"]}},"/v1/agent-campaigns":{"get":{"description":"findAll","operationId":"AgentCampaignsController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["agent-campaigns","Agent Campaigns"]},"post":{"description":"create","operationId":"AgentCampaignsController.create","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["agent-campaigns","Agent Campaigns"]}},"/v1/agent-campaigns/from-template":{"post":{"description":"Create an atomic Program from a team template","operationId":"AgentCampaignsController.createFromTemplate","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAgentCampaignFromTemplateDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Create an atomic Program from a team template","tags":["agent-campaigns","Agent Campaigns"]}},"/v1/agent-campaigns/{id}":{"delete":{"description":"remove","operationId":"AgentCampaignsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["agent-campaigns","Agent Campaigns"]},"get":{"description":"findOne","operationId":"AgentCampaignsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["agent-campaigns","Agent Campaigns"]},"patch":{"description":"patch","operationId":"AgentCampaignsController.patch","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAgentCampaignDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patch","tags":["agent-campaigns","Agent Campaigns"]}},"/v1/agent-campaigns/{id}/status":{"get":{"description":"Get campaign execution status","operationId":"AgentCampaignsController.getCampaignStatus","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get campaign execution status","tags":["agent-campaigns","Agent Campaigns"]}},"/v1/agent-publish-audits":{"get":{"description":"findAll","operationId":"AgentPublishAuditsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"postGroupId","required":false,"schema":{"type":"string"}},{"in":"query","name":"workflowExecutionId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["AgentPublishAudits"]}},"/v1/agent-strategies":{"get":{"description":"findAll","operationId":"AgentStrategiesController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Filter by platform","in":"query","name":"platform","required":false,"schema":{"type":"string"}},{"description":"Filter by agent type","in":"query","name":"agentType","required":false,"schema":{"enum":["general","x_content","image_creator","video_creator","ai_avatar","article_writer","linkedin_content","ads_script_writer","short_form_writer","cta_content","youtube_script","brand_interview","orchestrator"],"type":"string"}},{"description":"Filter by active status","in":"query","name":"isActive","required":false,"schema":{"type":"boolean"}},{"description":"Filter by enabled status","in":"query","name":"isEnabled","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["agent-strategies","Agent Strategies"]},"post":{"description":"create","operationId":"AgentStrategiesController.create","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["agent-strategies","Agent Strategies"]}},"/v1/agent-strategies/{id}":{"delete":{"description":"remove","operationId":"AgentStrategiesController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["agent-strategies","Agent Strategies"]},"get":{"description":"findOne","operationId":"AgentStrategiesController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["agent-strategies","Agent Strategies"]},"patch":{"description":"patch","operationId":"AgentStrategiesController.patch","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAgentStrategyDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patch","tags":["agent-strategies","Agent Strategies"]}},"/v1/agent-strategies/{id}/opportunities":{"get":{"description":"Refresh and list strategy opportunities","operationId":"AgentStrategiesController.listOpportunities","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Refresh and list strategy opportunities","tags":["agent-strategies","Agent Strategies"]}},"/v1/agent-strategies/{id}/performance-snapshot":{"get":{"description":"Fetch the latest autopilot performance snapshot","operationId":"AgentStrategiesController.performanceSnapshot","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Fetch the latest autopilot performance snapshot","tags":["agent-strategies","Agent Strategies"]}},"/v1/agent-strategies/{id}/report-now":{"post":{"description":"Generate a strategy report immediately","operationId":"AgentStrategiesController.reportNow","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Generate a strategy report immediately","tags":["agent-strategies","Agent Strategies"]}},"/v1/agent-strategies/{id}/reports":{"get":{"description":"List strategy report history","operationId":"AgentStrategiesController.listReports","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Page number","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Items per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"List strategy report history","tags":["agent-strategies","Agent Strategies"]}},"/v1/agent-strategies/{id}/run-now":{"post":{"description":"Manually trigger a proactive run","operationId":"AgentStrategiesController.runNow","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Run triggered"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Manually trigger a proactive run","tags":["agent-strategies","Agent Strategies"]}},"/v1/agent-strategies/{id}/run-workflow":{"post":{"description":"Fill workflow inputs from the agent (topic/prompt/assets) and run the bound deterministic workflow","operationId":"AgentStrategiesController.runWorkflow","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunAgentStrategyWorkflowDto"}}},"required":true},"responses":{"200":{"description":"Workflow execution started"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Fill workflow inputs from the agent (topic/prompt/assets) and run the bound deterministic workflow","tags":["agent-strategies","Agent Strategies"]}},"/v1/agent-strategies/{id}/workflow-binding":{"get":{"description":"Preview the deterministic workflow bound to this agent and filled input slots","operationId":"AgentStrategiesController.workflowBinding","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Preview the deterministic workflow bound to this agent and filled input slots","tags":["agent-strategies","Agent Strategies"]}},"/v1/agent-tools/{name}/execute":{"post":{"description":"Execute a canonical agent tool by name","operationId":"AgentToolsController.execute","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecuteAgentToolDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Execute a canonical agent tool by name","tags":["Agent Tools"]}},"/v1/agent-tools/{name}/result-gate":{"post":{"description":"Classify an authenticated MCP tool result observation","operationId":"AgentToolsController.resultGate","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluateMcpToolResultDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Classify an authenticated MCP tool result observation","tags":["Agent Tools"]}},"/v1/agent-workflows":{"post":{"description":"Create an agent workflow state machine","operationId":"AgentWorkflowsController.createWorkflow","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAgentWorkflowDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Create an agent workflow state machine","tags":["agent-workflows"]}},"/v1/agent-workflows/{workflowId}":{"get":{"description":"Get an agent workflow state machine","operationId":"AgentWorkflowsController.getWorkflow","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Get an agent workflow state machine","tags":["agent-workflows"]},"patch":{"description":"Apply an event to an agent workflow state machine","operationId":"AgentWorkflowsController.applyEvent","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchAgentWorkflowDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Apply an event to an agent workflow state machine","tags":["agent-workflows"]}},"/v1/agent/auth":{"post":{"description":"Begin Auth.md verified-email registration","operationId":"AgentAuthController.register","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterAgentAuthDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Begin Auth.md verified-email registration","tags":["Agent Auth"]}},"/v1/agent/auth/claim":{"post":{"description":"Exchange a completed Auth.md claim for a key","operationId":"AgentAuthController.exchange","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExchangeAgentAuthClaimDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Exchange a completed Auth.md claim for a key","tags":["Agent Auth"]}},"/v1/agent/auth/claim/complete":{"post":{"description":"Confirm an Auth.md claim as the signed-in user","operationId":"AgentAuthController.complete","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompleteAgentAuthClaimDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Confirm an Auth.md claim as the signed-in user","tags":["Agent Auth"]}},"/v1/agent/auth/claim/inspect":{"post":{"description":"Inspect the scopes bound to an Auth.md claim","operationId":"AgentAuthController.inspect","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InspectAgentAuthClaimDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Inspect the scopes bound to an Auth.md claim","tags":["Agent Auth"]}},"/v1/agent/auth/revoke":{"post":{"description":"Revoke an Auth.md-issued key by possession","operationId":"AgentAuthController.revoke","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokeAgentAuthCredentialDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Revoke an Auth.md-issued key by possession","tags":["Agent Auth"]}},"/v1/agent/credits":{"get":{"description":"Get credits balance, model access, and estimated credits per message","operationId":"AgentOrchestratorController.getCredits","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get credits balance, model access, and estimated credits per message","tags":["Agent"]}},"/v1/agent/goals":{"get":{"description":"List agent goals for the current organization","operationId":"AgentOrchestratorController.listGoals","parameters":[{"in":"query","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"List agent goals for the current organization","tags":["Agent"]},"post":{"description":"Create an agent goal for the current organization","operationId":"AgentOrchestratorController.createGoal","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAgentGoalDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Create an agent goal for the current organization","tags":["Agent"]}},"/v1/agent/goals/{goalId}":{"get":{"description":"Get current agent goal progress","operationId":"AgentOrchestratorController.getGoal","parameters":[{"in":"path","name":"goalId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get current agent goal progress","tags":["Agent"]},"patch":{"description":"Update an agent goal","operationId":"AgentOrchestratorController.updateGoal","parameters":[{"in":"path","name":"goalId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAgentGoalDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Update an agent goal","tags":["Agent"]}},"/v1/agent/memories":{"get":{"description":"List memory entries for the user","operationId":"AgentMemoriesController.list","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"List memory entries for the user","tags":["Agent Memories"]},"post":{"description":"Create a new memory entry","operationId":"AgentMemoriesController.create","parameters":[],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Create a new memory entry","tags":["Agent Memories"]}},"/v1/agent/memories/brands/{brandId}":{"get":{"description":"List brand-scope memory entries for a brand (read-only)","operationId":"AgentMemoriesController.listBrand","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"List brand-scope memory entries for a brand (read-only)","tags":["Agent Memories"]}},"/v1/agent/memories/organization":{"get":{"description":"List brand and org-wide memory entries for the organization","operationId":"AgentMemoriesController.listOrganization","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"List brand and org-wide memory entries for the organization","tags":["Agent Memories"]}},"/v1/agent/memories/personal":{"get":{"description":"List the requesting user's own personal memory entries","operationId":"AgentMemoriesController.listPersonal","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"List the requesting user's own personal memory entries","tags":["Agent Memories"]}},"/v1/agent/memories/personal/{id}/archive":{"post":{"description":"Archive one of the requesting user's own personal memories","operationId":"AgentMemoriesController.archivePersonal","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Archive one of the requesting user's own personal memories","tags":["Agent Memories"]}},"/v1/agent/memories/{id}":{"delete":{"description":"Delete a memory entry","operationId":"AgentMemoriesController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Delete a memory entry","tags":["Agent Memories"]}},"/v1/agent/memories/{id}/archive":{"post":{"description":"Archive a brand or org-wide memory entry without hard-deleting it","operationId":"AgentMemoriesController.archive","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Archive a brand or org-wide memory entry without hard-deleting it","tags":["Agent Memories"]}},"/v1/agent/memories/{id}/promote":{"post":{"description":"Promote a brand or org-wide memory into a reusable skill","operationId":"AgentMemoriesController.promote","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Promote a brand or org-wide memory into a reusable skill","tags":["Agent Memories"]}},"/v1/agent/memories/{id}/reject":{"post":{"description":"Reject a memory promotion without changing the memory","operationId":"AgentMemoriesController.reject","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Reject a memory promotion without changing the memory","tags":["Agent Memories"]}},"/v1/agent/runs":{"get":{"description":"List latest agent runs across threads in the current organization/brand","operationId":"AgentRunsController.listRuns","parameters":[{"in":"query","name":"brand","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"List latest agent runs across threads in the current organization/brand","tags":["Agent Runs"]}},"/v1/agent/studio-handoff":{"post":{"description":"#4670: stores the Agent-resolved prompt/model/parameters as a short-lived, organization-scoped handoff and returns its opaque id. Nothing but the id belongs in the Studio generate URL.","operationId":"AgentStudioHandoffController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAgentStudioHandoffDto"}}},"required":true},"responses":{"201":{"description":"Handoff created"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Create an Agent → Studio generation handoff","tags":["agent-studio-handoff"]}},"/v1/agent/studio-handoff/{id}":{"get":{"description":"#4670: single-use — the handoff is deleted the moment this is called, whether or not it belonged to the caller. A missing, expired, already-consumed, or foreign handoff 404s; Studio generate falls back to its defaults with a notice.","operationId":"AgentStudioHandoffController.consume","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Handoff payload"},"404":{"description":"Handoff not found, expired, already consumed, or foreign"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Consume an Agent → Studio generation handoff","tags":["agent-studio-handoff"]}},"/v1/agent/threads":{"get":{"description":"List user agent threads (optional brand scope for single-brand workspace chat)","operationId":"AgentThreadsController.listThreads","parameters":[{"in":"query","name":"status","required":true,"schema":{"type":"string"}},{"in":"query","name":"brand","required":true,"schema":{"type":"string"}},{"in":"query","name":"source","required":true,"schema":{"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"List user agent threads (optional brand scope for single-brand workspace chat)","tags":["Agent Threads"]},"patch":{"description":"Bulk-update the current user's threads by filter (currently archives all active threads)","operationId":"AgentThreadsController.bulkUpdateThreads","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Bulk-update the current user's threads by filter (currently archives all active threads)","tags":["Agent Threads"]},"post":{"description":"Create a new agent thread","operationId":"AgentThreadsController.createThread","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAgentThreadDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Create a new agent thread","tags":["Agent Threads"]}},"/v1/agent/threads/mode":{"patch":{"description":"Save the agent mode and optionally update the active thread atomically","operationId":"AgentThreadsController.updateAgentMode","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAgentModeDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Save the agent mode and optionally update the active thread atomically","tags":["Agent Threads"]}},"/v1/agent/threads/turns":{"post":{"description":"Start an agent turn in a new or provided thread","operationId":"AgentOrchestratorController.createTurn","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentChatBodyDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Start an agent turn in a new or provided thread","tags":["Agent"]}},"/v1/agent/threads/turns/stream":{"post":{"description":"Start a streaming agent turn in a new or provided thread","operationId":"AgentOrchestratorController.createTurnStream","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentChatBodyDto"}}},"required":true},"responses":{"202":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Start a streaming agent turn in a new or provided thread","tags":["Agent"]}},"/v1/agent/threads/{threadId}":{"get":{"description":"Get thread by ID","operationId":"AgentThreadsController.getThread","parameters":[{"in":"path","name":"threadId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get thread by ID","tags":["Agent Threads"]},"patch":{"description":"Update thread metadata or status","operationId":"AgentThreadsController.updateThread","parameters":[{"in":"path","name":"threadId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Update thread metadata or status","tags":["Agent Threads"]}},"/v1/agent/threads/{threadId}/branches":{"post":{"description":"Branch an existing thread","operationId":"AgentThreadRuntimeController.branchThread","parameters":[{"in":"path","name":"threadId","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Branch an existing thread","tags":["Agent Threads"]}},"/v1/agent/threads/{threadId}/context":{"patch":{"description":"Compare-and-swap the thread brand context","operationId":"AgentThreadsController.updateThreadContext","parameters":[{"in":"path","name":"threadId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAgentThreadContextDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Compare-and-swap the thread brand context","tags":["Agent Threads"]}},"/v1/agent/threads/{threadId}/events":{"get":{"description":"Get ordered persisted thread events","operationId":"AgentThreadRuntimeController.listEvents","parameters":[{"in":"path","name":"threadId","required":true,"schema":{"type":"string"}},{"in":"query","name":"afterSequence","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get ordered persisted thread events","tags":["Agent Threads"]}},"/v1/agent/threads/{threadId}/external-turns":{"post":{"description":"Append a turn that ran on the user's own Claude Code / Codex CLI subscription (never billed in Genfeed credits)","operationId":"AgentThreadsController.appendExternalTurn","parameters":[{"in":"path","name":"threadId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppendExternalAgentTurnDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Append a turn that ran on the user's own Claude Code / Codex CLI subscription (never billed in Genfeed credits)","tags":["Agent Threads"]}},"/v1/agent/threads/{threadId}/input-requests/{requestId}/responses":{"post":{"description":"Resolve a pending thread input request","operationId":"AgentThreadRuntimeController.respondToInputRequest","parameters":[{"in":"path","name":"threadId","required":true,"schema":{"type":"string"}},{"in":"path","name":"requestId","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Resolve a pending thread input request","tags":["Agent Threads"]}},"/v1/agent/threads/{threadId}/messages":{"get":{"description":"Get messages for a thread","operationId":"AgentThreadsController.getMessages","parameters":[{"in":"path","name":"threadId","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}},{"in":"query","name":"cursor","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get messages for a thread","tags":["Agent Threads"]},"post":{"description":"Add a message to a thread","operationId":"AgentThreadsController.addMessage","parameters":[{"in":"path","name":"threadId","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Add a message to a thread","tags":["Agent Threads"]}},"/v1/agent/threads/{threadId}/messages/{messageId}":{"get":{"description":"Get a single thread message","operationId":"AgentThreadsController.getMessage","parameters":[{"in":"path","name":"threadId","required":true,"schema":{"type":"string"}},{"in":"path","name":"messageId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get a single thread message","tags":["Agent Threads"]}},"/v1/agent/threads/{threadId}/messages/{messageId}/artifact-references":{"get":{"description":"Resolve canonical artifact references for a thread message","operationId":"AgentThreadsController.resolveMessageArtifactReferences","parameters":[{"in":"path","name":"threadId","required":true,"schema":{"type":"string"}},{"in":"path","name":"messageId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Resolve canonical artifact references for a thread message","tags":["Agent Threads"]}},"/v1/agent/threads/{threadId}/snapshot":{"get":{"description":"Get the current projected thread snapshot","operationId":"AgentThreadRuntimeController.getSnapshot","parameters":[{"in":"path","name":"threadId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get the current projected thread snapshot","tags":["Agent Threads"]}},"/v1/agent/threads/{threadId}/turns":{"post":{"description":"Start an agent turn in a thread","operationId":"AgentOrchestratorController.createThreadTurn","parameters":[{"in":"path","name":"threadId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentChatBodyDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Start an agent turn in a thread","tags":["Agent"]}},"/v1/agent/threads/{threadId}/turns/stream":{"post":{"description":"Start a streaming agent turn in a thread","operationId":"AgentOrchestratorController.createThreadTurnStream","parameters":[{"in":"path","name":"threadId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentChatBodyDto"}}},"required":true},"responses":{"202":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Start a streaming agent turn in a thread","tags":["Agent"]}},"/v1/agent/threads/{threadId}/ui-actions":{"post":{"description":"Execute a thread UI action","operationId":"AgentThreadRuntimeController.respondToUiAction","parameters":[{"in":"path","name":"threadId","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Execute a thread UI action","tags":["Agent Threads"]}},"/v1/agent/threads/{threadId}/work-objects":{"get":{"description":"AgentThreadRuntimeController.getWorkObjects","operationId":"AgentThreadRuntimeController.getWorkObjects","parameters":[{"in":"path","name":"threadId","required":true,"schema":{"type":"string"}},{"in":"query","name":"sessionId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Agent Threads"]}},"/v1/agent/threads/{threadId}/work-objects/{objectId}/actions":{"post":{"description":"AgentThreadRuntimeController.actOnWorkObject","operationId":"AgentThreadRuntimeController.actOnWorkObject","parameters":[{"in":"path","name":"threadId","required":true,"schema":{"type":"string"}},{"in":"path","name":"objectId","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Agent Threads"]}},"/v1/agent/transfers":{"get":{"description":"List transfers for an authorized conversation","operationId":"AgentTransfersController.list","parameters":[{"in":"query","name":"threadId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"List transfers for an authorized conversation","tags":["Agent Transfers"]},"post":{"description":"Send or explicitly send-and-run a transfer","operationId":"AgentTransfersController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAgentTransferDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Send or explicitly send-and-run a transfer","tags":["Agent Transfers"]}},"/v1/agent/transfers/conversations":{"get":{"description":"Discover authorized destination conversations","operationId":"AgentTransfersController.discoverConversations","parameters":[{"in":"query","name":"sourceThreadId","required":true,"schema":{"type":"string"}},{"in":"query","name":"q","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Discover authorized destination conversations","tags":["Agent Transfers"]}},"/v1/agent/transfers/{id}":{"get":{"description":"Get one authorized transfer","operationId":"AgentTransfersController.getOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get one authorized transfer","tags":["Agent Transfers"]}},"/v1/agent/transfers/{id}/retry":{"post":{"description":"Retry a failed send-and-run transfer","operationId":"AgentTransfersController.retry","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Retry a failed send-and-run transfer","tags":["Agent Transfers"]}},"/v1/analytics":{"get":{"description":"findAll","operationId":"AnalyticsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["analytics"]}},"/v1/analytics/accounts":{"get":{"description":"listAccounts","operationId":"AccountAnalyticsController.listAccounts","parameters":[{"description":"Start date for analytics (YYYY-MM-DD). Defaults to 30 days before endDate.","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for analytics (YYYY-MM-DD). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Brand ID to filter analytics by","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Organization ID. Narrows a superadmin read to one tenant; customers may only name their own.","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"platform","required":false,"schema":{"enum":["youtube","instagram","tiktok","facebook","google_ads","google_search_console","twitter","x_ads","linkedin","pinterest","reddit","discord","telegram","twitch","medium","threads","fanvue","slack","wordpress","snapchat","whatsapp","mastodon","ghost","shopify","beehiiv","unipile","devto","product_hunt","hacker_news","restream"],"type":"string"}},{"in":"query","name":"search","required":false,"schema":{"type":"string"}},{"in":"query","name":"status","required":false,"schema":{"type":"string"}},{"in":"query","name":"metric","required":false,"schema":{"enum":["views","videoViews","impressions","reach","likes","comments","shares","saves","clicks","watchTime","followers","subscribers","engagementRate","posts","engagement"],"type":"string"}},{"in":"query","name":"direction","required":false,"schema":{"type":"string"}},{"in":"query","name":"evaluationState","required":false,"schema":{"enum":["insufficient_data","healthy","watch","underperforming"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listAccounts","tags":["analytics"]}},"/v1/analytics/accounts/top":{"get":{"description":"topAccounts","operationId":"AccountAnalyticsController.topAccounts","parameters":[{"description":"Start date for analytics (YYYY-MM-DD). Defaults to 30 days before endDate.","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for analytics (YYYY-MM-DD). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Brand ID to filter analytics by","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Organization ID. Narrows a superadmin read to one tenant; customers may only name their own.","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"topAccounts","tags":["analytics"]}},"/v1/analytics/accounts/{credentialId}":{"get":{"description":"getAccount","operationId":"AccountAnalyticsController.getAccount","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}},{"description":"Start date for analytics (YYYY-MM-DD). Defaults to 30 days before endDate.","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for analytics (YYYY-MM-DD). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Brand ID to filter analytics by","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Organization ID. Narrows a superadmin read to one tenant; customers may only name their own.","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"platform","required":false,"schema":{"enum":["youtube","instagram","tiktok","facebook","google_ads","google_search_console","twitter","x_ads","linkedin","pinterest","reddit","discord","telegram","twitch","medium","threads","fanvue","slack","wordpress","snapchat","whatsapp","mastodon","ghost","shopify","beehiiv","unipile","devto","product_hunt","hacker_news","restream"],"type":"string"}},{"in":"query","name":"search","required":false,"schema":{"type":"string"}},{"in":"query","name":"status","required":false,"schema":{"type":"string"}},{"in":"query","name":"metric","required":false,"schema":{"enum":["views","videoViews","impressions","reach","likes","comments","shares","saves","clicks","watchTime","followers","subscribers","engagementRate","posts","engagement"],"type":"string"}},{"in":"query","name":"direction","required":false,"schema":{"type":"string"}},{"in":"query","name":"evaluationState","required":false,"schema":{"enum":["insufficient_data","healthy","watch","underperforming"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getAccount","tags":["analytics"]}},"/v1/analytics/brands":{"get":{"description":"getBrandsWithStats","operationId":"AnalyticsController.getBrandsWithStats","parameters":[{"description":"Start date for analytics (YYYY-MM-DD). Defaults to 30 days before endDate.","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for analytics (YYYY-MM-DD). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Brand ID to filter analytics by","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Organization ID. Narrows a superadmin read to one tenant; customers may only name their own.","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of results per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}},{"description":"Sort field","in":"query","name":"sort","required":false,"schema":{"$ref":"#/components/schemas/LeaderboardSort"}},{"description":"Case-insensitive brand name search, applied before paging","in":"query","name":"search","required":false,"schema":{"maxLength":200,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getBrandsWithStats","tags":["analytics"]}},"/v1/analytics/brands/leaderboard":{"get":{"description":"getBrandsLeaderboard","operationId":"AnalyticsController.getBrandsLeaderboard","parameters":[{"description":"Start date for analytics (YYYY-MM-DD). Defaults to 30 days before endDate.","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for analytics (YYYY-MM-DD). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Brand ID to filter analytics by","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Organization ID. Narrows a superadmin read to one tenant; customers may only name their own.","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Sort field for leaderboard","in":"query","name":"sort","required":false,"schema":{"$ref":"#/components/schemas/LeaderboardSort"}},{"description":"Number of results to return","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getBrandsLeaderboard","tags":["analytics"]}},"/v1/analytics/business":{"get":{"description":"getBusinessAnalytics","operationId":"AnalyticsController.getBusinessAnalytics","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getBusinessAnalytics","tags":["analytics"]}},"/v1/analytics/content/{contentId}/subscription-stats":{"get":{"description":"getContentSubscriptionStats","operationId":"SubscriptionAttributionsController.getContentSubscriptionStats","parameters":[{"in":"path","name":"contentId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getContentSubscriptionStats","tags":["Analytics"]}},"/v1/analytics/engagement":{"get":{"description":"getEngagement","operationId":"AnalyticsController.getEngagement","parameters":[{"description":"Start date for analytics (YYYY-MM-DD). Defaults to 30 days before endDate.","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for analytics (YYYY-MM-DD). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Brand ID to filter by","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Organization ID. Narrows a superadmin read to one tenant; customers may only name their own.","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Platform to filter by","in":"query","name":"platform","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getEngagement","tags":["analytics"]}},"/v1/analytics/export":{"get":{"description":"exportData","operationId":"AnalyticsController.exportData","parameters":[{"description":"Start date for analytics (YYYY-MM-DD). Defaults to 30 days before endDate.","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for analytics (YYYY-MM-DD). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Brand ID to filter by","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Organization ID. Narrows a superadmin read to one tenant; customers may only name their own.","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Platform to filter by","in":"query","name":"platform","required":false,"schema":{"type":"string"}},{"description":"Selected post ID to export","in":"query","name":"postId","required":false,"schema":{"type":"string"}},{"description":"Export format","in":"query","name":"format","required":false,"schema":{"enum":["csv","xlsx"],"type":"string"}},{"description":"Comma-separated export fields","in":"query","name":"fields","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"exportData","tags":["analytics"]}},"/v1/analytics/fleet-evaluation-policy":{"get":{"description":"getPolicy","operationId":"AccountAnalyticsController.getPolicy","parameters":[{"in":"query","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getPolicy","tags":["analytics"]},"patch":{"description":"savePolicy","operationId":"AccountAnalyticsController.savePolicy","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FleetEvaluationPolicyDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"savePolicy","tags":["analytics"]}},"/v1/analytics/growth":{"get":{"description":"getGrowthTrends","operationId":"AnalyticsController.getGrowthTrends","parameters":[{"description":"Start date for analytics (YYYY-MM-DD). Defaults to 30 days before endDate.","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for analytics (YYYY-MM-DD). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Brand ID to filter analytics by","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Organization ID. Narrows a superadmin read to one tenant; customers may only name their own.","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Metric to track growth for","in":"query","name":"metric","required":false,"schema":{"default":"views","enum":["views","engagement","posts"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getGrowthTrends","tags":["analytics"]}},"/v1/analytics/hooks":{"get":{"description":"getViralHooks","operationId":"AnalyticsController.getViralHooks","parameters":[{"description":"Start date for analytics (YYYY-MM-DD). Defaults to 30 days before endDate.","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for analytics (YYYY-MM-DD). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Brand ID to filter by","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Organization ID. Narrows a superadmin read to one tenant; customers may only name their own.","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Restrict analysis to posts at or above this outlier tier","in":"query","name":"minOutlierTier","required":false,"schema":{"enum":["outlier","breakout"],"type":"string"}},{"description":"Restrict analysis to a single published post","in":"query","name":"postId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getViralHooks","tags":["analytics"]}},"/v1/analytics/organizations":{"get":{"description":"getOrganizationsWithStats","operationId":"AnalyticsController.getOrganizationsWithStats","parameters":[{"description":"Start date for analytics (YYYY-MM-DD). Defaults to 30 days before endDate.","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for analytics (YYYY-MM-DD). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Brand ID to filter analytics by","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Organization ID. Narrows a superadmin read to one tenant; customers may only name their own.","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of results per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}},{"description":"Sort field","in":"query","name":"sort","required":false,"schema":{"$ref":"#/components/schemas/LeaderboardSort"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getOrganizationsWithStats","tags":["analytics"]}},"/v1/analytics/organizations/leaderboard":{"get":{"description":"getOrganizationsLeaderboard","operationId":"AnalyticsController.getOrganizationsLeaderboard","parameters":[{"description":"Start date for analytics (YYYY-MM-DD). Defaults to 30 days before endDate.","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for analytics (YYYY-MM-DD). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Brand ID to filter analytics by","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Organization ID. Narrows a superadmin read to one tenant; customers may only name their own.","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Sort field for leaderboard","in":"query","name":"sort","required":false,"schema":{"$ref":"#/components/schemas/LeaderboardSort"}},{"description":"Number of results to return","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getOrganizationsLeaderboard","tags":["analytics"]}},"/v1/analytics/overview":{"get":{"description":"getOverview","operationId":"AnalyticsController.getOverview","parameters":[{"description":"Start date for analytics (YYYY-MM-DD). Defaults to 30 days before endDate.","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for analytics (YYYY-MM-DD). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Brand ID to filter analytics by","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Organization ID. Narrows a superadmin read to one tenant; customers may only name their own.","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getOverview","tags":["analytics"]}},"/v1/analytics/platforms":{"get":{"description":"getPlatformComparison","operationId":"AnalyticsController.getPlatformComparison","parameters":[{"description":"Start date for analytics (YYYY-MM-DD). Defaults to 30 days before endDate.","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for analytics (YYYY-MM-DD). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Brand ID to filter analytics by","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Organization ID. Narrows a superadmin read to one tenant; customers may only name their own.","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getPlatformComparison","tags":["analytics"]}},"/v1/analytics/subscription-attribution":{"post":{"description":"trackSubscription","operationId":"SubscriptionAttributionsController.trackSubscription","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackSubscriptionDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"trackSubscription","tags":["Analytics"]}},"/v1/analytics/timeseries":{"get":{"description":"getTimeSeries","operationId":"AnalyticsController.getTimeSeries","parameters":[{"description":"Start date for analytics (YYYY-MM-DD). Defaults to 30 days before endDate.","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for analytics (YYYY-MM-DD). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Brand ID to filter analytics by","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Organization ID. Narrows a superadmin read to one tenant; customers may only name their own.","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTimeSeries","tags":["analytics"]}},"/v1/analytics/top":{"get":{"description":"getTopContent","operationId":"AnalyticsController.getTopContent","parameters":[{"description":"Start date for analytics (YYYY-MM-DD). Defaults to 30 days before endDate.","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for analytics (YYYY-MM-DD). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Brand ID to filter by","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Organization ID. Narrows a superadmin read to one tenant; customers may only name their own.","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Number of results to return","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Metric to sort by","in":"query","name":"metric","required":false,"schema":{"default":"views","enum":["views","engagement","likes"],"type":"string"}},{"description":"Platform to filter by","in":"query","name":"platform","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTopContent","tags":["analytics"]}},"/v1/analytics/top-content-by-subscriptions":{"get":{"description":"getTopContent","operationId":"SubscriptionAttributionsController.getTopContent","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTopContent","tags":["Analytics"]}},"/v1/analytics/trends":{"get":{"description":"getTrends","operationId":"AnalyticsController.getTrends","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTrends","tags":["analytics"]}},"/v1/analytics/winners":{"get":{"description":"findWinners","operationId":"AnalyticsWinnersController.findWinners","parameters":[{"description":"Start date for analytics (YYYY-MM-DD). Defaults to 30 days before endDate.","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for analytics (YYYY-MM-DD). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Brand whose own posts are classified; omitted for all brands","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Organization ID. Narrows a superadmin read to one tenant; customers may only name their own.","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Platform to filter by","in":"query","name":"platform","required":false,"schema":{"type":"string"}},{"description":"Number of winners to return, strongest first","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findWinners","tags":["analytics"]}},"/v1/api-keys":{"get":{"description":"List all API keys for the current user","operationId":"ApiKeysController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Filter by label (case-insensitive contains)","in":"query","name":"label","required":false,"schema":{"type":"string"}},{"description":"Filter by description (case-insensitive contains)","in":"query","name":"description","required":false,"schema":{"type":"string"}},{"description":"Combined label/description case-insensitive search","in":"query","name":"search","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"List of API keys"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"List all API keys for the current user","tags":["API Keys"]},"post":{"description":"Create a new API key","operationId":"ApiKeysController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiKeyDto"}}},"required":true},"responses":{"201":{"description":"API key created successfully"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Create a new API key","tags":["API Keys"]}},"/v1/api-keys/validate":{"post":{"description":"Validate an API key (for testing)","operationId":"ApiKeysController.validate","parameters":[],"responses":{"200":{"description":"Validation result"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Validate an API key (for testing)","tags":["API Keys"]}},"/v1/api-keys/{apiKeyId}":{"delete":{"description":"Revoke an API key","operationId":"ApiKeysController.revoke","parameters":[{"in":"path","name":"apiKeyId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"API key revoked successfully"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Revoke an API key","tags":["API Keys"]},"get":{"description":"Get a specific API key","operationId":"ApiKeysController.findOne","parameters":[{"in":"path","name":"apiKeyId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"API key details"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Get a specific API key","tags":["API Keys"]},"patch":{"description":"Update an API key","operationId":"ApiKeysController.update","parameters":[{"in":"path","name":"apiKeyId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateApiKeyDto"}}},"required":true},"responses":{"200":{"description":"API key updated successfully"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Update an API key","tags":["API Keys"]}},"/v1/api-keys/{apiKeyId}/rotate":{"post":{"description":"Rotate an API key","operationId":"ApiKeysController.rotate","parameters":[{"in":"path","name":"apiKeyId","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"API key rotated successfully"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Rotate an API key","tags":["API Keys"]}},"/v1/api-keys/{apiKeyId}/verify-mcp":{"post":{"description":"Verify a selected API key against the configured MCP service","operationId":"ApiKeysController.verifyMcpConnection","parameters":[{"in":"path","name":"apiKeyId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyMcpConnectionDto"}}},"required":true},"responses":{"200":{"description":"Bounded MCP tool-discovery verification result"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Verify a selected API key against the configured MCP service","tags":["API Keys"]}},"/v1/argil/avatars":{"get":{"description":"getAvatars","operationId":"ArgilController.getAvatars","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getAvatars","tags":["argil"]}},"/v1/argil/status":{"get":{"description":"getStatus","operationId":"ArgilController.getStatus","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getStatus","tags":["argil"]}},"/v1/argil/voices":{"get":{"description":"getVoices","operationId":"ArgilController.getVoices","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getVoices","tags":["argil"]}},"/v1/articles":{"get":{"description":"findAll","operationId":"ArticlesController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["articles"]},"post":{"description":"create","operationId":"ArticlesController.create","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["articles"]}},"/v1/articles/generations":{"post":{"description":"generateArticles","operationId":"ArticlesOperationsController.generateArticles","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateArticlesDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generateArticles","tags":["articles"]}},"/v1/articles/{articleId}":{"patch":{"description":"patch","operationId":"ArticlesController.patch","parameters":[{"in":"path","name":"articleId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateArticleDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patch","tags":["articles"]}},"/v1/articles/{articleId}/deliveries":{"get":{"description":"findAll","operationId":"ArticleDeliveriesController.findAll","parameters":[{"in":"path","name":"articleId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["Articles"]},"post":{"description":"create","operationId":"ArticleDeliveriesController.create","parameters":[{"in":"path","name":"articleId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateArticleDeliveryDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["Articles"]}},"/v1/articles/{articleId}/images":{"post":{"description":"generateImageFromArticle","operationId":"ArticlesTransformationsController.generateImageFromArticle","parameters":[{"in":"path","name":"articleId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generateImageFromArticle","tags":["articles"]}},"/v1/articles/{articleId}/preview-links":{"get":{"description":"createPreviewLink","operationId":"ArticlesController.createPreviewLink","parameters":[{"in":"path","name":"articleId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createPreviewLink","tags":["articles"]}},"/v1/articles/{articleId}/prompts":{"post":{"description":"generatePrompt","operationId":"ArticlesTransformationsController.generatePrompt","parameters":[{"in":"path","name":"articleId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generatePrompt","tags":["articles"]}},"/v1/articles/{articleId}/remixes":{"post":{"description":"createRemix","operationId":"ArticlesTransformationsController.createRemix","parameters":[{"in":"path","name":"articleId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRemixArticleDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createRemix","tags":["articles"]}},"/v1/articles/{articleId}/reviews":{"post":{"description":"reviewArticle","operationId":"ArticlesOperationsController.reviewArticle","parameters":[{"in":"path","name":"articleId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewArticleDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"reviewArticle","tags":["articles"]}},"/v1/articles/{articleId}/seo-scores":{"post":{"description":"scoreSeo","operationId":"ArticlesTransformationsController.scoreSeo","parameters":[{"in":"path","name":"articleId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScoreSeoDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"scoreSeo","tags":["articles"]}},"/v1/articles/{articleId}/thread-conversions":{"post":{"description":"convertToThread","operationId":"ArticlesTransformationsController.convertToThread","parameters":[{"in":"path","name":"articleId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"convertToThread","tags":["articles"]}},"/v1/articles/{articleId}/versions":{"get":{"description":"getVersions","operationId":"ArticlesController.getVersions","parameters":[{"in":"path","name":"articleId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getVersions","tags":["articles"]}},"/v1/articles/{articleId}/videos":{"post":{"description":"generateVideoFromArticle","operationId":"ArticlesTransformationsController.generateVideoFromArticle","parameters":[{"in":"path","name":"articleId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generateVideoFromArticle","tags":["articles"]}},"/v1/articles/{articleId}/virality-analyses":{"post":{"description":"analyzeVirality","operationId":"ArticlesTransformationsController.analyzeVirality","parameters":[{"in":"path","name":"articleId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"analyzeVirality","tags":["articles"]}},"/v1/articles/{articleId}/website-traffic":{"get":{"description":"getTraffic","operationId":"ArticlesTrafficController.getTraffic","parameters":[{"in":"path","name":"articleId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTraffic","tags":["articles"]}},"/v1/articles/{id}":{"delete":{"description":"remove","operationId":"ArticlesController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["articles"]},"get":{"description":"findOne","operationId":"ArticlesController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["articles"]}},"/v1/assets":{"get":{"description":"findAll","operationId":"AssetsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Filter by asset category","in":"query","name":"category","required":false,"schema":{"$ref":"#/components/schemas/AssetCategory"}},{"description":"Filter by parent type","in":"query","name":"parentType","required":false,"schema":{"$ref":"#/components/schemas/AssetParent"}},{"description":"Filter by parent ID","in":"query","name":"parentId","required":false,"schema":{"type":"string"}},{"description":"Use lightweight mode (skip expensive lookups for gallery views)","in":"query","name":"lightweight","required":false,"schema":{"default":false,"type":"boolean"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["assets"]}},"/v1/assets/from-ingredient":{"post":{"description":"createFromIngredient","operationId":"AssetsOperationsController.createFromIngredient","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFromIngredientDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createFromIngredient","tags":["assets"]}},"/v1/assets/generate":{"post":{"description":"generate","operationId":"AssetsOperationsController.generate","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateAssetDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generate","tags":["assets"]}},"/v1/assets/upload":{"post":{"description":"createUpload","operationId":"AssetsOperationsController.createUpload","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAssetDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createUpload","tags":["assets"]}},"/v1/assets/{assetId}":{"delete":{"description":"remove","operationId":"AssetsController.remove","parameters":[{"in":"path","name":"assetId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["assets"]},"get":{"description":"findOne","operationId":"AssetsController.findOne","parameters":[{"in":"path","name":"assetId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["assets"]},"patch":{"description":"update","operationId":"AssetsController.update","parameters":[{"in":"path","name":"assetId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAssetDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["assets"]}},"/v1/audios/upload/confirm/{id}":{"post":{"description":"confirmUpload","operationId":"PresignedUploadController.confirmUpload[0]","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"confirmUpload","tags":["uploads"]}},"/v1/audios/upload/presigned":{"post":{"description":"generatePresignedUrl","operationId":"PresignedUploadController.generatePresignedUrl[0]","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignedUploadDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generatePresignedUrl","tags":["uploads"]}},"/v1/auth/bootstrap":{"get":{"description":"AuthBootstrapController.bootstrap","operationId":"AuthBootstrapController.bootstrap","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["AuthBootstrap"]}},"/v1/auth/bootstrap/overview":{"get":{"description":"AuthBootstrapController.overviewBootstrap","operationId":"AuthBootstrapController.overviewBootstrap","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["AuthBootstrap"]}},"/v1/auth/desktop/authorize":{"post":{"description":"Create a one-time desktop authorization code","operationId":"AuthDesktopController.authorize","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDesktopAuthCodeDto"}}},"required":true},"responses":{"201":{"description":"Desktop authorization code created"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Create a one-time desktop authorization code","tags":["Auth"]}},"/v1/auth/desktop/exchange":{"post":{"description":"Exchange a one-time desktop code for a desktop session","operationId":"AuthDesktopController.exchange","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExchangeDesktopAuthCodeDto"}}},"required":true},"responses":{"201":{"description":"Desktop session created"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Exchange a one-time desktop code for a desktop session","tags":["Auth"]}},"/v1/auth/desktop/status":{"post":{"description":"Report whether the desktop app has exchanged an authorization code","operationId":"AuthDesktopController.status","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DesktopAuthCodeStatusDto"}}},"required":true},"responses":{"201":{"description":"Desktop authorization code status"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Report whether the desktop app has exchanged an authorization code","tags":["Auth"]}},"/v1/auth/switch-organization":{"post":{"description":"AuthSwitchOrganizationController.switchOrganization","operationId":"AuthSwitchOrganizationController.switchOrganization","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchOrganizationDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["AuthSwitchOrganization"]}},"/v1/auth/whoami":{"get":{"description":"AuthWhoamiController.whoami","operationId":"AuthWhoamiController.whoami","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["AuthWhoami"]}},"/v1/avatars":{"get":{"description":"findAll","operationId":"AvatarsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Filter by permanent asset origin using repeated query keys (e.g., ?origins=UPLOADED&origins=IMPORTED).","in":"query","name":"origins","required":false,"schema":{"items":{"$ref":"#/components/schemas/IngredientOrigin"},"type":"array"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["avatars"]}},"/v1/avatars/elevenlabs/voices":{"get":{"description":"getElevenlabsVoices","operationId":"AvatarsController.getElevenlabsVoices","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getElevenlabsVoices","tags":["avatars"]}},"/v1/avatars/hedra/avatars":{"get":{"description":"getHedraAvatars","operationId":"AvatarsController.getHedraAvatars","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getHedraAvatars","tags":["avatars"]}},"/v1/avatars/hedra/voices":{"get":{"description":"getHedraVoices","operationId":"AvatarsController.getHedraVoices","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getHedraVoices","tags":["avatars"]}},"/v1/avatars/heygen/avatars":{"get":{"description":"getHeygenAvatars","operationId":"AvatarsController.getHeygenAvatars","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getHeygenAvatars","tags":["avatars"]}},"/v1/avatars/heygen/voices":{"get":{"description":"getHeygenVoices","operationId":"AvatarsController.getHeygenVoices","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getHeygenVoices","tags":["avatars"]}},"/v1/avatars/upload/confirm/{id}":{"post":{"description":"confirmUpload","operationId":"PresignedUploadController.confirmUpload[1]","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"confirmUpload","tags":["uploads"]}},"/v1/avatars/upload/presigned":{"post":{"description":"generatePresignedUrl","operationId":"PresignedUploadController.generatePresignedUrl[1]","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignedUploadDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generatePresignedUrl","tags":["uploads"]}},"/v1/billing-accounts/current":{"get":{"description":"getCurrent","operationId":"BillingAccountsController.getCurrent","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getCurrent","tags":["billing-accounts"]}},"/v1/billing-accounts/current/members":{"post":{"description":"grantRole","operationId":"BillingAccountsController.grantRole","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantBillingRoleDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"grantRole","tags":["billing-accounts"]}},"/v1/billing-accounts/current/members/{userId}":{"delete":{"description":"revokeRole","operationId":"BillingAccountsController.revokeRole","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"revokeRole","tags":["billing-accounts"]}},"/v1/billing-accounts/current/organizations":{"post":{"description":"linkOrganization","operationId":"BillingAccountsController.linkOrganization","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkOrganizationDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"linkOrganization","tags":["billing-accounts"]}},"/v1/billing-accounts/current/organizations/{organizationId}":{"delete":{"description":"detachOrganization","operationId":"BillingAccountsController.detachOrganization","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"detachOrganization","tags":["billing-accounts"]}},"/v1/billing-accounts/migrate/apply":{"post":{"description":"applyMigration","operationId":"BillingAccountsController.applyMigration","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"applyMigration","tags":["billing-accounts"]}},"/v1/billing-accounts/migrate/dry-run":{"post":{"description":"dryRunMigration","operationId":"BillingAccountsController.dryRunMigration","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"dryRunMigration","tags":["billing-accounts"]}},"/v1/bot-activities":{"get":{"description":"Get bot activities with pagination and filters","operationId":"BotActivitiesController.findAll","parameters":[{"description":"Filter by reply bot config ID","in":"query","name":"replyBotConfigId","required":false,"schema":{"type":"string"}},{"description":"Filter by monitored account ID","in":"query","name":"monitoredAccountId","required":false,"schema":{"type":"string"}},{"description":"Filter by bot type","in":"query","name":"botType","required":false,"schema":{"$ref":"#/components/schemas/ReplyBotType"}},{"description":"Filter by activity status","in":"query","name":"status","required":false,"schema":{"$ref":"#/components/schemas/BotActivityStatus"}},{"description":"Filter activities from this date","in":"query","name":"fromDate","required":false,"schema":{"type":"string"}},{"description":"Filter activities until this date","in":"query","name":"toDate","required":false,"schema":{"type":"string"}},{"description":"Number of results per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}},{"description":"Page number","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}}],"responses":{"200":{"description":"Returns paginated bot activities"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get bot activities with pagination and filters","tags":["bot-activities","Bot Activities"]}},"/v1/bot-activities/reply-queue/usage":{"get":{"description":"Get the X warm-up reply queue usage and cap","operationId":"BotActivitiesController.getReplyQueueUsage","parameters":[],"responses":{"200":{"description":"Returns queue usage"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get the X warm-up reply queue usage and cap","tags":["bot-activities","Bot Activities"]}},"/v1/bot-activities/stats/summary":{"get":{"description":"Get aggregated bot activity statistics","operationId":"BotActivitiesController.getStats","parameters":[{"in":"query","name":"replyBotConfigId","required":true,"schema":{"type":"string"}},{"in":"query","name":"fromDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"toDate","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returns activity statistics"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get aggregated bot activity statistics","tags":["bot-activities","Bot Activities"]}},"/v1/bot-activities/{id}":{"get":{"description":"Get a single bot activity","operationId":"BotActivitiesController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returns the bot activity"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get a single bot activity","tags":["bot-activities","Bot Activities"]}},"/v1/bot-activities/{id}/reply-queue/dismiss":{"post":{"description":"Dismiss a drafted X reply","operationId":"BotActivitiesController.dismissReplyQueueItem","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returns the updated queue usage"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Dismiss a drafted X reply","tags":["bot-activities","Bot Activities"]}},"/v1/bot-activities/{id}/reply-queue/open":{"post":{"description":"Open a drafted X reply in the X composer","operationId":"BotActivitiesController.openReplyQueueItem","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenAssistedReplyDto"}}},"required":true},"responses":{"200":{"description":"Returns the prefilled X reply link"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Open a drafted X reply in the X composer","tags":["bot-activities","Bot Activities"]}},"/v1/bot-activities/{id}/reply-queue/posted":{"post":{"description":"Confirm a drafted X reply was posted in X","operationId":"BotActivitiesController.confirmReplyQueueItemPosted","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returns the updated queue usage"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Confirm a drafted X reply was posted in X","tags":["bot-activities","Bot Activities"]}},"/v1/bots":{"get":{"description":"findAll","operationId":"BotsController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["bots"]},"post":{"description":"create","operationId":"BotsController.create","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["bots"]}},"/v1/bots/{id}":{"delete":{"description":"remove","operationId":"BotsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["bots"]},"get":{"description":"findOne","operationId":"BotsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["bots"]},"patch":{"description":"patch","operationId":"BotsController.patch","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patch","tags":["bots"]}},"/v1/bots/{id}/livestream-session":{"get":{"description":"getLivestreamSession","operationId":"BotsController.getLivestreamSession","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getLivestreamSession","tags":["bots"]},"patch":{"description":"patchLivestreamSession","operationId":"BotsController.patchLivestreamSession","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotLivestreamSessionPatchDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patchLivestreamSession","tags":["bots"]}},"/v1/bots/{id}/livestream-session/override":{"post":{"description":"updateLivestreamOverride","operationId":"BotsController.updateLivestreamOverride","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotLivestreamOverrideDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateLivestreamOverride","tags":["bots"]}},"/v1/bots/{id}/livestream-session/restream-chat":{"post":{"description":"ingestRestreamChat","operationId":"BotsController.ingestRestreamChat","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotLivestreamRestreamChatIngestDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"ingestRestreamChat","tags":["bots"]}},"/v1/bots/{id}/livestream-session/send-now":{"post":{"description":"sendLivestreamMessageNow","operationId":"BotsController.sendLivestreamMessageNow","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotLivestreamSendNowDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"sendLivestreamMessageNow","tags":["bots"]}},"/v1/bots/{id}/livestream-session/transcript":{"post":{"description":"ingestLivestreamTranscript","operationId":"BotsController.ingestLivestreamTranscript","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotLivestreamTranscriptDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"ingestLivestreamTranscript","tags":["bots"]}},"/v1/brands":{"get":{"description":"findAll","operationId":"BrandsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["brands"]},"post":{"description":"create","operationId":"BrandsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBrandDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["brands"]}},"/v1/brands/agent-config/strategy-templates":{"get":{"description":"getStrategyTemplates","operationId":"BrandsController.getStrategyTemplates","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getStrategyTemplates","tags":["brands"]}},"/v1/brands/interview/{interviewId}":{"get":{"description":"getById","operationId":"BrandInterviewController.getById","parameters":[{"in":"path","name":"interviewId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getById","tags":["brands"]}},"/v1/brands/interview/{interviewId}/abandon":{"post":{"description":"abandon","operationId":"BrandInterviewController.abandon","parameters":[{"in":"path","name":"interviewId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"abandon","tags":["brands"]}},"/v1/brands/interview/{interviewId}/answer":{"post":{"description":"submitAnswer","operationId":"BrandInterviewController.submitAnswer","parameters":[{"in":"path","name":"interviewId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitBrandInterviewAnswerDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"submitAnswer","tags":["brands"]}},"/v1/brands/interview/{interviewId}/complete":{"post":{"description":"complete","operationId":"BrandInterviewController.complete","parameters":[{"in":"path","name":"interviewId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"complete","tags":["brands"]}},"/v1/brands/interview/{interviewId}/skip":{"post":{"description":"skipField","operationId":"BrandInterviewController.skipField","parameters":[{"in":"path","name":"interviewId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"skipField","tags":["brands"]}},"/v1/brands/slug":{"get":{"description":"findOneBySlug","operationId":"BrandsController.findOneBySlug","parameters":[{"in":"query","name":"slug","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOneBySlug","tags":["brands"]}},"/v1/brands/website-preview":{"post":{"description":"previewWebsite","operationId":"BrandsController.previewWebsite","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebsitePreviewDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"previewWebsite","tags":["brands"]}},"/v1/brands/{brandId}":{"get":{"description":"findOne","operationId":"BrandsController.findOne","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["brands"]}},"/v1/brands/{brandId}/agent-context":{"get":{"description":"Snapshot of the brand context, memories, skills, model, and system prompt the agent uses","operationId":"AgentBrandContextController.getSnapshot","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"description":"Optional preview message. Retrieval layers (knowledge, related posts, memories) rank against it.","in":"query","name":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Snapshot of the brand context, memories, skills, model, and system prompt the agent uses","tags":["agent-brand-context"]}},"/v1/brands/{brandId}/analytics":{"get":{"description":"findBrandAnalytics","operationId":"BrandsRelationshipsController.findBrandAnalytics","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"description":"Start date for analytics (YYYY-MM-DD). Defaults to 30 days before endDate.","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for analytics (YYYY-MM-DD). Max = yesterday (D-1). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Account ID to filter analytics","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findBrandAnalytics","tags":["brands"]}},"/v1/brands/{brandId}/analytics/timeseries":{"get":{"description":"findBrandAnalyticsTimeSeries","operationId":"BrandsRelationshipsController.findBrandAnalyticsTimeSeries","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"description":"Start date for time series (YYYY-MM-DD). Defaults to D-7 (7 days ago).","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for time series (YYYY-MM-DD). Max = yesterday (D-1). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Account ID to filter analytics","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Grouping for time series data","in":"query","name":"groupBy","required":false,"schema":{"default":"day","enum":["day","week"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findBrandAnalyticsTimeSeries","tags":["brands"]}},"/v1/brands/{brandId}/breakout-responses":{"get":{"description":"BreakoutResponsesController.list","operationId":"BreakoutResponsesController.list","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"query","name":"page","required":false,"schema":{"default":1}},{"in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100}},{"in":"query","name":"credentialId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Breakout responses"]}},"/v1/brands/{brandId}/breakout-responses/{id}":{"get":{"description":"BreakoutResponsesController.detail","operationId":"BreakoutResponsesController.detail","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"strategyId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Breakout responses"]}},"/v1/brands/{brandId}/completeness":{"get":{"description":"getCompleteness","operationId":"BrandInterviewController.getCompleteness","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getCompleteness","tags":["brands"]}},"/v1/brands/{brandId}/content-runs":{"get":{"description":"ContentRunsController.listBrandRuns","operationId":"ContentRunsController.listBrandRuns","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"query","name":"skillSlug","required":true,"schema":{"type":"string"}},{"in":"query","name":"status","required":false,"schema":{"$ref":"#/components/schemas/ContentRunStatus"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentRuns"]}},"/v1/brands/{brandId}/content-runs/briefs":{"post":{"description":"ContentRunsController.createBriefRun","operationId":"ContentRunsController.createBriefRun","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateContentRunBriefDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentRuns"]}},"/v1/brands/{brandId}/content-runs/remixes":{"get":{"description":"ContentRunsController.listBrandRemixRuns","operationId":"ContentRunsController.listBrandRemixRuns","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"type":"number"}},{"in":"query","name":"page","required":false,"schema":{"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentRuns"]},"post":{"description":"ContentRunsController.createBrandRemixRun","operationId":"ContentRunsController.createBrandRemixRun","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBrandRemixRunDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentRuns"]}},"/v1/brands/{brandId}/content/plans":{"get":{"description":"ContentEngineController.listPlans","operationId":"ContentEngineController.listPlans","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentEngine"]},"post":{"description":"ContentEngineController.generatePlan","operationId":"ContentEngineController.generatePlan","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateContentPlanDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentEngine"]}},"/v1/brands/{brandId}/content/plans/seeds":{"get":{"description":"ContentEngineController.getPlanSeeds","operationId":"ContentEngineController.getPlanSeeds","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentEngine"]}},"/v1/brands/{brandId}/content/plans/{planId}":{"delete":{"description":"ContentEngineController.deletePlan","operationId":"ContentEngineController.deletePlan","parameters":[{"in":"path","name":"planId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentEngine"]},"get":{"description":"ContentEngineController.getPlan","operationId":"ContentEngineController.getPlan","parameters":[{"in":"path","name":"planId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentEngine"]},"put":{"description":"ContentEngineController.updatePlan","operationId":"ContentEngineController.updatePlan","parameters":[{"in":"path","name":"planId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateContentPlanDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentEngine"]}},"/v1/brands/{brandId}/content/plans/{planId}/execute":{"post":{"description":"ContentEngineController.executePlan","operationId":"ContentEngineController.executePlan","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"planId","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentEngine"]}},"/v1/brands/{brandId}/content/plans/{planId}/items/{itemId}/execute":{"post":{"description":"ContentEngineController.executeItem","operationId":"ContentEngineController.executeItem","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"itemId","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentEngine"]}},"/v1/brands/{brandId}/content/studio-proposals":{"post":{"description":"ContentEngineController.generateStudioProposals","operationId":"ContentEngineController.generateStudioProposals","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateStudioProposalsDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentEngine"]}},"/v1/brands/{brandId}/content/turbo":{"post":{"description":"Generate content through a run workflow","operationId":"TurboContentController.createTurboRun","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTurboContentDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Generate content through a run workflow","tags":["Turbo content"]}},"/v1/brands/{brandId}/expert-path":{"get":{"description":"getStatus","operationId":"ExpertPathController.getStatus","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getStatus","tags":["brands/:brandId/expert-path"]}},"/v1/brands/{brandId}/expert-path/first-system":{"get":{"description":"getFirstSystem","operationId":"ExpertPathController.getFirstSystem","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getFirstSystem","tags":["brands/:brandId/expert-path"]},"post":{"description":"generateFirstSystem","operationId":"ExpertPathController.generateFirstSystem","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generateFirstSystem","tags":["brands/:brandId/expert-path"]}},"/v1/brands/{brandId}/expert-path/first-system/{planId}/items/{itemId}":{"patch":{"description":"reviewFirstSystemItem","operationId":"ExpertPathController.reviewFirstSystemItem","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"planId","required":true,"schema":{"type":"string"}},{"in":"path","name":"itemId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewFirstSystemItemDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"reviewFirstSystemItem","tags":["brands/:brandId/expert-path"]}},"/v1/brands/{brandId}/expert-path/positioning/profile":{"post":{"description":"regeneratePositioning","operationId":"ExpertPathController.regeneratePositioning","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"regeneratePositioning","tags":["brands/:brandId/expert-path"]}},"/v1/brands/{brandId}/font-assets":{"get":{"description":"list","operationId":"BrandFontAssetsController.list","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"list","tags":["brands/:brandId/font-assets"]},"post":{"description":"upload","operationId":"BrandFontAssetsController.upload","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/UploadBrandFontDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"upload","tags":["brands/:brandId/font-assets"]}},"/v1/brands/{brandId}/font-assets/{assetId}":{"delete":{"description":"remove","operationId":"BrandFontAssetsController.remove","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"assetId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["brands/:brandId/font-assets"]}},"/v1/brands/{brandId}/generation-feedback/summary":{"get":{"description":"BrandedGenerationFeedbackController.summary","operationId":"BrandedGenerationFeedbackController.summary","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["BrandedGenerationFeedback"]}},"/v1/brands/{brandId}/generation-receipts":{"get":{"description":"BrandedGenerationReceiptsController.list","operationId":"BrandedGenerationReceiptsController.list","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["BrandedGenerationReceipts"]}},"/v1/brands/{brandId}/generation-receipts/identity-preview":{"get":{"description":"BrandedGenerationReceiptsController.identityPreview","operationId":"BrandedGenerationReceiptsController.identityPreview","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["BrandedGenerationReceipts"]}},"/v1/brands/{brandId}/generation-receipts/{receiptId}":{"get":{"description":"BrandedGenerationReceiptsController.get","operationId":"BrandedGenerationReceiptsController.get","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"receiptId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["BrandedGenerationReceipts"]}},"/v1/brands/{brandId}/generation-receipts/{receiptId}/feedback":{"delete":{"description":"BrandedGenerationFeedbackController.withdraw","operationId":"BrandedGenerationFeedbackController.withdraw","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"receiptId","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["BrandedGenerationFeedback"]},"get":{"description":"BrandedGenerationFeedbackController.get","operationId":"BrandedGenerationFeedbackController.get","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"receiptId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["BrandedGenerationFeedback"]},"put":{"description":"BrandedGenerationFeedbackController.rate","operationId":"BrandedGenerationFeedbackController.rate","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"receiptId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["BrandedGenerationFeedback"]}},"/v1/brands/{brandId}/generation-receipts/{receiptId}/history":{"get":{"description":"BrandedGenerationReceiptsController.history","operationId":"BrandedGenerationReceiptsController.history","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"receiptId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["BrandedGenerationReceipts"]}},"/v1/brands/{brandId}/generation-receipts/{receiptId}/prompts/{stage}":{"get":{"description":"BrandedGenerationReceiptsController.readPrompt","operationId":"BrandedGenerationReceiptsController.readPrompt","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"receiptId","required":true,"schema":{"type":"string"}},{"in":"path","name":"stage","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["BrandedGenerationReceipts"]}},"/v1/brands/{brandId}/generation-receipts/{receiptId}/revisions/{revision}":{"get":{"description":"BrandedGenerationReceiptsController.getRevision","operationId":"BrandedGenerationReceiptsController.getRevision","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"receiptId","required":true,"schema":{"type":"string"}},{"in":"path","name":"revision","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["BrandedGenerationReceipts"]}},"/v1/brands/{brandId}/imported-sources":{"get":{"description":"ImportedSourcesController.list","operationId":"ImportedSourcesController.list","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ImportedSources"]},"post":{"description":"ImportedSourcesController.save","operationId":"ImportedSourcesController.save","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveImportedSourceDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ImportedSources"]}},"/v1/brands/{brandId}/imported-sources/{id}":{"get":{"description":"ImportedSourcesController.get","operationId":"ImportedSourcesController.get","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ImportedSources"]}},"/v1/brands/{brandId}/imported-sources/{id}/media":{"get":{"description":"ImportedSourceMediaController.observe","operationId":"ImportedSourceMediaController.observe","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ImportedSourceMedia"]},"post":{"description":"ImportedSourceMediaController.start","operationId":"ImportedSourceMediaController.start","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartImportedSourceMediaDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ImportedSourceMedia"]}},"/v1/brands/{brandId}/imported-sources/{id}/media/retry":{"post":{"description":"ImportedSourceMediaController.retry","operationId":"ImportedSourceMediaController.retry","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetryImportedSourceMediaDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ImportedSourceMedia"]}},"/v1/brands/{brandId}/imported-sources/{id}/recaptures":{"post":{"description":"ImportedSourcesController.recapture","operationId":"ImportedSourcesController.recapture","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecaptureImportedSourceDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ImportedSources"]}},"/v1/brands/{brandId}/interview":{"post":{"description":"start","operationId":"BrandInterviewController.start","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"start","tags":["brands"]}},"/v1/brands/{brandId}/interview/active":{"get":{"description":"getActiveForBrand","operationId":"BrandInterviewController.getActiveForBrand","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getActiveForBrand","tags":["brands"]}},"/v1/brands/{brandId}/memory":{"get":{"description":"BrandMemoryController.getMemory","operationId":"BrandMemoryController.getMemory","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"query","name":"from","required":true,"schema":{"type":"string"}},{"in":"query","name":"to","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["BrandMemory"]}},"/v1/brands/{brandId}/memory/distill":{"post":{"description":"BrandMemoryController.distillMemory","operationId":"BrandMemoryController.distillMemory","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["BrandMemory"]}},"/v1/brands/{brandId}/memory/insights":{"get":{"description":"BrandMemoryController.getInsights","operationId":"BrandMemoryController.getInsights","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["BrandMemory"]}},"/v1/brands/{brandId}/optimization/ab-tests":{"post":{"description":"ContentOptimizationController.executeAbTest","operationId":"ContentOptimizationController.executeAbTest","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecuteAbTestSuggestionDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentOptimization"]}},"/v1/brands/{brandId}/optimization/ab-tests/resolve":{"post":{"description":"ContentOptimizationController.resolveAbTests","operationId":"ContentOptimizationController.resolveAbTests","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentOptimization"]}},"/v1/brands/{brandId}/optimization/analysis":{"get":{"description":"ContentOptimizationController.getAnalysis","operationId":"ContentOptimizationController.getAnalysis","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"query","name":"startDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"endDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"topN","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentOptimization"]}},"/v1/brands/{brandId}/optimization/optimize-prompt":{"post":{"description":"ContentOptimizationController.optimizePrompt","operationId":"ContentOptimizationController.optimizePrompt","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OptimizePromptDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentOptimization"]}},"/v1/brands/{brandId}/optimization/recommendations":{"get":{"description":"ContentOptimizationController.getRecommendations","operationId":"ContentOptimizationController.getRecommendations","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentOptimization"]}},"/v1/brands/{brandId}/optimization/suggestions":{"get":{"description":"ContentOptimizationController.getSuggestions","operationId":"ContentOptimizationController.getSuggestions","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentOptimization"]}},"/v1/brands/{brandId}/optimization/suggestions/auto-apply":{"post":{"description":"ContentOptimizationController.autoApplySuggestion","operationId":"ContentOptimizationController.autoApplySuggestion","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoApplySuggestionDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentOptimization"]}},"/v1/brands/{brandId}/platforms/{platform}/analytics":{"get":{"description":"findBrandPlatformAnalytics","operationId":"BrandsRelationshipsController.findBrandPlatformAnalytics","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"platform","required":true,"schema":{"type":"string"}},{"description":"Start date for analytics (YYYY-MM-DD). Defaults to 30 days before endDate.","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for analytics (YYYY-MM-DD). Max = yesterday (D-1). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Account ID to filter analytics","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findBrandPlatformAnalytics","tags":["brands"]}},"/v1/brands/{brandId}/storyboard-runs":{"get":{"description":"StoryboardRunsController.list","operationId":"StoryboardRunsController.list","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["StoryboardRuns"]},"post":{"description":"StoryboardRunsController.create","operationId":"StoryboardRunsController.create","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateStoryboardRunDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["StoryboardRuns"]}},"/v1/brands/{brandId}/storyboard-runs/{runId}":{"get":{"description":"StoryboardRunsController.get","operationId":"StoryboardRunsController.get","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"runId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["StoryboardRuns"]}},"/v1/brands/{brandId}/storyboard-runs/{runId}/capabilities":{"get":{"description":"StoryboardRunsController.getCapabilities","operationId":"StoryboardRunsController.getCapabilities","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"runId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["StoryboardRuns"]}},"/v1/brands/{brandId}/storyboard-runs/{runId}/plan":{"patch":{"description":"StoryboardRunsController.updatePlan","operationId":"StoryboardRunsController.updatePlan","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"runId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateStoryboardPlanDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["StoryboardRuns"]}},"/v1/brands/{brandId}/storyboard-runs/{runId}/plan/approve":{"post":{"description":"StoryboardRunsController.approvePlan","operationId":"StoryboardRunsController.approvePlan","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"runId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApproveStoryboardPlanDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["StoryboardRuns"]}},"/v1/brands/{brandId}/storyboard-runs/{runId}/plan/draft":{"post":{"description":"StoryboardRunsController.draftPlan","operationId":"StoryboardRunsController.draftPlan","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"runId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DraftStoryboardPlanDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["StoryboardRuns"]}},"/v1/brands/{brandId}/storyboard-runs/{runId}/plan/reset":{"post":{"description":"StoryboardRunsController.resetPlan","operationId":"StoryboardRunsController.resetPlan","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"runId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetStoryboardPlanDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["StoryboardRuns"]}},"/v1/brands/{brandId}/storyboard-runs/{runId}/shots/{shotId}/character-replacement":{"post":{"description":"StoryboardRunsController.replaceCharacter","operationId":"StoryboardRunsController.replaceCharacter","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"runId","required":true,"schema":{"type":"string"}},{"in":"path","name":"shotId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplaceStoryboardCharacterDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["StoryboardRuns"]}},"/v1/brands/{brandId}/storyboard-runs/{runId}/shots/{shotId}/character-replacements":{"get":{"description":"StoryboardRunsController.characterReplacements","operationId":"StoryboardRunsController.characterReplacements","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"runId","required":true,"schema":{"type":"string"}},{"in":"path","name":"shotId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["StoryboardRuns"]}},"/v1/brands/{brandId}/storyboard-runs/{runId}/shots/{shotId}/character-replacements/{operationId}":{"get":{"description":"StoryboardRunsController.characterReplacementStatus","operationId":"StoryboardRunsController.characterReplacementStatus","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"runId","required":true,"schema":{"type":"string"}},{"in":"path","name":"shotId","required":true,"schema":{"type":"string"}},{"in":"path","name":"operationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["StoryboardRuns"]}},"/v1/brands/{brandId}/storyboard-runs/{runId}/source":{"patch":{"description":"StoryboardRunsController.updateSource","operationId":"StoryboardRunsController.updateSource","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"runId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateStoryboardSourceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["StoryboardRuns"]}},"/v1/brands/{brandId}/storyboard-runs/{runId}/stills":{"post":{"description":"StoryboardRunsController.generateStills","operationId":"StoryboardRunsController.generateStills","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"runId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateStoryboardStillsDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["StoryboardRuns"]}},"/v1/brands/{brandId}/storyboard-runs/{runId}/stills/quote":{"post":{"description":"StoryboardRunsController.quoteStills","operationId":"StoryboardRunsController.quoteStills","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"runId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteStoryboardStillsDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["StoryboardRuns"]}},"/v1/brands/{brandId}/storyboard-runs/{runId}/stills/reconcile":{"post":{"description":"StoryboardRunsController.reconcileStills","operationId":"StoryboardRunsController.reconcileStills","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"path","name":"runId","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["StoryboardRuns"]}},"/v1/brands/{id}":{"delete":{"description":"remove","operationId":"BrandsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["brands"]},"patch":{"description":"patch","operationId":"BrandsController.patch","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBrandDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patch","tags":["brands"]}},"/v1/brands/{id}/agent-config":{"patch":{"description":"updateAgentConfig","operationId":"BrandsAgentConfigController.updateAgentConfig","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBrandAgentConfigDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateAgentConfig","tags":["brands"]}},"/v1/brands/{id}/agent-config/enabled-skills":{"patch":{"description":"updateEnabledSkills","operationId":"BrandsAgentConfigController.updateEnabledSkills","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToggleBrandSkillDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateEnabledSkills","tags":["brands"]}},"/v1/brands/{id}/agent-config/generate-voice":{"post":{"description":"generateBrandVoice","operationId":"BrandsAgentConfigController.generateBrandVoice","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateBrandVoiceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generateBrandVoice","tags":["brands"]}},"/v1/brands/{id}/brand-kit/apply":{"post":{"description":"applyBrandKitDraft","operationId":"BrandsAgentConfigController.applyBrandKitDraft","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplyBrandKitDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"applyBrandKitDraft","tags":["brands"]}},"/v1/brands/{id}/brand-kit/assets/import":{"post":{"description":"importBrandKitAssets","operationId":"BrandsAgentConfigController.importBrandKitAssets","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportBrandKitAssetsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"importBrandKitAssets","tags":["brands"]}},"/v1/brands/{id}/brand-kit/brand-os":{"get":{"description":"readClaimedBrandOsPreview","operationId":"BrandsAgentConfigController.readClaimedBrandOsPreview","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"readClaimedBrandOsPreview","tags":["brands"]}},"/v1/brands/{id}/brand-kit/brand-os/claim":{"post":{"description":"claimBrandOsPreview","operationId":"BrandsAgentConfigController.claimBrandOsPreview","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandOsPreviewClaimDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"claimBrandOsPreview","tags":["brands"]}},"/v1/brands/{id}/brand-kit/crawl":{"post":{"description":"crawlBrandKitWebsite","operationId":"BrandsAgentConfigController.crawlBrandKitWebsite","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrawlBrandKitDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"crawlBrandKitWebsite","tags":["brands"]}},"/v1/brands/{id}/brand-kit/manual":{"post":{"description":"createManualBrandKitDraft","operationId":"BrandsAgentConfigController.createManualBrandKitDraft","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualBrandKitDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createManualBrandKitDraft","tags":["brands"]}},"/v1/brands/{id}/brand-os/design.md":{"get":{"description":"BrandOsExportController.download","operationId":"BrandOsExportController.download","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["BrandOsExport"]}},"/v1/brands/{id}/brand-os/export":{"get":{"description":"BrandOsExportController.state","operationId":"BrandOsExportController.state","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["BrandOsExport"]}},"/v1/brands/{id}/brand-os/publication":{"delete":{"description":"BrandOsExportController.revoke","operationId":"BrandOsExportController.revoke","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["BrandOsExport"]},"post":{"description":"BrandOsExportController.publish","operationId":"BrandOsExportController.publish","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublishBrandOsDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["BrandOsExport"]}},"/v1/brands/{id}/brand-os/revisions":{"get":{"description":"list","operationId":"BrandOsRevisionsController.list","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"list","tags":["brands/:id/brand-os/revisions"]},"post":{"description":"create","operationId":"BrandOsRevisionsController.create","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBrandOsRevisionDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["brands/:id/brand-os/revisions"]}},"/v1/brands/{id}/brand-os/revisions/{revisionId}":{"get":{"description":"get","operationId":"BrandOsRevisionsController.get","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"revisionId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"get","tags":["brands/:id/brand-os/revisions"]},"patch":{"description":"update","operationId":"BrandOsRevisionsController.update","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"revisionId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBrandOsRevisionDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["brands/:id/brand-os/revisions"]}},"/v1/brands/{id}/brand-os/revisions/{revisionId}/approve":{"post":{"description":"approve","operationId":"BrandOsRevisionsController.approve","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"revisionId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApproveBrandOsRevisionDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"approve","tags":["brands/:id/brand-os/revisions"]}},"/v1/brands/{id}/brand-os/scan":{"get":{"description":"get","operationId":"BrandOsScanController.get","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"get","tags":["brands/:id/brand-os/scan"]},"post":{"description":"start","operationId":"BrandOsScanController.start","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandOsScanDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"start","tags":["brands/:id/brand-os/scan"]}},"/v1/brands/{id}/reference-images":{"post":{"description":"addReferenceImages","operationId":"BrandsController.addReferenceImages","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddReferenceImagesDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"addReferenceImages","tags":["brands"]}},"/v1/brands/{id}/relocation-preview":{"get":{"description":"previewRelocation","operationId":"BrandsController.previewRelocation","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"previewRelocation","tags":["brands"]}},"/v1/brands/{id}/relocations/{operationId}":{"get":{"description":"getRelocation","operationId":"BrandRelocationsController.getRelocation","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"operationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getRelocation","tags":["brands"]}},"/v1/brands/{id}/scrape":{"post":{"description":"scrapeBrand","operationId":"BrandsController.scrapeBrand","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandSetupDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"scrapeBrand","tags":["brands"]}},"/v1/campaigns":{"get":{"description":"list","operationId":"CampaignsController.list","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Include archived campaigns when no status filter is set. Default lists hide archived rows.","in":"query","name":"includeArchived","required":false,"schema":{"type":"boolean"}},{"description":"Filter campaigns by lifecycle status","in":"query","name":"status","required":false,"schema":{"$ref":"#/components/schemas/ContentCampaignStatus"}},{"description":"Filter campaigns by the operator who created them","in":"query","name":"userId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"list","tags":["Campaigns"]},"post":{"description":"create","operationId":"CampaignsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCampaignDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["Campaigns"]}},"/v1/campaigns/compare":{"get":{"description":"compare","operationId":"CampaignsController.compare","parameters":[{"in":"query","name":"ids","required":true,"schema":{"type":"string"}},{"in":"query","name":"startDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"endDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"metric","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"compare","tags":["Campaigns"]}},"/v1/campaigns/generate-plan":{"post":{"description":"generatePlan","operationId":"CampaignsController.generatePlan","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateCampaignPlanDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generatePlan","tags":["Campaigns"]}},"/v1/campaigns/{id}":{"delete":{"description":"remove","operationId":"CampaignsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["Campaigns"]},"get":{"description":"getOne","operationId":"CampaignsController.getOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getOne","tags":["Campaigns"]},"patch":{"description":"update","operationId":"CampaignsController.update","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCampaignDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["Campaigns"]}},"/v1/campaigns/{id}/activations":{"get":{"description":"listActivations","operationId":"CampaignsController.listActivations","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listActivations","tags":["Campaigns"]},"post":{"description":"prepareActivation","operationId":"CampaignsController.prepareActivation","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrepareCampaignActivationDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"prepareActivation","tags":["Campaigns"]}},"/v1/campaigns/{id}/activations/{activationId}/spend-approval":{"post":{"description":"approveSpend","operationId":"CampaignsController.approveSpend","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"activationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApproveCampaignSpendDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"approveSpend","tags":["Campaigns"]}},"/v1/campaigns/{id}/archive":{"post":{"description":"archive","operationId":"CampaignsController.archive","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"archive","tags":["Campaigns"]}},"/v1/campaigns/{id}/complete":{"post":{"description":"complete","operationId":"CampaignsController.complete","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"complete","tags":["Campaigns"]}},"/v1/campaigns/{id}/generate":{"post":{"description":"generate","operationId":"CampaignsController.generate","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateCampaignContentDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generate","tags":["Campaigns"]}},"/v1/campaigns/{id}/pause":{"post":{"description":"pause","operationId":"CampaignsController.pause","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"pause","tags":["Campaigns"]}},"/v1/campaigns/{id}/performance":{"get":{"description":"getPerformance","operationId":"CampaignsController.getPerformance","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"startDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"endDate","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getPerformance","tags":["Campaigns"]}},"/v1/campaigns/{id}/posts":{"delete":{"description":"unassignPosts","operationId":"CampaignsController.unassignPosts","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignPostsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"unassignPosts","tags":["Campaigns"]},"post":{"description":"assignPosts","operationId":"CampaignsController.assignPosts","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignPostsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"assignPosts","tags":["Campaigns"]}},"/v1/campaigns/{id}/restore":{"post":{"description":"restore","operationId":"CampaignsController.restore","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestoreCampaignDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"restore","tags":["Campaigns"]}},"/v1/campaigns/{id}/start":{"post":{"description":"start","operationId":"CampaignsController.start","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"start","tags":["Campaigns"]}},"/v1/captions":{"get":{"description":"findAll","operationId":"CaptionsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Filter captions by language (e.g., en, es, fr)","in":"query","name":"language","required":false,"schema":{"type":"string"}},{"description":"Filter captions by format (e.g., srt, vtt, plain)","in":"query","name":"format","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["captions"]},"post":{"description":"create","operationId":"CaptionsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCaptionDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["captions"]}},"/v1/captions/{captionId}":{"delete":{"description":"remove","operationId":"CaptionsController.remove","parameters":[{"in":"path","name":"captionId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["captions"]},"get":{"description":"findOne","operationId":"CaptionsController.findOne","parameters":[{"in":"path","name":"captionId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["captions"]},"patch":{"description":"update","operationId":"CaptionsController.update","parameters":[{"in":"path","name":"captionId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCaptionDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["captions"]}},"/v1/clip-projects":{"get":{"description":"findAll","operationId":"ClipProjectsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAll","tags":["clip-projects"]},"post":{"description":"create","operationId":"ClipProjectsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateClipProjectDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"create","tags":["clip-projects"]}},"/v1/clip-projects/analyze":{"post":{"description":"Analyze a YouTube URL: download audio, transcribe, detect highlights. Analysis does not charge credits. Returns projectId to poll for results.","operationId":"ClipProjectsController.analyzeYoutube","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyzeYoutubeDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Analyze YouTube video for highlights","tags":["clip-projects"]}},"/v1/clip-projects/drafts":{"post":{"description":"Create an empty draft clip project whose new-project form autosaves until it starts.","operationId":"ClipProjectsController.createDraft","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateClipProjectDraftDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Create a draft clip project","tags":["clip-projects"]}},"/v1/clip-projects/from-ingredient":{"post":{"description":"Create a clip project from a Library video asset and start highlight analysis. Refuses assets outside Clips source limits before any analysis starts.","operationId":"ClipProjectsController.createFromIngredient","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateClipProjectFromIngredientDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Library video → Clips analysis","tags":["clip-projects"]}},"/v1/clip-projects/from-upload":{"post":{"description":"Create an authenticated Studio clip project and a presigned source upload. The upload URL is ephemeral and is never persisted on the project.","operationId":"ClipProjectsController.prepareUpload","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrepareClipUploadDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Prepare a long-form clip source upload","tags":["clip-projects"]}},"/v1/clip-projects/from-youtube":{"post":{"description":"Create a clip project from a YouTube URL. Downloads audio, transcribes, detects highlights, and generates avatar or raw-cut clips asynchronously.","operationId":"ClipProjectsController.createFromYoutube","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateClipProjectFromYoutubeDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"YouTube → Clip Factory","tags":["clip-projects"]}},"/v1/clip-projects/public-tool/claim":{"post":{"description":"Atomically attach an expiring public YouTube clip session to the authenticated tenant.","operationId":"ClipProjectPublicToolController.claim","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimPublicYoutubeClipDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Claim public YouTube clip project","tags":["clip-projects"]}},"/v1/clip-projects/{id}":{"get":{"description":"findOne","operationId":"ClipProjectsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findOne","tags":["clip-projects"]},"patch":{"description":"update","operationId":"ClipProjectsController.update","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateClipProjectDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"update","tags":["clip-projects"]}},"/v1/clip-projects/{projectId}/draft":{"patch":{"description":"Autosave new-project form fields on a draft clip project. Refused once the project has started.","operationId":"ClipProjectsController.saveDraft","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateClipProjectDraftDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Autosave a draft clip project","tags":["clip-projects"]}},"/v1/clip-projects/{projectId}/generate":{"post":{"description":"Generate avatar or deterministic raw-cut video clips for selected highlights. Each HeyGen avatar clip holds the per-second avatar rate at its estimated length and settles to the rendered length; raw-cut clips are free.","operationId":"ClipProjectsController.generateClips","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateClipsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Generate clips from selected highlights","tags":["clip-projects"]}},"/v1/clip-projects/{projectId}/highlights":{"get":{"description":"Returns the highlights array from a ClipProject after analysis.","operationId":"ClipProjectsController.getHighlights","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Get project highlights","tags":["clip-projects"]}},"/v1/clip-projects/{projectId}/highlights/{highlightId}/rewrite":{"post":{"description":"Rewrite a highlight script using AI to make it more viral for a specific platform and tone.","operationId":"ClipProjectsController.rewriteHighlight","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"in":"path","name":"highlightId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RewriteHighlightDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Viral rewrite a highlight script","tags":["clip-projects"]}},"/v1/clip-projects/{projectId}/hook-approval":{"get":{"description":"Get the trusted hook clip approval state","operationId":"ClipProjectsController.getHookClipApproval","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Get the trusted hook clip approval state","tags":["clip-projects"]},"post":{"description":"Approve, regenerate, or reject the hook clip","operationId":"ClipProjectsController.submitHookClipDecision","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitHookClipDecisionDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Approve, regenerate, or reject the hook clip","tags":["clip-projects"]}},"/v1/clip-projects/{projectId}/reference-frame":{"put":{"description":"Select an available source-video reference-frame candidate for this clip project.","operationId":"ClipProjectReferenceFramesController.selectReferenceFrame","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SelectClipReferenceFrameDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Select a clip reference frame","tags":["clip-projects"]}},"/v1/clip-projects/{projectId}/results/{clipResultId}/editor-handoff":{"post":{"description":"Validate a ready clip result and create an editor project handoff from its terminal media URL.","operationId":"ClipProjectHandoffsController.createEditorHandoff","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"in":"path","name":"clipResultId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Create editor handoff for a ready clip result","tags":["clip-projects"]}},"/v1/clip-projects/{projectId}/results/{clipResultId}/library-link":{"post":{"description":"Retry Library linking for a ready clip without re-rendering or rebilling.","operationId":"ClipProjectHandoffsController.retryLibraryLink","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"in":"path","name":"clipResultId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Retry Library link for a ready clip result","tags":["clip-projects"]}},"/v1/clip-projects/{projectId}/results/{clipResultId}/publish-handoff":{"post":{"description":"Validate a ready clip result and prepare a user-confirmed publish handoff payload.","operationId":"ClipProjectHandoffsController.createPublishHandoff","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}},{"in":"path","name":"clipResultId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Prepare publish handoff for a ready clip result","tags":["clip-projects"]}},"/v1/clip-projects/{projectId}/retry-failed":{"post":{"description":"Retry only failed clip results while preserving completed clips and their Library handoffs.","operationId":"ClipProjectsController.retryFailedClips","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Retry failed clip generations","tags":["clip-projects"]}},"/v1/clip-projects/{projectId}/source/finalize":{"post":{"description":"Confirm an uploaded source, validate its authoritative metadata, and idempotently queue the configured quick or review flow.","operationId":"ClipProjectsController.finalizeUpload","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinalizeClipUploadDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Finalize and process a clip source upload","tags":["clip-projects"]}},"/v1/clip-projects/{projectId}/source/retry":{"post":{"description":"Retry only the failed source-processing job for an authenticated Studio clip project.","operationId":"ClipProjectsController.retrySource","parameters":[{"in":"path","name":"projectId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Retry failed clip source processing","tags":["clip-projects"]}},"/v1/clip-results":{"get":{"description":"findAll","operationId":"ClipResultsController.findAll","parameters":[{"in":"query","name":"project","required":true,"schema":{"type":"string"}},{"in":"query","name":"filter[project]","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAll","tags":["clip-results"]},"post":{"description":"create","operationId":"ClipResultsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateClipResultDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"create","tags":["clip-results"]}},"/v1/clip-results/{id}":{"get":{"description":"findOne","operationId":"ClipResultsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findOne","tags":["clip-results"]},"patch":{"description":"update","operationId":"ClipResultsController.update","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateClipResultDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"update","tags":["clip-results"]}},"/v1/content-gateway/execute":{"post":{"description":"ContentGatewayController.executeSkill","operationId":"ContentGatewayController.executeSkill","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecuteSkillDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentGateway"]}},"/v1/content-gateway/signal":{"post":{"description":"ContentGatewayController.routeSignal","operationId":"ContentGatewayController.routeSignal","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteSignalDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentGateway"]}},"/v1/content-intelligence/creators":{"get":{"description":"findAll","operationId":"CreatorsController.findAll","parameters":[{"description":"Filter by platform","in":"query","name":"platform","required":false,"schema":{"$ref":"#/components/schemas/ContentIntelligencePlatform"}},{"description":"Filter by niche","in":"query","name":"niche","required":false,"schema":{"type":"string"}},{"description":"Filter by tags","in":"query","name":"tags","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Number of results per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}},{"description":"Page number","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["content-intelligence/creators"]},"post":{"description":"create","operationId":"CreatorsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddCreatorDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["content-intelligence/creators"]}},"/v1/content-intelligence/creators/import":{"post":{"description":"importCreators","operationId":"CreatorsController.importCreators","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportCreatorsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"importCreators","tags":["content-intelligence/creators"]}},"/v1/content-intelligence/creators/{id}":{"delete":{"description":"remove","operationId":"CreatorsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["content-intelligence/creators"]},"get":{"description":"findOne","operationId":"CreatorsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["content-intelligence/creators"]}},"/v1/content-intelligence/creators/{id}/analyze":{"post":{"description":"analyze","operationId":"CreatorsController.analyze","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"analyze","tags":["content-intelligence/creators"]}},"/v1/content-intelligence/creators/{id}/rescrape":{"post":{"description":"rescrape","operationId":"CreatorsController.rescrape","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"rescrape","tags":["content-intelligence/creators"]}},"/v1/content-intelligence/generate":{"post":{"description":"generate","operationId":"GenerateController.generate","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateContentDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generate","tags":["content-intelligence/generate"]}},"/v1/content-intelligence/patterns":{"get":{"description":"findAll","operationId":"PatternsController.findAll","parameters":[{"description":"Filter by platform","in":"query","name":"platform","required":false,"schema":{"$ref":"#/components/schemas/ContentIntelligencePlatform"}},{"description":"Filter by pattern type","in":"query","name":"patternType","required":false,"schema":{"$ref":"#/components/schemas/ContentPatternType"}},{"description":"Filter by template category","in":"query","name":"templateCategory","required":false,"schema":{"$ref":"#/components/schemas/TemplateCategory"}},{"description":"Filter by source creator","in":"query","name":"sourceCreatorId","required":false,"schema":{"type":"string"}},{"description":"Filter by tags","in":"query","name":"tags","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Minimum relevance weight","in":"query","name":"minRelevanceWeight","required":false,"schema":{"maximum":1,"minimum":0,"type":"number"}},{"description":"Minimum engagement rate from source","in":"query","name":"minEngagementRate","required":false,"schema":{"minimum":0,"type":"number"}},{"description":"Number of results per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}},{"description":"Page number","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Sort field","in":"query","name":"sortBy","required":false,"schema":{"type":"string"}},{"description":"Sort order","in":"query","name":"sortOrder","required":false,"schema":{"default":"desc","enum":["asc","desc"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["content-intelligence/patterns"]}},"/v1/content-intelligence/patterns/{id}":{"delete":{"description":"remove","operationId":"PatternsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["content-intelligence/patterns"]},"get":{"description":"findOne","operationId":"PatternsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["content-intelligence/patterns"]}},"/v1/content-intelligence/playbooks":{"get":{"description":"findAll","operationId":"PlaybooksController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["content-intelligence/playbooks"]},"post":{"description":"create","operationId":"PlaybooksController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePlaybookDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["content-intelligence/playbooks"]}},"/v1/content-intelligence/playbooks/{id}":{"delete":{"description":"remove","operationId":"PlaybooksController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["content-intelligence/playbooks"]},"get":{"description":"findOne","operationId":"PlaybooksController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["content-intelligence/playbooks"]},"patch":{"description":"update","operationId":"PlaybooksController.update","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePlaybookDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["content-intelligence/playbooks"]}},"/v1/content-intelligence/playbooks/{id}/build":{"post":{"description":"buildInsights","operationId":"PlaybooksController.buildInsights","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"buildInsights","tags":["content-intelligence/playbooks"]}},"/v1/content-learning/accounts":{"get":{"description":"ContentLearningController.accountsList","operationId":"ContentLearningController.accountsList","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearning"]}},"/v1/content-learning/accounts/{credentialId}":{"get":{"description":"ContentLearningController.account","operationId":"ContentLearningController.account","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearning"]}},"/v1/content-learning/accounts/{credentialId}/control":{"post":{"description":"ContentLearningController.control","operationId":"ContentLearningController.control","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LearningControlDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearning"]}},"/v1/content-learning/accounts/{credentialId}/evidence":{"get":{"description":"ContentLearningController.evidence","operationId":"ContentLearningController.evidence","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearning"]}},"/v1/content-learning/accounts/{credentialId}/shared-release":{"patch":{"description":"ContentLearningController.receiving","operationId":"ContentLearningController.receiving","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LearningReceivingDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearning"]}},"/v1/content-learning/accounts/{credentialId}/sharing":{"patch":{"description":"ContentLearningController.sharing","operationId":"ContentLearningController.sharing","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LearningConsentDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearning"]}},"/v1/content-learning/brands/{brandId}/shared-release":{"patch":{"description":"ContentLearningController.brandReceiving","operationId":"ContentLearningController.brandReceiving","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LearningReceivingDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearning"]}},"/v1/content-learning/decisions/{id}":{"get":{"description":"ContentLearningController.decision","operationId":"ContentLearningController.decision","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearning"]}},"/v1/content-learning/policies/{id}":{"get":{"description":"ContentLearningController.policy","operationId":"ContentLearningController.policy","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearning"]}},"/v1/content-learning/posts/{postId}/decision":{"get":{"description":"ContentLearningController.postDecision","operationId":"ContentLearningController.postDecision","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearning"]}},"/v1/content-learning/posts/{postId}/eligibility":{"post":{"description":"ContentLearningController.eligibility","operationId":"ContentLearningController.eligibility","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LearningEligibilityDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentLearning"]}},"/v1/content-performance":{"get":{"description":"query","operationId":"ContentPerformanceController.query","parameters":[{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by platform","in":"query","name":"platform","required":false,"schema":{"enum":["youtube","instagram","tiktok","facebook","google_ads","google_search_console","twitter","x_ads","linkedin","pinterest","reddit","discord","telegram","twitch","medium","threads","fanvue","slack","wordpress","snapchat","whatsapp","mastodon","ghost","shopify","beehiiv","unipile","devto","product_hunt","hacker_news","restream"],"type":"string"}},{"description":"Start date","in":"query","name":"startDate","required":false,"schema":{"type":"string"}},{"description":"End date","in":"query","name":"endDate","required":false,"schema":{"type":"string"}},{"description":"Filter by optimization cycle number","in":"query","name":"cycleNumber","required":false,"schema":{"type":"number"}},{"description":"Filter by generationId","in":"query","name":"generationId","required":false,"schema":{"type":"string"}},{"description":"Max results (default 100, max 500)","in":"query","name":"limit","required":false,"schema":{"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"query","tags":["content-performance"]},"post":{"description":"create","operationId":"ContentPerformanceController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateContentPerformanceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["content-performance"]}},"/v1/content-performance/aggregate/{generationId}":{"get":{"description":"getAggregated","operationId":"ContentPerformanceController.getAggregated","parameters":[{"in":"path","name":"generationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getAggregated","tags":["content-performance"]}},"/v1/content-performance/analytics-sync/digest":{"post":{"description":"triggerDigest","operationId":"AnalyticsSyncController.triggerDigest","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerDigestDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"triggerDigest","tags":["content-performance/analytics-sync"]}},"/v1/content-performance/analytics-sync/digest/send":{"post":{"description":"sendDigest","operationId":"AnalyticsSyncController.sendDigest","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerDigestDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"sendDigest","tags":["content-performance/analytics-sync"]}},"/v1/content-performance/analytics-sync/run":{"post":{"description":"runSync","operationId":"AnalyticsSyncController.runSync","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerSyncDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"runSync","tags":["content-performance/analytics-sync"]}},"/v1/content-performance/analytics-sync/status":{"get":{"description":"getSyncStatus","operationId":"AnalyticsSyncController.getSyncStatus","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getSyncStatus","tags":["content-performance/analytics-sync"]}},"/v1/content-performance/analytics-sync/trigger":{"post":{"description":"triggerSync","operationId":"AnalyticsSyncController.triggerSync","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerSyncDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"triggerSync","tags":["content-performance/analytics-sync"]}},"/v1/content-performance/attribution/ranking":{"get":{"description":"getStrategyRanking","operationId":"ContentPerformanceController.getStrategyRanking","parameters":[{"in":"query","name":"brand","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getStrategyRanking","tags":["content-performance"]}},"/v1/content-performance/attribution/{generationId}":{"get":{"description":"getAttribution","operationId":"ContentPerformanceController.getAttribution","parameters":[{"in":"path","name":"generationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getAttribution","tags":["content-performance"]}},"/v1/content-performance/import/csv":{"post":{"description":"importCsv","operationId":"ContentPerformanceController.importCsv","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportCsvDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"importCsv","tags":["content-performance"]}},"/v1/content-performance/import/manual":{"post":{"description":"importManual","operationId":"ContentPerformanceController.importManual","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportManualDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"importManual","tags":["content-performance"]}},"/v1/content-performance/manual-import":{"post":{"description":"manualImport","operationId":"ContentPerformanceController.manualImport","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualInputDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"manualImport","tags":["content-performance"]}},"/v1/content-performance/summary/generation-context":{"get":{"description":"getGenerationContext","operationId":"PerformanceSummaryController.getGenerationContext","parameters":[{"in":"query","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getGenerationContext","tags":["Content Performance"]}},"/v1/content-performance/summary/prompt-performance":{"get":{"description":"getPromptPerformance","operationId":"PerformanceSummaryController.getPromptPerformance","parameters":[{"in":"query","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getPromptPerformance","tags":["Content Performance"]}},"/v1/content-performance/summary/top-performers":{"get":{"description":"getTopPerformers","operationId":"PerformanceSummaryController.getTopPerformers","parameters":[{"in":"query","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTopPerformers","tags":["Content Performance"]}},"/v1/content-performance/summary/weekly":{"get":{"description":"getWeeklySummary","operationId":"PerformanceSummaryController.getWeeklySummary","parameters":[{"in":"query","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getWeeklySummary","tags":["Content Performance"]}},"/v1/content-performance/{id}":{"delete":{"description":"delete","operationId":"ContentPerformanceController.delete","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"delete","tags":["content-performance"]},"get":{"description":"findOne","operationId":"ContentPerformanceController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["content-performance"]}},"/v1/content-runs/{id}":{"get":{"description":"ContentRunsController.getRun","operationId":"ContentRunsController.getRun","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentRuns"]}},"/v1/content-runs/{id}/recommendations":{"post":{"description":"ContentRunsController.analyzeRunRecommendations","operationId":"ContentRunsController.analyzeRunRecommendations","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentRuns"]}},"/v1/content-runs/{id}/remix":{"get":{"description":"ContentRunsController.getBrandRemixRun","operationId":"ContentRunsController.getBrandRemixRun","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentRuns"]},"patch":{"description":"ContentRunsController.reviseBrandRemixRun","operationId":"ContentRunsController.reviseBrandRemixRun","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviseBrandRemixRunDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentRuns"]}},"/v1/content-runs/{id}/remix-pack":{"post":{"description":"ContentRunsController.createRemixPack","operationId":"ContentRunsController.createRemixPack","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentRuns"]}},"/v1/content-runs/{id}/remix/generation/execute":{"post":{"description":"BrandRemixGenerationController.execute","operationId":"BrandRemixGenerationController.execute","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecuteBrandRemixGenerationDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["BrandRemixGeneration"]}},"/v1/content-runs/{id}/remix/generation/quote":{"post":{"description":"BrandRemixGenerationController.quote","operationId":"BrandRemixGenerationController.quote","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteBrandRemixGenerationDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["BrandRemixGeneration"]}},"/v1/content-runs/{id}/remix/paid-draft":{"post":{"description":"ContentRunsController.preparePausedMetaCampaignDraft","operationId":"ContentRunsController.preparePausedMetaCampaignDraft","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreparePausedMetaCampaignDraftDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentRuns"]}},"/v1/content-runs/{id}/remix/review":{"post":{"description":"ContentRunsController.submitBrandRemixRunForReview","operationId":"ContentRunsController.submitBrandRemixRunForReview","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitBrandRemixRunForReviewDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentRuns"]}},"/v1/content-runs/{id}/remix/scenes/cancel":{"post":{"description":"ContentRunsController.cancelScenes","operationId":"ContentRunsController.cancelScenes","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlBrandRemixScenesDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentRuns"]}},"/v1/content-runs/{id}/remix/scenes/execute":{"post":{"description":"ContentRunsController.executeScenes","operationId":"ContentRunsController.executeScenes","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecuteBrandRemixScenesDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentRuns"]}},"/v1/content-runs/{id}/remix/scenes/quote":{"post":{"description":"ContentRunsController.quoteScenes","operationId":"ContentRunsController.quoteScenes","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteBrandRemixScenesDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentRuns"]}},"/v1/content-runs/{id}/remix/scenes/resume":{"post":{"description":"ContentRunsController.resumeScenes","operationId":"ContentRunsController.resumeScenes","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlBrandRemixScenesDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentRuns"]}},"/v1/content-runs/{id}/remix/scenes/source":{"patch":{"description":"ContentRunsController.attachSceneSource","operationId":"ContentRunsController.attachSceneSource","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachBrandRemixAnalysisSourceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentRuns"]}},"/v1/content-runs/{id}/remix/start":{"post":{"description":"ContentRunsController.startBrandRemixRun","operationId":"ContentRunsController.startBrandRemixRun","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartBrandRemixRunDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["ContentRuns"]}},"/v1/content/mentions":{"get":{"description":"getMentions","operationId":"ContentMentionsController.getMentions","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getMentions","tags":["content"]}},"/v1/contexts":{"get":{"description":"findAll","operationId":"ContextsController.findAll","parameters":[{"description":"Page number","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Items per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}},{"description":"Only context bases in this category","in":"query","name":"category","required":false,"schema":{"type":"string"}},{"in":"query","name":"isActive","required":false,"schema":{"enum":["true","false"],"type":"string"}},{"description":"Case-insensitive label search","in":"query","name":"search","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["Contexts"]},"post":{"description":"create","operationId":"ContextsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateContextDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["Contexts"]}},"/v1/contexts/autocreate":{"post":{"description":"autoCreateFromAccount","operationId":"ContextsController.autoCreateFromAccount","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateContextDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"autoCreateFromAccount","tags":["Contexts"]}},"/v1/contexts/enhance":{"post":{"description":"enhancePrompt","operationId":"ContextsController.enhancePrompt","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnhancePromptDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"enhancePrompt","tags":["Contexts"]}},"/v1/contexts/query":{"post":{"description":"queryContext","operationId":"ContextsController.queryContext","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryContextDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"queryContext","tags":["Contexts"]}},"/v1/contexts/{contextId}":{"delete":{"description":"remove","operationId":"ContextsController.remove","parameters":[{"in":"path","name":"contextId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["Contexts"]},"get":{"description":"findOne","operationId":"ContextsController.findOne","parameters":[{"in":"path","name":"contextId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["Contexts"]},"patch":{"description":"update","operationId":"ContextsController.update","parameters":[{"in":"path","name":"contextId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateContextDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["Contexts"]}},"/v1/contexts/{contextId}/entries":{"post":{"description":"addEntry","operationId":"ContextsController.addEntry","parameters":[{"in":"path","name":"contextId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddEntryDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"addEntry","tags":["Contexts"]}},"/v1/contexts/{contextId}/entries/{entryId}":{"delete":{"description":"removeEntry","operationId":"ContextsController.removeEntry","parameters":[{"in":"path","name":"contextId","required":true,"schema":{"type":"string"}},{"in":"path","name":"entryId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"removeEntry","tags":["Contexts"]}},"/v1/contexts/{contextId}/stats":{"get":{"description":"getStats","operationId":"ContextsController.getStats","parameters":[{"in":"path","name":"contextId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getStats","tags":["Contexts"]}},"/v1/costs/entries":{"get":{"description":"getEntries","operationId":"CostReportingController.getEntries","parameters":[{"description":"Inclusive report start date or timestamp","in":"query","name":"from","required":false,"schema":{"example":"2026-08-01","type":"string"}},{"description":"Inclusive report end date or timestamp","in":"query","name":"to","required":false,"schema":{"example":"2026-08-26","type":"string"}},{"description":"Brand ID owned by the authenticated organization","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":200,"minimum":1,"type":"number"}},{"in":"query","name":"skip","required":false,"schema":{"default":0,"minimum":0,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getEntries","tags":["costs"]}},"/v1/costs/export":{"get":{"description":"exportCsv","operationId":"CostReportingController.exportCsv","parameters":[{"description":"Inclusive report start date or timestamp","in":"query","name":"from","required":false,"schema":{"example":"2026-08-01","type":"string"}},{"description":"Inclusive report end date or timestamp","in":"query","name":"to","required":false,"schema":{"example":"2026-08-26","type":"string"}},{"description":"Brand ID owned by the authenticated organization","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"exportCsv","tags":["costs"]}},"/v1/costs/summary":{"get":{"description":"getSummary","operationId":"CostReportingController.getSummary","parameters":[{"description":"Inclusive report start date or timestamp","in":"query","name":"from","required":false,"schema":{"example":"2026-08-01","type":"string"}},{"description":"Inclusive report end date or timestamp","in":"query","name":"to","required":false,"schema":{"example":"2026-08-26","type":"string"}},{"description":"Brand ID owned by the authenticated organization","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getSummary","tags":["costs"]}},"/v1/costs/usage/export":{"get":{"description":"exportUsageCsv","operationId":"CostReportingController.exportUsageCsv","parameters":[{"description":"Inclusive report start date or timestamp","in":"query","name":"from","required":false,"schema":{"example":"2026-08-01","type":"string"}},{"description":"Inclusive report end date or timestamp","in":"query","name":"to","required":false,"schema":{"example":"2026-08-26","type":"string"}},{"description":"Brand ID owned by the authenticated organization","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"exportUsageCsv","tags":["costs"]}},"/v1/costs/workflows":{"get":{"description":"getWorkflows","operationId":"CostReportingController.getWorkflows","parameters":[{"description":"Inclusive report start date or timestamp","in":"query","name":"from","required":false,"schema":{"example":"2026-08-01","type":"string"}},{"description":"Inclusive report end date or timestamp","in":"query","name":"to","required":false,"schema":{"example":"2026-08-26","type":"string"}},{"description":"Brand ID owned by the authenticated organization","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getWorkflows","tags":["costs"]}},"/v1/costs/workflows/export":{"get":{"description":"exportWorkflows","operationId":"CostReportingController.exportWorkflows","parameters":[{"description":"Inclusive report start date or timestamp","in":"query","name":"from","required":false,"schema":{"example":"2026-08-01","type":"string"}},{"description":"Inclusive report end date or timestamp","in":"query","name":"to","required":false,"schema":{"example":"2026-08-26","type":"string"}},{"description":"Brand ID owned by the authenticated organization","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"exportWorkflows","tags":["costs"]}},"/v1/creative-patterns":{"get":{"description":"findAll","operationId":"CreativePatternsController.findAll","parameters":[{"description":"Page number","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Items per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}},{"description":"Limit the list to one brand","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by pattern type","in":"query","name":"patternType","required":false,"schema":{"enum":["hook_formula","cta_formula","content_structure","caption_formula","visual_style"],"type":"string"}},{"description":"Filter by platform","in":"query","name":"platform","required":false,"schema":{"type":"string"}},{"description":"Filter by visibility","in":"query","name":"scope","required":false,"schema":{"enum":["public","private"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["creative-patterns"]}},"/v1/credentials":{"get":{"description":"findAll","operationId":"CredentialsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["credentials"]}},"/v1/credentials/brand/{brandId}/account-health":{"get":{"description":"listBrandAccountHealth","operationId":"CredentialsController.listBrandAccountHealth","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listBrandAccountHealth","tags":["credentials"]}},"/v1/credentials/brand/{brandId}/publishing-readiness":{"get":{"description":"listBrandPublishingReadiness","operationId":"CredentialsController.listBrandPublishingReadiness","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listBrandPublishingReadiness","tags":["credentials"]}},"/v1/credentials/mentions":{"get":{"description":"getMentions","operationId":"CredentialsController.getMentions","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getMentions","tags":["credentials"]}},"/v1/credentials/{credentialId}":{"delete":{"description":"remove","operationId":"CredentialsController.remove","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["credentials"]},"get":{"description":"findOne","operationId":"CredentialsController.findOne","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["credentials"]},"patch":{"description":"update","operationId":"CredentialsController.update","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCredentialDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["credentials"]}},"/v1/credentials/{credentialId}/account-health/assess":{"post":{"description":"assessAccountHealth","operationId":"CredentialsController.assessAccountHealth","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssessAccountHealthDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"assessAccountHealth","tags":["credentials"]}},"/v1/credentials/{credentialId}/account-health/override":{"patch":{"description":"overrideAccountHealth","operationId":"CredentialsController.overrideAccountHealth","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualAccountHealthOverrideDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"overrideAccountHealth","tags":["credentials"]}},"/v1/credentials/{credentialId}/instagram/pages":{"get":{"description":"findAllInstagramPages","operationId":"CredentialsController.findAllInstagramPages","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAllInstagramPages","tags":["credentials"]}},"/v1/credentials/{credentialId}/next-slot":{"get":{"description":"findNextPostingSlot","operationId":"CredentialsController.findNextPostingSlot","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}},{"in":"query","name":"after","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findNextPostingSlot","tags":["credentials"]}},"/v1/credentials/{credentialId}/posting-times":{"delete":{"description":"removePostingTime","operationId":"CredentialsController.removePostingTime","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialPostingTimeDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"removePostingTime","tags":["credentials"]},"get":{"description":"listPostingTimes","operationId":"CredentialsController.listPostingTimes","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listPostingTimes","tags":["credentials"]},"post":{"description":"addPostingTime","operationId":"CredentialsController.addPostingTime","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialPostingTimeDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"addPostingTime","tags":["credentials"]},"put":{"description":"replacePostingTimes","operationId":"CredentialsController.replacePostingTimes","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplaceCredentialPostingTimesDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"replacePostingTimes","tags":["credentials"]}},"/v1/credentials/{credentialId}/publishing-context":{"get":{"description":"getPublishingContext","operationId":"CredentialsController.getPublishingContext","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getPublishingContext","tags":["credentials"]}},"/v1/credentials/{credentialId}/quota":{"get":{"description":"getQuotaStatus","operationId":"CredentialsController.getQuotaStatus","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getQuotaStatus","tags":["credentials"]}},"/v1/credentials/{credentialId}/refresh":{"post":{"description":"refreshCredentialToken","operationId":"CredentialsController.refreshCredentialToken","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"refreshCredentialToken","tags":["credentials"]}},"/v1/credentials/{credentialId}/tags":{"post":{"description":"createCredentialTag","operationId":"CredentialsController.createCredentialTag","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTagDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createCredentialTag","tags":["credentials"]}},"/v1/credits/last-purchase-baseline":{"get":{"description":"getLastPurchaseBaseline","operationId":"CreditsController.getLastPurchaseBaseline","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getLastPurchaseBaseline","tags":["credits"]}},"/v1/credits/topbar-balances":{"get":{"description":"getTopbarBalances","operationId":"CreditsController.getTopbarBalances","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTopbarBalances","tags":["credits"]}},"/v1/credits/transactions":{"get":{"description":"listTransactions","operationId":"CreditsController.listTransactions","parameters":[{"in":"query","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"query","name":"category","required":true,"schema":{"type":"string"}},{"in":"query","name":"source","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}},{"in":"query","name":"skip","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listTransactions","tags":["credits"]}},"/v1/credits/usage":{"get":{"description":"getUsageMetrics","operationId":"CreditsController.getUsageMetrics","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getUsageMetrics","tags":["credits"]}},"/v1/dashboard-layouts":{"get":{"description":"findForPage","operationId":"DashboardLayoutsController.findForPage","parameters":[{"in":"query","name":"brand","required":true,"schema":{"type":"string"}},{"description":"Page key identifying which dashboard page to load. Defaults to `workspace-overview` when omitted.","in":"query","name":"pageKey","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findForPage","tags":["dashboard-layouts"]},"put":{"description":"upsert","operationId":"DashboardLayoutsController.upsert","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertDashboardLayoutDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"upsert","tags":["dashboard-layouts"]}},"/v1/dashboard-layouts/{id}":{"delete":{"description":"remove","operationId":"DashboardLayoutsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["dashboard-layouts"]}},"/v1/distributions":{"get":{"description":"list","operationId":"DistributionsController.list","parameters":[{"in":"query","name":"platform","required":false,"schema":{"$ref":"#/components/schemas/DistributionPlatform"}},{"in":"query","name":"status","required":false,"schema":{"$ref":"#/components/schemas/PublishStatus"}},{"in":"query","name":"page","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"list","tags":["Distributions"]},"post":{"description":"create","operationId":"DistributionsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDistributionDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["Distributions"]}},"/v1/distributions/{id}":{"delete":{"description":"cancel","operationId":"DistributionsController.cancel","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"cancel","tags":["Distributions"]},"get":{"description":"findOne","operationId":"DistributionsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["Distributions"]}},"/v1/editor-projects":{"get":{"description":"findAll","operationId":"EditorProjectsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAll","tags":["editor-projects"]},"post":{"description":"create","operationId":"EditorProjectsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEditorProjectDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"create","tags":["editor-projects"]}},"/v1/editor-projects/{id}":{"delete":{"description":"remove","operationId":"EditorProjectsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"remove","tags":["editor-projects"]},"get":{"description":"findOne","operationId":"EditorProjectsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findOne","tags":["editor-projects"]},"patch":{"description":"update","operationId":"EditorProjectsController.update","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateEditorProjectDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"update","tags":["editor-projects"]}},"/v1/editor-projects/{id}/duplicate":{"post":{"description":"duplicate","operationId":"EditorProjectsController.duplicate","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"duplicate","tags":["editor-projects"]}},"/v1/editor-projects/{id}/render":{"post":{"description":"render","operationId":"EditorProjectsController.render","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"render","tags":["editor-projects"]}},"/v1/editor-projects/{id}/render/cancel":{"post":{"description":"cancelRender","operationId":"EditorProjectsController.cancelRender","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"cancelRender","tags":["editor-projects"]}},"/v1/elements":{"get":{"description":"Retrieves all element collections (cameras, moods, scenes, styles, sounds, blacklists, lightings, lenses, cameraMovements) in a single request for efficient client-side loading","operationId":"ElementsController.findAllElements","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Get all elements","tags":["elements"]}},"/v1/elements/blacklists":{"get":{"description":"findAll","operationId":"ElementsBlacklistsController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAll","tags":["blacklists"]},"post":{"description":"Create a new blacklist entry","operationId":"ElementsBlacklistsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateElementBlacklistDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Create a new blacklist entry","tags":["blacklists"]}},"/v1/elements/blacklists/{id}":{"delete":{"description":"Delete a blacklist entry","operationId":"ElementsBlacklistsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Delete a blacklist entry","tags":["blacklists"]},"get":{"description":"Get a specific blacklist entry","operationId":"ElementsBlacklistsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Get a specific blacklist entry","tags":["blacklists"]},"patch":{"description":"Update a blacklist entry","operationId":"ElementsBlacklistsController.update","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateElementBlacklistDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Update a blacklist entry","tags":["blacklists"]}},"/v1/elements/camera-movements":{"get":{"description":"findAll","operationId":"ElementsCameraMovementsController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAll","tags":["camera-movements"]},"post":{"description":"Create a new camera movement","operationId":"ElementsCameraMovementsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateElementCameraMovementDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Create a new camera movement","tags":["camera-movements"]}},"/v1/elements/camera-movements/{id}":{"delete":{"description":"Delete a camera movement","operationId":"ElementsCameraMovementsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Delete a camera movement","tags":["camera-movements"]},"get":{"description":"Get a specific camera movement","operationId":"ElementsCameraMovementsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Get a specific camera movement","tags":["camera-movements"]},"patch":{"description":"Update a camera movement","operationId":"ElementsCameraMovementsController.update","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateElementCameraMovementDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Update a camera movement","tags":["camera-movements"]}},"/v1/elements/cameras":{"get":{"description":"findAll","operationId":"ElementsCamerasController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAll","tags":["cameras"]},"post":{"description":"Create a new camera","operationId":"ElementsCamerasController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateElementCameraDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Create a new camera","tags":["cameras"]}},"/v1/elements/cameras/{id}":{"delete":{"description":"Delete a camera","operationId":"ElementsCamerasController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Delete a camera","tags":["cameras"]},"get":{"description":"Get a specific camera","operationId":"ElementsCamerasController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Get a specific camera","tags":["cameras"]},"patch":{"description":"Update a camera","operationId":"ElementsCamerasController.update","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateElementCameraDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Update a camera","tags":["cameras"]}},"/v1/elements/lenses":{"get":{"description":"findAll","operationId":"ElementsLensesController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAll","tags":["lenses"]},"post":{"description":"Create a new lens","operationId":"ElementsLensesController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateElementLensDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Create a new lens","tags":["lenses"]}},"/v1/elements/lenses/{id}":{"delete":{"description":"Delete a lens","operationId":"ElementsLensesController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Delete a lens","tags":["lenses"]},"get":{"description":"Get a specific lens","operationId":"ElementsLensesController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Get a specific lens","tags":["lenses"]},"patch":{"description":"Update a lens","operationId":"ElementsLensesController.update","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateElementLensDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Update a lens","tags":["lenses"]}},"/v1/elements/lightings":{"get":{"description":"findAll","operationId":"ElementsLightingsController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAll","tags":["lightings"]},"post":{"description":"Create a new lighting","operationId":"ElementsLightingsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateElementLightingDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Create a new lighting","tags":["lightings"]}},"/v1/elements/lightings/{id}":{"delete":{"description":"Delete a lighting","operationId":"ElementsLightingsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Delete a lighting","tags":["lightings"]},"get":{"description":"Get a specific lighting","operationId":"ElementsLightingsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Get a specific lighting","tags":["lightings"]},"patch":{"description":"Update a lighting","operationId":"ElementsLightingsController.update","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateElementLightingDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Update a lighting","tags":["lightings"]}},"/v1/elements/moods":{"get":{"description":"findAll","operationId":"ElementsMoodsController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAll","tags":["moods"]},"post":{"description":"Create a new mood","operationId":"ElementsMoodsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateElementMoodDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Create a new mood","tags":["moods"]}},"/v1/elements/moods/{id}":{"delete":{"description":"Delete a mood","operationId":"ElementsMoodsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Delete a mood","tags":["moods"]},"get":{"description":"Get a specific mood","operationId":"ElementsMoodsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Get a specific mood","tags":["moods"]},"patch":{"description":"Update a mood","operationId":"ElementsMoodsController.update","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateElementMoodDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Update a mood","tags":["moods"]}},"/v1/elements/scenes":{"get":{"description":"findAll","operationId":"ElementsScenesController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAll","tags":["scenes"]},"post":{"description":"Create a new scene","operationId":"ElementsScenesController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateElementSceneDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Create a new scene","tags":["scenes"]}},"/v1/elements/scenes/{id}":{"delete":{"description":"Delete a scene","operationId":"ElementsScenesController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Delete a scene","tags":["scenes"]},"get":{"description":"Get a specific scene","operationId":"ElementsScenesController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Get a specific scene","tags":["scenes"]},"patch":{"description":"Update a scene","operationId":"ElementsScenesController.update","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateElementSceneDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Update a scene","tags":["scenes"]}},"/v1/elements/sounds":{"get":{"description":"findAll","operationId":"ElementsSoundsController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAll","tags":["sounds"]},"post":{"description":"Create a new sound","operationId":"ElementsSoundsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateElementSoundDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Create a new sound","tags":["sounds"]}},"/v1/elements/sounds/{id}":{"delete":{"description":"Delete a sound","operationId":"ElementsSoundsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Delete a sound","tags":["sounds"]},"get":{"description":"Get a specific sound","operationId":"ElementsSoundsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Get a specific sound","tags":["sounds"]},"patch":{"description":"Update a sound","operationId":"ElementsSoundsController.update","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateElementSoundDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Update a sound","tags":["sounds"]}},"/v1/elements/styles":{"get":{"description":"findAll","operationId":"ElementsStylesController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAll","tags":["styles"]},"post":{"description":"Create a new style","operationId":"ElementsStylesController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateElementStyleDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Create a new style","tags":["styles"]}},"/v1/elements/styles/{id}":{"delete":{"description":"Delete a style","operationId":"ElementsStylesController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Delete a style","tags":["styles"]},"get":{"description":"Get a specific style","operationId":"ElementsStylesController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Get a specific style","tags":["styles"]},"patch":{"description":"Update a style","operationId":"ElementsStylesController.update","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateElementStyleDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Update a style","tags":["styles"]}},"/v1/email-performance/click/{token}":{"get":{"description":"EmailPerformanceController.click","operationId":"EmailPerformanceController.click","parameters":[{"in":"path","name":"token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["EmailPerformance"]}},"/v1/email-performance/webhooks/resend":{"post":{"description":"EmailPerformanceController.webhook","operationId":"EmailPerformanceController.webhook","parameters":[{"in":"header","name":"svix-id","required":true,"schema":{"type":"string"}},{"in":"header","name":"svix-timestamp","required":true,"schema":{"type":"string"}},{"in":"header","name":"svix-signature","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["EmailPerformance"]}},"/v1/engagement-rules":{"get":{"description":"findAll","operationId":"EngagementRulesController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"postGroupId","required":false,"schema":{"type":"string"}},{"in":"query","name":"targetId","required":false,"schema":{"type":"string"}},{"in":"query","name":"state","required":false,"schema":{"enum":["ARMED","TRIGGERED","COMPLETED","EXPIRED","DISABLED"],"type":"string"}},{"in":"query","name":"isEnabled","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["EngagementRules"]},"post":{"description":"create","operationId":"EngagementRulesController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEngagementRuleDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["EngagementRules"]}},"/v1/engagement-rules/{id}":{"delete":{"description":"remove","operationId":"EngagementRulesController.remove","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"postGroupId","required":false,"schema":{"type":"string"}},{"in":"query","name":"targetId","required":false,"schema":{"type":"string"}},{"in":"query","name":"state","required":false,"schema":{"enum":["ARMED","TRIGGERED","COMPLETED","EXPIRED","DISABLED"],"type":"string"}},{"in":"query","name":"isEnabled","required":false,"schema":{"type":"boolean"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["EngagementRules"]},"get":{"description":"findOne","operationId":"EngagementRulesController.findOne","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"postGroupId","required":false,"schema":{"type":"string"}},{"in":"query","name":"targetId","required":false,"schema":{"type":"string"}},{"in":"query","name":"state","required":false,"schema":{"enum":["ARMED","TRIGGERED","COMPLETED","EXPIRED","DISABLED"],"type":"string"}},{"in":"query","name":"isEnabled","required":false,"schema":{"type":"boolean"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["EngagementRules"]},"patch":{"description":"update","operationId":"EngagementRulesController.update","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"postGroupId","required":false,"schema":{"type":"string"}},{"in":"query","name":"targetId","required":false,"schema":{"type":"string"}},{"in":"query","name":"state","required":false,"schema":{"enum":["ARMED","TRIGGERED","COMPLETED","EXPIRED","DISABLED"],"type":"string"}},{"in":"query","name":"isEnabled","required":false,"schema":{"type":"boolean"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateEngagementRuleDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["EngagementRules"]}},"/v1/evaluations":{"get":{"description":"findAll","operationId":"EvaluationsController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["evaluations"]},"post":{"description":"create","operationId":"EvaluationsController.create","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["evaluations"]}},"/v1/evaluations/analytics/trends":{"get":{"description":"getTrends","operationId":"EvaluationsController.getTrends","parameters":[{"description":"Filter by content type","in":"query","name":"contentType","required":false,"schema":{"enum":["IMAGE","VIDEO","MUSIC","GIF","AVATAR","AUDIO","IMAGE_EDIT","VIDEO_EDIT","VOICE","INGREDIENT","TEXT","SOURCE","article"],"type":"string"}},{"description":"Filter by evaluation type","in":"query","name":"evaluationType","required":false,"schema":{"$ref":"#/components/schemas/EvaluationType"}},{"description":"Filter by brand ID","in":"query","name":"brand","required":false,"schema":{"type":"string"}},{"description":"Start date filter","in":"query","name":"startDate","required":false,"schema":{"type":"string"}},{"description":"End date filter","in":"query","name":"endDate","required":false,"schema":{"type":"string"}},{"description":"Minimum overall score","in":"query","name":"minScore","required":false,"schema":{"type":"string"}},{"description":"Maximum overall score","in":"query","name":"maxScore","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTrends","tags":["evaluations"]}},"/v1/evaluations/articles/{articleId}":{"post":{"description":"evaluateArticle","operationId":"EvaluationsController.evaluateArticle","parameters":[{"in":"path","name":"articleId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluateContentDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"evaluateArticle","tags":["evaluations"]}},"/v1/evaluations/compare":{"post":{"description":"compareEvaluations","operationId":"EvaluationsController.compareEvaluations","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompareEvaluationsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"compareEvaluations","tags":["evaluations"]}},"/v1/evaluations/external":{"post":{"description":"evaluateExternal","operationId":"EvaluationsController.evaluateExternal","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluateExternalDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"evaluateExternal","tags":["evaluations"]}},"/v1/evaluations/images/{imageId}":{"post":{"description":"evaluateImage","operationId":"EvaluationsController.evaluateImage","parameters":[{"in":"path","name":"imageId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluateContentDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"evaluateImage","tags":["evaluations"]}},"/v1/evaluations/posts/{postId}":{"post":{"description":"evaluatePost","operationId":"EvaluationsController.evaluatePost","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluateContentDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"evaluatePost","tags":["evaluations"]}},"/v1/evaluations/videos/{videoId}":{"post":{"description":"evaluateVideo","operationId":"EvaluationsController.evaluateVideo","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluateContentDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"evaluateVideo","tags":["evaluations"]}},"/v1/evaluations/{evaluationId}":{"delete":{"description":"deleteEvaluation","operationId":"EvaluationsController.deleteEvaluation","parameters":[{"in":"path","name":"evaluationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"deleteEvaluation","tags":["evaluations"]}},"/v1/evaluations/{evaluationId}/review":{"patch":{"description":"recordReviewerFeedback","operationId":"EvaluationsController.recordReviewerFeedback","parameters":[{"in":"path","name":"evaluationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordEvaluationReviewDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"recordReviewerFeedback","tags":["evaluations"]}},"/v1/evaluations/{id}":{"delete":{"description":"remove","operationId":"EvaluationsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["evaluations"]},"get":{"description":"findOne","operationId":"EvaluationsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["evaluations"]},"patch":{"description":"patch","operationId":"EvaluationsController.patch","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patch","tags":["evaluations"]}},"/v1/folders":{"get":{"description":"findAll","operationId":"FoldersController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAll","tags":["folders"]},"post":{"description":"create","operationId":"FoldersController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFolderDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"create","tags":["folders"]}},"/v1/folders/{folderId}":{"delete":{"description":"remove","operationId":"FoldersController.remove","parameters":[{"in":"path","name":"folderId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"remove","tags":["folders"]},"patch":{"description":"update","operationId":"FoldersController.update","parameters":[{"in":"path","name":"folderId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFolderDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"update","tags":["folders"]}},"/v1/folders/{id}":{"get":{"description":"findOne","operationId":"FoldersController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findOne","tags":["folders"]},"patch":{"description":"patch","operationId":"FoldersController.patch","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"patch","tags":["folders"]}},"/v1/font-families":{"get":{"description":"findAll","operationId":"FontFamiliesController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAll","tags":["font-families"]},"post":{"description":"create","operationId":"FontFamiliesController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFontFamilyDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"create","tags":["font-families"]}},"/v1/font-families/{fontFamilyId}":{"delete":{"description":"remove","operationId":"FontFamiliesController.remove","parameters":[{"in":"path","name":"fontFamilyId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"remove","tags":["font-families"]},"get":{"description":"findOne","operationId":"FontFamiliesController.findOne","parameters":[{"in":"path","name":"fontFamilyId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findOne","tags":["font-families"]},"patch":{"description":"update","operationId":"FontFamiliesController.update","parameters":[{"in":"path","name":"fontFamilyId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFontFamilyDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"update","tags":["font-families"]}},"/v1/font-families/{id}":{"patch":{"description":"patch","operationId":"FontFamiliesController.patch","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"patch","tags":["font-families"]}},"/v1/generation-harness/settings":{"get":{"description":"GenerationHarnessController.get","operationId":"GenerationHarnessController.get","parameters":[{"in":"query","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["GenerationHarness"]},"patch":{"description":"GenerationHarnessController.set","operationId":"GenerationHarnessController.set","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateGenerationHarnessSettingsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["GenerationHarness"]}},"/v1/gifs":{"get":{"description":"findAll","operationId":"GifsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Filter by parent GIF ID","in":"query","name":"parentId","required":false,"schema":{"type":"string"}},{"description":"Filter by status using repeated query keys (e.g., ?status=completed&status=failed). Defaults to [\"draft\", \"uploaded\", \"completed\"] when not specified.","in":"query","name":"status","required":false,"schema":{"example":["completed","failed"],"items":{"type":"string"},"type":"array"}},{"description":"Filter by scope/visibility level","in":"query","name":"scope","required":false,"schema":{"$ref":"#/components/schemas/AssetScope"}},{"description":"Filter by format","in":"query","name":"format","required":false,"schema":{"type":"string"}},{"description":"Filter by provider","in":"query","name":"provider","required":false,"schema":{"type":"string"}},{"description":"Search GIFs by text","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Use lightweight mode (skip expensive lookups for gallery views)","in":"query","name":"lightweight","required":false,"schema":{"default":false,"type":"boolean"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["gifs"]}},"/v1/gifs/upload/confirm/{id}":{"post":{"description":"confirmUpload","operationId":"PresignedUploadController.confirmUpload[2]","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"confirmUpload","tags":["uploads"]}},"/v1/gifs/upload/presigned":{"post":{"description":"generatePresignedUrl","operationId":"PresignedUploadController.generatePresignedUrl[2]","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignedUploadDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generatePresignedUrl","tags":["uploads"]}},"/v1/gifs/{gifId}":{"delete":{"description":"remove","operationId":"GifsController.remove","parameters":[{"in":"path","name":"gifId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["gifs"]},"get":{"description":"findOne","operationId":"GifsController.findOne","parameters":[{"in":"path","name":"gifId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["gifs"]}},"/v1/goals":{"get":{"description":"findAll","operationId":"GoalsController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["goals","Goals"]},"post":{"description":"create","operationId":"GoalsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateGoalDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["goals","Goals"]}},"/v1/goals/{id}":{"delete":{"description":"remove","operationId":"GoalsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["goals","Goals"]},"get":{"description":"findOne","operationId":"GoalsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["goals","Goals"]},"patch":{"description":"patch","operationId":"GoalsController.patch","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateGoalDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patch","tags":["goals","Goals"]}},"/v1/gpt-actions.json":{"get":{"description":"getGptActionsSpec","operationId":"DocsController.getGptActionsSpec","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getGptActionsSpec","tags":["docs"]}},"/v1/harness-profiles":{"get":{"description":"findForBrand","operationId":"HarnessProfilesController.findForBrand","parameters":[{"in":"query","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"query","name":"isActive","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findForBrand","tags":["Harness Profiles"]},"post":{"description":"create","operationId":"HarnessProfilesController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertHarnessProfileDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["Harness Profiles"]}},"/v1/harness-profiles/promote-winners":{"post":{"description":"promoteWinners","operationId":"HarnessProfilesController.promoteWinners","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromoteWinnersDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"promoteWinners","tags":["Harness Profiles"]}},"/v1/harness-profiles/{profileId}":{"delete":{"description":"remove","operationId":"HarnessProfilesController.remove","parameters":[{"in":"path","name":"profileId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["Harness Profiles"]},"patch":{"description":"update","operationId":"HarnessProfilesController.update","parameters":[{"in":"path","name":"profileId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateHarnessProfileDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["Harness Profiles"]}},"/v1/health":{"get":{"description":"HealthController.check","operationId":"HealthController.check","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Health"]}},"/v1/health/detailed":{"get":{"description":"HealthController.detailed","operationId":"HealthController.detailed","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Health"]}},"/v1/health/live":{"get":{"description":"HealthController.live","operationId":"HealthController.live","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Health"]}},"/v1/health/ready":{"get":{"description":"HealthController.ready","operationId":"HealthController.ready","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Health"]}},"/v1/hedra/avatars":{"get":{"description":"getAvatars","operationId":"HedraController.getAvatars","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getAvatars","tags":["hedra"]}},"/v1/hedra/jobs/{jobId}":{"get":{"description":"getJobStatus","operationId":"HedraController.getJobStatus","parameters":[{"in":"path","name":"jobId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getJobStatus","tags":["hedra"]}},"/v1/hedra/status":{"get":{"description":"getStatus","operationId":"HedraController.getStatus","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getStatus","tags":["hedra"]}},"/v1/hedra/voices":{"get":{"description":"getVoices","operationId":"HedraController.getVoices","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getVoices","tags":["hedra"]}},"/v1/heygen/avatars":{"get":{"description":"getAvatars","operationId":"HeyGenController.getAvatars","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getAvatars","tags":["heygen"]}},"/v1/heygen/avatars/page":{"get":{"description":"getAvatarPage","operationId":"HeyGenController.getAvatarPage","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getAvatarPage","tags":["heygen"]}},"/v1/heygen/speech-voices":{"get":{"description":"getSpeechVoices","operationId":"HeyGenController.getSpeechVoices","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getSpeechVoices","tags":["heygen"]}},"/v1/heygen/status":{"get":{"description":"getStatus","operationId":"HeyGenController.getStatus","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getStatus","tags":["heygen"]}},"/v1/heygen/voices":{"get":{"description":"getVoices","operationId":"HeyGenController.getVoices","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getVoices","tags":["heygen"]}},"/v1/hook-remix":{"post":{"description":"Create a hook remix job","operationId":"HookRemixController.createHookRemix","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateHookRemixDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Create a hook remix job","tags":["hook-remix","Hook Remix"]}},"/v1/hook-remix/batch":{"post":{"description":"Create batch hook remix jobs","operationId":"HookRemixController.createBatchHookRemix","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBatchHookRemixDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Create batch hook remix jobs","tags":["hook-remix","Hook Remix"]}},"/v1/hook-remix/{jobId}":{"get":{"description":"Get a hook remix job","operationId":"HookRemixController.getJob","parameters":[{"in":"path","name":"jobId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get a hook remix job","tags":["hook-remix","Hook Remix"]}},"/v1/images":{"get":{"description":"findAll","operationId":"ImagesController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Filter by parent image ID","in":"query","name":"parentId","required":false,"schema":{"type":"string"}},{"description":"Filter by status using repeated query keys (e.g., ?status=completed&status=failed). Defaults to [\"draft\", \"uploaded\", \"completed\"] when not specified.","in":"query","name":"status","required":false,"schema":{"example":["completed","failed"],"items":{"type":"string"},"type":"array"}},{"description":"Filter by scope/visibility level","in":"query","name":"scope","required":false,"schema":{"$ref":"#/components/schemas/AssetScope"}},{"description":"Filter by reference image ID","in":"query","name":"referenceId","required":false,"schema":{"type":"string"}},{"description":"Filter by image format","in":"query","name":"format","required":false,"schema":{"type":"string"}},{"description":"Filter by provider","in":"query","name":"provider","required":false,"schema":{"type":"string"}},{"description":"Search images by text","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Filter by training ID","in":"query","name":"trainingId","required":false,"schema":{"type":"string"}},{"description":"Use lightweight mode (skip expensive lookups for gallery views)","in":"query","name":"lightweight","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Filter by public gallery visibility (for getshareable.app)","in":"query","name":"isPublic","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Return the most recent items using the legacy /latest filter (brand-scoped user assets, training sources excluded, plus brand-default images), ordered by createdAt desc and capped at 50. Bypasses the standard list filters (status/scope/folder/parent/search/organization).","in":"query","name":"latest","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Filter by permanent asset origin using repeated query keys (e.g., ?origins=UPLOADED&origins=IMPORTED). Origin is a Library filter beside type, shelf and folder; it composes with all of them.","in":"query","name":"origins","required":false,"schema":{"items":{"$ref":"#/components/schemas/IngredientOrigin"},"type":"array"}},{"description":"Filter by the character an asset was generated with, using repeated query keys (e.g., ?characters=<id>&characters=<id>). Any-match. Only characters available to the active brand are honoured; an unavailable id matches nothing. Composes with every other Library filter.","in":"query","name":"characters","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Filter by tags using repeated query keys (e.g., ?tags=<id>&tags=<id>). Combined by `tagMatch`. Tags carry human judgment (campaign, series, episode); the filter composes with every other Library filter.","in":"query","name":"tags","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"How `tags` combine: `any` (default) returns assets with at least one selected tag, `all` returns assets carrying every selected tag.","in":"query","name":"tagMatch","required":false,"schema":{"$ref":"#/components/schemas/TagMatchMode"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["images"]},"post":{"description":"create","operationId":"ImagesOperationsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateImageDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["images"]}},"/v1/images/crun-quote":{"post":{"description":"CrunImageQuoteController.quote","operationId":"CrunImageQuoteController.quote","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCrunImageQuoteDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["CrunImageQuote"]}},"/v1/images/upload":{"post":{"description":"upload","operationId":"ImagesUploadsController.upload","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadImageDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"upload","tags":["images"]}},"/v1/images/upload/confirm/{imageId}":{"post":{"description":"confirmUpload","operationId":"ImagesUploadsController.confirmUpload","parameters":[{"in":"path","name":"imageId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"confirmUpload","tags":["images"]}},"/v1/images/upload/nft":{"post":{"description":"uploadNFT","operationId":"ImagesUploadsController.uploadNFT","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadNftDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"uploadNFT","tags":["images"]}},"/v1/images/upload/presigned":{"post":{"description":"generatePresignedUrl","operationId":"ImagesUploadsController.generatePresignedUrl","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignedUploadDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generatePresignedUrl","tags":["images"]}},"/v1/images/{id}/edit":{"post":{"description":"edit","operationId":"ImagesOperationsController.edit","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EditImageDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"edit","tags":["images"]}},"/v1/images/{id}/split":{"post":{"description":"splitContactSheet","operationId":"ImagesOperationsController.splitContactSheet","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SplitImageDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"splitContactSheet","tags":["images"]}},"/v1/images/{imageId}":{"delete":{"description":"remove","operationId":"ImagesController.remove","parameters":[{"in":"path","name":"imageId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["images"]},"get":{"description":"findOne","operationId":"ImagesController.findOne","parameters":[{"in":"path","name":"imageId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["images"]}},"/v1/images/{imageId}/children":{"get":{"description":"findChildren","operationId":"ImagesRelationshipsController.findChildren","parameters":[{"in":"path","name":"imageId","required":true,"schema":{"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Filter by parent image ID","in":"query","name":"parentId","required":false,"schema":{"type":"string"}},{"description":"Filter by status using repeated query keys (e.g., ?status=completed&status=failed). Defaults to [\"draft\", \"uploaded\", \"completed\"] when not specified.","in":"query","name":"status","required":false,"schema":{"example":["completed","failed"],"items":{"type":"string"},"type":"array"}},{"description":"Filter by scope/visibility level","in":"query","name":"scope","required":false,"schema":{"$ref":"#/components/schemas/AssetScope"}},{"description":"Filter by reference image ID","in":"query","name":"referenceId","required":false,"schema":{"type":"string"}},{"description":"Filter by image format","in":"query","name":"format","required":false,"schema":{"type":"string"}},{"description":"Filter by provider","in":"query","name":"provider","required":false,"schema":{"type":"string"}},{"description":"Search images by text","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Filter by training ID","in":"query","name":"trainingId","required":false,"schema":{"type":"string"}},{"description":"Use lightweight mode (skip expensive lookups for gallery views)","in":"query","name":"lightweight","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Filter by public gallery visibility (for getshareable.app)","in":"query","name":"isPublic","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Return the most recent items using the legacy /latest filter (brand-scoped user assets, training sources excluded, plus brand-default images), ordered by createdAt desc and capped at 50. Bypasses the standard list filters (status/scope/folder/parent/search/organization).","in":"query","name":"latest","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Filter by permanent asset origin using repeated query keys (e.g., ?origins=UPLOADED&origins=IMPORTED). Origin is a Library filter beside type, shelf and folder; it composes with all of them.","in":"query","name":"origins","required":false,"schema":{"items":{"$ref":"#/components/schemas/IngredientOrigin"},"type":"array"}},{"description":"Filter by the character an asset was generated with, using repeated query keys (e.g., ?characters=<id>&characters=<id>). Any-match. Only characters available to the active brand are honoured; an unavailable id matches nothing. Composes with every other Library filter.","in":"query","name":"characters","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Filter by tags using repeated query keys (e.g., ?tags=<id>&tags=<id>). Combined by `tagMatch`. Tags carry human judgment (campaign, series, episode); the filter composes with every other Library filter.","in":"query","name":"tags","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"How `tags` combine: `any` (default) returns assets with at least one selected tag, `all` returns assets carrying every selected tag.","in":"query","name":"tagMatch","required":false,"schema":{"$ref":"#/components/schemas/TagMatchMode"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findChildren","tags":["images"]}},"/v1/images/{imageId}/reframe":{"post":{"description":"reframeImage","operationId":"ImagesTransformationsController.reframeImage","parameters":[{"in":"path","name":"imageId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateImageDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"reframeImage","tags":["images"]}},"/v1/images/{imageId}/resize":{"post":{"description":"resizeImage","operationId":"ImagesTransformationsController.resizeImage","parameters":[{"in":"path","name":"imageId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"resizeImage","tags":["images"]}},"/v1/images/{imageId}/upscale":{"post":{"description":"upscaleImage","operationId":"ImagesTransformationsController.upscaleImage","parameters":[{"in":"path","name":"imageId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageEditDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"upscaleImage","tags":["images"]}},"/v1/ingredients":{"delete":{"description":"bulkDelete","operationId":"IngredientsOperationsController.bulkDelete","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkDeleteIngredientsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"bulkDelete","tags":["ingredients"]},"get":{"description":"List Library assets across every category","operationId":"IngredientsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter ingredients by folder ID","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Superadmin only: list assets across every organization. Ignored when `organizationId` narrows the read to one tenant; any other caller gets a 403.","in":"query","name":"allOrganizations","required":false,"schema":{"type":"boolean"}},{"description":"List every brand in the organization (and unbranded assets), ignoring the session brand. An explicit `brandId` still narrows the list.","in":"query","name":"allBrands","required":false,"schema":{"type":"boolean"}},{"description":"Filter by parent video ID","in":"query","name":"parentId","required":false,"schema":{"type":"string"}},{"description":"Filter by status using repeated query keys (e.g., ?status=GENERATED&status=VALIDATED).","in":"query","name":"status","required":false,"schema":{"items":{"$ref":"#/components/schemas/IngredientStatus"},"type":"array"}},{"description":"Filter ingredients by category","in":"query","name":"category","required":false,"schema":{"$ref":"#/components/schemas/IngredientCategory"}},{"description":"Filter ingredients by one or more categories using repeated query keys (e.g., ?categories=IMAGE&categories=VIDEO). This is the Library type axis — it composes with `shelf` and `folderId` rather than replacing them. Takes precedence over the single-value `category` filter.","in":"query","name":"categories","required":false,"schema":{"items":{"$ref":"#/components/schemas/IngredientCategory"},"type":"array"}},{"description":"Filter by Library shelf — the generation-state axis. A shelf is a saved query (Generating, Unsorted, Needs review, Approved, Failed, Archived), not a location, and owns the status filter when set.","in":"query","name":"shelf","required":false,"schema":{"$ref":"#/components/schemas/LibraryShelf"}},{"description":"Search ingredients by name or description","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Page by keyset cursor instead of page number. Applies when `sort` is a single `createdAt` or `updatedAt` key; other orders fall back to page-number pagination. Responses carry `links.cursor` instead of `links.pagination` and skip the total count.","in":"query","name":"paging","required":false,"schema":{"enum":["cursor"],"type":"string"}},{"description":"Opaque `links.cursor.nextCursor` from the previous keyset page. Requires `paging=cursor`.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Filter by video format","in":"query","name":"format","required":false,"schema":{"$ref":"#/components/schemas/MetadataExtension"}},{"description":"Filter by permanent asset origin using repeated query keys (e.g., ?origins=UPLOADED&origins=IMPORTED). Origin is a Library filter beside type, shelf and folder; it composes with all of them.","in":"query","name":"origins","required":false,"schema":{"items":{"$ref":"#/components/schemas/IngredientOrigin"},"type":"array"}},{"description":"Filter by the character an asset was generated with, using repeated query keys (e.g., ?characters=<id>&characters=<id>). Any-match. Only characters available to the active brand are honoured; an unavailable id matches nothing. Composes with every other Library filter.","in":"query","name":"characters","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Filter by tags using repeated query keys (e.g., ?tags=<id>&tags=<id>). Combined by `tagMatch`. Tags carry human judgment (campaign, series, episode); the filter composes with every other Library filter.","in":"query","name":"tags","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"How `tags` combine: `any` (default) returns assets with at least one selected tag, `all` returns assets carrying every selected tag.","in":"query","name":"tagMatch","required":false,"schema":{"$ref":"#/components/schemas/TagMatchMode"}}],"responses":{"200":{"description":"Library assets returned"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"List Library assets across every category","tags":["ingredients"]}},"/v1/ingredients/admin/generation-reviews":{"get":{"description":"List generations with original, enhanced and compiled prompts across organizations","operationId":"AdminGenerationReviewsController.list","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Filter by generation status","in":"query","name":"status","required":false,"schema":{"$ref":"#/components/schemas/IngredientStatus"}},{"description":"Filter by generated media type","in":"query","name":"category","required":false,"schema":{"$ref":"#/components/schemas/IngredientCategory"}},{"description":"Filter by model key used for the generation","in":"query","name":"model","required":false,"schema":{"type":"string"}},{"description":"Search the prompts, compiled prompt, user email and id","in":"query","name":"search","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Generation reviews returned"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"List generations with original, enhanced and compiled prompts across organizations","tags":["ingredients/admin/generation-reviews"]}},"/v1/ingredients/batch":{"get":{"description":"Get multiple ingredients by ID","operationId":"IngredientsController.getBatch","parameters":[{"in":"query","name":"ids","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Batch ingredients returned"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get multiple ingredients by ID","tags":["ingredients"]}},"/v1/ingredients/media-previews":{"post":{"description":"MediaDeliveryController.preparePreviews","operationId":"MediaDeliveryController.preparePreviews","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrepareMediaPreviewsDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["MediaDelivery"]}},"/v1/ingredients/summary":{"get":{"description":"Library summary counters for the sidebar","operationId":"IngredientsController.getSummary","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter ingredients by folder ID","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Superadmin only: list assets across every organization. Ignored when `organizationId` narrows the read to one tenant; any other caller gets a 403.","in":"query","name":"allOrganizations","required":false,"schema":{"type":"boolean"}},{"description":"List every brand in the organization (and unbranded assets), ignoring the session brand. An explicit `brandId` still narrows the list.","in":"query","name":"allBrands","required":false,"schema":{"type":"boolean"}},{"description":"Filter by parent video ID","in":"query","name":"parentId","required":false,"schema":{"type":"string"}},{"description":"Filter by status using repeated query keys (e.g., ?status=GENERATED&status=VALIDATED).","in":"query","name":"status","required":false,"schema":{"items":{"$ref":"#/components/schemas/IngredientStatus"},"type":"array"}},{"description":"Filter ingredients by category","in":"query","name":"category","required":false,"schema":{"$ref":"#/components/schemas/IngredientCategory"}},{"description":"Filter ingredients by one or more categories using repeated query keys (e.g., ?categories=IMAGE&categories=VIDEO). This is the Library type axis — it composes with `shelf` and `folderId` rather than replacing them. Takes precedence over the single-value `category` filter.","in":"query","name":"categories","required":false,"schema":{"items":{"$ref":"#/components/schemas/IngredientCategory"},"type":"array"}},{"description":"Filter by Library shelf — the generation-state axis. A shelf is a saved query (Generating, Unsorted, Needs review, Approved, Failed, Archived), not a location, and owns the status filter when set.","in":"query","name":"shelf","required":false,"schema":{"$ref":"#/components/schemas/LibraryShelf"}},{"description":"Search ingredients by name or description","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Page by keyset cursor instead of page number. Applies when `sort` is a single `createdAt` or `updatedAt` key; other orders fall back to page-number pagination. Responses carry `links.cursor` instead of `links.pagination` and skip the total count.","in":"query","name":"paging","required":false,"schema":{"enum":["cursor"],"type":"string"}},{"description":"Opaque `links.cursor.nextCursor` from the previous keyset page. Requires `paging=cursor`.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Filter by video format","in":"query","name":"format","required":false,"schema":{"$ref":"#/components/schemas/MetadataExtension"}},{"description":"Filter by permanent asset origin using repeated query keys (e.g., ?origins=UPLOADED&origins=IMPORTED). Origin is a Library filter beside type, shelf and folder; it composes with all of them.","in":"query","name":"origins","required":false,"schema":{"items":{"$ref":"#/components/schemas/IngredientOrigin"},"type":"array"}},{"description":"Filter by the character an asset was generated with, using repeated query keys (e.g., ?characters=<id>&characters=<id>). Any-match. Only characters available to the active brand are honoured; an unavailable id matches nothing. Composes with every other Library filter.","in":"query","name":"characters","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Filter by tags using repeated query keys (e.g., ?tags=<id>&tags=<id>). Combined by `tagMatch`. Tags carry human judgment (campaign, series, episode); the filter composes with every other Library filter.","in":"query","name":"tags","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"How `tags` combine: `any` (default) returns assets with at least one selected tag, `all` returns assets carrying every selected tag.","in":"query","name":"tagMatch","required":false,"schema":{"$ref":"#/components/schemas/TagMatchMode"}}],"responses":{"200":{"description":"Library summary returned"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Library summary counters for the sidebar","tags":["ingredients"]}},"/v1/ingredients/tags/bulk":{"post":{"description":"bulkTag","operationId":"IngredientsTagsController.bulkTag","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkTagIngredientsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"bulkTag","tags":["ingredients"]}},"/v1/ingredients/upload/confirm/{id}":{"post":{"description":"confirmUpload","operationId":"PresignedUploadController.confirmUpload[3]","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"confirmUpload","tags":["uploads"]}},"/v1/ingredients/upload/presigned":{"post":{"description":"generatePresignedUrl","operationId":"PresignedUploadController.generatePresignedUrl[3]","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignedUploadDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generatePresignedUrl","tags":["uploads"]}},"/v1/ingredients/{id}/export":{"post":{"description":"IngredientExportsController.export","operationId":"IngredientExportsController.export","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportIngredientDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["IngredientExports"]}},"/v1/ingredients/{id}/export-file":{"post":{"description":"IngredientExportsController.exportFile","operationId":"IngredientExportsController.exportFile","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportIngredientDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["IngredientExports"]}},"/v1/ingredients/{id}/original-download":{"get":{"description":"MediaDeliveryController.downloadOriginal","operationId":"MediaDeliveryController.downloadOriginal","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["MediaDelivery"]}},"/v1/ingredients/{id}/original-grant":{"post":{"description":"MediaDeliveryController.original","operationId":"MediaDeliveryController.original","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["MediaDelivery"]}},"/v1/ingredients/{id}/public-derivative":{"post":{"description":"MediaDeliveryController.preparePublic","operationId":"MediaDeliveryController.preparePublic","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreparePublicMediaDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["MediaDelivery"]}},"/v1/ingredients/{id}/public-grant":{"get":{"description":"MediaDeliveryController.publicGrant","operationId":"MediaDeliveryController.publicGrant","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["MediaDelivery"]}},"/v1/ingredients/{ingredientId}":{"delete":{"description":"deleteIngredient","operationId":"IngredientsOperationsController.deleteIngredient","parameters":[{"in":"path","name":"ingredientId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"deleteIngredient","tags":["ingredients"]},"patch":{"description":"update","operationId":"IngredientsController.update","parameters":[{"in":"path","name":"ingredientId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateIngredientDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["ingredients"]}},"/v1/ingredients/{ingredientId}/cancellations":{"post":{"description":"Cancel an in-flight studio generation","operationId":"IngredientsController.cancelGeneration","parameters":[{"in":"path","name":"ingredientId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Generation cancelled"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Cancel an in-flight studio generation","tags":["ingredients"]}},"/v1/ingredients/{ingredientId}/children":{"get":{"description":"findChildren","operationId":"IngredientsRelationshipsController.findChildren","parameters":[{"in":"path","name":"ingredientId","required":true,"schema":{"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findChildren","tags":["ingredients"]}},"/v1/ingredients/{ingredientId}/clone":{"post":{"description":"cloneIngredient","operationId":"IngredientsOperationsController.cloneIngredient","parameters":[{"in":"path","name":"ingredientId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"cloneIngredient","tags":["ingredients"]}},"/v1/ingredients/{ingredientId}/lineage/made-from":{"get":{"description":"findMadeFrom","operationId":"IngredientsRelationshipsController.findMadeFrom","parameters":[{"in":"path","name":"ingredientId","required":true,"schema":{"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of lineage items per page","in":"query","name":"limit","required":false,"schema":{"default":24,"maximum":100,"minimum":1,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findMadeFrom","tags":["ingredients"]}},"/v1/ingredients/{ingredientId}/lineage/used-in":{"get":{"description":"findUsedIn","operationId":"IngredientsRelationshipsController.findUsedIn","parameters":[{"in":"path","name":"ingredientId","required":true,"schema":{"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of lineage items per page","in":"query","name":"limit","required":false,"schema":{"default":24,"maximum":100,"minimum":1,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findUsedIn","tags":["ingredients"]}},"/v1/ingredients/{ingredientId}/metadata":{"get":{"description":"findMetadata","operationId":"IngredientsRelationshipsController.findMetadata","parameters":[{"in":"path","name":"ingredientId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findMetadata","tags":["ingredients"]},"patch":{"description":"updateMetadata","operationId":"IngredientsOperationsController.updateMetadata","parameters":[{"in":"path","name":"ingredientId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateIngredientMetadataDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateMetadata","tags":["ingredients"]},"post":{"description":"refreshMetadata","operationId":"IngredientsOperationsController.refreshMetadata","parameters":[{"in":"path","name":"ingredientId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"refreshMetadata","tags":["ingredients"]}},"/v1/ingredients/{ingredientId}/moderation":{"get":{"description":"findModeration","operationId":"IngredientPerceptionController.findModeration","parameters":[{"in":"path","name":"ingredientId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findModeration","tags":["ingredients"]}},"/v1/ingredients/{ingredientId}/perception":{"get":{"description":"findPerception","operationId":"IngredientPerceptionController.findPerception","parameters":[{"in":"path","name":"ingredientId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findPerception","tags":["ingredients"]}},"/v1/ingredients/{ingredientId}/posts":{"get":{"description":"findPosts","operationId":"IngredientsRelationshipsController.findPosts","parameters":[{"in":"path","name":"ingredientId","required":true,"schema":{"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findPosts","tags":["ingredients"]}},"/v1/ingredients/{ingredientId}/tags":{"patch":{"description":"updateTags","operationId":"IngredientsTagsController.updateTags","parameters":[{"in":"path","name":"ingredientId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTagsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateTags","tags":["ingredients"]}},"/v1/insights":{"get":{"description":"getInsights","operationId":"InsightsController.getInsights","parameters":[{"in":"query","name":"limit","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getInsights","tags":["Insights"]}},"/v1/insights/forecast":{"post":{"description":"getForecast","operationId":"InsightsController.getForecast","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetForecastDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getForecast","tags":["Insights"]}},"/v1/insights/gaps":{"get":{"description":"getContentGaps","operationId":"InsightsController.getContentGaps","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getContentGaps","tags":["Insights"]}},"/v1/insights/growth":{"get":{"description":"getGrowthPrediction","operationId":"InsightsController.getGrowthPrediction","parameters":[{"in":"query","name":"platform","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getGrowthPrediction","tags":["Insights"]}},"/v1/insights/times":{"get":{"description":"getBestTimes","operationId":"InsightsController.getBestTimes","parameters":[{"in":"query","name":"platform","required":true,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getBestTimes","tags":["Insights"]}},"/v1/insights/viral":{"post":{"description":"predictViral","operationId":"InsightsController.predictViral","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PredictViralDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"predictViral","tags":["Insights"]}},"/v1/insights/{insightId}":{"patch":{"description":"updateInsight","operationId":"InsightsController.updateInsight","parameters":[{"in":"path","name":"insightId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateInsightDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateInsight","tags":["Insights"]}},"/v1/internal/agent-reports/{platform}/review":{"post":{"description":"AgentReportReviewController.resolve","operationId":"AgentReportReviewController.resolve","parameters":[{"in":"path","name":"platform","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveAgentReportReviewDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["AgentReportReview"]}},"/v1/internal/integrations/{platform}":{"get":{"description":"InternalIntegrationsController.getByPlatform","operationId":"InternalIntegrationsController.getByPlatform","parameters":[{"in":"path","name":"platform","required":true,"schema":{"$ref":"#/components/schemas/IntegrationPlatform"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["InternalIntegrations"]}},"/v1/internal/integrations/{platform}/media":{"post":{"description":"InternalIntegrationsController.uploadMedia","operationId":"InternalIntegrationsController.uploadMedia","parameters":[{"in":"path","name":"platform","required":true,"schema":{"$ref":"#/components/schemas/IntegrationPlatform"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadIntegrationMediaDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["InternalIntegrations"]}},"/v1/internal/integrations/{platform}/{id}":{"get":{"description":"InternalIntegrationsController.getOneByPlatform","operationId":"InternalIntegrationsController.getOneByPlatform","parameters":[{"in":"path","name":"platform","required":true,"schema":{"$ref":"#/components/schemas/IntegrationPlatform"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["InternalIntegrations"]}},"/v1/internal/orgs/{orgId}/workflow-executions":{"post":{"description":"InternalWorkflowExecutionsController.create","operationId":"InternalWorkflowExecutionsController.create","parameters":[{"in":"path","name":"orgId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWorkflowExecutionDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["InternalWorkflowExecutions"]}},"/v1/internal/orgs/{orgId}/workflow-executions/{id}":{"get":{"description":"InternalWorkflowExecutionsController.findOne","operationId":"InternalWorkflowExecutionsController.findOne","parameters":[{"in":"path","name":"orgId","required":true,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["InternalWorkflowExecutions"]},"patch":{"description":"InternalWorkflowExecutionsController.update","operationId":"InternalWorkflowExecutionsController.update","parameters":[{"in":"path","name":"orgId","required":true,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWorkflowExecutionDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["InternalWorkflowExecutions"]}},"/v1/internal/platform-runtime-settings":{"get":{"description":"NotificationRuntimeSettingsController.get","operationId":"NotificationRuntimeSettingsController.get","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["NotificationRuntimeSettings"]}},"/v1/knowledge-sources":{"get":{"description":"list","operationId":"KnowledgeSourcesController.list","parameters":[{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"query","name":"page","required":false,"schema":{"default":1}},{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"list","tags":["knowledge-sources"]},"post":{"description":"create","operationId":"KnowledgeSourcesController.create","parameters":[{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"header","name":"idempotency-key","required":true,"schema":{"type":"string"}},{"description":"Stable capture identity reused for retries; changing its payload returns 409.","in":"header","name":"Idempotency-Key","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKnowledgeSourceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"create","tags":["knowledge-sources"]}},"/v1/knowledge-sources/backfill":{"post":{"description":"backfill","operationId":"KnowledgeSourcesController.backfill","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"backfill","tags":["knowledge-sources"]}},"/v1/knowledge-sources/eligible-versions":{"get":{"description":"eligible","operationId":"KnowledgeSourcesController.eligible","parameters":[{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"query","name":"page","required":false,"schema":{"default":1}},{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"eligible","tags":["knowledge-sources"]}},"/v1/knowledge-sources/files":{"post":{"description":"upload","operationId":"KnowledgeSourceUploadsController.upload","parameters":[{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"header","name":"idempotency-key","required":true,"schema":{"type":"string"}},{"description":"Stable capture identity reused for retries; changing its payload returns 409.","in":"header","name":"Idempotency-Key","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/UploadKnowledgeSourceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"upload","tags":["knowledge-sources"]}},"/v1/knowledge-sources/{sourceId}":{"delete":{"description":"remove","operationId":"KnowledgeSourcesController.remove","parameters":[{"in":"path","name":"sourceId","required":true,"schema":{"type":"string"}},{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"remove","tags":["knowledge-sources"]},"get":{"description":"find","operationId":"KnowledgeSourcesController.find","parameters":[{"in":"path","name":"sourceId","required":true,"schema":{"type":"string"}},{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"find","tags":["knowledge-sources"]},"patch":{"description":"update","operationId":"KnowledgeSourcesController.update","parameters":[{"in":"path","name":"sourceId","required":true,"schema":{"type":"string"}},{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateKnowledgeSourceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"update","tags":["knowledge-sources"]}},"/v1/knowledge-sources/{sourceId}/refresh":{"post":{"description":"refreshNow","operationId":"KnowledgeSourcesController.refreshNow","parameters":[{"in":"path","name":"sourceId","required":true,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"header","name":"idempotency-key","required":true,"schema":{"type":"string"}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"refreshNow","tags":["knowledge-sources"]}},"/v1/knowledge-sources/{sourceId}/refresh-policy":{"patch":{"description":"refreshPolicy","operationId":"KnowledgeSourcesController.refreshPolicy","parameters":[{"in":"path","name":"sourceId","required":true,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeRefreshPolicyDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"refreshPolicy","tags":["knowledge-sources"]}},"/v1/knowledge-sources/{sourceId}/retry":{"post":{"description":"retry","operationId":"KnowledgeSourcesController.retry","parameters":[{"in":"path","name":"sourceId","required":true,"schema":{"type":"string"}},{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"retry","tags":["knowledge-sources"]}},"/v1/knowledge-sources/{sourceId}/versions":{"get":{"description":"versions","operationId":"KnowledgeSourcesController.versions","parameters":[{"in":"path","name":"sourceId","required":true,"schema":{"type":"string"}},{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"query","name":"page","required":false,"schema":{"default":1}},{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"versions","tags":["knowledge-sources"]},"post":{"description":"version","operationId":"KnowledgeSourcesController.version","parameters":[{"in":"path","name":"sourceId","required":true,"schema":{"type":"string"}},{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKnowledgeVersionDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"version","tags":["knowledge-sources"]}},"/v1/knowledge-sources/{sourceId}/versions/{versionId}":{"get":{"description":"receipt","operationId":"KnowledgeSourcesController.receipt","parameters":[{"in":"path","name":"sourceId","required":true,"schema":{"type":"string"}},{"in":"path","name":"versionId","required":true,"schema":{"type":"string"}},{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"receipt","tags":["knowledge-sources"]}},"/v1/knowledge-sources/{sourceId}/versions/{versionId}/eligibility":{"post":{"description":"eligibility","operationId":"KnowledgeSourcesController.eligibility","parameters":[{"in":"path","name":"sourceId","required":true,"schema":{"type":"string"}},{"in":"path","name":"versionId","required":true,"schema":{"type":"string"}},{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeEligibilityDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"eligibility","tags":["knowledge-sources"]}},"/v1/knowledge-sources/{sourceId}/versions/{versionId}/erase":{"post":{"description":"erase","operationId":"KnowledgeSourceGovernanceController.erase","parameters":[{"in":"path","name":"sourceId","required":true,"schema":{"type":"string"}},{"in":"path","name":"versionId","required":true,"schema":{"type":"string"}},{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"erase","tags":["knowledge-sources"]}},"/v1/knowledge-sources/{sourceId}/versions/{versionId}/legal-hold":{"post":{"description":"legalHold","operationId":"KnowledgeSourceGovernanceController.legalHold","parameters":[{"in":"path","name":"sourceId","required":true,"schema":{"type":"string"}},{"in":"path","name":"versionId","required":true,"schema":{"type":"string"}},{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeLegalHoldDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"legalHold","tags":["knowledge-sources"]}},"/v1/knowledge-sources/{sourceId}/versions/{versionId}/processing":{"post":{"description":"processing","operationId":"KnowledgeSourcesController.processing","parameters":[{"in":"path","name":"sourceId","required":true,"schema":{"type":"string"}},{"in":"path","name":"versionId","required":true,"schema":{"type":"string"}},{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeProcessingDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"processing","tags":["knowledge-sources"]}},"/v1/knowledge-sources/{sourceId}/versions/{versionId}/purge":{"post":{"description":"purge","operationId":"KnowledgeSourceGovernanceController.purge","parameters":[{"in":"path","name":"sourceId","required":true,"schema":{"type":"string"}},{"in":"path","name":"versionId","required":true,"schema":{"type":"string"}},{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"purge","tags":["knowledge-sources"]}},"/v1/knowledge-sources/{sourceId}/versions/{versionId}/schedule-purge":{"post":{"description":"schedule","operationId":"KnowledgeSourceGovernanceController.schedule","parameters":[{"in":"path","name":"sourceId","required":true,"schema":{"type":"string"}},{"in":"path","name":"versionId","required":true,"schema":{"type":"string"}},{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgePurgeScheduleDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"schedule","tags":["knowledge-sources"]}},"/v1/knowledge-sources/{sourceId}/versions/{versionId}/verify":{"post":{"description":"verify","operationId":"KnowledgeSourcesController.verify","parameters":[{"in":"path","name":"sourceId","required":true,"schema":{"type":"string"}},{"in":"path","name":"versionId","required":true,"schema":{"type":"string"}},{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeVerificationDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"verify","tags":["knowledge-sources"]}},"/v1/knowledge-spaces":{"get":{"description":"list","operationId":"KnowledgeSpacesController.list","parameters":[{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"query","name":"page","required":false,"schema":{"default":1}},{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"list","tags":["knowledge-spaces"]},"post":{"description":"create","operationId":"KnowledgeSpacesController.create","parameters":[{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKnowledgeSpaceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"create","tags":["knowledge-spaces"]}},"/v1/knowledge-spaces/inbox":{"post":{"description":"inbox","operationId":"KnowledgeSpacesController.inbox","parameters":[{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeScopeDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"inbox","tags":["knowledge-spaces"]}},"/v1/knowledge-spaces/{spaceId}":{"delete":{"description":"remove","operationId":"KnowledgeSpacesController.remove","parameters":[{"in":"path","name":"spaceId","required":true,"schema":{"type":"string"}},{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"remove","tags":["knowledge-spaces"]},"get":{"description":"find","operationId":"KnowledgeSpacesController.find","parameters":[{"in":"path","name":"spaceId","required":true,"schema":{"type":"string"}},{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"find","tags":["knowledge-spaces"]},"patch":{"description":"update","operationId":"KnowledgeSpacesController.update","parameters":[{"in":"path","name":"spaceId","required":true,"schema":{"type":"string"}},{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateKnowledgeSpaceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"update","tags":["knowledge-spaces"]}},"/v1/knowledge-spaces/{spaceId}/memberships":{"get":{"description":"memberships","operationId":"KnowledgeSpacesController.memberships","parameters":[{"in":"path","name":"spaceId","required":true,"schema":{"type":"string"}},{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"memberships","tags":["knowledge-spaces"]}},"/v1/knowledge-spaces/{spaceId}/memberships/{sourceId}":{"delete":{"description":"removeMembership","operationId":"KnowledgeSpacesController.removeMembership","parameters":[{"in":"path","name":"spaceId","required":true,"schema":{"type":"string"}},{"in":"path","name":"sourceId","required":true,"schema":{"type":"string"}},{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"removeMembership","tags":["knowledge-spaces"]},"put":{"description":"add","operationId":"KnowledgeSpacesController.add","parameters":[{"in":"path","name":"spaceId","required":true,"schema":{"type":"string"}},{"in":"path","name":"sourceId","required":true,"schema":{"type":"string"}},{"description":"Selected brand in the authenticated organization; omit for organization scope","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"add","tags":["knowledge-spaces"]}},"/v1/l/{shortCode}":{"get":{"description":"redirect","operationId":"RedirectController.redirect","parameters":[{"in":"path","name":"shortCode","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"redirect","tags":["Redirect"]}},"/v1/launch-copy/generate":{"post":{"description":"generate","operationId":"LaunchCopyController.generate","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateLaunchCopyDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generate","tags":["launch-copy"]}},"/v1/lifecycle-emails/unsubscribe":{"get":{"description":"LifecycleEmailsController.unsubscribe","operationId":"LifecycleEmailsController.unsubscribe","parameters":[{"in":"query","name":"token","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["LifecycleEmails"]}},"/v1/links":{"get":{"description":"findAll","operationId":"LinksController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["links"]},"post":{"description":"create","operationId":"LinksController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLinkDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["links"]}},"/v1/links/{id}":{"get":{"description":"findOne","operationId":"LinksController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["links"]}},"/v1/links/{linkId}":{"delete":{"description":"remove","operationId":"LinksController.remove","parameters":[{"in":"path","name":"linkId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["links"]},"patch":{"description":"patch","operationId":"LinksController.patch","parameters":[{"in":"path","name":"linkId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLinkDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patch","tags":["links"]}},"/v1/listening-topics":{"get":{"description":"ListeningTopicsController.findAll","operationId":"ListeningTopicsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"search","required":false,"schema":{"type":"string"}},{"in":"query","name":"source","required":false,"schema":{"type":"string"}},{"in":"query","name":"isActive","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Listening Topics"]},"post":{"description":"ListeningTopicsController.create","operationId":"ListeningTopicsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateListeningTopicDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Listening Topics"]}},"/v1/listening-topics/{id}":{"delete":{"description":"ListeningTopicsController.remove","operationId":"ListeningTopicsController.remove","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Listening Topics"]},"get":{"description":"ListeningTopicsController.findOne","operationId":"ListeningTopicsController.findOne","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Listening Topics"]},"patch":{"description":"ListeningTopicsController.update","operationId":"ListeningTopicsController.update","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateListeningTopicDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Listening Topics"]}},"/v1/listening-topics/{id}/analyze":{"post":{"description":"ListeningTopicsController.analyze","operationId":"ListeningTopicsController.analyze","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyzeListeningTopicDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Listening Topics"]}},"/v1/listening-topics/{id}/collect":{"post":{"description":"ListeningTopicsController.collect","operationId":"ListeningTopicsController.collect","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CollectListeningTopicDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Listening Topics"]}},"/v1/listening-topics/{id}/evidence":{"get":{"description":"ListeningTopicsController.listEvidence","operationId":"ListeningTopicsController.listEvidence","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"eventType","required":false,"schema":{"enum":["comment","mention","post","reply","review"],"type":"string"}},{"in":"query","name":"source","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Listening Topics"]}},"/v1/listening-topics/{id}/signals":{"get":{"description":"ListeningTopicsController.listSignals","operationId":"ListeningTopicsController.listSignals","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Listening Topics"]}},"/v1/listening-topics/{id}/themes":{"get":{"description":"ListeningTopicsController.listThemes","operationId":"ListeningTopicsController.listThemes","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Listening Topics"]}},"/v1/listening-topics/{topicId}/themes/{themeId}/outcomes":{"get":{"description":"ListeningTopicsController.listThemeOutcomes","operationId":"ListeningTopicsController.listThemeOutcomes","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"path","name":"topicId","required":true,"schema":{"type":"string"}},{"in":"path","name":"themeId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Listening Topics"]}},"/v1/listening-topics/{topicId}/themes/{themeId}/review":{"patch":{"description":"ListeningTopicsController.reviewTheme","operationId":"ListeningTopicsController.reviewTheme","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"path","name":"topicId","required":true,"schema":{"type":"string"}},{"in":"path","name":"themeId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewListeningThemeDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Listening Topics"]}},"/v1/managed-inference":{"post":{"description":"Run managed inference through Genfeed Cloud credits","operationId":"ManagedInferenceController.execute","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManagedInferenceRequestDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Run managed inference through Genfeed Cloud credits","tags":["Managed Inference"]}},"/v1/marketplace-installs/{listingId}":{"post":{"description":"install","operationId":"MarketplaceInstallController.install","parameters":[{"in":"path","name":"listingId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"install","tags":["marketplace-installs"]}},"/v1/mcp-approvals":{"get":{"description":"List MCP approval requests for the organization","operationId":"McpApprovalsController.findAll","parameters":[{"description":"Page number","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Items per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter approvals by status","in":"query","name":"status","required":false,"schema":{"$ref":"#/components/schemas/McpApprovalStatus"}}],"responses":{"200":{"description":"Approvals returned"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"List MCP approval requests for the organization","tags":["mcp-approvals","MCP Approvals"]},"post":{"description":"Create a pending MCP approval request","operationId":"McpApprovalsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMcpApprovalDto"}}},"required":true},"responses":{"201":{"description":"Approval created"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Create a pending MCP approval request","tags":["mcp-approvals","MCP Approvals"]}},"/v1/mcp-approvals/{id}":{"get":{"description":"Get a single MCP approval by ID","operationId":"McpApprovalsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Approval returned"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get a single MCP approval by ID","tags":["mcp-approvals","MCP Approvals"]}},"/v1/mcp-approvals/{id}/claim":{"post":{"description":"Claim an approved MCP action for its single execution","operationId":"McpApprovalsController.claim","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Claim outcome"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Claim an approved MCP action for its single execution","tags":["mcp-approvals","MCP Approvals"]}},"/v1/mcp-approvals/{id}/pricing":{"get":{"description":"Read the server-prepared approval quote for the connected actor","operationId":"McpApprovalsController.pricing","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Read the server-prepared approval quote for the connected actor","tags":["mcp-approvals","MCP Approvals"]}},"/v1/mcp-approvals/{id}/resolve":{"post":{"description":"Resolve (approve or decline) an MCP approval","operationId":"McpApprovalsController.resolve","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveMcpApprovalDto"}}},"required":true},"responses":{"200":{"description":"Approval resolved"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Resolve (approve or decline) an MCP approval","tags":["mcp-approvals","MCP Approvals"]}},"/v1/mcp-approvals/{id}/result":{"post":{"description":"Attach the execution result to an approved MCP approval","operationId":"McpApprovalsController.attachResult","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachMcpApprovalResultDto"}}},"required":true},"responses":{"200":{"description":"Result attached"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Attach the execution result to an approved MCP approval","tags":["mcp-approvals","MCP Approvals"]}},"/v1/mcp-approvals/{id}/status":{"get":{"description":"Read minimal approval job status for the connected actor","operationId":"McpApprovalsController.status","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Read minimal approval job status for the connected actor","tags":["mcp-approvals","MCP Approvals"]}},"/v1/members":{"get":{"description":"findAll","operationId":"MembersController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["members"]}},"/v1/members/invitations":{"get":{"description":"listInvitations","operationId":"MembersController.listInvitations","parameters":[{"description":"Page number","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Items per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter invitations by status","in":"query","name":"status","required":false,"schema":{"enum":["accepted","delivered","delivery-failed","expired","pending","revoked"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listInvitations","tags":["members"]}},"/v1/members/invitations/{invitationId}":{"delete":{"description":"revokeInvitation","operationId":"MembersController.revokeInvitation","parameters":[{"in":"path","name":"invitationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"revokeInvitation","tags":["members"]}},"/v1/members/invitations/{invitationId}/resend":{"post":{"description":"resendInvitation","operationId":"MembersController.resendInvitation","parameters":[{"in":"path","name":"invitationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"resendInvitation","tags":["members"]}},"/v1/members/me/apps":{"get":{"description":"findInstalledApps","operationId":"MemberAppsController.findInstalledApps","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findInstalledApps","tags":["members/me/apps"]}},"/v1/members/me/apps/{appId}":{"delete":{"description":"uninstallApp","operationId":"MemberAppsController.uninstallApp","parameters":[{"in":"path","name":"appId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"uninstallApp","tags":["members/me/apps"]},"put":{"description":"installApp","operationId":"MemberAppsController.installApp","parameters":[{"in":"path","name":"appId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"installApp","tags":["members/me/apps"]}},"/v1/members/{memberId}":{"get":{"description":"findOne","operationId":"MembersController.findOne","parameters":[{"in":"path","name":"memberId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["members"]}},"/v1/message-campaigns":{"get":{"description":"List throttled inbox reply campaigns","operationId":"SocialReplyCampaignController.list","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"platform","required":false,"schema":{"enum":["youtube","instagram","tiktok","twitter","linkedin","unipile"],"type":"string"}},{"in":"query","name":"status","required":false,"schema":{"enum":["draft","running","paused","completed","cancelled","failed"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"List throttled inbox reply campaigns","tags":["message-campaigns","Messages"]},"post":{"description":"Create a reply campaign and enroll its conversations","operationId":"SocialReplyCampaignController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialReplyCampaignCreateDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Create a reply campaign and enroll its conversations","tags":["message-campaigns","Messages"]}},"/v1/message-campaigns/{campaignId}":{"delete":{"description":"Cancel and soft-delete a reply campaign","operationId":"SocialReplyCampaignController.remove","parameters":[{"in":"path","name":"campaignId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Cancel and soft-delete a reply campaign","tags":["message-campaigns","Messages"]},"get":{"description":"Inspect one reply campaign","operationId":"SocialReplyCampaignController.get","parameters":[{"in":"path","name":"campaignId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Inspect one reply campaign","tags":["message-campaigns","Messages"]},"patch":{"description":"Update a campaign’s copy or rate limits","operationId":"SocialReplyCampaignController.patch","parameters":[{"in":"path","name":"campaignId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialReplyCampaignUpdateDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Update a campaign’s copy or rate limits","tags":["message-campaigns","Messages"]}},"/v1/message-campaigns/{campaignId}/recipients":{"get":{"description":"List a campaign’s recipients in drain order","operationId":"SocialReplyCampaignController.listRecipients","parameters":[{"in":"path","name":"campaignId","required":true,"schema":{"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"status","required":false,"schema":{"enum":["pending","dispatching","sent","failed","skipped","cancelled"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"List a campaign’s recipients in drain order","tags":["message-campaigns","Messages"]}},"/v1/message-campaigns/{campaignId}/status":{"patch":{"description":"Start, pause, resume, or cancel a campaign","operationId":"SocialReplyCampaignController.transition","parameters":[{"in":"path","name":"campaignId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialReplyCampaignStatusDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Start, pause, resume, or cancel a campaign","tags":["message-campaigns","Messages"]}},"/v1/messages":{"get":{"description":"List social inbox conversations","operationId":"SocialInboxController.listConversations","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Optional brand filter. When omitted, session brand scope still applies unless allBrands is true.","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"platform","required":false,"schema":{"enum":["youtube","instagram","tiktok","twitter","linkedin","unipile"],"type":"string"}},{"description":"List every brand in the organization, ignoring session brand scope.","in":"query","name":"allBrands","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"status","required":false,"schema":{"enum":["open","needs_review","resolved","archived"],"type":"string"}},{"in":"query","name":"automationState","required":false,"schema":{"enum":["manual","drafted","pending_approval","approved","automated","failed"],"type":"string"}},{"in":"query","name":"conversationType","required":false,"schema":{"enum":["comment","dm","mention","reply"],"type":"string"}},{"in":"query","name":"credentialId","required":false,"schema":{"type":"string"}},{"in":"query","name":"assignedOwnerId","required":false,"schema":{"type":"string"}},{"in":"query","name":"tag","required":false,"schema":{"type":"string"}},{"in":"query","name":"search","required":false,"schema":{"type":"string"}},{"in":"query","name":"unread","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"needsReview","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"List social inbox conversations","tags":["messages","Messages"]}},"/v1/messages/instagram/dms/sync":{"post":{"description":"Enqueue a background sync of recent Instagram direct messages","operationId":"SocialInboxController.syncInstagramDms","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialInboxIngestDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Enqueue a background sync of recent Instagram direct messages","tags":["messages","Messages"]}},"/v1/messages/instagram/sync":{"post":{"description":"Enqueue a background sync of recent Instagram comments","operationId":"SocialInboxController.syncInstagramComments","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialInboxIngestDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Enqueue a background sync of recent Instagram comments","tags":["messages","Messages"]}},"/v1/messages/linkedin/dms/sync":{"post":{"description":"Enqueue a background sync of LinkedIn DMs when the connected account permits it","operationId":"SocialInboxController.syncLinkedInDms","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialInboxIngestDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Enqueue a background sync of LinkedIn DMs when the connected account permits it","tags":["messages","Messages"]}},"/v1/messages/linkedin/sync":{"post":{"description":"Enqueue a background sync of recent LinkedIn comments","operationId":"SocialInboxController.syncLinkedInComments","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialInboxIngestDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Enqueue a background sync of recent LinkedIn comments","tags":["messages","Messages"]}},"/v1/messages/unread-count":{"get":{"description":"Count social inbox conversations with unread messages","operationId":"SocialInboxController.countUnreadConversations","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Optional brand filter. When omitted, session brand scope still applies unless allBrands is true.","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Count every brand in the organization.","in":"query","name":"allBrands","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Count social inbox conversations with unread messages","tags":["messages","Messages"]}},"/v1/messages/x/dms/sync":{"post":{"description":"Enqueue a background sync of recent X direct messages","operationId":"SocialInboxController.syncXDms","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialInboxIngestDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Enqueue a background sync of recent X direct messages","tags":["messages","Messages"]}},"/v1/messages/x/sync":{"post":{"description":"Enqueue a background sync of recent X mentions and replies","operationId":"SocialInboxController.syncXComments","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialInboxIngestDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Enqueue a background sync of recent X mentions and replies","tags":["messages","Messages"]}},"/v1/messages/youtube/sync":{"post":{"description":"Enqueue a background sync of recent YouTube comments","operationId":"SocialInboxController.syncYoutubeComments","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialInboxIngestDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Enqueue a background sync of recent YouTube comments","tags":["messages","Messages"]}},"/v1/messages/{conversationId}":{"get":{"description":"Inspect one social conversation","operationId":"SocialInboxController.getConversation","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Inspect one social conversation","tags":["messages","Messages"]},"patch":{"description":"Update a social conversation (status, tags, and/or assignment)","operationId":"SocialInboxController.updateConversation","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialConversationUpdateDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Update a social conversation (status, tags, and/or assignment)","tags":["messages","Messages"]}},"/v1/messages/{conversationId}/dms":{"post":{"description":"Send a DM through a supported connected account","operationId":"SocialInboxController.sendDm","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialDmDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Send a DM through a supported connected account","tags":["messages","Messages"]}},"/v1/messages/{conversationId}/drafts":{"post":{"description":"Create a local reply draft for review","operationId":"SocialInboxController.createDraft","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialDraftDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Create a local reply draft for review","tags":["messages","Messages"]}},"/v1/messages/{conversationId}/drafts/{messageId}":{"patch":{"description":"Approve (and publish) or reject a draft reply/DM","operationId":"SocialInboxController.updateDraft","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"messageId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialDraftUpdateDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Approve (and publish) or reject a draft reply/DM","tags":["messages","Messages"]}},"/v1/messages/{conversationId}/messages":{"get":{"description":"List messages in a social conversation","operationId":"SocialInboxController.listMessages","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"List messages in a social conversation","tags":["messages","Messages"]}},"/v1/messages/{conversationId}/read":{"patch":{"description":"Mark a social conversation read for the current user","operationId":"SocialInboxController.markConversationRead","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialConversationReadDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Mark a social conversation read for the current user","tags":["messages","Messages"]}},"/v1/messages/{conversationId}/replies":{"post":{"description":"Post a reply through the connected account","operationId":"SocialInboxController.postReply","parameters":[{"in":"path","name":"conversationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialReplyDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Post a reply through the connected account","tags":["messages","Messages"]}},"/v1/messages/{conversationId}/suggested-reply":{"post":{"description":"Suggest a reply without saving or sending it","operationId":"SocialInboxController.suggestedReply","parameters":[{"description":"Conversation to draft a reply for","in":"path","name":"conversationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Suggest a reply without saving or sending it","tags":["messages","Messages"]}},"/v1/models":{"get":{"description":"findAll","operationId":"ModelsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization - only return models enabled for this organization","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Search across model label, key, and description","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Filter by model category","in":"query","name":"category","required":false,"schema":{"$ref":"#/components/schemas/ModelCategory"}},{"description":"Filter by any of several categories (comma-separated). Takes precedence over `category` — a catalog group such as Image spans image, image-edit and image-upscale.","in":"query","name":"categories","required":false,"schema":{"items":{"$ref":"#/components/schemas/ModelCategory"},"type":"array"}},{"description":"Filter by providers (comma-separated)","in":"query","name":"providers","required":false,"schema":{"items":{"enum":["replicate","fal","crun","openrouter","genfeed-ai","mureka","heygen","elevenlabs","higgsfield","google","xai","bfl","runway","openai"],"type":"string"},"type":"array"}},{"description":"Filter by active status","in":"query","name":"isActive","required":false,"schema":{"type":"boolean"}},{"description":"Filter by provider registry review status","in":"query","name":"registryStatus","required":false,"schema":{"enum":["approved","discovered","legacy","pending","rejected"],"type":"string"}},{"description":"When false, hide retired models from the catalog listing. Omitted keeps current unfiltered behavior.","in":"query","name":"includeRetired","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["models"]},"post":{"description":"create","operationId":"ModelsController.create","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["models"]}},"/v1/models/{id}":{"delete":{"description":"remove","operationId":"ModelsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["models"]},"get":{"description":"findOne","operationId":"ModelsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["models"]}},"/v1/models/{modelId}":{"patch":{"description":"patch","operationId":"ModelsController.patch","parameters":[{"in":"path","name":"modelId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateModelDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patch","tags":["models"]}},"/v1/models/{modelId}/provider-contracts":{"get":{"description":"getProviderContracts","operationId":"ModelsController.getProviderContracts","parameters":[{"in":"path","name":"modelId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getProviderContracts","tags":["models"]}},"/v1/monitored-accounts":{"get":{"description":"findAll","operationId":"MonitoredAccountsController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["monitored-accounts","Monitored Accounts"]},"post":{"description":"create","operationId":"MonitoredAccountsController.create","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["monitored-accounts","Monitored Accounts"]}},"/v1/monitored-accounts/validate":{"post":{"description":"Validate Twitter username and fetch details","operationId":"MonitoredAccountsController.validateTwitterUsername","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateTwitterUsernameDto"}}},"required":true},"responses":{"200":{"description":"Returns Twitter user details if valid"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Validate Twitter username and fetch details","tags":["monitored-accounts","Monitored Accounts"]}},"/v1/monitored-accounts/{id}":{"delete":{"description":"remove","operationId":"MonitoredAccountsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["monitored-accounts","Monitored Accounts"]},"get":{"description":"findOne","operationId":"MonitoredAccountsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["monitored-accounts","Monitored Accounts"]},"patch":{"description":"patch","operationId":"MonitoredAccountsController.patch","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patch","tags":["monitored-accounts","Monitored Accounts"]}},"/v1/mood-boards":{"get":{"description":"findByBrand","operationId":"MoodBoardsController.findByBrand","parameters":[{"in":"query","name":"brand","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findByBrand","tags":["mood-boards"]}},"/v1/mood-boards/{id}":{"patch":{"description":"update","operationId":"MoodBoardsController.update","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMoodBoardDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["mood-boards"]}},"/v1/musics":{"get":{"description":"findAll","operationId":"MusicsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Search term for filtering results","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Filter by default status","in":"query","name":"isDefault","required":false,"schema":{"type":"boolean"}},{"description":"Filter by scope/visibility level","in":"query","name":"scope","required":false,"schema":{"$ref":"#/components/schemas/AssetScope"}},{"description":"Filter by status using repeated query keys (e.g., ?status=generated&status=processing).","in":"query","name":"status","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Filter by format","in":"query","name":"format","required":false,"schema":{"$ref":"#/components/schemas/MetadataExtension"}},{"description":"Filter by provider","in":"query","name":"provider","required":false,"schema":{"type":"string"}},{"description":"Filter by permanent asset origin using repeated query keys (e.g., ?origins=UPLOADED&origins=IMPORTED).","in":"query","name":"origins","required":false,"schema":{"items":{"$ref":"#/components/schemas/IngredientOrigin"},"type":"array"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["musics"]},"post":{"description":"create","operationId":"MusicsOperationsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMusicDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["musics"]}},"/v1/musics/upload":{"post":{"description":"createUpload","operationId":"MusicsUploadController.createUpload","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createUpload","tags":["musics"]}},"/v1/musics/upload/confirm/{id}":{"post":{"description":"confirmUpload","operationId":"PresignedUploadController.confirmUpload[4]","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"confirmUpload","tags":["uploads"]}},"/v1/musics/upload/presigned":{"post":{"description":"generatePresignedUrl","operationId":"PresignedUploadController.generatePresignedUrl[4]","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignedUploadDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generatePresignedUrl","tags":["uploads"]}},"/v1/musics/{id}":{"delete":{"description":"remove","operationId":"MusicsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["musics"]},"get":{"description":"findOne","operationId":"MusicsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["musics"]},"patch":{"description":"patch","operationId":"MusicsController.patch","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMusicDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patch","tags":["musics"]}},"/v1/newsletters":{"get":{"description":"findAll","operationId":"NewslettersController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Search newsletters by title/topic/content","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Filter by newsletter status","in":"query","name":"status","required":false,"schema":{"items":{"enum":["proposed","draft","ready_for_review","approved","published","archived"],"type":"string"},"type":"array"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["newsletters"]},"post":{"description":"create","operationId":"NewslettersController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNewsletterDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["newsletters"]}},"/v1/newsletters/generate-draft":{"post":{"description":"generateDraft","operationId":"NewslettersController.generateDraft","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateNewsletterDraftDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generateDraft","tags":["newsletters"]}},"/v1/newsletters/topic-proposals":{"post":{"description":"topicProposals","operationId":"NewslettersController.topicProposals","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateNewsletterTopicsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"topicProposals","tags":["newsletters"]}},"/v1/newsletters/{id}":{"get":{"description":"findOne","operationId":"NewslettersController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["newsletters"]},"patch":{"description":"patch","operationId":"NewslettersController.patch","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateNewsletterDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patch","tags":["newsletters"]}},"/v1/newsletters/{id}/context":{"get":{"description":"context","operationId":"NewslettersController.context","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"context","tags":["newsletters"]}},"/v1/newsletters/{newsletterId}/deliveries":{"get":{"description":"findAll","operationId":"NewsletterDeliveriesController.findAll","parameters":[{"in":"path","name":"newsletterId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["Newsletters"]},"post":{"description":"create","operationId":"NewsletterDeliveriesController.create","parameters":[{"in":"path","name":"newsletterId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNewsletterDeliveryDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["Newsletters"]}},"/v1/oauth/authorize":{"get":{"description":"Begin an OAuth authorization-code flow","operationId":"OAuthAuthorizeController.authorize","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Begin an OAuth authorization-code flow","tags":["OAuth"]}},"/v1/oauth/authorize/decision":{"post":{"description":"Approve or deny OAuth access","operationId":"OAuthAuthorizeController.decide","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthAuthorizeDecisionDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Approve or deny OAuth access","tags":["OAuth"]}},"/v1/oauth/register":{"post":{"description":"Dynamically register a public OAuth client","operationId":"OAuthRegisterController.register","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterOAuthClientDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Dynamically register a public OAuth client","tags":["OAuth"]}},"/v1/oauth/revoke":{"post":{"description":"Revoke an MCP OAuth refresh or access token","operationId":"OAuthRevokeController.revoke","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthRevokeTokenDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Revoke an MCP OAuth refresh or access token","tags":["OAuth"]}},"/v1/oauth/token":{"post":{"description":"Exchange an OAuth code, or rotate a refresh token, for an MCP access token","operationId":"OAuthTokenController.exchange","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthTokenExchangeDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Exchange an OAuth code, or rotate a refresh token, for an MCP access token","tags":["OAuth"]}},"/v1/onboarding/brands/{brandId}/drafts":{"post":{"description":"Writes first drafts for the brand with a cheap text model and one shared image. Optional context from the retry round is saved on the brand. Nothing is published.","operationId":"OnboardingController.generateDrafts","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnboardingDraftsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Generate first drafts during onboarding","tags":["onboarding","Onboarding"]}},"/v1/onboarding/brands/{brandId}/scan":{"post":{"description":"Reads one public link about the brand and prefills its identity. A failed read is reported in the body, not as an error.","operationId":"OnboardingController.scanBrand","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnboardingScanDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Scan a brand link during onboarding","tags":["onboarding","Onboarding"]}},"/v1/onboarding/install-readiness":{"get":{"description":"Get install readiness for OSS onboarding","operationId":"OnboardingController.getInstallReadiness","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get install readiness for OSS onboarding","tags":["onboarding","Onboarding"]}},"/v1/onboarding/prefix":{"post":{"description":"Sets the unique 3-letter uppercase prefix for the organization. Used for issue identifiers. Immutable once set.","operationId":"OnboardingController.setPrefix","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetPrefixDto"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"prefix":{"type":"string"},"success":{"type":"boolean"}},"type":"object"}}},"description":"Prefix set successfully"},"409":{"description":"Prefix already set or taken"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Set organization prefix","tags":["onboarding","Onboarding"]}},"/v1/onboarding/prefix/{prefix}/available":{"get":{"description":"Checks if a 3-letter prefix is available for use.","operationId":"OnboardingController.checkPrefixAvailable","parameters":[{"in":"path","name":"prefix","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"isAvailable":{"type":"boolean"},"prefix":{"type":"string"}},"type":"object"}}},"description":"Returns availability status"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Check prefix availability","tags":["onboarding","Onboarding"]}},"/v1/onboarding/status":{"get":{"description":"Get onboarding status","operationId":"OnboardingController.getStatus","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"hasCompletedOnboarding":{"type":"boolean"},"isFirstLogin":{"type":"boolean"}},"type":"object"}}},"description":"Returns onboarding status"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get onboarding status","tags":["onboarding","Onboarding"]}},"/v1/openapi.json":{"get":{"description":"getOpenApiSpec","operationId":"DocsController.getOpenApiSpec","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getOpenApiSpec","tags":["docs"]}},"/v1/optimizers/analyze":{"post":{"description":"analyzeContent","operationId":"OptimizersController.analyzeContent","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyzeContentDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"analyzeContent","tags":["Optimizers"]}},"/v1/optimizers/hashtags":{"post":{"description":"suggestHashtags","operationId":"OptimizersController.suggestHashtags","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestHashtagsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"suggestHashtags","tags":["Optimizers"]}},"/v1/optimizers/history":{"get":{"description":"getOptimizationHistory","operationId":"OptimizersController.getOptimizationHistory","parameters":[{"in":"query","name":"limit","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getOptimizationHistory","tags":["Optimizers"]}},"/v1/optimizers/optimize":{"post":{"description":"optimizeContent","operationId":"OptimizersController.optimizeContent","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OptimizeContentDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"optimizeContent","tags":["Optimizers"]}},"/v1/optimizers/prompts":{"post":{"description":"generatePrompts","operationId":"OptimizersController.generatePrompts","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneratePromptsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generatePrompts","tags":["Optimizers"]}},"/v1/optimizers/times":{"get":{"description":"getBestPostingTimes","operationId":"OptimizersController.getBestPostingTimes","parameters":[{"in":"query","name":"platform","required":true,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getBestPostingTimes","tags":["Optimizers"]}},"/v1/optimizers/variants":{"post":{"description":"generateVariants","operationId":"OptimizersController.generateVariants","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateVariantsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generateVariants","tags":["Optimizers"]}},"/v1/opuspro/generate":{"post":{"description":"generateVideo","operationId":"OpusProController.generateVideo","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generateVideo","tags":["opuspro"]}},"/v1/opuspro/status":{"get":{"description":"getStatus","operationId":"OpusProController.getStatus","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getStatus","tags":["opuspro"]}},"/v1/opuspro/status/{videoId}":{"get":{"description":"getVideoStatus","operationId":"OpusProController.getVideoStatus","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getVideoStatus","tags":["opuspro"]}},"/v1/opuspro/templates":{"get":{"description":"getTemplates","operationId":"OpusProController.getTemplates","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTemplates","tags":["opuspro"]}},"/v1/organizations":{"get":{"description":"findAll","operationId":"OrganizationsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"When true, return membership summaries for the current user (cross-org). This is the default for non-superadmins.","in":"query","name":"mine","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAll","tags":["organizations"]},"post":{"description":"create","operationId":"OrganizationsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationRequestDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"create","tags":["organizations"]}},"/v1/organizations/by-slug/{slug}":{"get":{"description":"findBySlug","operationId":"OrganizationsController.findBySlug","parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findBySlug","tags":["organizations"]}},"/v1/organizations/{id}":{"delete":{"description":"remove","operationId":"OrganizationsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"remove","tags":["organizations"]},"get":{"description":"findOne","operationId":"OrganizationsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findOne","tags":["organizations"]},"patch":{"description":"patch","operationId":"OrganizationsController.patch","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"patch","tags":["organizations"]}},"/v1/organizations/{id}/activate":{"patch":{"description":"switchOrganization","operationId":"OrganizationsController.switchOrganization","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"switchOrganization","tags":["organizations"]}},"/v1/organizations/{organizationId}/ai-actions/execute":{"post":{"description":"AiActionsController.execute","operationId":"AiActionsController.execute","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecuteAiActionDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["AiActions"]}},"/v1/organizations/{organizationId}/analytics":{"get":{"description":"findAnalytics","operationId":"OrganizationsRelationshipsController.findAnalytics","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"description":"Start date for analytics (YYYY-MM-DD). Defaults to 30 days before endDate.","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for analytics (YYYY-MM-DD). Max = yesterday (D-1). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Account ID to filter analytics","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAnalytics","tags":["organizations"]}},"/v1/organizations/{organizationId}/analytics/platforms":{"get":{"description":"findAnalyticsPlatforms","operationId":"OrganizationsRelationshipsController.findAnalyticsPlatforms","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"description":"Start date for analytics (YYYY-MM-DD). Defaults to 30 days before endDate.","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for analytics (YYYY-MM-DD). Max = yesterday (D-1). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Account ID to filter analytics","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAnalyticsPlatforms","tags":["organizations"]}},"/v1/organizations/{organizationId}/analytics/timeseries":{"get":{"description":"findAnalyticsTimeSeries","operationId":"OrganizationsRelationshipsController.findAnalyticsTimeSeries","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"description":"Start date for time series (YYYY-MM-DD). Defaults to D-7 (7 days ago).","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for time series (YYYY-MM-DD). Max = yesterday (D-1). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Account ID to filter analytics","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Grouping for time series data","in":"query","name":"groupBy","required":false,"schema":{"default":"day","enum":["day","week"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAnalyticsTimeSeries","tags":["organizations"]}},"/v1/organizations/{organizationId}/analytics/top-content":{"get":{"description":"findAnalyticsTopContent","operationId":"OrganizationsRelationshipsController.findAnalyticsTopContent","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"description":"Number of top content items to return","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":50,"minimum":1,"type":"number"}},{"description":"Metric to rank content by","in":"query","name":"metric","required":false,"schema":{"default":"views","enum":["views","engagement"],"type":"string"}},{"description":"Start date for analytics (YYYY-MM-DD). Defaults to 30 days before endDate.","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for analytics (YYYY-MM-DD). Max = yesterday (D-1). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Account ID to filter analytics","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAnalyticsTopContent","tags":["organizations"]}},"/v1/organizations/{organizationId}/brands/{brandId}/fleet-capabilities":{"get":{"description":"getFleetCapabilities","operationId":"OrganizationsSettingsController.getFleetCapabilities","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"getFleetCapabilities","tags":["organizations"]}},"/v1/organizations/{organizationId}/ingredients":{"get":{"description":"findAllIngredients","operationId":"OrganizationsRelationshipsController.findAllIngredients","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter ingredients by folder ID","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Superadmin only: list assets across every organization. Ignored when `organizationId` narrows the read to one tenant; any other caller gets a 403.","in":"query","name":"allOrganizations","required":false,"schema":{"type":"boolean"}},{"description":"List every brand in the organization (and unbranded assets), ignoring the session brand. An explicit `brandId` still narrows the list.","in":"query","name":"allBrands","required":false,"schema":{"type":"boolean"}},{"description":"Filter by parent video ID","in":"query","name":"parentId","required":false,"schema":{"type":"string"}},{"description":"Filter by status using repeated query keys (e.g., ?status=GENERATED&status=VALIDATED).","in":"query","name":"status","required":false,"schema":{"items":{"$ref":"#/components/schemas/IngredientStatus"},"type":"array"}},{"description":"Filter ingredients by category","in":"query","name":"category","required":false,"schema":{"$ref":"#/components/schemas/IngredientCategory"}},{"description":"Filter ingredients by one or more categories using repeated query keys (e.g., ?categories=IMAGE&categories=VIDEO). This is the Library type axis — it composes with `shelf` and `folderId` rather than replacing them. Takes precedence over the single-value `category` filter.","in":"query","name":"categories","required":false,"schema":{"items":{"$ref":"#/components/schemas/IngredientCategory"},"type":"array"}},{"description":"Filter by Library shelf — the generation-state axis. A shelf is a saved query (Generating, Unsorted, Needs review, Approved, Failed, Archived), not a location, and owns the status filter when set.","in":"query","name":"shelf","required":false,"schema":{"$ref":"#/components/schemas/LibraryShelf"}},{"description":"Search ingredients by name or description","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Page by keyset cursor instead of page number. Applies when `sort` is a single `createdAt` or `updatedAt` key; other orders fall back to page-number pagination. Responses carry `links.cursor` instead of `links.pagination` and skip the total count.","in":"query","name":"paging","required":false,"schema":{"enum":["cursor"],"type":"string"}},{"description":"Opaque `links.cursor.nextCursor` from the previous keyset page. Requires `paging=cursor`.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Filter by video format","in":"query","name":"format","required":false,"schema":{"$ref":"#/components/schemas/MetadataExtension"}},{"description":"Filter by permanent asset origin using repeated query keys (e.g., ?origins=UPLOADED&origins=IMPORTED). Origin is a Library filter beside type, shelf and folder; it composes with all of them.","in":"query","name":"origins","required":false,"schema":{"items":{"$ref":"#/components/schemas/IngredientOrigin"},"type":"array"}},{"description":"Filter by the character an asset was generated with, using repeated query keys (e.g., ?characters=<id>&characters=<id>). Any-match. Only characters available to the active brand are honoured; an unavailable id matches nothing. Composes with every other Library filter.","in":"query","name":"characters","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Filter by tags using repeated query keys (e.g., ?tags=<id>&tags=<id>). Combined by `tagMatch`. Tags carry human judgment (campaign, series, episode); the filter composes with every other Library filter.","in":"query","name":"tags","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"How `tags` combine: `any` (default) returns assets with at least one selected tag, `all` returns assets carrying every selected tag.","in":"query","name":"tagMatch","required":false,"schema":{"$ref":"#/components/schemas/TagMatchMode"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAllIngredients","tags":["organizations"]}},"/v1/organizations/{organizationId}/integrations":{"get":{"description":"OrganizationsIntegrationsController.findAll","operationId":"OrganizationsIntegrationsController.findAll","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["OrganizationsIntegrations"]},"post":{"description":"OrganizationsIntegrationsController.create","operationId":"OrganizationsIntegrationsController.create","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateIntegrationDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["OrganizationsIntegrations"]}},"/v1/organizations/{organizationId}/integrations/{id}":{"delete":{"description":"OrganizationsIntegrationsController.remove","operationId":"OrganizationsIntegrationsController.remove","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["OrganizationsIntegrations"]},"get":{"description":"OrganizationsIntegrationsController.findOne","operationId":"OrganizationsIntegrationsController.findOne","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["OrganizationsIntegrations"]},"patch":{"description":"OrganizationsIntegrationsController.update","operationId":"OrganizationsIntegrationsController.update","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateIntegrationDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["OrganizationsIntegrations"]}},"/v1/organizations/{organizationId}/logo/generate":{"post":{"description":"generateLogo","operationId":"OrganizationsController.generateLogo","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"generateLogo","tags":["organizations"]}},"/v1/organizations/{organizationId}/members":{"get":{"description":"findAllMembers","operationId":"OrganizationsMembersController.findAllMembers","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAllMembers","tags":["organizations"]},"post":{"description":"inviteMember","operationId":"OrganizationsMembersController.inviteMember","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteMemberDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"inviteMember","tags":["organizations"]}},"/v1/organizations/{organizationId}/members/{memberId}":{"patch":{"description":"updateMember","operationId":"OrganizationsMembersController.updateMember","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"memberId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMemberDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"updateMember","tags":["organizations"]}},"/v1/organizations/{organizationId}/platforms/{platform}/analytics":{"get":{"description":"findPlatformAnalytics","operationId":"OrganizationsRelationshipsController.findPlatformAnalytics","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"platform","required":true,"schema":{"type":"string"}},{"description":"Start date for analytics (YYYY-MM-DD). Defaults to 30 days before endDate.","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01","type":"string"}},{"description":"End date for analytics (YYYY-MM-DD). Max = yesterday (D-1). Defaults to yesterday.","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31","type":"string"}},{"description":"Account ID to filter analytics","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findPlatformAnalytics","tags":["organizations"]}},"/v1/organizations/{organizationId}/settings":{"get":{"description":"getSettings","operationId":"OrganizationsSettingsController.getSettings","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"getSettings","tags":["organizations"]},"patch":{"description":"updateSettings","operationId":"OrganizationsSettingsController.updateSettings","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationSettingDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"updateSettings","tags":["organizations"]}},"/v1/organizations/{organizationId}/settings/byok":{"get":{"description":"getByokAllProviders","operationId":"OrganizationsSettingsController.getByokAllProviders","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"getByokAllProviders","tags":["organizations"]}},"/v1/organizations/{organizationId}/settings/byok/{provider}":{"delete":{"description":"removeByokProviderKey","operationId":"OrganizationsSettingsController.removeByokProviderKey","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"provider","required":true,"schema":{"enum":["anthropic","openai","openrouter","elevenlabs","replicate","fal","crun","argil","heygen","hedra","klingai","leonardoai","higgsfield","apify","google","xai","bfl","runway"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"removeByokProviderKey","tags":["organizations"]},"get":{"description":"getByokProviderStatus","operationId":"OrganizationsSettingsController.getByokProviderStatus","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"provider","required":true,"schema":{"enum":["anthropic","openai","openrouter","elevenlabs","replicate","fal","crun","argil","heygen","hedra","klingai","leonardoai","higgsfield","apify","google","xai","bfl","runway"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"getByokProviderStatus","tags":["organizations"]},"put":{"description":"saveByokProviderKey","operationId":"OrganizationsSettingsController.saveByokProviderKey","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"provider","required":true,"schema":{"enum":["anthropic","openai","openrouter","elevenlabs","replicate","fal","crun","argil","heygen","hedra","klingai","leonardoai","higgsfield","apify","google","xai","bfl","runway"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"saveByokProviderKey","tags":["organizations"]}},"/v1/organizations/{organizationId}/settings/byok/{provider}/validate":{"post":{"description":"validateByokProviderKey","operationId":"OrganizationsSettingsController.validateByokProviderKey","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"provider","required":true,"schema":{"enum":["anthropic","openai","openrouter","elevenlabs","replicate","fal","crun","argil","heygen","hedra","klingai","leonardoai","higgsfield","apify","google","xai","bfl","runway"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"validateByokProviderKey","tags":["organizations"]}},"/v1/organizations/{organizationId}/settings/webhooks/test":{"post":{"description":"testWebhookDelivery","operationId":"OrganizationsSettingsController.testWebhookDelivery","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestOrganizationWebhookDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"testWebhookDelivery","tags":["organizations"]}},"/v1/organizations/{organizationId}/streaks/me":{"get":{"description":"getMyStreak","operationId":"StreaksController.getMyStreak","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getMyStreak","tags":["organizations/:organizationId/streaks"]},"patch":{"description":"patchMyStreak","operationId":"StreaksController.patchMyStreak","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchStreakDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patchMyStreak","tags":["organizations/:organizationId/streaks"]}},"/v1/organizations/{organizationId}/streaks/me/calendar":{"get":{"description":"getMyCalendar","operationId":"StreaksController.getMyCalendar","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getMyCalendar","tags":["organizations/:organizationId/streaks"]}},"/v1/organizations/{organizationId}/subscription":{"get":{"description":"findOneSubscription","operationId":"OrganizationsSettingsController.findOneSubscription","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findOneSubscription","tags":["organizations"]}},"/v1/organizations/{organizationId}/twitter-pipeline/draft":{"post":{"description":"TwitterPipelineController.draft","operationId":"TwitterPipelineController.draft","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TwitterPipelineDraftDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["TwitterPipeline"]}},"/v1/organizations/{organizationId}/twitter-pipeline/publish":{"post":{"description":"TwitterPipelineController.publish","operationId":"TwitterPipelineController.publish","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TwitterPipelinePublishDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["TwitterPipeline"]}},"/v1/organizations/{organizationId}/twitter-pipeline/search":{"post":{"description":"TwitterPipelineController.search","operationId":"TwitterPipelineController.search","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TwitterPipelineSearchDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["TwitterPipeline"]}},"/v1/outlier-baselines":{"get":{"description":"OutliersController.list","operationId":"OutliersController.list","parameters":[{"in":"query","name":"page","required":false,"schema":{"default":1}},{"in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100}},{"in":"query","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"query","name":"accountType","required":true,"schema":{"enum":["credential","social_source"],"type":"string"}},{"in":"query","name":"accountId","required":true,"schema":{"type":"string"}},{"in":"query","name":"platform","required":false,"schema":{"type":"string"}},{"in":"query","name":"contentType","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Outlier baselines"]}},"/v1/outlier-baselines/configuration":{"get":{"description":"OutliersController.getConfiguration","operationId":"OutliersController.getConfiguration","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Outlier baselines"]},"patch":{"description":"OutliersController.patchConfiguration","operationId":"OutliersController.patchConfiguration","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Outlier baselines"]}},"/v1/outlier-baselines/posts":{"get":{"description":"OutliersController.rankedPosts","operationId":"OutliersController.rankedPosts","parameters":[{"in":"query","name":"page","required":false,"schema":{"default":1}},{"in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"query","name":"accountType","required":false,"schema":{"enum":["credential","social_source"],"type":"string"}},{"in":"query","name":"accountId","required":false,"schema":{"type":"string"}},{"in":"query","name":"platform","required":false,"schema":{"type":"string"}},{"in":"query","name":"contentType","required":false,"schema":{"type":"string"}},{"in":"query","name":"tier","required":false,"schema":{"enum":["outlier","breakout"],"type":"string"}},{"in":"query","name":"windowSize","required":false,"schema":{"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Outlier baselines"]}},"/v1/outlier-baselines/refresh":{"post":{"description":"OutliersController.refresh","operationId":"OutliersController.refresh","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutlierAccountDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Outlier baselines"]}},"/v1/outlier-baselines/{id}":{"get":{"description":"OutliersController.findOne","operationId":"OutliersController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Outlier baselines"]}},"/v1/outlier-baselines/{id}/posts":{"get":{"description":"OutliersController.posts","operationId":"OutliersController.posts","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"page","required":false,"schema":{"default":1}},{"in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Outlier baselines"]}},"/v1/outreach-campaigns":{"get":{"description":"findAll","operationId":"OutreachCampaignsController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["outreach-campaigns","OutreachCampaigns"]},"post":{"description":"Create an outreach campaign","operationId":"OutreachCampaignsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOutreachCampaignDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Create an outreach campaign","tags":["outreach-campaigns","OutreachCampaigns"]}},"/v1/outreach-campaigns/parse-url":{"post":{"description":"Parse a URL and return metadata","operationId":"OutreachCampaignsController.parseUrlEndpoint","parameters":[],"responses":{"200":{"description":"URL parsed successfully"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Parse a URL and return metadata","tags":["outreach-campaigns","OutreachCampaigns"]}},"/v1/outreach-campaigns/{id}":{"delete":{"description":"Soft-delete a campaign","operationId":"OutreachCampaignsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Soft-delete a campaign","tags":["outreach-campaigns","OutreachCampaigns"]},"get":{"description":"Find a single campaign by ID","operationId":"OutreachCampaignsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Find a single campaign by ID","tags":["outreach-campaigns","OutreachCampaigns"]},"patch":{"description":"patch","operationId":"OutreachCampaignsController.patch","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patch","tags":["outreach-campaigns","OutreachCampaigns"]}},"/v1/outreach-campaigns/{id}/analytics":{"get":{"description":"Get campaign analytics","operationId":"OutreachCampaignsController.getAnalytics","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returns campaign analytics"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get campaign analytics","tags":["outreach-campaigns","OutreachCampaigns"]}},"/v1/outreach-campaigns/{id}/targets":{"get":{"description":"Get targets for a campaign","operationId":"OutreachCampaignsController.getTargets","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Page number","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Items per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter targets by status","in":"query","name":"status","required":false,"schema":{"$ref":"#/components/schemas/CampaignTargetStatus"}}],"responses":{"200":{"description":"Returns campaign targets"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get targets for a campaign","tags":["outreach-campaigns","OutreachCampaigns"]},"post":{"description":"Add targets to a campaign","operationId":"OutreachCampaignsController.addTargets","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddCampaignTargetsDto"}}},"required":true},"responses":{"200":{"description":"Targets added successfully"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Add targets to a campaign","tags":["outreach-campaigns","OutreachCampaigns"]}},"/v1/outreach-campaigns/{id}/targets/discover":{"post":{"description":"Discover targets using AI-powered search","operationId":"OutreachCampaignsController.discoverTargets","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Targets discovered and added"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Discover targets using AI-powered search","tags":["outreach-campaigns","OutreachCampaigns"]}},"/v1/outreach-campaigns/{id}/targets/{targetId}/preview":{"post":{"description":"Preview AI-generated reply for a target","operationId":"OutreachCampaignsController.previewReply","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"targetId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Reply preview generated"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Preview AI-generated reply for a target","tags":["outreach-campaigns","OutreachCampaigns"]}},"/v1/personas":{"get":{"description":"findAll","operationId":"PersonasController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["personas"]},"post":{"description":"create","operationId":"PersonasController.create","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["personas"]}},"/v1/personas/from-sheet":{"post":{"description":"createFromSheet","operationId":"PersonasController.createFromSheet","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePersonaFromSheetDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createFromSheet","tags":["personas"]}},"/v1/personas/grantable-organizations":{"get":{"description":"listGrantableOrganizations","operationId":"PersonaGrantsController.listGrantableOrganizations","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listGrantableOrganizations","tags":["personas"]}},"/v1/personas/inspect-image":{"post":{"description":"CharacterImageInspectionController.inspect","operationId":"CharacterImageInspectionController.inspect","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InspectCharacterImageDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["CharacterImageInspection"]}},"/v1/personas/mentions":{"get":{"description":"getMentions","operationId":"PersonasController.getMentions","parameters":[{"in":"query","name":"q","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getMentions","tags":["personas"]}},"/v1/personas/reference-usage":{"post":{"description":"findReferenceUsage","operationId":"PersonaReferencesController.findReferenceUsage","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CharacterReferenceUsageDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findReferenceUsage","tags":["personas"]}},"/v1/personas/sheet-prompt":{"post":{"description":"composeSheetPrompt","operationId":"PersonasController.composeSheetPrompt","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComposeCharacterSheetDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"composeSheetPrompt","tags":["personas"]}},"/v1/personas/{id}":{"delete":{"description":"remove","operationId":"PersonasController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["personas"]},"get":{"description":"findOne","operationId":"PersonasController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["personas"]},"patch":{"description":"patch","operationId":"PersonasController.patch","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePersonaDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patch","tags":["personas"]}},"/v1/personas/{id}/availability":{"patch":{"description":"updateAvailability","operationId":"PersonasController.updateAvailability","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CharacterAvailabilityDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateAvailability","tags":["personas"]}},"/v1/personas/{id}/content-plan":{"post":{"description":"generateContentPlan","operationId":"PersonasContentController.generateContentPlan","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generateContentPlan","tags":["personas"]}},"/v1/personas/{id}/grants":{"get":{"description":"listGrants","operationId":"PersonaGrantsController.listGrants","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listGrants","tags":["personas"]},"post":{"description":"grant","operationId":"PersonaGrantsController.grant","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantCharacterDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"grant","tags":["personas"]}},"/v1/personas/{id}/grants/{grantId}":{"delete":{"description":"revokeGrant","operationId":"PersonaGrantsController.revokeGrant","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"grantId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"revokeGrant","tags":["personas"]}},"/v1/personas/{id}/owner":{"patch":{"description":"moveOwnership","operationId":"PersonasController.moveOwnership","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoveCharacterOwnershipDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"moveOwnership","tags":["personas"]}},"/v1/personas/{id}/posts":{"get":{"description":"getPersonaPosts","operationId":"PersonasContentController.getPersonaPosts","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"page","required":true,"schema":{"type":"number"}},{"in":"query","name":"limit","required":true,"schema":{"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getPersonaPosts","tags":["personas"]}},"/v1/personas/{id}/publish":{"post":{"description":"publish","operationId":"PersonasContentController.publish","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"publish","tags":["personas"]}},"/v1/personas/{id}/references":{"get":{"description":"list","operationId":"PersonaReferencesController.list","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"list","tags":["personas"]},"post":{"description":"add","operationId":"PersonaReferencesController.add","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CharacterReferencesDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"add","tags":["personas"]},"put":{"description":"reorder","operationId":"PersonaReferencesController.reorder","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CharacterReferencesDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"reorder","tags":["personas"]}},"/v1/personas/{id}/references/{ingredientId}":{"delete":{"description":"remove","operationId":"PersonaReferencesController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"ingredientId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["personas"]}},"/v1/post-groups":{"get":{"description":"findAll","operationId":"PostGroupsController.findAll","parameters":[{"description":"Inclusive release window start in ISO 8601 format","in":"query","name":"startDate","required":false,"schema":{"example":"2026-07-20T00:00:00.000Z","type":"string"}},{"description":"Inclusive release window end in ISO 8601 format","in":"query","name":"endDate","required":false,"schema":{"example":"2026-07-27T00:00:00.000Z","type":"string"}},{"description":"One-based release page for Publish list surfaces","in":"query","name":"page","required":false,"schema":{"minimum":1,"type":"number"}},{"description":"Release page size for Publish list surfaces","in":"query","name":"limit","required":false,"schema":{"maximum":100,"minimum":1,"type":"number"}},{"description":"Case-insensitive release title or content search","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Deterministic Publish list ordering","in":"query","name":"sort","required":false,"schema":{"enum":["createdAt: -1","createdAt: 1","scheduledDate: -1","scheduledDate: 1","updatedAt: -1","updatedAt: 1"],"type":"string"}},{"description":"Release publication facet. Posted means at least one target is published.","in":"query","name":"publicationState","required":false,"schema":{"enum":["posted","not-posted"],"type":"string"}},{"description":"Filter release groups by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter release groups to one Publish content campaign","in":"query","name":"campaignId","required":false,"schema":{"type":"string"}},{"description":"Filter by release status using repeated query keys (for example, ?status=scheduled&status=failed).","in":"query","name":"status","required":false,"schema":{"items":{"$ref":"#/components/schemas/ReleaseStatus"},"type":"array"}},{"description":"Filter to releases with at least one channel target on any of these platforms (for example, ?platform=instagram&platform=tiktok).","in":"query","name":"platform","required":false,"schema":{"items":{"$ref":"#/components/schemas/CredentialPlatform"},"type":"array"}},{"description":"Filter to releases with at least one channel target publishing through any of these credentials.","in":"query","name":"credentialId","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Filter to releases with at least one channel target in any of these execution states. Use `?executionState=failed` for the error-state view.","in":"query","name":"executionState","required":false,"schema":{"items":{"$ref":"#/components/schemas/TargetExecutionState"},"type":"array"}},{"description":"Filter to releases with at least one matching target content category.","in":"query","name":"contentType","required":false,"schema":{"items":{"$ref":"#/components/schemas/PostCategory"},"type":"array"}},{"description":"Filter to releases with at least one channel target placed by any of these sources. Source is derived from target provenance, not stored.","in":"query","name":"source","required":false,"schema":{"items":{"$ref":"#/components/schemas/ReleaseTargetSource"},"type":"array"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["PostGroups"]},"post":{"description":"create","operationId":"PostGroupsController.create","parameters":[{"in":"header","name":"idempotency-key","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["PostGroups"]}},"/v1/post-groups/from-post":{"post":{"description":"ensureFromPost","operationId":"PostGroupsController.ensureFromPost","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"ensureFromPost","tags":["PostGroups"]}},"/v1/post-groups/recurrence/preview":{"post":{"description":"previewRecurrence","operationId":"PostGroupsController.previewRecurrence","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"previewRecurrence","tags":["PostGroups"]}},"/v1/post-groups/{id}":{"get":{"description":"getOne","operationId":"PostGroupsController.getOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getOne","tags":["PostGroups"]},"patch":{"description":"update","operationId":"PostGroupsController.update","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["PostGroups"]}},"/v1/post-groups/{id}/series/future":{"patch":{"description":"editFutureSeries","operationId":"PostGroupsController.editFutureSeries","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"editFutureSeries","tags":["PostGroups"]}},"/v1/post-groups/{id}/targets/{targetId}":{"patch":{"description":"updateTarget","operationId":"PostGroupsController.updateTarget","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"targetId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateTarget","tags":["PostGroups"]}},"/v1/posting-cadences":{"get":{"description":"list","operationId":"PostingCadencesController.list","parameters":[{"in":"query","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"list","tags":["PostingCadences"]},"post":{"description":"create","operationId":"PostingCadencesController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePostingCadenceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["PostingCadences"]}},"/v1/posting-cadences/slots":{"get":{"description":"listSlots","operationId":"PostingCadencesController.listSlots","parameters":[{"in":"query","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"query","name":"endDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"startDate","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listSlots","tags":["PostingCadences"]}},"/v1/posting-cadences/slots/book":{"post":{"description":"book","operationId":"PostingCadencesController.book","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookCalendarSlotDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"book","tags":["PostingCadences"]}},"/v1/posting-cadences/slots/cancel":{"post":{"description":"cancel","operationId":"PostingCadencesController.cancel","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelCalendarSlotDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"cancel","tags":["PostingCadences"]}},"/v1/posting-cadences/slots/generate":{"post":{"description":"generate","operationId":"PostingCadencesController.generate","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FillCalendarSlotDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generate","tags":["PostingCadences"]}},"/v1/posting-cadences/slots/generate-bulk":{"post":{"description":"generateBulk","operationId":"PostingCadencesController.generateBulk","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkGenerateCalendarSlotsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generateBulk","tags":["PostingCadences"]}},"/v1/posting-cadences/slots/skip":{"post":{"description":"skip","operationId":"PostingCadencesController.skip","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkipCalendarSlotDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"skip","tags":["PostingCadences"]}},"/v1/posting-cadences/slots/write":{"post":{"description":"write","operationId":"PostingCadencesController.write","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FillCalendarSlotDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"write","tags":["PostingCadences"]}},"/v1/posting-cadences/{id}":{"delete":{"description":"remove","operationId":"PostingCadencesController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["PostingCadences"]},"patch":{"description":"update","operationId":"PostingCadencesController.update","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePostingCadenceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["PostingCadences"]}},"/v1/posting-sets":{"get":{"description":"findAll","operationId":"PostingSetsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"label","required":false,"schema":{"type":"string"}},{"in":"query","name":"isEnabled","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["PostingSets"]},"post":{"description":"create","operationId":"PostingSetsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePostingSetDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["PostingSets"]}},"/v1/posting-sets/{id}":{"delete":{"description":"remove","operationId":"PostingSetsController.remove","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"label","required":false,"schema":{"type":"string"}},{"in":"query","name":"isEnabled","required":false,"schema":{"type":"boolean"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["PostingSets"]},"get":{"description":"findOne","operationId":"PostingSetsController.findOne","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"label","required":false,"schema":{"type":"string"}},{"in":"query","name":"isEnabled","required":false,"schema":{"type":"boolean"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["PostingSets"]},"patch":{"description":"update","operationId":"PostingSetsController.update","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"label","required":false,"schema":{"type":"string"}},{"in":"query","name":"isEnabled","required":false,"schema":{"type":"boolean"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePostingSetDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["PostingSets"]}},"/v1/posting-sets/{id}/expand":{"post":{"description":"expand","operationId":"PostingSetsController.expand","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"label","required":false,"schema":{"type":"string"}},{"in":"query","name":"isEnabled","required":false,"schema":{"type":"boolean"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpandPostingSetDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"expand","tags":["PostingSets"]}},"/v1/posting-signatures":{"get":{"description":"findAll","operationId":"PostingSignaturesController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"label","required":false,"schema":{"type":"string"}},{"in":"query","name":"platform","required":false,"schema":{"enum":["youtube","instagram","tiktok","facebook","google_ads","google_search_console","twitter","x_ads","linkedin","pinterest","reddit","discord","telegram","twitch","medium","threads","fanvue","slack","wordpress","snapchat","whatsapp","mastodon","ghost","shopify","beehiiv","unipile","devto","product_hunt","hacker_news","restream"],"type":"string"}},{"in":"query","name":"isEnabled","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["PostingSignatures"]},"post":{"description":"create","operationId":"PostingSignaturesController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePostingSignatureDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["PostingSignatures"]}},"/v1/posting-signatures/{id}":{"delete":{"description":"remove","operationId":"PostingSignaturesController.remove","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"label","required":false,"schema":{"type":"string"}},{"in":"query","name":"platform","required":false,"schema":{"enum":["youtube","instagram","tiktok","facebook","google_ads","google_search_console","twitter","x_ads","linkedin","pinterest","reddit","discord","telegram","twitch","medium","threads","fanvue","slack","wordpress","snapchat","whatsapp","mastodon","ghost","shopify","beehiiv","unipile","devto","product_hunt","hacker_news","restream"],"type":"string"}},{"in":"query","name":"isEnabled","required":false,"schema":{"type":"boolean"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["PostingSignatures"]},"get":{"description":"findOne","operationId":"PostingSignaturesController.findOne","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"label","required":false,"schema":{"type":"string"}},{"in":"query","name":"platform","required":false,"schema":{"enum":["youtube","instagram","tiktok","facebook","google_ads","google_search_console","twitter","x_ads","linkedin","pinterest","reddit","discord","telegram","twitch","medium","threads","fanvue","slack","wordpress","snapchat","whatsapp","mastodon","ghost","shopify","beehiiv","unipile","devto","product_hunt","hacker_news","restream"],"type":"string"}},{"in":"query","name":"isEnabled","required":false,"schema":{"type":"boolean"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["PostingSignatures"]},"patch":{"description":"update","operationId":"PostingSignaturesController.update","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"label","required":false,"schema":{"type":"string"}},{"in":"query","name":"platform","required":false,"schema":{"enum":["youtube","instagram","tiktok","facebook","google_ads","google_search_console","twitter","x_ads","linkedin","pinterest","reddit","discord","telegram","twitch","medium","threads","fanvue","slack","wordpress","snapchat","whatsapp","mastodon","ghost","shopify","beehiiv","unipile","devto","product_hunt","hacker_news","restream"],"type":"string"}},{"in":"query","name":"isEnabled","required":false,"schema":{"type":"boolean"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePostingSignatureDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["PostingSignatures"]}},"/v1/posts":{"get":{"description":"findAll","operationId":"PostsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Separate posts that have been published from work in progress","in":"query","name":"publicationState","required":false,"schema":{"enum":["posted","not-posted"],"type":"string"}},{"description":"Search post labels and descriptions","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Filter posts scheduled after this date (ISO 8601 format)","in":"query","name":"startDate","required":false,"schema":{"example":"2024-01-01T00:00:00.000Z","type":"string"}},{"description":"Filter posts scheduled before this date (ISO 8601 format)","in":"query","name":"endDate","required":false,"schema":{"example":"2024-01-31T23:59:59.999Z","type":"string"}},{"description":"Filter posts by platform","in":"query","name":"platform","required":false,"schema":{"$ref":"#/components/schemas/CredentialPlatform"}},{"description":"Filter posts by canonical target execution state","in":"query","name":"executionState","required":false,"schema":{"$ref":"#/components/schemas/TargetExecutionState"}},{"description":"Filter posts by audience visibility","in":"query","name":"visibility","required":false,"schema":{"$ref":"#/components/schemas/PostVisibility"}},{"description":"Filter posts by credential ID","in":"query","name":"credentialId","required":false,"schema":{"type":"string"}},{"description":"Filter posts by Publish content campaign ID","in":"query","name":"campaignId","required":false,"schema":{"type":"string"}},{"description":"Filter posts created by this agent","in":"query","name":"agentStrategyId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["posts"]},"post":{"description":"create","operationId":"PostsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePostDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["posts"]}},"/v1/posts/account-generations":{"post":{"description":"generateAccountContent","operationId":"PostsGenerationController.generateAccountContent","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateAccountPostDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generateAccountContent","tags":["posts"]}},"/v1/posts/analytics":{"post":{"description":"refreshAllAnalytics","operationId":"PostsAnalyticsController.refreshAllAnalytics","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"refreshAllAnalytics","tags":["posts"]}},"/v1/posts/batch":{"patch":{"description":"batchUpdate","operationId":"PostsOperationsController.batchUpdate","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostsBatchDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"batchUpdate","tags":["posts"]}},"/v1/posts/draft-generations":{"post":{"description":"generateDraftText","operationId":"PostsGenerationController.generateDraftText","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneratePostDraftDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generateDraftText","tags":["posts"]}},"/v1/posts/hook-generations":{"post":{"description":"generateHookVariations","operationId":"PostsGenerationController.generateHookVariations","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateHooksDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generateHookVariations","tags":["posts"]}},"/v1/posts/publication-insights":{"get":{"description":"getPublicationInsights","operationId":"PostsAnalyticsController.getPublicationInsights","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getPublicationInsights","tags":["posts"]}},"/v1/posts/source-variations":{"post":{"description":"generateSourceVariations","operationId":"PostsGenerationController.generateSourceVariations","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateSourcePostVariationsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generateSourceVariations","tags":["posts"]}},"/v1/posts/{id}":{"delete":{"description":"remove","operationId":"PostsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["posts"]},"patch":{"description":"patch","operationId":"PostsController.patch","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patch","tags":["posts"]}},"/v1/posts/{postId}":{"get":{"description":"findOne","operationId":"PostsController.findOne","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"path","name":"postId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["posts"]}},"/v1/posts/{postId}/analytics":{"get":{"description":"getAnalytics","operationId":"PostsAnalyticsController.getAnalytics","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getAnalytics","tags":["posts"]}},"/v1/posts/{postId}/enhancements":{"post":{"description":"enhancePost","operationId":"PostsGenerationController.enhancePost","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnhancePostDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"enhancePost","tags":["posts"]}},"/v1/posts/{postId}/generation-retries":{"post":{"description":"retryAccountGeneration","operationId":"PostsAccountGenerationRetryController.retryAccountGeneration","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetryAccountGenerationDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"retryAccountGeneration","tags":["posts"]}},"/v1/posts/{postId}/publication-insights":{"get":{"description":"getPublicationInsight","operationId":"PostsAnalyticsController.getPublicationInsight","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getPublicationInsight","tags":["posts"]}},"/v1/posts/{postId}/refresh-analytics":{"post":{"description":"refreshAnalytics","operationId":"PostsAnalyticsController.refreshAnalytics","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"refreshAnalytics","tags":["posts"]}},"/v1/posts/{postId}/remixes":{"post":{"description":"createRemixPost","operationId":"PostsOperationsController.createRemixPost","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRemixPostDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createRemixPost","tags":["posts"]}},"/v1/posts/{postId}/replies":{"post":{"description":"addThreadReply","operationId":"PostsOperationsController.addThreadReply","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePostDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"addThreadReply","tags":["posts"]}},"/v1/posts/{postId}/repurpose":{"post":{"description":"repurposePost","operationId":"PostsGenerationController.repurposePost","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepurposePostDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"repurposePost","tags":["posts"]}},"/v1/posts/{postId}/retry":{"post":{"description":"retryPost","operationId":"PostsOperationsController.retryPost","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"retryPost","tags":["posts"]}},"/v1/posts/{postId}/seo-scores":{"post":{"description":"scoreSeo","operationId":"PostsGenerationController.scoreSeo","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScoreSeoDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"scoreSeo","tags":["posts"]}},"/v1/posts/{postId}/thread-drafts":{"post":{"description":"draftThread","operationId":"PostsThreadDraftController.draftThread","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpandToThreadDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"draftThread","tags":["posts"]}},"/v1/posts/{postId}/thread-expansions":{"post":{"description":"expandToThread","operationId":"PostsGenerationController.expandToThread","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpandToThreadDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"expandToThread","tags":["posts"]}},"/v1/preflight/status":{"get":{"description":"Get overall system readiness status","operationId":"PreflightController.getStatus","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get overall system readiness status","tags":["Preflight"]}},"/v1/preflight/{feature}":{"get":{"description":"Get readiness status for a specific feature","operationId":"PreflightController.getFeatureStatus","parameters":[{"in":"path","name":"feature","required":true,"schema":{"enum":["studio","analytics","trends","marketplace","publish"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get readiness status for a specific feature","tags":["Preflight"]}},"/v1/presets":{"get":{"description":"findAll","operationId":"PresetsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Filter by preset category","in":"query","name":"category","required":false,"schema":{"$ref":"#/components/schemas/ModelCategory"}},{"description":"Filter by active status","in":"query","name":"isActive","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAll","tags":["presets"]},"post":{"description":"create","operationId":"PresetsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePresetDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"create","tags":["presets"]}},"/v1/presets/{id}":{"get":{"description":"findOne","operationId":"PresetsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findOne","tags":["presets"]}},"/v1/presets/{presetId}":{"delete":{"description":"remove","operationId":"PresetsController.remove","parameters":[{"in":"path","name":"presetId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"remove","tags":["presets"]},"patch":{"description":"update","operationId":"PresetsController.update","parameters":[{"in":"path","name":"presetId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePresetDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"update","tags":["presets"]}},"/v1/profiles":{"get":{"description":"findAll","operationId":"ProfilesController.findAll","parameters":[{"in":"query","name":"search","required":true,"schema":{"type":"string"}},{"in":"query","name":"isDefault","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["Profiles"]},"post":{"description":"create","operationId":"ProfilesController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProfileDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["Profiles"]}},"/v1/profiles/generate":{"post":{"description":"generateFromExamples","operationId":"ProfilesController.generateFromExamples","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateFromExamplesDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generateFromExamples","tags":["Profiles"]}},"/v1/profiles/{profileId}":{"delete":{"description":"remove","operationId":"ProfilesController.remove","parameters":[{"in":"path","name":"profileId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["Profiles"]},"get":{"description":"findOne","operationId":"ProfilesController.findOne","parameters":[{"in":"path","name":"profileId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["Profiles"]},"patch":{"description":"update","operationId":"ProfilesController.update","parameters":[{"in":"path","name":"profileId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProfileDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["Profiles"]}},"/v1/profiles/{profileId}/analyze":{"post":{"description":"analyzeTone","operationId":"ProfilesController.analyzeTone","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyzeToneDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"analyzeTone","tags":["Profiles"]}},"/v1/profiles/{profileId}/apply":{"post":{"description":"applyProfile","operationId":"ProfilesController.applyProfile","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplyProfileDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"applyProfile","tags":["Profiles"]}},"/v1/projects":{"get":{"description":"findAll","operationId":"ProjectsController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["projects","Projects"]},"post":{"description":"create","operationId":"ProjectsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProjectDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["projects","Projects"]}},"/v1/projects/{id}":{"delete":{"description":"remove","operationId":"ProjectsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["projects","Projects"]},"get":{"description":"findOne","operationId":"ProjectsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["projects","Projects"]},"patch":{"description":"patch","operationId":"ProjectsController.patch","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProjectDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patch","tags":["projects","Projects"]}},"/v1/prompts":{"get":{"description":"findAll","operationId":"PromptsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Filter prompts by access scope","in":"query","name":"scope","required":false,"schema":{"$ref":"#/components/schemas/AssetScope"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["prompts"]},"post":{"description":"create","operationId":"PromptsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePromptDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["prompts"]}},"/v1/prompts/admin/without-generation":{"get":{"description":"List prompts that never produced a generation, across organizations","operationId":"AdminPromptsController.list","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Search the original and enhanced prompt and the user email","in":"query","name":"search","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Prompts returned"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"List prompts that never produced a generation, across organizations","tags":["prompts/admin/without-generation"]}},"/v1/prompts/parse":{"post":{"description":"parse","operationId":"PromptsOperationsController.parse","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParsePromptDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"parse","tags":["prompts"]}},"/v1/prompts/tweet":{"post":{"description":"generateTweetReply","operationId":"PromptsOperationsController.generateTweetReply","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTweetReplyDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generateTweetReply","tags":["prompts"]}},"/v1/prompts/voice-to-speech":{"post":{"description":"voiceToSpeech","operationId":"PromptsOperationsController.voiceToSpeech","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"voiceToSpeech","tags":["prompts"]}},"/v1/prompts/{promptId}":{"get":{"description":"findOne","operationId":"PromptsController.findOne","parameters":[{"in":"path","name":"promptId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["prompts"]},"patch":{"description":"update","operationId":"PromptsController.update","parameters":[{"in":"path","name":"promptId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePromptDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["prompts"]}},"/v1/prompts/{promptId}/enhance":{"post":{"description":"enhanceExisting","operationId":"PromptsOperationsController.enhanceExisting","parameters":[{"in":"path","name":"promptId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"enhanceExisting","tags":["prompts"]}},"/v1/prompts/{promptId}/publish":{"post":{"description":"publishToMarketplace","operationId":"PromptsController.publishToMarketplace","parameters":[{"in":"path","name":"promptId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"publishToMarketplace","tags":["prompts"]}},"/v1/prompts/{promptId}/remix":{"post":{"description":"createRemix","operationId":"PromptsOperationsController.createRemix","parameters":[{"in":"path","name":"promptId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createRemix","tags":["prompts"]}},"/v1/public/articles":{"get":{"description":"findPublicArticles","operationId":"PublicArticlesController.findPublicArticles","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Search articles by title or content","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Filter articles by status using repeated query keys (e.g., ?status=draft&status=published).","in":"query","name":"status","required":false,"schema":{"items":{"$ref":"#/components/schemas/ArticleStatus"},"type":"array"}},{"description":"Filter articles by category","in":"query","name":"category","required":false,"schema":{"$ref":"#/components/schemas/ArticleCategory"}},{"description":"Filter articles by tag ID","in":"query","name":"tag","required":false,"schema":{"type":"string"}},{"description":"Filter articles by access scope","in":"query","name":"scope","required":false,"schema":{"$ref":"#/components/schemas/AssetScope"}},{"description":"Field to sort by","in":"query","name":"sortBy","required":false,"schema":{"type":"string"}},{"description":"Sort order (ascending or descending)","in":"query","name":"sortOrder","required":false,"schema":{"enum":["asc","desc"],"type":"string"}},{"in":"query","name":"brand","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findPublicArticles","tags":["public/articles"]}},"/v1/public/articles/slug/{slug}":{"get":{"description":"findPublicArticleBySlug","operationId":"PublicArticlesController.findPublicArticleBySlug","parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"query","name":"previewToken","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findPublicArticleBySlug","tags":["public/articles"]}},"/v1/public/articles/{articleId}":{"get":{"description":"findPublicArticleById","operationId":"PublicArticlesController.findPublicArticleById","parameters":[{"in":"path","name":"articleId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findPublicArticleById","tags":["public/articles"]}},"/v1/public/brand-os/preview":{"post":{"description":"preview","operationId":"PublicBrandOsController.preview","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandOsPreviewDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"preview","tags":["public/brand-os"]}},"/v1/public/brand-os/{publicationId}/design.md":{"get":{"description":"PublicBrandOsExportController.current","operationId":"PublicBrandOsExportController.current","parameters":[{"in":"path","name":"publicationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["PublicBrandOsExport"]}},"/v1/public/brand-os/{publicationId}/{revisionId}/design.md":{"get":{"description":"PublicBrandOsExportController.revision","operationId":"PublicBrandOsExportController.revision","parameters":[{"in":"path","name":"publicationId","required":true,"schema":{"type":"string"}},{"in":"path","name":"revisionId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["PublicBrandOsExport"]}},"/v1/public/brands":{"get":{"description":"findPublicBrands","operationId":"PublicBrandsController.findPublicBrands","parameters":[{"in":"query","name":"isHighlighted","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findPublicBrands","tags":["public/brands"]}},"/v1/public/brands/slug":{"get":{"description":"findOneBySlug","operationId":"PublicBrandsController.findOneBySlug","parameters":[{"in":"query","name":"slug","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOneBySlug","tags":["public/brands"]}},"/v1/public/brands/{brandId}":{"get":{"description":"findOne","operationId":"PublicBrandsController.findOne","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["public/brands"]}},"/v1/public/brands/{brandId}/articles":{"get":{"description":"findBrandArticles","operationId":"PublicBrandsController.findBrandArticles","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"query","name":"page","required":true,"schema":{"type":"number"}},{"in":"query","name":"limit","required":true,"schema":{"type":"number"}},{"in":"query","name":"sort","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findBrandArticles","tags":["public/brands"]}},"/v1/public/brands/{brandId}/images":{"get":{"description":"findBrandImages","operationId":"PublicBrandsController.findBrandImages","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"query","name":"page","required":true,"schema":{"type":"number"}},{"in":"query","name":"limit","required":true,"schema":{"type":"number"}},{"in":"query","name":"sort","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findBrandImages","tags":["public/brands"]}},"/v1/public/brands/{brandId}/links":{"get":{"description":"findBrandLinks","operationId":"PublicBrandsController.findBrandLinks","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"query","name":"sort","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findBrandLinks","tags":["public/brands"]}},"/v1/public/brands/{brandId}/referral":{"get":{"description":"findBrandReferral","operationId":"PublicBrandsController.findBrandReferral","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findBrandReferral","tags":["public/brands"]}},"/v1/public/brands/{brandId}/videos":{"get":{"description":"findBrandVideos","operationId":"PublicBrandsController.findBrandVideos","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"query","name":"page","required":true,"schema":{"type":"number"}},{"in":"query","name":"limit","required":true,"schema":{"type":"number"}},{"in":"query","name":"sort","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findBrandVideos","tags":["public/brands"]}},"/v1/public/images":{"get":{"description":"findPublicImages","operationId":"PublicImagesController.findPublicImages","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"tag","required":true,"schema":{"type":"string"}},{"in":"query","name":"brand","required":true,"schema":{"type":"string"}},{"in":"query","name":"format","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findPublicImages","tags":["public/images"]}},"/v1/public/images/{imageId}":{"get":{"description":"getImageMetadata","operationId":"PublicImagesController.getImageMetadata","parameters":[{"in":"path","name":"imageId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getImageMetadata","tags":["public/images"]}},"/v1/public/images/{imageId}/image.jpg":{"get":{"description":"getImage","operationId":"PublicImagesController.getImage","parameters":[{"in":"path","name":"imageId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getImage","tags":["public/images"]}},"/v1/public/media/{assetId}":{"get":{"description":"resolveMedia","operationId":"PublicMediaController.resolveMedia","parameters":[{"in":"path","name":"assetId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"resolveMedia","tags":["public/media"]}},"/v1/public/media/{assetId}/manifest.json":{"get":{"description":"getManifest","operationId":"PublicMediaController.getManifest","parameters":[{"in":"path","name":"assetId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getManifest","tags":["public/media"]}},"/v1/public/media/{assetId}/transcript.vtt":{"get":{"description":"getTranscript","operationId":"PublicMediaController.getTranscript","parameters":[{"in":"path","name":"assetId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTranscript","tags":["public/media"]}},"/v1/public/models":{"get":{"description":"findPublicModels","operationId":"PublicModelsController.findPublicModels","parameters":[{"description":"Filter by model category","in":"query","name":"category","required":false,"schema":{"$ref":"#/components/schemas/ModelCategory"}},{"description":"Filter by inference provider","in":"query","name":"provider","required":false,"schema":{"$ref":"#/components/schemas/ModelProvider"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of models per page","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findPublicModels","tags":["public/models"]}},"/v1/public/musics":{"get":{"description":"findPublicMusics","operationId":"PublicMusicsController.findPublicMusics","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"tag","required":true,"schema":{"type":"string"}},{"in":"query","name":"brand","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findPublicMusics","tags":["public/musics"]}},"/v1/public/musics/{musicId}":{"get":{"description":"getMusicMetadata","operationId":"PublicMusicsController.getMusicMetadata","parameters":[{"in":"path","name":"musicId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getMusicMetadata","tags":["public/musics"]}},"/v1/public/musics/{musicId}/audio.mp3":{"get":{"description":"getMusic","operationId":"PublicMusicsController.getMusic","parameters":[{"in":"path","name":"musicId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getMusic","tags":["public/musics"]}},"/v1/public/newsletters/{newsletterId}":{"get":{"description":"getCanonicalNewsletterPage","operationId":"PublicNewslettersController.getCanonicalNewsletterPage","parameters":[{"in":"path","name":"newsletterId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getCanonicalNewsletterPage","tags":["public/newsletters"]}},"/v1/public/platform-flags":{"get":{"description":"getFlags","operationId":"PublicPlatformFlagsController.getFlags","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getFlags","tags":["public/platform-flags"]}},"/v1/public/posts":{"get":{"description":"findPublicPosts","operationId":"PublicPostsController.findPublicPosts","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"tag","required":true,"schema":{"type":"string"}},{"in":"query","name":"brand","required":true,"schema":{"type":"string"}},{"in":"query","name":"ingredient","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findPublicPosts","tags":["public/posts"]}},"/v1/public/posts/ingredients":{"get":{"description":"findPublicIngredients","operationId":"PublicPostsController.findPublicIngredients","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"category","required":true,"schema":{"type":"string"}},{"in":"query","name":"brand","required":true,"schema":{"type":"string"}},{"in":"query","name":"tag","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findPublicIngredients","tags":["public/posts"]}},"/v1/public/posts/{postId}":{"get":{"description":"getPostMetadata","operationId":"PublicPostsController.getPostMetadata","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getPostMetadata","tags":["public/posts"]}},"/v1/public/rss/articles":{"get":{"description":"getGlobalFeed","operationId":"PublicRSSController.getGlobalFeed","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getGlobalFeed","tags":["public/rss"]}},"/v1/public/rss/brands/{brandId}":{"get":{"description":"getBrandFeed","operationId":"PublicRSSController.getBrandFeed","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getBrandFeed","tags":["public/rss"]}},"/v1/public/rss/brands/{brandId}/newsletters":{"get":{"description":"getBrandNewsletterFeed","operationId":"PublicRSSController.getBrandNewsletterFeed","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getBrandNewsletterFeed","tags":["public/rss"]}},"/v1/public/rss/organizations/{organizationId}":{"get":{"description":"getOrganizationFeed","operationId":"PublicRSSController.getOrganizationFeed","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getOrganizationFeed","tags":["public/rss"]}},"/v1/public/rss/users/{userId}":{"get":{"description":"getUserFeed","operationId":"PublicRSSController.getUserFeed","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getUserFeed","tags":["public/rss"]}},"/v1/public/videos":{"get":{"description":"findPublicVideos","operationId":"PublicVideosController.findPublicVideos","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"tag","required":true,"schema":{"type":"string"}},{"in":"query","name":"brand","required":true,"schema":{"type":"string"}},{"in":"query","name":"format","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findPublicVideos","tags":["public/videos"]}},"/v1/public/videos/{videoId}":{"get":{"description":"getVideoMetadata","operationId":"PublicVideosController.getVideoMetadata","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getVideoMetadata","tags":["public/videos"]}},"/v1/public/videos/{videoId}/video.mp4":{"get":{"description":"getVideo","operationId":"PublicVideosController.getVideo","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getVideo","tags":["public/videos"]}},"/v1/public/youtube-clips":{"post":{"description":"create","operationId":"PublicYoutubeClipsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePublicYoutubeClipDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["public/youtube-clips"]}},"/v1/public/youtube-clips/{previewToken}":{"get":{"description":"read","operationId":"PublicYoutubeClipsController.read","parameters":[{"in":"path","name":"previewToken","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"read","tags":["public/youtube-clips"]}},"/v1/public/youtube-clips/{previewToken}/preview":{"post":{"description":"preview","operationId":"PublicYoutubeClipsController.preview","parameters":[{"in":"path","name":"previewToken","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePublicYoutubeClipPreviewDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"preview","tags":["public/youtube-clips"]}},"/v1/public/youtube-long-form":{"post":{"description":"create","operationId":"PublicYoutubeLongFormController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePublicYoutubeLongFormDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["/"]}},"/v1/publish-approvals":{"post":{"description":"create","operationId":"PublishApprovalsController.create","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["PublishApprovals"]}},"/v1/publishing-setup/checklist":{"get":{"description":"getChecklist","operationId":"PublishingSetupController.getChecklist","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getChecklist","tags":["PublishingSetup"]}},"/v1/publishing-setup/diagnostics":{"get":{"description":"getDiagnostics","operationId":"PublishingSetupController.getDiagnostics","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getDiagnostics","tags":["PublishingSetup"]}},"/v1/queues/capability":{"get":{"description":"QueueDiagnosticsController.getCapability","operationId":"QueueDiagnosticsController.getCapability","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["QueueDiagnostics"]}},"/v1/referrals/admin/rewards":{"get":{"description":"listAdmin","operationId":"ReferralsController.listAdmin","parameters":[{"in":"query","name":"limit","required":true,"schema":{"type":"string"}},{"in":"query","name":"page","required":true,"schema":{"type":"string"}},{"in":"query","name":"status","required":true,"schema":{"enum":["PENDING","PROCESSING","GRANTED","CANCELLED","REVERSED","FAILED"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listAdmin","tags":["Referrals"]}},"/v1/referrals/me":{"get":{"description":"getMine","operationId":"ReferralsController.getMine","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getMine","tags":["Referrals"]}},"/v1/referrals/me/claim":{"post":{"description":"claim","operationId":"ReferralsController.claim","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimReferralDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"claim","tags":["Referrals"]}},"/v1/referrals/me/rewards":{"get":{"description":"listMine","operationId":"ReferralsController.listMine","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listMine","tags":["Referrals"]}},"/v1/remotion-compositions":{"get":{"description":"RemotionCompositionsController.catalog","operationId":"RemotionCompositionsController.catalog","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"tags":["remotion-compositions"]}},"/v1/remotion-compositions/render":{"post":{"description":"RemotionCompositionsController.render","operationId":"RemotionCompositionsController.render","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenderRemotionCompositionDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"tags":["remotion-compositions"]}},"/v1/remotion-compositions/{id}":{"get":{"description":"RemotionCompositionsController.status","operationId":"RemotionCompositionsController.status","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"tags":["remotion-compositions"]}},"/v1/remotion-compositions/{id}/cancel":{"post":{"description":"RemotionCompositionsController.cancel","operationId":"RemotionCompositionsController.cancel","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"tags":["remotion-compositions"]}},"/v1/remotion-compositions/{id}/retry":{"post":{"description":"RemotionCompositionsController.retry","operationId":"RemotionCompositionsController.retry","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"tags":["remotion-compositions"]}},"/v1/reply-bot-configs":{"get":{"description":"findAll","operationId":"ReplyBotConfigsController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["reply-bot-configs","Reply Bot Configs"]},"post":{"description":"create","operationId":"ReplyBotConfigsController.create","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["reply-bot-configs","Reply Bot Configs"]}},"/v1/reply-bot-configs/author-reply/draft":{"post":{"description":"Draft a harness-aware author reply (no post)","operationId":"ReplyBotConfigsController.draftAuthorReply","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthorReplyDraftDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Draft a harness-aware author reply (no post)","tags":["reply-bot-configs","Reply Bot Configs"]}},"/v1/reply-bot-configs/author-reply/ensure":{"post":{"description":"Enable/upsert X author-reply (comment_responder) for a brand","operationId":"ReplyBotConfigsController.ensureAuthorResponder","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnsureAuthorResponderDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Enable/upsert X author-reply (comment_responder) for a brand","tags":["reply-bot-configs","Reply Bot Configs"]}},"/v1/reply-bot-configs/author-reply/inbox":{"get":{"description":"List comments on brand posts that still need an author reply","operationId":"ReplyBotConfigsController.getAuthorReplyInbox","parameters":[{"description":"Brand id","in":"query","name":"brandId","required":true,"schema":{"type":"string"}},{"description":"Lookback window in hours (capped at 48)","in":"query","name":"hours","required":false,"schema":{"default":24,"type":"number"}},{"description":"Platform inbox: X (twitter) or YouTube comments","in":"query","name":"platform","required":false,"schema":{"default":"twitter","enum":["twitter","youtube"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"List comments on brand posts that still need an author reply","tags":["reply-bot-configs","Reply Bot Configs"]}},"/v1/reply-bot-configs/author-reply/schedule-post-watch":{"post":{"description":"Schedule delayed watches for replies under a post (24h series)","operationId":"ReplyBotConfigsController.schedulePostWatch","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchedulePostWatchDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Schedule delayed watches for replies under a post (24h series)","tags":["reply-bot-configs","Reply Bot Configs"]}},"/v1/reply-bot-configs/author-reply/send":{"post":{"description":"Send author reply and record closed-loop performance","operationId":"ReplyBotConfigsController.sendAuthorReply","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthorReplySendDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Send author reply and record closed-loop performance","tags":["reply-bot-configs","Reply Bot Configs"]}},"/v1/reply-bot-configs/trigger-polling":{"post":{"description":"Manually trigger bot polling","operationId":"ReplyBotConfigsController.triggerPolling","parameters":[],"responses":{"200":{"description":"Polling job queued"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Manually trigger bot polling","tags":["reply-bot-configs","Reply Bot Configs"]}},"/v1/reply-bot-configs/warmup/discover-targets":{"post":{"description":"Suggest X accounts to reply to for warm-up","operationId":"ReplyBotConfigsController.discoverReplyTargets","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscoverReplyTargetsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Suggest X accounts to reply to for warm-up","tags":["reply-bot-configs","Reply Bot Configs"]}},"/v1/reply-bot-configs/warmup/targets":{"post":{"description":"Monitor an X account for warm-up replies","operationId":"ReplyBotConfigsController.addReplyTarget","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddReplyTargetDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Monitor an X account for warm-up replies","tags":["reply-bot-configs","Reply Bot Configs"]}},"/v1/reply-bot-configs/{id}":{"delete":{"description":"remove","operationId":"ReplyBotConfigsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["reply-bot-configs","Reply Bot Configs"]},"get":{"description":"findOne","operationId":"ReplyBotConfigsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["reply-bot-configs","Reply Bot Configs"]},"patch":{"description":"patch","operationId":"ReplyBotConfigsController.patch","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patch","tags":["reply-bot-configs","Reply Bot Configs"]}},"/v1/reply-bot-configs/{id}/test":{"post":{"description":"Test reply generation (dry run)","operationId":"ReplyBotConfigsController.testReplyGeneration","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returns generated reply without posting"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Test reply generation (dry run)","tags":["reply-bot-configs","Reply Bot Configs"]}},"/v1/review-inbox":{"get":{"description":"List pending workflow review gates and MCP approvals","operationId":"ReviewInboxController.list","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"List pending workflow review gates and MCP approvals","tags":["review-inbox","Review inbox"]}},"/v1/review-inbox/decisions":{"post":{"description":"Approve or reject one review inbox item through its owner","operationId":"ReviewInboxController.decide","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewInboxDecisionDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Approve or reject one review inbox item through its owner","tags":["review-inbox","Review inbox"]}},"/v1/roles":{"get":{"description":"findAll","operationId":"RolesController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["roles"]},"post":{"description":"create","operationId":"RolesController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRoleDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["roles"]}},"/v1/roles/{roleId}":{"delete":{"description":"remove","operationId":"RolesController.remove","parameters":[{"in":"path","name":"roleId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["roles"]},"get":{"description":"findOne","operationId":"RolesController.findOne","parameters":[{"in":"path","name":"roleId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["roles"]},"patch":{"description":"update","operationId":"RolesController.update","parameters":[{"in":"path","name":"roleId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRoleDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["roles"]}},"/v1/router/estimate-generation-credits":{"post":{"description":"#4672 Manual-mode review card estimate: resolves the concrete, organization-enabled model the Agent's request would use and prices it with duration/resolution/output multipliers. Never 4xx/5xx on a pricing miss — the response instead carries `isAvailable: false` so the review card can still show with the estimate marked unavailable.","operationId":"RouterController.estimateGenerationCredits","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstimateGenerationCreditsDto"}}},"required":true},"responses":{"200":{"description":"Estimate computed (or reported unavailable)"},"401":{"description":"Unauthorized - Invalid or missing JWT token"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Estimate the credit cost of an Agent generation before review","tags":["router"]}},"/v1/router/select-model":{"post":{"description":"Analyzes the user prompt and requirements to recommend the best model for content generation. Uses rule-based routing to match prompts with model capabilities without additional AI calls.","operationId":"RouterController.selectModel","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SelectModelDto"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"alternatives":{"items":{"properties":{"model":{"type":"string"},"reason":{"type":"string"},"score":{"type":"number"}},"type":"object"},"type":"array"},"analysis":{"properties":{"complexity":{"enum":["simple","medium","complex"],"type":"string"},"detectedFeatures":{"items":{"type":"string"},"type":"array"},"hasQualityIndicators":{"type":"boolean"},"hasSpeedIndicators":{"type":"boolean"}},"type":"object"},"modelDetails":{"properties":{"category":{"type":"string"},"cost":{"type":"number"},"id":{"type":"string"},"key":{"type":"string"},"provider":{"type":"string"}},"type":"object"},"reason":{"description":"Human-readable explanation for the selection","example":"Optimized for quality, high-quality prompt detected, supports photorealistic","type":"string"},"selectedModel":{"description":"The recommended model key","example":"google/imagen-4","type":"string"}},"type":"object"}}},"description":"Model recommendation returned successfully"},"401":{"description":"Unauthorized - Invalid or missing JWT token"},"404":{"description":"Selected model not found in database"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Select optimal AI model based on prompt and requirements","tags":["router"]}},"/v1/rss-sources":{"get":{"description":"findAll","operationId":"RssSourcesController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"label","required":false,"schema":{"type":"string"}},{"in":"query","name":"isEnabled","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["RssSources"]},"post":{"description":"create","operationId":"RssSourcesController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRssSourceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["RssSources"]}},"/v1/rss-sources/{id}":{"delete":{"description":"remove","operationId":"RssSourcesController.remove","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"label","required":false,"schema":{"type":"string"}},{"in":"query","name":"isEnabled","required":false,"schema":{"type":"boolean"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["RssSources"]},"get":{"description":"findOne","operationId":"RssSourcesController.findOne","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"label","required":false,"schema":{"type":"string"}},{"in":"query","name":"isEnabled","required":false,"schema":{"type":"boolean"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["RssSources"]},"patch":{"description":"update","operationId":"RssSourcesController.update","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"label","required":false,"schema":{"type":"string"}},{"in":"query","name":"isEnabled","required":false,"schema":{"type":"boolean"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRssSourceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["RssSources"]}},"/v1/rss-sources/{id}/poll":{"post":{"description":"poll","operationId":"RssSourcesController.poll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"label","required":false,"schema":{"type":"string"}},{"in":"query","name":"isEnabled","required":false,"schema":{"type":"boolean"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"poll","tags":["RssSources"]}},"/v1/saved-ads":{"delete":{"description":"unsave","operationId":"SavedAdsController.unsave","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"unsave","tags":["saved-ads"]},"get":{"description":"list","operationId":"SavedAdsController.list","parameters":[{"description":"Page number","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Items per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}},{"description":"Brand whose saved ads to list","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"list","tags":["saved-ads"]},"patch":{"description":"updateNotes","operationId":"SavedAdsController.updateNotes","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateNotes","tags":["saved-ads"]},"post":{"description":"save","operationId":"SavedAdsController.save","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"save","tags":["saved-ads"]}},"/v1/schedules/bulk":{"post":{"description":"bulkSchedule","operationId":"SchedulesController.bulkSchedule","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkScheduleDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"bulkSchedule","tags":["Schedules"]}},"/v1/schedules/calendar":{"get":{"description":"getCalendar","operationId":"SchedulesController.getCalendar","parameters":[{"in":"query","name":"start","required":true,"schema":{"type":"string"}},{"in":"query","name":"end","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getCalendar","tags":["Schedules"]}},"/v1/schedules/channel-capabilities":{"get":{"description":"listChannelCapabilities","operationId":"SchedulesController.listChannelCapabilities","parameters":[{"in":"query","name":"includeHidden","required":true,"schema":{"type":"string"}},{"in":"query","name":"includePlanned","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listChannelCapabilities","tags":["Schedules"]}},"/v1/schedules/channel-capabilities/validate":{"post":{"description":"validateChannelTargetSettings","operationId":"SchedulesController.validateChannelTargetSettings","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"validateChannelTargetSettings","tags":["Schedules"]}},"/v1/schedules/channel-capabilities/{platform}":{"get":{"description":"getChannelCapability","operationId":"SchedulesController.getChannelCapability","parameters":[{"in":"path","name":"platform","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getChannelCapability","tags":["Schedules"]}},"/v1/schedules/optimal":{"post":{"description":"getOptimalTime","operationId":"SchedulesController.getOptimalTime","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetOptimalTimeDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getOptimalTime","tags":["Schedules"]}},"/v1/services/beehiiv/connect":{"post":{"description":"connect","operationId":"BeehiivController.connect","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"connect","tags":["services/beehiiv"]}},"/v1/services/beehiiv/publications":{"get":{"description":"listPublications","operationId":"BeehiivController.listPublications","parameters":[{"in":"query","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"query","name":"credentialId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listPublications","tags":["services/beehiiv"]}},"/v1/services/beehiiv/subscribers":{"get":{"description":"getSubscribers","operationId":"BeehiivController.getSubscribers","parameters":[{"in":"query","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"query","name":"page","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}},{"in":"query","name":"credentialId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getSubscribers","tags":["services/beehiiv"]},"post":{"description":"createSubscribers","operationId":"BeehiivController.createSubscribers","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBeehiivSubscribersDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createSubscribers","tags":["services/beehiiv"]}},"/v1/services/devto/connect":{"post":{"description":"connect","operationId":"DevtoController.connect","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"connect","tags":["services/devto"]}},"/v1/services/discord/connect":{"post":{"description":"DiscordController.connect","operationId":"DiscordController.connect","parameters":[],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Discord"]}},"/v1/services/discord/verify":{"post":{"description":"DiscordController.verify","operationId":"DiscordController.verify","parameters":[],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Discord"]}},"/v1/services/facebook/callback":{"get":{"description":"handleCallback","operationId":"FacebookController.handleCallback","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"handleCallback","tags":["services/facebook"]}},"/v1/services/facebook/connect":{"post":{"description":"connect","operationId":"FacebookController.connect","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCredentialDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"connect","tags":["services/facebook"]}},"/v1/services/facebook/pages":{"get":{"description":"getUserPages","operationId":"FacebookController.getUserPages","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getUserPages","tags":["services/facebook"]}},"/v1/services/facebook/post":{"post":{"description":"createPost","operationId":"FacebookController.createPost","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createPost","tags":["services/facebook"]}},"/v1/services/facebook/schedule":{"post":{"description":"schedulePost","operationId":"FacebookController.schedulePost","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"schedulePost","tags":["services/facebook"]}},"/v1/services/facebook/verify":{"post":{"description":"verify","operationId":"FacebookController.verify","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"verify","tags":["services/facebook"]}},"/v1/services/facebook/{facebookId}/analytics":{"get":{"description":"getPostAnalytics","operationId":"FacebookController.getPostAnalytics","parameters":[{"in":"path","name":"facebookId","required":true,"schema":{"type":"string"}},{"in":"query","name":"accessToken","required":true,"schema":{"type":"string"}},{"in":"query","name":"mediaType","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getPostAnalytics","tags":["services/facebook"]}},"/v1/services/ghost/connect":{"post":{"description":"connect","operationId":"GhostController.connect","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"connect","tags":["services/ghost"]}},"/v1/services/ghost/posts":{"post":{"description":"createPost","operationId":"GhostController.createPost","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createPost","tags":["services/ghost"]}},"/v1/services/google-ads/ad-groups/{id}/insights":{"get":{"description":"getAdGroupInsights","operationId":"GoogleAdsController.getAdGroupInsights","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"customerId","required":true,"schema":{"type":"string"}},{"in":"query","name":"startDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"endDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"loginCustomerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getAdGroupInsights","tags":["services/google-ads"]}},"/v1/services/google-ads/campaigns":{"get":{"description":"listCampaigns","operationId":"GoogleAdsController.listCampaigns","parameters":[{"in":"query","name":"customerId","required":true,"schema":{"type":"string"}},{"in":"query","name":"status","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}},{"in":"query","name":"loginCustomerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listCampaigns","tags":["services/google-ads"]}},"/v1/services/google-ads/campaigns/{id}/metrics":{"get":{"description":"getCampaignMetrics","operationId":"GoogleAdsController.getCampaignMetrics","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"customerId","required":true,"schema":{"type":"string"}},{"in":"query","name":"startDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"endDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"segmentByDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"loginCustomerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getCampaignMetrics","tags":["services/google-ads"]}},"/v1/services/google-ads/connect":{"post":{"description":"connect","operationId":"GoogleAdsController.connect","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCredentialDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"connect","tags":["services/google-ads"]}},"/v1/services/google-ads/customers":{"get":{"description":"listCustomers","operationId":"GoogleAdsController.listCustomers","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listCustomers","tags":["services/google-ads"]}},"/v1/services/google-ads/keywords":{"get":{"description":"getKeywordPerformance","operationId":"GoogleAdsController.getKeywordPerformance","parameters":[{"in":"query","name":"customerId","required":true,"schema":{"type":"string"}},{"in":"query","name":"startDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"endDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}},{"in":"query","name":"loginCustomerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getKeywordPerformance","tags":["services/google-ads"]}},"/v1/services/google-ads/search-terms/{campaignId}":{"get":{"description":"getSearchTerms","operationId":"GoogleAdsController.getSearchTerms","parameters":[{"in":"path","name":"campaignId","required":true,"schema":{"type":"string"}},{"in":"query","name":"customerId","required":true,"schema":{"type":"string"}},{"in":"query","name":"startDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"endDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}},{"in":"query","name":"loginCustomerId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getSearchTerms","tags":["services/google-ads"]}},"/v1/services/google-ads/verify":{"post":{"description":"verify","operationId":"GoogleAdsController.verify","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"verify","tags":["services/google-ads"]}},"/v1/services/google-search-console/connect":{"post":{"description":"connect","operationId":"GoogleSearchConsoleController.connect","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCredentialDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"connect","tags":["services/google-search-console"]}},"/v1/services/google-search-console/search-analytics":{"get":{"description":"getSearchAnalytics","operationId":"GoogleSearchConsoleController.getSearchAnalytics","parameters":[{"in":"query","name":"siteUrl","required":true,"schema":{"type":"string"}},{"in":"query","name":"startDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"endDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"rowLimit","required":true,"schema":{"type":"string"}},{"in":"query","name":"startRow","required":true,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"query","name":"credentialId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getSearchAnalytics","tags":["services/google-search-console"]}},"/v1/services/google-search-console/sites":{"get":{"description":"listSites","operationId":"GoogleSearchConsoleController.listSites","parameters":[{"in":"query","name":"brandId","required":true,"schema":{"type":"string"}},{"in":"query","name":"credentialId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listSites","tags":["services/google-search-console"]}},"/v1/services/google-search-console/verify":{"post":{"description":"verify","operationId":"GoogleSearchConsoleController.verify","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"verify","tags":["services/google-search-console"]}},"/v1/services/instagram/connect":{"post":{"description":"connect","operationId":"InstagramController.connect","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCredentialDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"connect","tags":["services/instagram"]}},"/v1/services/instagram/trends":{"get":{"description":"getTrends","operationId":"InstagramController.getTrends","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTrends","tags":["services/instagram"]}},"/v1/services/instagram/verify":{"post":{"description":"verify","operationId":"InstagramController.verify","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"verify","tags":["services/instagram"]}},"/v1/services/instagram/{credentialId}/authorized-signals/refresh":{"post":{"description":"refreshAuthorizedSignals","operationId":"InstagramController.refreshAuthorizedSignals","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"refreshAuthorizedSignals","tags":["services/instagram"]}},"/v1/services/instagram/{credentialId}/select-account":{"post":{"description":"selectAccount","operationId":"InstagramController.selectAccount","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"selectAccount","tags":["services/instagram"]}},"/v1/services/linkedin/connect":{"post":{"description":"connect","operationId":"LinkedInController.connect","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCredentialDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"connect","tags":["services/linkedin"]}},"/v1/services/linkedin/verify":{"post":{"description":"verify","operationId":"LinkedInController.verify","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"verify","tags":["services/linkedin"]}},"/v1/services/linkedin/{credentialId}/authorized-signals/refresh":{"post":{"description":"refreshAuthorizedSignals","operationId":"LinkedInController.refreshAuthorizedSignals","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"refreshAuthorizedSignals","tags":["services/linkedin"]}},"/v1/services/mastodon/connect":{"post":{"description":"connect","operationId":"MastodonController.connect","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectMastodonCredentialDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"connect","tags":["services/mastodon"]}},"/v1/services/mastodon/verify":{"post":{"description":"verify","operationId":"MastodonController.verify","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"verify","tags":["services/mastodon"]}},"/v1/services/medium/connect":{"post":{"description":"connect","operationId":"MediumController.connect","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCredentialDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"connect","tags":["services/medium"]}},"/v1/services/medium/verify":{"post":{"description":"verify","operationId":"MediumController.verify","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"verify","tags":["services/medium"]}},"/v1/services/meta-ads/accounts":{"get":{"description":"getAdAccounts","operationId":"MetaAdsController.getAdAccounts","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getAdAccounts","tags":["services/meta-ads"]}},"/v1/services/meta-ads/ads":{"post":{"description":"createAd","operationId":"MetaAdsController.createAd","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createAd","tags":["services/meta-ads"]}},"/v1/services/meta-ads/ads/{id}":{"delete":{"description":"deleteAd","operationId":"MetaAdsController.deleteAd","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"deleteAd","tags":["services/meta-ads"]}},"/v1/services/meta-ads/ads/{id}/insights":{"get":{"description":"getAdInsights","operationId":"MetaAdsController.getAdInsights","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"since","required":true,"schema":{"type":"string"}},{"in":"query","name":"until","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getAdInsights","tags":["services/meta-ads"]}},"/v1/services/meta-ads/ads/{id}/pause":{"post":{"description":"pauseAd","operationId":"MetaAdsController.pauseAd","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"pauseAd","tags":["services/meta-ads"]}},"/v1/services/meta-ads/adsets":{"post":{"description":"createAdSet","operationId":"MetaAdsController.createAdSet","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createAdSet","tags":["services/meta-ads"]}},"/v1/services/meta-ads/adsets/{id}":{"patch":{"description":"updateAdSet","operationId":"MetaAdsController.updateAdSet","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateAdSet","tags":["services/meta-ads"]}},"/v1/services/meta-ads/adsets/{id}/insights":{"get":{"description":"getAdSetInsights","operationId":"MetaAdsController.getAdSetInsights","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"since","required":true,"schema":{"type":"string"}},{"in":"query","name":"until","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getAdSetInsights","tags":["services/meta-ads"]}},"/v1/services/meta-ads/bulk/jobs":{"get":{"description":"listJobs","operationId":"MetaAdsBulkController.listJobs","parameters":[{"in":"query","name":"limit","required":true,"schema":{"type":"string"}},{"in":"query","name":"offset","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listJobs","tags":["services/meta-ads/bulk"]}},"/v1/services/meta-ads/bulk/jobs/{id}":{"get":{"description":"getJobStatus","operationId":"MetaAdsBulkController.getJobStatus","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getJobStatus","tags":["services/meta-ads/bulk"]},"patch":{"description":"updateJob","operationId":"MetaAdsBulkController.updateJob","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateJob","tags":["services/meta-ads/bulk"]}},"/v1/services/meta-ads/bulk/upload":{"post":{"description":"createBulkUpload","operationId":"MetaAdsBulkController.createBulkUpload","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createBulkUpload","tags":["services/meta-ads/bulk"]}},"/v1/services/meta-ads/campaigns":{"get":{"description":"listCampaigns","operationId":"MetaAdsController.listCampaigns","parameters":[{"in":"query","name":"adAccountId","required":true,"schema":{"type":"string"}},{"in":"query","name":"status","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listCampaigns","tags":["services/meta-ads"]},"post":{"description":"createCampaign","operationId":"MetaAdsController.createCampaign","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createCampaign","tags":["services/meta-ads"]}},"/v1/services/meta-ads/campaigns/compare":{"get":{"description":"compareCampaigns","operationId":"MetaAdsController.compareCampaigns","parameters":[{"in":"query","name":"campaignIds","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"compareCampaigns","tags":["services/meta-ads"]}},"/v1/services/meta-ads/campaigns/{id}":{"patch":{"description":"updateCampaign","operationId":"MetaAdsController.updateCampaign","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateCampaign","tags":["services/meta-ads"]}},"/v1/services/meta-ads/campaigns/{id}/insights":{"get":{"description":"getCampaignInsights","operationId":"MetaAdsController.getCampaignInsights","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"since","required":true,"schema":{"type":"string"}},{"in":"query","name":"until","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getCampaignInsights","tags":["services/meta-ads"]}},"/v1/services/meta-ads/creatives":{"get":{"description":"getAdCreatives","operationId":"MetaAdsController.getAdCreatives","parameters":[{"in":"query","name":"adAccountId","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getAdCreatives","tags":["services/meta-ads"]}},"/v1/services/meta-ads/media/image":{"post":{"description":"uploadAdImage","operationId":"MetaAdsController.uploadAdImage","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"uploadAdImage","tags":["services/meta-ads"]}},"/v1/services/meta-ads/media/video":{"post":{"description":"uploadAdVideo","operationId":"MetaAdsController.uploadAdVideo","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"uploadAdVideo","tags":["services/meta-ads"]}},"/v1/services/meta-ads/optimization/audit-logs":{"get":{"description":"listAuditLogs","operationId":"MetaAdsOptimizationController.listAuditLogs","parameters":[{"in":"query","name":"limit","required":true,"schema":{"type":"string"}},{"in":"query","name":"offset","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listAuditLogs","tags":["services/meta-ads/optimization"]}},"/v1/services/meta-ads/optimization/config":{"get":{"description":"getConfig","operationId":"MetaAdsOptimizationController.getConfig","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getConfig","tags":["services/meta-ads/optimization"]},"patch":{"description":"updateConfig","operationId":"MetaAdsOptimizationController.updateConfig","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateConfig","tags":["services/meta-ads/optimization"]}},"/v1/services/meta-ads/optimization/recommendations":{"get":{"description":"listRecommendations","operationId":"MetaAdsOptimizationController.listRecommendations","parameters":[{"in":"query","name":"limit","required":true,"schema":{"type":"string"}},{"in":"query","name":"offset","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"listRecommendations","tags":["services/meta-ads/optimization"]}},"/v1/services/meta-ads/optimization/recommendations/{id}":{"patch":{"description":"updateRecommendation","operationId":"MetaAdsOptimizationController.updateRecommendation","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateRecommendation","tags":["services/meta-ads/optimization"]}},"/v1/services/meta-ads/optimization/recommendations/{id}/execute":{"post":{"description":"executeRecommendation","operationId":"MetaAdsOptimizationController.executeRecommendation","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"executeRecommendation","tags":["services/meta-ads/optimization"]}},"/v1/services/meta-ads/top-performers":{"get":{"description":"getTopPerformers","operationId":"MetaAdsController.getTopPerformers","parameters":[{"in":"query","name":"adAccountId","required":true,"schema":{"type":"string"}},{"in":"query","name":"metric","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTopPerformers","tags":["services/meta-ads"]}},"/v1/services/openai/connect":{"post":{"description":"connect","operationId":"OpenAiOAuthController.connect","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"connect","tags":["services/openai"]}},"/v1/services/openai/verify":{"post":{"description":"verify","operationId":"OpenAiOAuthController.verify","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"verify","tags":["services/openai"]}},"/v1/services/pinterest/connect":{"post":{"description":"connect","operationId":"PinterestController.connect","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCredentialDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"connect","tags":["services/pinterest"]}},"/v1/services/pinterest/pins":{"post":{"description":"createPin","operationId":"PinterestController.createPin","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createPin","tags":["services/pinterest"]}},"/v1/services/pinterest/pins/{id}/analytics":{"get":{"description":"pinAnalytics","operationId":"PinterestController.pinAnalytics","parameters":[{"in":"query","name":"accessToken","required":true,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"pinAnalytics","tags":["services/pinterest"]}},"/v1/services/pinterest/search":{"get":{"description":"search","operationId":"PinterestController.search","parameters":[{"in":"query","name":"accessToken","required":true,"schema":{"type":"string"}},{"in":"query","name":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"search","tags":["services/pinterest"]}},"/v1/services/pinterest/verify":{"post":{"description":"verify","operationId":"PinterestController.verify","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"verify","tags":["services/pinterest"]}},"/v1/services/reddit/connect":{"post":{"description":"connect","operationId":"RedditController.connect","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCredentialDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"connect","tags":["services/reddit"]}},"/v1/services/reddit/verify":{"post":{"description":"verify","operationId":"RedditController.verify","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"verify","tags":["services/reddit"]}},"/v1/services/restream/connect":{"post":{"description":"RestreamController.connect","operationId":"RestreamController.connect","parameters":[],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Restream"]}},"/v1/services/restream/verify":{"post":{"description":"RestreamController.verify","operationId":"RestreamController.verify","parameters":[],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Restream"]}},"/v1/services/shopify/connect":{"post":{"description":"connect","operationId":"ShopifyController.connect","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectShopifyCredentialDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"connect","tags":["services/shopify"]}},"/v1/services/shopify/products":{"post":{"description":"createProduct","operationId":"ShopifyController.createProduct","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createProduct","tags":["services/shopify"]}},"/v1/services/shopify/verify":{"post":{"description":"verify","operationId":"ShopifyController.verify","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"verify","tags":["services/shopify"]}},"/v1/services/snapchat/connect":{"post":{"description":"connect","operationId":"SnapchatController.connect","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCredentialDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"connect","tags":["services/snapchat"]}},"/v1/services/snapchat/verify":{"post":{"description":"verify","operationId":"SnapchatController.verify","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"verify","tags":["services/snapchat"]}},"/v1/services/stripe/checkout":{"post":{"description":"createCheckoutSession","operationId":"StripeController.createCheckoutSession","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCheckoutSessionDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createCheckoutSession","tags":["services/stripe"]}},"/v1/services/stripe/credits/checkout":{"post":{"description":"createCreditsCheckoutSession","operationId":"StripeController.createCreditsCheckoutSession","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCreditsCheckoutDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createCreditsCheckoutSession","tags":["services/stripe"]}},"/v1/services/stripe/managed/checkout":{"post":{"description":"Create a managed Genfeed checkout session for hosted credits","operationId":"ManagedStripeController.createCheckout","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateManagedCheckoutDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Create a managed Genfeed checkout session for hosted credits","tags":["Managed Stripe"]}},"/v1/services/stripe/managed/sessions/{sessionId}":{"get":{"description":"Read the managed checkout provisioning result for a Stripe session","operationId":"ManagedStripeController.getCheckoutResult","parameters":[{"in":"path","name":"sessionId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Read the managed checkout provisioning result for a Stripe session","tags":["Managed Stripe"]}},"/v1/services/stripe/portal":{"get":{"description":"getBillingPortalUrl","operationId":"StripeController.getBillingPortalUrl","parameters":[{"description":"Origin-relative path to return to after leaving Stripe","in":"query","name":"returnPath","required":false,"schema":{"example":"/acme/~/settings/organization/subscription","type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getBillingPortalUrl","tags":["services/stripe"]}},"/v1/services/telegram/verify":{"post":{"description":"TelegramController.verify","operationId":"TelegramController.verify","parameters":[],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Telegram"]}},"/v1/services/threads/connect":{"post":{"description":"connect","operationId":"ThreadsController.connect","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCredentialDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"connect","tags":["services/threads"]}},"/v1/services/threads/connect-readiness":{"get":{"description":"getConnectReadiness","operationId":"ThreadsController.getConnectReadiness","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getConnectReadiness","tags":["services/threads"]}},"/v1/services/threads/data-deletion":{"post":{"description":"dataDeletion","operationId":"ThreadsCallbackController.dataDeletion","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"dataDeletion","tags":["services/threads"]}},"/v1/services/threads/data-deletion/status/{receipt}":{"get":{"description":"dataDeletionStatus","operationId":"ThreadsCallbackController.dataDeletionStatus","parameters":[{"in":"path","name":"receipt","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"dataDeletionStatus","tags":["services/threads"]}},"/v1/services/threads/deauthorize":{"post":{"description":"deauthorize","operationId":"ThreadsCallbackController.deauthorize","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"deauthorize","tags":["services/threads"]}},"/v1/services/threads/trends":{"get":{"description":"getTrends","operationId":"ThreadsController.getTrends","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTrends","tags":["services/threads"]}},"/v1/services/threads/verify":{"post":{"description":"verify","operationId":"ThreadsController.verify","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"verify","tags":["services/threads"]}},"/v1/services/tiktok/connect":{"post":{"description":"connect","operationId":"TiktokController.connect","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCredentialDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"connect","tags":["services/tiktok"]}},"/v1/services/tiktok/trends":{"get":{"description":"getTrends","operationId":"TiktokController.getTrends","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTrends","tags":["services/tiktok"]}},"/v1/services/tiktok/verify":{"post":{"description":"verify","operationId":"TiktokController.verify","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"verify","tags":["services/tiktok"]}},"/v1/services/tiktok/{credentialId}/authorized-signals/refresh":{"post":{"description":"refreshAuthorizedSignals","operationId":"TiktokController.refreshAuthorizedSignals","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"refreshAuthorizedSignals","tags":["services/tiktok"]}},"/v1/services/twitter/connect":{"post":{"description":"connect","operationId":"TwitterController.connect","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCredentialDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"connect","tags":["services/twitter"]}},"/v1/services/twitter/trends":{"get":{"description":"getTrends","operationId":"TwitterController.getTrends","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTrends","tags":["services/twitter"]}},"/v1/services/twitter/verify":{"post":{"description":"verify","operationId":"TwitterController.verify","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"verify","tags":["services/twitter"]}},"/v1/services/twitter/{credentialId}/authorized-signals/refresh":{"post":{"description":"refreshAuthorizedSignals","operationId":"TwitterController.refreshAuthorizedSignals","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"refreshAuthorizedSignals","tags":["services/twitter"]}},"/v1/services/unipile/accounts":{"get":{"description":"accounts","operationId":"UnipileController.accounts","parameters":[{"in":"query","name":"cursor","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"accounts","tags":["services/unipile"]}},"/v1/services/unipile/calendar/events":{"get":{"description":"calendarEvents","operationId":"UnipileController.calendarEvents","parameters":[{"in":"query","name":"accountId","required":false,"schema":{"type":"string"}},{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"calendarEvents","tags":["services/unipile"]}},"/v1/services/unipile/connect":{"post":{"description":"configure","operationId":"UnipileController.configure","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigureUnipileDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"configure","tags":["services/unipile"]}},"/v1/services/unipile/emails":{"get":{"description":"emails","operationId":"UnipileController.emails","parameters":[{"in":"query","name":"accountId","required":false,"schema":{"type":"string"}},{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"type":"string"}},{"in":"query","name":"after","required":false,"schema":{"type":"string"}},{"in":"query","name":"before","required":false,"schema":{"type":"string"}},{"in":"query","name":"metaOnly","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"emails","tags":["services/unipile"]}},"/v1/services/unipile/emails/send":{"post":{"description":"sendEmail","operationId":"UnipileController.sendEmail","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendUnipileEmailDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"sendEmail","tags":["services/unipile"]}},"/v1/services/unipile/messages":{"get":{"description":"messages","operationId":"UnipileController.messages","parameters":[{"in":"query","name":"accountId","required":false,"schema":{"type":"string"}},{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"messages","tags":["services/unipile"]}},"/v1/services/unipile/status":{"get":{"description":"status","operationId":"UnipileController.status","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"status","tags":["services/unipile"]}},"/v1/services/whatsapp/send":{"post":{"description":"sendMessage","operationId":"WhatsappController.sendMessage","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"sendMessage","tags":["services/whatsapp"]}},"/v1/services/whatsapp/status/{messageSid}":{"get":{"description":"getMessageStatus","operationId":"WhatsappController.getMessageStatus","parameters":[{"in":"path","name":"messageSid","required":true,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getMessageStatus","tags":["services/whatsapp"]}},"/v1/services/whatsapp/template":{"post":{"description":"sendTemplateMessage","operationId":"WhatsappController.sendTemplateMessage","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"sendTemplateMessage","tags":["services/whatsapp"]}},"/v1/services/wordpress/connect":{"post":{"description":"connect","operationId":"WordpressController.connect","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCredentialDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"connect","tags":["services/wordpress"]}},"/v1/services/wordpress/posts":{"post":{"description":"createPost","operationId":"WordpressController.createPost","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createPost","tags":["services/wordpress"]}},"/v1/services/wordpress/verify":{"post":{"description":"verify","operationId":"WordpressController.verify","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"verify","tags":["services/wordpress"]}},"/v1/services/x-ads/connect":{"post":{"description":"connect","operationId":"XAdsController.connect","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCredentialDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"connect","tags":["services/x-ads"]}},"/v1/services/x-ads/verify":{"post":{"description":"verify","operationId":"XAdsController.verify","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"verify","tags":["services/x-ads"]}},"/v1/services/youtube/connect":{"post":{"description":"connect","operationId":"YoutubeController.connect","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCredentialDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"connect","tags":["services/youtube"]}},"/v1/services/youtube/metadata/{videoId}":{"get":{"description":"getVideoMetadata","operationId":"YoutubeController.getVideoMetadata","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getVideoMetadata","tags":["services/youtube"]}},"/v1/services/youtube/trends":{"get":{"description":"getTrends","operationId":"YoutubeController.getTrends","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTrends","tags":["services/youtube"]}},"/v1/services/youtube/verify":{"post":{"description":"verify","operationId":"YoutubeController.verify","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"verify","tags":["services/youtube"]}},"/v1/services/youtube/{credentialId}/authorized-signals/refresh":{"post":{"description":"refreshAuthorizedSignals","operationId":"YoutubeController.refreshAuthorizedSignals","parameters":[{"in":"path","name":"credentialId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"refreshAuthorizedSignals","tags":["services/youtube"]}},"/v1/skills":{"get":{"description":"SkillsController.listSkills","operationId":"SkillsController.listSkills","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}},{"description":"Narrow the catalog to one composer surface","in":"query","name":"surface","required":false,"schema":{"type":"string"}},{"description":"Case-insensitive search over skill name and description","in":"query","name":"q","required":false,"schema":{"type":"string"}},{"description":"Filter by skill source","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"Filter by modality","in":"query","name":"modality","required":false,"schema":{"type":"string"}},{"description":"Filter by workflow stage","in":"query","name":"stage","required":false,"schema":{"type":"string"}},{"description":"Only skills the runtime injects by default","in":"query","name":"isDefault","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Skills"]},"post":{"description":"SkillsController.createSkill","operationId":"SkillsController.createSkill","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSkillDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Skills"]}},"/v1/skills-pro/checkout":{"post":{"description":"Create a Stripe checkout session for Skills Pro bundle","operationId":"SkillCheckoutController.createCheckout","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSkillCheckoutDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Create a Stripe checkout session for Skills Pro bundle","tags":["Skills Pro"]}},"/v1/skills-pro/download":{"post":{"description":"Get a presigned download URL for a purchased skill using the receipt secret","operationId":"SkillDownloadController.downloadSkill","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DownloadSkillDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get a presigned download URL for a purchased skill using the receipt secret","tags":["Skills Pro"]}},"/v1/skills-pro/install":{"post":{"description":"Verify and install a purchased skill into this organization","operationId":"SkillDownloadController.installSkill","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DownloadSkillDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Verify and install a purchased skill into this organization","tags":["Skills Pro"]}},"/v1/skills-pro/registry":{"get":{"description":"Get authenticated Skills Pro registry metadata","operationId":"SkillRegistryController.getRegistry","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Get authenticated Skills Pro registry metadata","tags":["Skills Pro"]}},"/v1/skills-pro/rollback":{"post":{"description":"Restore an installed Skills Pro skill to an earlier version","operationId":"SkillDownloadController.rollbackSkill","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RollbackInstalledSkillDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Restore an installed Skills Pro skill to an earlier version","tags":["Skills Pro"]}},"/v1/skills-pro/storefront":{"get":{"description":"Get public Skills Pro storefront metadata","operationId":"SkillRegistryController.getStorefrontCatalog","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get public Skills Pro storefront metadata","tags":["Skills Pro"]}},"/v1/skills-pro/verify":{"post":{"description":"Verify a skill receipt secret and return entitled skills without an app session","operationId":"SkillDownloadController.verifyReceipt","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyReceiptDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Verify a skill receipt secret and return entitled skills without an app session","tags":["Skills Pro"]}},"/v1/skills/import":{"post":{"description":"SkillPackageImportController.importSkillPackage","operationId":"SkillPackageImportController.importSkillPackage","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportSkillPackageDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["SkillPackageImport"]}},"/v1/skills/scoped":{"post":{"description":"SkillLibraryController.createScopedSkill","operationId":"SkillLibraryController.createScopedSkill","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateScopedSkillDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["SkillLibrary"]}},"/v1/skills/{id}":{"patch":{"description":"SkillsController.updateSkill","operationId":"SkillsController.updateSkill","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSkillDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Skills"]}},"/v1/skills/{id}/archive":{"post":{"description":"SkillLibraryController.archiveSkill","operationId":"SkillLibraryController.archiveSkill","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArchiveSkillDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["SkillLibrary"]}},"/v1/skills/{id}/customize":{"post":{"description":"SkillsController.customizeSkill","operationId":"SkillsController.customizeSkill","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomizeSkillDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Skills"]}},"/v1/skills/{id}/export":{"get":{"description":"SkillLibraryController.exportSkill","operationId":"SkillLibraryController.exportSkill","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["SkillLibrary"]}},"/v1/skills/{id}/fork":{"post":{"description":"SkillLibraryController.forkSkill","operationId":"SkillLibraryController.forkSkill","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["SkillLibrary"]}},"/v1/skills/{id}/grants":{"post":{"description":"SkillLibraryController.grantSkill","operationId":"SkillLibraryController.grantSkill","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantSkillDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["SkillLibrary"]}},"/v1/skills/{id}/grants/{grantId}/revoke":{"post":{"description":"SkillLibraryController.revokeGrant","operationId":"SkillLibraryController.revokeGrant","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"grantId","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["SkillLibrary"]}},"/v1/skills/{id}/publish":{"post":{"description":"SkillLibraryController.publishSkill","operationId":"SkillLibraryController.publishSkill","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublishSkillDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["SkillLibrary"]}},"/v1/skills/{id}/rollback":{"post":{"description":"SkillLibraryController.rollbackSkill","operationId":"SkillLibraryController.rollbackSkill","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RollbackSkillDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["SkillLibrary"]}},"/v1/skills/{id}/versions":{"get":{"description":"SkillLibraryController.listVersions","operationId":"SkillLibraryController.listVersions","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["SkillLibrary"]}},"/v1/skills/{id}/versions/{versionId}":{"get":{"description":"SkillLibraryController.getVersion","operationId":"SkillLibraryController.getVersion","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"versionId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["SkillLibrary"]}},"/v1/skills/{slug}":{"get":{"description":"SkillsController.getSkill","operationId":"SkillsController.getSkill","parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Skills"]}},"/v1/social-sources":{"get":{"description":"SocialSourcesController.findAll","operationId":"SocialSourcesController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"platform","required":false,"schema":{"enum":["twitter","instagram","tiktok","youtube","linkedin"],"type":"string"}},{"in":"query","name":"sourceType","required":false,"schema":{"enum":["account","timeline","post","own-account"],"type":"string"}},{"in":"query","name":"isActive","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"search","required":false,"schema":{"type":"string"}},{"in":"query","name":"sourceId","required":false,"schema":{"type":"string"}},{"in":"query","name":"postsLimit","required":false,"schema":{"default":25,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Social Sources"]},"post":{"description":"SocialSourcesController.create","operationId":"SocialSourcesController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSocialSourceDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Social Sources"]}},"/v1/social-sources/feed":{"get":{"description":"SocialSourcesController.getFeed","operationId":"SocialSourcesController.getFeed","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"platform","required":false,"schema":{"enum":["twitter","instagram","tiktok","youtube","linkedin"],"type":"string"}},{"in":"query","name":"sourceType","required":false,"schema":{"enum":["account","timeline","post","own-account"],"type":"string"}},{"in":"query","name":"isActive","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"search","required":false,"schema":{"type":"string"}},{"in":"query","name":"sourceId","required":false,"schema":{"type":"string"}},{"in":"query","name":"postsLimit","required":false,"schema":{"default":25,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Social Sources"]}},"/v1/social-sources/history-import":{"post":{"description":"SocialSourcesController.scheduleHistoryImport","operationId":"SocialSourcesController.scheduleHistoryImport","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleHistoryImportDto"}}},"required":true},"responses":{"202":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Social Sources"]}},"/v1/social-sources/import-post":{"post":{"description":"SocialSourcesController.importPost","operationId":"SocialSourcesController.importPost","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportSocialPostDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Social Sources"]}},"/v1/social-sources/sync":{"post":{"description":"SocialSourcesController.syncBrand","operationId":"SocialSourcesController.syncBrand","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncSocialSourceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Social Sources"]}},"/v1/social-sources/validate":{"post":{"description":"SocialSourcesController.validate","operationId":"SocialSourcesController.validate","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateSocialSourceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Social Sources"]}},"/v1/social-sources/{id}":{"delete":{"description":"SocialSourcesController.remove","operationId":"SocialSourcesController.remove","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Social Sources"]},"get":{"description":"SocialSourcesController.findOne","operationId":"SocialSourcesController.findOne","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Social Sources"]},"patch":{"description":"SocialSourcesController.update","operationId":"SocialSourcesController.update","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSocialSourceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Social Sources"]}},"/v1/social-sources/{id}/sync":{"post":{"description":"SocialSourcesController.syncOne","operationId":"SocialSourcesController.syncOne","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncSocialSourceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Social Sources"]}},"/v1/social-timelines":{"get":{"description":"SocialTimelineController.read","operationId":"SocialTimelineController.read","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Following"]}},"/v1/social-timelines/posts/{id}/actions":{"post":{"description":"SocialTimelineController.act","operationId":"SocialTimelineController.act","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourcePostNativeActionDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Following"]}},"/v1/social-timelines/refresh":{"post":{"description":"SocialTimelineController.refresh","operationId":"SocialTimelineController.refresh","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshSocialTimelineDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Following"]}},"/v1/social-warmup-enrollments":{"get":{"description":"SocialWarmupEnrollmentsController.findAll","operationId":"SocialWarmupEnrollmentsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Filter to a single credential","in":"query","name":"credential","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Social Warmup Enrollments"]},"post":{"description":"SocialWarmupEnrollmentsController.create","operationId":"SocialWarmupEnrollmentsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSocialWarmupEnrollmentDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Social Warmup Enrollments"]}},"/v1/social-warmup-enrollments/{id}":{"get":{"description":"SocialWarmupEnrollmentsController.findOne","operationId":"SocialWarmupEnrollmentsController.findOne","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Social Warmup Enrollments"]}},"/v1/social-warmup-enrollments/{id}/items/{itemId}/complete":{"post":{"description":"SocialWarmupEnrollmentsController.completeItem","operationId":"SocialWarmupEnrollmentsController.completeItem","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"itemId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompleteSocialWarmupItemDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Social Warmup Enrollments"]}},"/v1/social-warmup-enrollments/{id}/items/{itemId}/reopen":{"post":{"description":"SocialWarmupEnrollmentsController.reopenItem","operationId":"SocialWarmupEnrollmentsController.reopenItem","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"itemId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompleteSocialWarmupItemDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Social Warmup Enrollments"]}},"/v1/social-warmup-enrollments/{id}/signals":{"post":{"description":"SocialWarmupEnrollmentsController.upsertSignal","operationId":"SocialWarmupEnrollmentsController.upsertSignal","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertSocialWarmupSignalDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Social Warmup Enrollments"]}},"/v1/source-posts":{"get":{"description":"SourcePostsController.findAll","operationId":"SourcePostsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"platform","required":false,"schema":{"enum":["twitter","instagram","tiktok","youtube","linkedin"],"type":"string"}},{"in":"query","name":"sourceId","required":false,"schema":{"type":"string"}},{"in":"query","name":"search","required":false,"schema":{"type":"string"}},{"in":"query","name":"sourceType","required":false,"schema":{"enum":["account","timeline","post","own-account"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Source Posts"]}},"/v1/source-posts/{id}":{"get":{"description":"SourcePostsController.findOne","operationId":"SourcePostsController.findOne","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Source Posts"]}},"/v1/source-posts/{id}/actions/draft":{"post":{"description":"SourcePostsController.createDraft","operationId":"SourcePostsController.createDraft","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourcePostDraftActionDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Source Posts"]}},"/v1/speech/transcribe/audio":{"post":{"description":"transcribeAudio","operationId":"SpeechController.transcribeAudio","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscribeAudioDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"transcribeAudio","tags":["speech"]}},"/v1/speech/transcribe/url":{"post":{"description":"transcribeUrl","operationId":"SpeechController.transcribeUrl","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscribeUrlDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"transcribeUrl","tags":["speech"]}},"/v1/studio-generate-drafts/current":{"get":{"description":"findCurrent","operationId":"StudioGenerateDraftsController.findCurrent","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findCurrent","tags":["studio-generate-drafts"]},"put":{"description":"upsertCurrent","operationId":"StudioGenerateDraftsController.upsertCurrent","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertStudioGenerateDraftDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"upsertCurrent","tags":["studio-generate-drafts"]}},"/v1/studio-looks":{"get":{"description":"findAll","operationId":"StudioLooksController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"in":"query","name":"assetType","required":false,"schema":{"enum":["image","video"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAll","tags":["studio-looks"]},"post":{"description":"create","operationId":"StudioLooksController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateStudioLookDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"create","tags":["studio-looks"]}},"/v1/studio-looks/{id}":{"delete":{"description":"remove","operationId":"StudioLooksController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"remove","tags":["studio-looks"]},"patch":{"description":"update","operationId":"StudioLooksController.update","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateStudioLookDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"update","tags":["studio-looks"]}},"/v1/subscriptions":{"get":{"description":"findAll","operationId":"SubscriptionsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["subscriptions"]}},"/v1/subscriptions/admin/billing":{"get":{"description":"getAdminBilling","operationId":"SubscriptionsController.getAdminBilling","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getAdminBilling","tags":["subscriptions"]}},"/v1/subscriptions/current":{"patch":{"description":"changePlan","operationId":"SubscriptionsController.changePlan","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePlanDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"changePlan","tags":["subscriptions"]}},"/v1/subscriptions/current/credits":{"get":{"description":"getCreditsBreakdown","operationId":"SubscriptionsController.getCreditsBreakdown","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getCreditsBreakdown","tags":["subscriptions"]}},"/v1/subscriptions/current/preview":{"post":{"description":"previewChange","operationId":"SubscriptionsController.previewChange","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSubscriptionPreviewDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"previewChange","tags":["subscriptions"]}},"/v1/sync/desktop/assets/metadata":{"post":{"description":"DesktopSyncController.pushAssets","operationId":"DesktopSyncController.pushAssets","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushDesktopAssetsDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["DesktopSync"]}},"/v1/sync/desktop/assets/upload-url":{"post":{"description":"DesktopSyncController.requestAssetUpload","operationId":"DesktopSyncController.requestAssetUpload","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestDesktopAssetUploadDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["DesktopSync"]}},"/v1/sync/desktop/assets/{id}/upload":{"post":{"description":"DesktopSyncController.uploadAsset","operationId":"DesktopSyncController.uploadAsset","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadDesktopAssetDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["DesktopSync"]}},"/v1/sync/desktop/assets/{id}/uploaded":{"post":{"description":"DesktopSyncController.confirmAssetUpload","operationId":"DesktopSyncController.confirmAssetUpload","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["DesktopSync"]}},"/v1/sync/desktop/brand-manifest":{"get":{"description":"DesktopSyncController.getBrandManifest","operationId":"DesktopSyncController.getBrandManifest","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["DesktopSync"]}},"/v1/sync/desktop/ops":{"post":{"description":"DesktopSyncController.pushOps","operationId":"DesktopSyncController.pushOps","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushDesktopSyncOpsDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["DesktopSync"]}},"/v1/sync/desktop/threads":{"get":{"description":"DesktopSyncController.pullThreads","operationId":"DesktopSyncController.pullThreads","parameters":[{"in":"query","name":"cursor","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}},{"in":"query","name":"messageLimit","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["DesktopSync"]},"post":{"description":"DesktopSyncController.pushThreads","operationId":"DesktopSyncController.pushThreads","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushDesktopThreadsDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["DesktopSync"]}},"/v1/sync/status":{"get":{"description":"SyncController.getStatus","operationId":"SyncController.getStatus","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Sync"]}},"/v1/sync/workflows/pull/{cloudId}":{"post":{"description":"SyncController.pullWorkflow","operationId":"SyncController.pullWorkflow","parameters":[{"in":"path","name":"cloudId","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Sync"]}},"/v1/sync/workflows/push/{id}":{"post":{"description":"SyncController.pushWorkflow","operationId":"SyncController.pushWorkflow","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["Sync"]}},"/v1/system/db-mode":{"get":{"description":"Get the current database mode for local development","operationId":"SystemController.getDbMode","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get the current database mode for local development","tags":["System"]}},"/v1/system/latest-release":{"get":{"description":"Check the latest stable Genfeed release","operationId":"SystemController.getLatestRelease","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Check the latest stable Genfeed release","tags":["System"]}},"/v1/tags":{"get":{"description":"findAll","operationId":"TagsController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["tags"]},"post":{"description":"create","operationId":"TagsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTagDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["tags"]}},"/v1/tags/library":{"get":{"description":"findLibrary","operationId":"TagsController.findLibrary","parameters":[{"description":"Brand whose tags to list. Defaults to the active brand; members may only ask for their own active brand.","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Case-insensitive label search","in":"query","name":"search","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findLibrary","tags":["tags"]}},"/v1/tags/{id}":{"delete":{"description":"remove","operationId":"TagsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["tags"]},"get":{"description":"findOne","operationId":"TagsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["tags"]},"patch":{"description":"patch","operationId":"TagsController.patch","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patch","tags":["tags"]}},"/v1/tasks":{"get":{"description":"findAll","operationId":"TasksController.findAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["tasks","Tasks"]},"post":{"description":"create","operationId":"TasksController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTaskDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["tasks","Tasks"]}},"/v1/tasks/by-identifier/{identifier}":{"get":{"description":"findByIdentifier","operationId":"TasksController.findByIdentifier","parameters":[{"in":"path","name":"identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findByIdentifier","tags":["tasks","Tasks"]}},"/v1/tasks/inbox/read-all":{"patch":{"description":"WorkspaceInboxReadController.readAll","operationId":"WorkspaceInboxReadController.readAll","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["WorkspaceInboxRead"]}},"/v1/tasks/inbox/read-state":{"get":{"description":"WorkspaceInboxReadController.list","operationId":"WorkspaceInboxReadController.list","parameters":[{"in":"query","name":"countOnly","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["WorkspaceInboxRead"]},"patch":{"description":"WorkspaceInboxReadController.read","operationId":"WorkspaceInboxReadController.read","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceInboxReadDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["WorkspaceInboxRead"]}},"/v1/tasks/{id}":{"delete":{"description":"remove","operationId":"TasksController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["tasks","Tasks"]},"get":{"description":"findOne","operationId":"TasksController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["tasks","Tasks"]},"patch":{"description":"patch","operationId":"TasksController.patch","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTaskDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patch","tags":["tasks","Tasks"]}},"/v1/tasks/{id}/checkout":{"post":{"description":"checkout","operationId":"TasksController.checkout","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutTaskDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"checkout","tags":["tasks","Tasks"]}},"/v1/tasks/{id}/children":{"get":{"description":"findChildren","operationId":"TasksController.findChildren","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findChildren","tags":["tasks","Tasks"]},"post":{"description":"createChildren","operationId":"TasksController.createChildren","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createChildren","tags":["tasks","Tasks"]}},"/v1/tasks/{id}/outputs/{outputId}":{"delete":{"description":"trashOutput","operationId":"TasksController.trashOutput","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"outputId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"trashOutput","tags":["tasks","Tasks"]},"patch":{"description":"setOutputKept","operationId":"TasksController.setOutputKept","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"outputId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTaskOutputDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"setOutputKept","tags":["tasks","Tasks"]}},"/v1/tasks/{id}/plan-thread":{"post":{"description":"openPlanThread","operationId":"TasksController.openPlanThread","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"openPlanThread","tags":["tasks","Tasks"]}},"/v1/tasks/{id}/release":{"post":{"description":"release","operationId":"TasksController.release","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReleaseTaskDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"release","tags":["tasks","Tasks"]}},"/v1/tasks/{taskId}/comments":{"get":{"description":"findAll","operationId":"TaskCommentsController.findAll","parameters":[{"in":"path","name":"taskId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["tasks/:taskId/comments","Task Comments"]},"post":{"description":"create","operationId":"TaskCommentsController.create","parameters":[{"in":"path","name":"taskId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTaskCommentDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["tasks/:taskId/comments","Task Comments"]}},"/v1/tasks/{taskId}/comments/{commentId}":{"delete":{"description":"remove","operationId":"TaskCommentsController.remove","parameters":[{"in":"path","name":"commentId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["tasks/:taskId/comments","Task Comments"]}},"/v1/team/mentions":{"get":{"description":"getMentions","operationId":"TeamMentionsController.getMentions","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getMentions","tags":["team"]}},"/v1/telegram-bot/status":{"get":{"description":"TelegramBotController.getStatus","operationId":"TelegramBotController.getStatus","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["TelegramBot"]}},"/v1/telegram-bot/webhook":{"post":{"description":"TelegramBotController.webhook","operationId":"TelegramBotController.webhook","parameters":[{"in":"header","name":"x-telegram-bot-api-secret-token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["TelegramBot"]}},"/v1/templates":{"get":{"description":"findAll","operationId":"TemplatesController.findAll","parameters":[{"description":"Filter by template purpose","in":"query","name":"purpose","required":false,"schema":{"enum":["content","prompt"],"type":"string"}},{"description":"Filter by prompt template key","in":"query","name":"key","required":false,"schema":{"type":"string"}},{"description":"Filter by unified category","in":"query","name":"category","required":false,"schema":{"$ref":"#/components/schemas/TemplateCategory"}},{"description":"Filter by industry","in":"query","name":"industry","required":false,"schema":{"type":"string"}},{"description":"Filter by platform","in":"query","name":"platform","required":false,"schema":{"type":"string"}},{"description":"Filter by scope","in":"query","name":"scope","required":false,"schema":{"$ref":"#/components/schemas/AssetScope"}},{"description":"Filter by featured status","in":"query","name":"isFeatured","required":false,"schema":{"type":"string"}},{"description":"Also return the platform (system) templates alongside the organization templates","in":"query","name":"includeSystem","required":false,"schema":{"type":"string"}},{"description":"Search query","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Sort order. Use \"popular\" to rank by usage/rating (replaces GET /templates/popular)","in":"query","name":"sort","required":false,"schema":{"enum":["popular"],"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of templates per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["Templates"]},"post":{"description":"create","operationId":"TemplatesController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTemplateDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["Templates"]}},"/v1/templates/suggest":{"post":{"description":"suggestTemplates","operationId":"TemplatesController.suggestTemplates","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestTemplatesDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"suggestTemplates","tags":["Templates"]}},"/v1/templates/{templateId}":{"delete":{"description":"remove","operationId":"TemplatesController.remove","parameters":[{"in":"path","name":"templateId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["Templates"]},"get":{"description":"findOne","operationId":"TemplatesController.findOne","parameters":[{"in":"path","name":"templateId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["Templates"]},"patch":{"description":"update","operationId":"TemplatesController.update","parameters":[{"in":"path","name":"templateId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTemplateDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["Templates"]}},"/v1/templates/{templateId}/use":{"post":{"description":"useTemplate","operationId":"TemplatesController.useTemplate","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UseTemplateDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"useTemplate","tags":["Templates"]}},"/v1/tracking/clicks":{"post":{"description":"trackClick","operationId":"TrackedLinksController.trackClick","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackClickDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"trackClick","tags":["Tracking"]}},"/v1/tracking/content/{contentId}/cta-stats":{"get":{"description":"getContentCTAStats","operationId":"TrackedLinksController.getContentCTAStats","parameters":[{"in":"path","name":"contentId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getContentCTAStats","tags":["Tracking"]}},"/v1/tracking/links":{"get":{"description":"getLinks","operationId":"TrackedLinksController.getLinks","parameters":[{"description":"Page number","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Items per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}},{"description":"List the links of one content item","in":"query","name":"contentId","required":false,"schema":{"type":"string"}},{"description":"Filter by platform","in":"query","name":"platform","required":false,"schema":{"type":"string"}},{"description":"Filter by campaign name","in":"query","name":"campaignName","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getLinks","tags":["Tracking"]},"post":{"description":"generateLink","operationId":"TrackedLinksController.generateLink","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTrackedLinkDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generateLink","tags":["Tracking"]}},"/v1/tracking/links/{id}":{"delete":{"description":"deleteLink","operationId":"TrackedLinksController.deleteLink","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"deleteLink","tags":["Tracking"]},"get":{"description":"getLink","operationId":"TrackedLinksController.getLink","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getLink","tags":["Tracking"]},"patch":{"description":"updateLink","operationId":"TrackedLinksController.updateLink","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateLink","tags":["Tracking"]}},"/v1/tracking/links/{id}/performance":{"get":{"description":"getLinkPerformance","operationId":"TrackedLinksController.getLinkPerformance","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getLinkPerformance","tags":["Tracking"]}},"/v1/trainings":{"get":{"description":"findAll","operationId":"TrainingsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Filter trainings by status using repeated query keys (e.g., ?status=completed&status=failed). Values are mapped to the TrainingStage enum: pending→PENDING, uploading→UPLOADING, processing→TRAINING, training→TRAINING, completed→READY, ready→READY, failed→FAILED, cancelled→CANCELLED. Unknown values are silently dropped.","in":"query","name":"status","required":false,"schema":{"items":{"enum":["pending","uploading","processing","training","completed","ready","failed","cancelled"],"type":"string"},"type":"array"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findAll","tags":["trainings"]},"post":{"description":"create","operationId":"TrainingsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTrainingDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"create","tags":["trainings"]}},"/v1/trainings/{id}":{"delete":{"description":"remove","operationId":"TrainingsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"remove","tags":["trainings"]},"patch":{"description":"patch","operationId":"TrainingsController.patch","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"patch","tags":["trainings"]}},"/v1/trainings/{trainingId}":{"get":{"description":"findOne","operationId":"TrainingsController.findOne","parameters":[{"in":"path","name":"trainingId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"findOne","tags":["trainings"]}},"/v1/trainings/{trainingId}/images":{"get":{"description":"getTrainingImages","operationId":"TrainingsOperationsController.getTrainingImages","parameters":[{"in":"path","name":"trainingId","required":true,"schema":{"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Filter by parent image ID","in":"query","name":"parentId","required":false,"schema":{"type":"string"}},{"description":"Filter by status using repeated query keys (e.g., ?status=completed&status=failed). Defaults to [\"draft\", \"uploaded\", \"completed\"] when not specified.","in":"query","name":"status","required":false,"schema":{"example":["completed","failed"],"items":{"type":"string"},"type":"array"}},{"description":"Filter by scope/visibility level","in":"query","name":"scope","required":false,"schema":{"$ref":"#/components/schemas/AssetScope"}},{"description":"Filter by reference image ID","in":"query","name":"referenceId","required":false,"schema":{"type":"string"}},{"description":"Filter by image format","in":"query","name":"format","required":false,"schema":{"type":"string"}},{"description":"Filter by provider","in":"query","name":"provider","required":false,"schema":{"type":"string"}},{"description":"Search images by text","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Filter by training ID","in":"query","name":"trainingId","required":false,"schema":{"type":"string"}},{"description":"Use lightweight mode (skip expensive lookups for gallery views)","in":"query","name":"lightweight","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Filter by public gallery visibility (for getshareable.app)","in":"query","name":"isPublic","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Return the most recent items using the legacy /latest filter (brand-scoped user assets, training sources excluded, plus brand-default images), ordered by createdAt desc and capped at 50. Bypasses the standard list filters (status/scope/folder/parent/search/organization).","in":"query","name":"latest","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Filter by permanent asset origin using repeated query keys (e.g., ?origins=UPLOADED&origins=IMPORTED). Origin is a Library filter beside type, shelf and folder; it composes with all of them.","in":"query","name":"origins","required":false,"schema":{"items":{"$ref":"#/components/schemas/IngredientOrigin"},"type":"array"}},{"description":"Filter by the character an asset was generated with, using repeated query keys (e.g., ?characters=<id>&characters=<id>). Any-match. Only characters available to the active brand are honoured; an unavailable id matches nothing. Composes with every other Library filter.","in":"query","name":"characters","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Filter by tags using repeated query keys (e.g., ?tags=<id>&tags=<id>). Combined by `tagMatch`. Tags carry human judgment (campaign, series, episode); the filter composes with every other Library filter.","in":"query","name":"tags","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"How `tags` combine: `any` (default) returns assets with at least one selected tag, `all` returns assets carrying every selected tag.","in":"query","name":"tagMatch","required":false,"schema":{"$ref":"#/components/schemas/TagMatchMode"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTrainingImages","tags":["trainings"]}},"/v1/trainings/{trainingId}/sources":{"get":{"description":"getTrainingSources","operationId":"TrainingsOperationsController.getTrainingSources","parameters":[{"in":"path","name":"trainingId","required":true,"schema":{"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTrainingSources","tags":["trainings"]}},"/v1/trainings/{trainingId}/train":{"post":{"description":"relaunchTraining","operationId":"TrainingsOperationsController.relaunchTraining","parameters":[{"in":"path","name":"trainingId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"relaunchTraining","tags":["trainings"]}},"/v1/trends":{"get":{"description":"getTrends","operationId":"TrendsController.getTrends","parameters":[{"in":"query","name":"platform","required":true,"schema":{"type":"string"}},{"in":"query","name":"refresh","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTrends","tags":["trends"]}},"/v1/trends/analyze":{"get":{"description":"analyzeTrends","operationId":"TrendsController.analyzeTrends","parameters":[{"in":"query","name":"topic","required":true,"schema":{"type":"string"}},{"in":"query","name":"platform","required":true,"schema":{"type":"string"}},{"in":"query","name":"daysBack","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"analyzeTrends","tags":["trends"]}},"/v1/trends/content":{"get":{"description":"getTrendContent","operationId":"TrendsController.getTrendContent","parameters":[{"in":"query","name":"platform","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}},{"in":"query","name":"refresh","required":true,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTrendContent","tags":["trends"]}},"/v1/trends/corpus/health":{"get":{"description":"getCorpusFreshnessHealth","operationId":"TrendsController.getCorpusFreshnessHealth","parameters":[{"in":"query","name":"platform","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getCorpusFreshnessHealth","tags":["trends"]}},"/v1/trends/discovery":{"get":{"description":"getTrendsDiscovery","operationId":"TrendsController.getTrendsDiscovery","parameters":[{"in":"query","name":"platform","required":true,"schema":{"type":"string"}},{"in":"query","name":"refresh","required":true,"schema":{"type":"string"}},{"in":"query","name":"relevance","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTrendsDiscovery","tags":["trends"]}},"/v1/trends/hashtags":{"get":{"description":"getTrendingHashtags","operationId":"TrendsController.getTrendingHashtags","parameters":[{"description":"Platform to filter hashtags by","in":"query","name":"platform","required":false,"schema":{"$ref":"#/components/schemas/Platform"}},{"description":"Maximum number of hashtags to return","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTrendingHashtags","tags":["trends"]}},"/v1/trends/ideas":{"get":{"description":"getTrendIdeas","operationId":"TrendsController.getTrendIdeas","parameters":[{"description":"Social media platform to generate trend ideas for","in":"query","name":"platform","required":false,"schema":{"$ref":"#/components/schemas/TrendPlatform"}},{"description":"Maximum number of trend ideas to generate","in":"query","name":"limit","required":false,"schema":{"minimum":1,"type":"number"}},{"description":"Organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Brand ID to generate trend ideas for","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTrendIdeas","tags":["trends"]}},"/v1/trends/leaderboard":{"get":{"description":"getViralLeaderboard","operationId":"TrendsController.getViralLeaderboard","parameters":[{"in":"query","name":"limit","required":true,"schema":{"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getViralLeaderboard","tags":["trends"]}},"/v1/trends/preferences":{"get":{"description":"getPreferences","operationId":"TrendsController.getPreferences","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getPreferences","tags":["trends"]},"put":{"description":"savePreferences","operationId":"TrendsController.savePreferences","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveTrendPreferencesDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"savePreferences","tags":["trends"]}},"/v1/trends/references":{"get":{"description":"getReferenceCorpus","operationId":"TrendsController.getReferenceCorpus","parameters":[{"in":"query","name":"platform","required":true,"schema":{"type":"string"}},{"in":"query","name":"trendId","required":true,"schema":{"type":"string"}},{"in":"query","name":"authorHandle","required":true,"schema":{"type":"string"}},{"in":"query","name":"sourceKind","required":true,"schema":{"type":"string"}},{"in":"query","name":"intendedUse","required":true,"schema":{"type":"string"}},{"in":"query","name":"includePaidCreative","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getReferenceCorpus","tags":["trends"]}},"/v1/trends/references/accounts":{"get":{"description":"getTopReferenceAccounts","operationId":"TrendsController.getTopReferenceAccounts","parameters":[{"in":"query","name":"platform","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTopReferenceAccounts","tags":["trends"]}},"/v1/trends/references/packs":{"get":{"description":"getPromptReferencePacks","operationId":"TrendsController.getPromptReferencePacks","parameters":[{"in":"query","name":"platform","required":true,"schema":{"type":"string"}},{"in":"query","name":"intent","required":true,"schema":{"type":"string"}},{"in":"query","name":"types","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getPromptReferencePacks","tags":["trends"]}},"/v1/trends/refresh":{"post":{"description":"refreshTrends","operationId":"TrendsController.refreshTrends","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"refreshTrends","tags":["trends"]}},"/v1/trends/sounds":{"get":{"description":"getTrendingSounds","operationId":"TrendsController.getTrendingSounds","parameters":[{"description":"Maximum number of sounds to return","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTrendingSounds","tags":["trends"]}},"/v1/trends/turnover":{"get":{"description":"getTurnoverStats","operationId":"TrendsController.getTurnoverStats","parameters":[{"in":"query","name":"days","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTurnoverStats","tags":["trends"]}},"/v1/trends/turnover/timeline":{"get":{"description":"getTurnoverTimeline","operationId":"TrendsController.getTurnoverTimeline","parameters":[{"in":"query","name":"days","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTurnoverTimeline","tags":["trends"]}},"/v1/trends/videos":{"get":{"description":"getViralVideos","operationId":"TrendsController.getViralVideos","parameters":[{"in":"query","name":"relevance","required":false,"schema":{"enum":["market","brand"],"type":"string"}},{"description":"Active brand for relevant video discovery","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Platform to filter videos by","in":"query","name":"platform","required":false,"schema":{"$ref":"#/components/schemas/Platform"}},{"description":"Maximum number of videos to return","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"number"}},{"description":"Timeframe for leaderboard","in":"query","name":"timeframe","required":false,"schema":{"default":"24h","enum":["24h","72h","7d"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getViralVideos","tags":["trends"]}},"/v1/trends/{id}":{"get":{"description":"getTrendById","operationId":"TrendsController.getTrendById","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTrendById","tags":["trends"]}},"/v1/trends/{id}/sources":{"get":{"description":"getTrendSources","operationId":"TrendsController.getTrendSources","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTrendSources","tags":["trends"]}},"/v1/turbo-projects":{"get":{"description":"findAll","operationId":"TurboProjectsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["TurboProjects"]},"post":{"description":"create","operationId":"TurboProjectsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTurboProjectDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["TurboProjects"]}},"/v1/turbo-projects/{id}":{"delete":{"description":"remove","operationId":"TurboProjectsController.remove","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["TurboProjects"]},"get":{"description":"findOne","operationId":"TurboProjectsController.findOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["TurboProjects"]},"patch":{"description":"update","operationId":"TurboProjectsController.update","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTurboProjectDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["TurboProjects"]}},"/v1/turbo-projects/{id}/ideas":{"post":{"description":"generateIdeas","operationId":"TurboProjectsController.generateIdeas","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateTurboIdeasDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generateIdeas","tags":["TurboProjects"]}},"/v1/turbo-projects/{id}/items":{"post":{"description":"addItems","operationId":"TurboProjectsController.addItems","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddTurboProjectItemsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"addItems","tags":["TurboProjects"]}},"/v1/turbo-projects/{id}/items/{itemId}":{"delete":{"description":"removeItem","operationId":"TurboProjectsController.removeItem","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"itemId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"removeItem","tags":["TurboProjects"]},"patch":{"description":"updateItem","operationId":"TurboProjectsController.updateItem","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"itemId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTurboProjectItemDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateItem","tags":["TurboProjects"]}},"/v1/turbo-projects/{id}/items/{itemId}/retry":{"post":{"description":"retryItem","operationId":"TurboProjectsController.retryItem","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"itemId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptTurboProjectQuoteDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"retryItem","tags":["TurboProjects"]}},"/v1/turbo-projects/{id}/quote":{"post":{"description":"quote","operationId":"TurboProjectsController.quote","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteTurboProjectDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"quote","tags":["TurboProjects"]}},"/v1/turbo-projects/{id}/review":{"post":{"description":"review","operationId":"TurboProjectsController.review","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewTurboProjectItemsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"review","tags":["TurboProjects"]}},"/v1/turbo-projects/{id}/schedule":{"post":{"description":"schedule","operationId":"TurboProjectsController.schedule","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleTurboProjectDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"schedule","tags":["TurboProjects"]}},"/v1/turbo-projects/{id}/start":{"post":{"description":"start","operationId":"TurboProjectsController.start","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptTurboProjectQuoteDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"start","tags":["TurboProjects"]}},"/v1/turbo-runs":{"get":{"description":"List runs for organization","operationId":"TurboRunController.getTurboRuns","parameters":[{"in":"query","name":"status","required":false,"schema":{"$ref":"#/components/schemas/TurboRunStatus"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}},{"in":"query","name":"offset","required":true,"schema":{"type":"string"}},{"description":"Only runs created for this brand","in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"List runs for organization","tags":["turbo-runs","Turbo runs"]},"post":{"description":"Create a new Turbo run job","operationId":"TurboRunController.createTurboRun","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTurboRunDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Create a new Turbo run job","tags":["turbo-runs","Turbo runs"]}},"/v1/turbo-runs/manual-review":{"post":{"description":"Create a manual review run from existing assets","operationId":"TurboRunController.createManualReviewTurboRun","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateManualReviewTurboRunDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Create a manual review run from existing assets","tags":["turbo-runs","Turbo runs"]}},"/v1/turbo-runs/{id}":{"get":{"description":"Get a specific run","operationId":"TurboRunController.getTurboRun","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get a specific run","tags":["turbo-runs","Turbo runs"]},"patch":{"description":"Update a run (e.g. cancel via status)","operationId":"TurboRunController.patch","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTurboRunDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Update a run (e.g. cancel via status)","tags":["turbo-runs","Turbo runs"]}},"/v1/turbo-runs/{id}/items/action":{"post":{"description":"Approve, reject, or request changes on Turbo run items","operationId":"TurboRunController.itemAction","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TurboRunActionDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Approve, reject, or request changes on Turbo run items","tags":["turbo-runs","Turbo runs"]}},"/v1/turbo-runs/{id}/items/{itemId}/assign":{"post":{"description":"Assign a review item to a team member","operationId":"TurboRunController.assignItem","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"itemId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignTurboRunItemDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Assign a review item to a team member","tags":["turbo-runs","Turbo runs"]}},"/v1/turbo-runs/{id}/items/{itemId}/unassign":{"post":{"description":"Clear assignment on a review item","operationId":"TurboRunController.unassignItem","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"itemId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Clear assignment on a review item","tags":["turbo-runs","Turbo runs"]}},"/v1/turbo-runs/{id}/process":{"post":{"description":"Trigger run processing","operationId":"TurboRunController.processTurboRun","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Trigger run processing","tags":["turbo-runs","Turbo runs"]}},"/v1/turbo-runs/{id}/rewrite-jobs":{"post":{"description":"Queue a background rewrite of selected Turbo run items","operationId":"TurboRunController.createRewriteJob","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTurboRewriteJobDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Queue a background rewrite of selected Turbo run items","tags":["turbo-runs","Turbo runs"]}},"/v1/turbo-runs/{id}/rewrite-jobs/active":{"get":{"description":"Get the queued or running rewrite of a run","operationId":"TurboRunController.getActiveRewriteJob","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get the queued or running rewrite of a run","tags":["turbo-runs","Turbo runs"]}},"/v1/turbo-runs/{id}/rewrite-jobs/{jobId}":{"get":{"description":"Get the progress of a Turbo rewrite","operationId":"TurboRunController.getRewriteJob","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"jobId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get the progress of a Turbo rewrite","tags":["turbo-runs","Turbo runs"]}},"/v1/turbo-runs/{id}/rewrite-jobs/{jobId}/cancel":{"post":{"description":"Stop a Turbo rewrite before its next item","operationId":"TurboRunController.cancelRewriteJob","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"jobId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Stop a Turbo rewrite before its next item","tags":["turbo-runs","Turbo runs"]}},"/v1/users":{"get":{"description":"findAll","operationId":"UsersController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["users"]}},"/v1/users/me":{"get":{"description":"findMe","operationId":"UsersController.findMe","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findMe","tags":["users"]},"patch":{"description":"updateMe","operationId":"UsersController.updateMe","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateMe","tags":["users"]}},"/v1/users/me/avatar":{"post":{"description":"getAvatarUploadUrl","operationId":"UsersController.getAvatarUploadUrl","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAvatarUploadDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getAvatarUploadUrl","tags":["users"]}},"/v1/users/me/brands":{"get":{"description":"findMeBrands","operationId":"UsersController.findMeBrands","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findMeBrands","tags":["users"]}},"/v1/users/me/brands/{brandId}":{"patch":{"description":"updateBrandSelection","operationId":"UsersController.updateBrandSelection","parameters":[{"in":"path","name":"brandId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateBrandSelection","tags":["users"]}},"/v1/users/me/notification-inbox":{"get":{"description":"UsersNotificationInboxController.list","operationId":"UsersNotificationInboxController.list","parameters":[{"in":"query","name":"organizationId","required":true,"schema":{"type":"string"}},{"in":"query","name":"cursor","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["UsersNotificationInbox"]}},"/v1/users/me/notification-inbox/read":{"patch":{"description":"UsersNotificationInboxController.read","operationId":"UsersNotificationInboxController.read","parameters":[{"in":"query","name":"organizationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["UsersNotificationInbox"]}},"/v1/users/me/notification-inbox/read-all":{"patch":{"description":"UsersNotificationInboxController.readAll","operationId":"UsersNotificationInboxController.readAll","parameters":[{"in":"query","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["UsersNotificationInbox"]}},"/v1/users/me/notification-inbox/unread-count":{"get":{"description":"UsersNotificationInboxController.count","operationId":"UsersNotificationInboxController.count","parameters":[{"in":"query","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["UsersNotificationInbox"]}},"/v1/users/me/notification-preferences/agent-status/email":{"get":{"description":"findAgentEmailNotificationPreference","operationId":"UsersController.findAgentEmailNotificationPreference","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAgentEmailNotificationPreference","tags":["users"]},"patch":{"description":"updateAgentEmailNotificationPreference","operationId":"UsersController.updateAgentEmailNotificationPreference","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWorkflowEmailNotificationPreferenceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateAgentEmailNotificationPreference","tags":["users"]}},"/v1/users/me/notification-preferences/product/{topic}/email":{"get":{"description":"findProductEmailPreference","operationId":"UsersRelationshipsController.findProductEmailPreference","parameters":[{"in":"path","name":"topic","required":true,"schema":{"enum":["lifecycle.onboarding","content.weekly","content.daily","content.digest","publishing.connection","billing.credits","generation.status"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findProductEmailPreference","tags":["users"]},"patch":{"description":"updateProductEmailPreference","operationId":"UsersRelationshipsController.updateProductEmailPreference","parameters":[{"in":"path","name":"topic","required":true,"schema":{"enum":["lifecycle.onboarding","content.weekly","content.daily","content.digest","publishing.connection","billing.credits","generation.status"],"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWorkflowEmailNotificationPreferenceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateProductEmailPreference","tags":["users"]}},"/v1/users/me/notification-preferences/workflow-status/email":{"get":{"description":"findWorkflowEmailNotificationPreference","operationId":"UsersController.findWorkflowEmailNotificationPreference","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findWorkflowEmailNotificationPreference","tags":["users"]},"patch":{"description":"updateWorkflowEmailNotificationPreference","operationId":"UsersController.updateWorkflowEmailNotificationPreference","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWorkflowEmailNotificationPreferenceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateWorkflowEmailNotificationPreference","tags":["users"]}},"/v1/users/me/organizations":{"get":{"description":"findMeOrganizations","operationId":"UsersController.findMeOrganizations","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findMeOrganizations","tags":["users"]}},"/v1/users/me/organizations/{organizationId}":{"patch":{"description":"updateOrganizationSelection","operationId":"UsersController.updateOrganizationSelection","parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateOrganizationSelection","tags":["users"]}},"/v1/users/me/settings":{"get":{"description":"findMeSettings","operationId":"UsersController.findMeSettings","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findMeSettings","tags":["users"]},"patch":{"description":"updateMeSettings","operationId":"UsersController.updateMeSettings","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSettingDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateMeSettings","tags":["users"]}},"/v1/users/stripe/checkout":{"post":{"description":"Create checkout session for user credit purchase","operationId":"UserStripeController.createCheckoutSession","parameters":[],"responses":{"200":{"description":"Checkout session created"},"400":{"description":"Bad request"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Create checkout session for user credit purchase","tags":["User Stripe"]}},"/v1/users/stripe/portal":{"get":{"description":"Get billing portal URL for user","operationId":"UserStripeController.getBillingPortalUrl","parameters":[],"responses":{"200":{"description":"Portal URL returned"},"404":{"description":"User or subscription not found"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get billing portal URL for user","tags":["User Stripe"]}},"/v1/users/stripe/subscription":{"get":{"description":"Get user subscription status","operationId":"UserStripeController.getSubscription","parameters":[],"responses":{"200":{"description":"Subscription status returned"},"404":{"description":"User not found"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"Get user subscription status","tags":["User Stripe"]}},"/v1/users/{userId}":{"get":{"description":"findOne","operationId":"UsersController.findOne","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["users"]}},"/v1/users/{userId}/onboarding":{"get":{"description":"getOnboardingStatus","operationId":"UsersController.getOnboardingStatus","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getOnboardingStatus","tags":["users"]},"patch":{"description":"updateOnboardingStatus","operationId":"UsersController.updateOnboardingStatus","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserOnboardingDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateOnboardingStatus","tags":["users"]}},"/v1/users/{userId}/settings":{"patch":{"description":"updateSettings","operationId":"UsersController.updateSettings","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSettingDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"updateSettings","tags":["users"]}},"/v1/videos":{"get":{"description":"findAll","operationId":"VideosController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Filter by status using repeated query keys (e.g., ?status=completed&status=failed). Defaults to [\"draft\", \"uploaded\", \"completed\"] when not specified.","in":"query","name":"status","required":false,"schema":{"example":["completed","failed"],"items":{"type":"string"},"type":"array"}},{"description":"Filter by training ID","in":"query","name":"trainingId","required":false,"schema":{"type":"string"}},{"description":"Filter by scope/visibility level","in":"query","name":"scope","required":false,"schema":{"$ref":"#/components/schemas/AssetScope"}},{"description":"Filter by reference video ID","in":"query","name":"referenceId","required":false,"schema":{"type":"string"}},{"description":"Filter by video format","in":"query","name":"format","required":false,"schema":{"type":"string"}},{"description":"Filter by parent video ID","in":"query","name":"parentId","required":false,"schema":{"type":"string"}},{"description":"Filter by provider","in":"query","name":"provider","required":false,"schema":{"type":"string"}},{"description":"Search videos by text","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Use lightweight mode (skip expensive lookups for masonry/gallery views)","in":"query","name":"lightweight","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Return the most recent items using the /latest filter (brand-scoped user assets, training sources excluded), ordered by createdAt desc and capped at 50. Bypasses the standard list filters (status/scope/folder/parent/search/organization).","in":"query","name":"latest","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Filter by permanent asset origin using repeated query keys (e.g., ?origins=UPLOADED&origins=IMPORTED). Origin is a Library filter beside type, shelf and folder; it composes with all of them.","in":"query","name":"origins","required":false,"schema":{"items":{"$ref":"#/components/schemas/IngredientOrigin"},"type":"array"}},{"description":"Filter by the character an asset was generated with, using repeated query keys (e.g., ?characters=<id>&characters=<id>). Any-match. Only characters available to the active brand are honoured; an unavailable id matches nothing. Composes with every other Library filter.","in":"query","name":"characters","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Filter by tags using repeated query keys (e.g., ?tags=<id>&tags=<id>). Combined by `tagMatch`. Tags carry human judgment (campaign, series, episode); the filter composes with every other Library filter.","in":"query","name":"tags","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"How `tags` combine: `any` (default) returns assets with at least one selected tag, `all` returns assets carrying every selected tag.","in":"query","name":"tagMatch","required":false,"schema":{"$ref":"#/components/schemas/TagMatchMode"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["videos"]},"post":{"description":"create","operationId":"VideosController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVideoDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["videos"]}},"/v1/videos/avatar":{"post":{"description":"createAvatarVideo","operationId":"AvatarVideoController.createAvatarVideo","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAvatarVideoDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createAvatarVideo","tags":["videos"]}},"/v1/videos/avatar/quote":{"post":{"description":"quoteAvatarVideo","operationId":"AvatarVideoController.quoteAvatarVideo","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAvatarVideoDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"quoteAvatarVideo","tags":["videos"]}},"/v1/videos/clip-chain":{"post":{"description":"createClipChain","operationId":"VideosClipChainController.createClipChain","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoClipChainDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createClipChain","tags":["videos"]}},"/v1/videos/crun-quote":{"post":{"description":"CrunVideoQuoteController.quote","operationId":"CrunVideoQuoteController.quote","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCrunVideoQuoteDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["CrunVideoQuote"]}},"/v1/videos/interpolation":{"post":{"description":"createBatchInterpolation","operationId":"BatchInterpolationController.createBatchInterpolation","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchInterpolationDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createBatchInterpolation","tags":["videos"]}},"/v1/videos/lip-sync":{"post":{"description":"createLipSyncVideo","operationId":"VideosLipSyncController.createLipSyncVideo","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLipSyncDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createLipSyncVideo","tags":["videos"]}},"/v1/videos/live-sessions":{"post":{"description":"openSession","operationId":"VideosLiveSessionsController.openSession","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLiveSessionDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"openSession","tags":["videos"]}},"/v1/videos/live-sessions/{sessionId}":{"get":{"description":"getSession","operationId":"VideosLiveSessionsController.getSession","parameters":[{"in":"path","name":"sessionId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getSession","tags":["videos"]}},"/v1/videos/live-sessions/{sessionId}/terminate":{"post":{"description":"terminateSession","operationId":"VideosLiveSessionsController.terminateSession","parameters":[{"in":"path","name":"sessionId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"terminateSession","tags":["videos"]}},"/v1/videos/merge":{"post":{"description":"mergeVideos","operationId":"VideosRelationshipsController.mergeVideos","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMergedVideoDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"mergeVideos","tags":["videos"]}},"/v1/videos/upload":{"post":{"description":"createUpload","operationId":"VideosUploadController.createUpload","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createUpload","tags":["videos"]}},"/v1/videos/upload/confirm/{id}":{"post":{"description":"confirmUpload","operationId":"PresignedUploadController.confirmUpload[5]","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"confirmUpload","tags":["uploads"]}},"/v1/videos/upload/presigned":{"post":{"description":"generatePresignedUrl","operationId":"PresignedUploadController.generatePresignedUrl[5]","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignedUploadDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generatePresignedUrl","tags":["uploads"]}},"/v1/videos/{videoId}":{"delete":{"description":"remove","operationId":"VideosController.remove","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["videos"]},"get":{"description":"findOne","operationId":"VideosController.findOne","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["videos"]}},"/v1/videos/{videoId}/captions":{"get":{"description":"getCaptions","operationId":"VideosCaptionsController.getCaptions","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getCaptions","tags":["videos"]},"post":{"description":"createVideoWithCaptions","operationId":"VideosCaptionsController.createVideoWithCaptions","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVideoWithCaptionsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createVideoWithCaptions","tags":["videos"]}},"/v1/videos/{videoId}/children":{"get":{"description":"findChildren","operationId":"VideosRelationshipsController.findChildren","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Filter by status using repeated query keys (e.g., ?status=completed&status=failed). Defaults to [\"draft\", \"uploaded\", \"completed\"] when not specified.","in":"query","name":"status","required":false,"schema":{"example":["completed","failed"],"items":{"type":"string"},"type":"array"}},{"description":"Filter by training ID","in":"query","name":"trainingId","required":false,"schema":{"type":"string"}},{"description":"Filter by scope/visibility level","in":"query","name":"scope","required":false,"schema":{"$ref":"#/components/schemas/AssetScope"}},{"description":"Filter by reference video ID","in":"query","name":"referenceId","required":false,"schema":{"type":"string"}},{"description":"Filter by video format","in":"query","name":"format","required":false,"schema":{"type":"string"}},{"description":"Filter by parent video ID","in":"query","name":"parentId","required":false,"schema":{"type":"string"}},{"description":"Filter by provider","in":"query","name":"provider","required":false,"schema":{"type":"string"}},{"description":"Search videos by text","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Use lightweight mode (skip expensive lookups for masonry/gallery views)","in":"query","name":"lightweight","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Return the most recent items using the /latest filter (brand-scoped user assets, training sources excluded), ordered by createdAt desc and capped at 50. Bypasses the standard list filters (status/scope/folder/parent/search/organization).","in":"query","name":"latest","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Filter by permanent asset origin using repeated query keys (e.g., ?origins=UPLOADED&origins=IMPORTED). Origin is a Library filter beside type, shelf and folder; it composes with all of them.","in":"query","name":"origins","required":false,"schema":{"items":{"$ref":"#/components/schemas/IngredientOrigin"},"type":"array"}},{"description":"Filter by the character an asset was generated with, using repeated query keys (e.g., ?characters=<id>&characters=<id>). Any-match. Only characters available to the active brand are honoured; an unavailable id matches nothing. Composes with every other Library filter.","in":"query","name":"characters","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Filter by tags using repeated query keys (e.g., ?tags=<id>&tags=<id>). Combined by `tagMatch`. Tags carry human judgment (campaign, series, episode); the filter composes with every other Library filter.","in":"query","name":"tags","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"How `tags` combine: `any` (default) returns assets with at least one selected tag, `all` returns assets carrying every selected tag.","in":"query","name":"tagMatch","required":false,"schema":{"$ref":"#/components/schemas/TagMatchMode"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findChildren","tags":["videos"]}},"/v1/videos/{videoId}/extend":{"post":{"description":"extendVideo","operationId":"VideosExtendController.extendVideo","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoExtendDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"extendVideo","tags":["videos"]}},"/v1/videos/{videoId}/gif":{"post":{"description":"createGif","operationId":"VideosGifController.createGif","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createGif","tags":["videos"]}},"/v1/videos/{videoId}/mirror":{"post":{"description":"mirrorVideo","operationId":"VideosEffectsController.mirrorVideo","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"mirrorVideo","tags":["videos"]}},"/v1/videos/{videoId}/portrait":{"post":{"description":"resizeToPortrait","operationId":"VideosResizeController.resizeToPortrait","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"resizeToPortrait","tags":["videos"]}},"/v1/videos/{videoId}/posts":{"get":{"description":"findAllPosts","operationId":"VideosRelationshipsController.findAllPosts","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}},{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Filter by status using repeated query keys (e.g., ?status=completed&status=failed). Defaults to [\"draft\", \"uploaded\", \"completed\"] when not specified.","in":"query","name":"status","required":false,"schema":{"example":["completed","failed"],"items":{"type":"string"},"type":"array"}},{"description":"Filter by training ID","in":"query","name":"trainingId","required":false,"schema":{"type":"string"}},{"description":"Filter by scope/visibility level","in":"query","name":"scope","required":false,"schema":{"$ref":"#/components/schemas/AssetScope"}},{"description":"Filter by reference video ID","in":"query","name":"referenceId","required":false,"schema":{"type":"string"}},{"description":"Filter by video format","in":"query","name":"format","required":false,"schema":{"type":"string"}},{"description":"Filter by parent video ID","in":"query","name":"parentId","required":false,"schema":{"type":"string"}},{"description":"Filter by provider","in":"query","name":"provider","required":false,"schema":{"type":"string"}},{"description":"Search videos by text","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Use lightweight mode (skip expensive lookups for masonry/gallery views)","in":"query","name":"lightweight","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Return the most recent items using the /latest filter (brand-scoped user assets, training sources excluded), ordered by createdAt desc and capped at 50. Bypasses the standard list filters (status/scope/folder/parent/search/organization).","in":"query","name":"latest","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Filter by permanent asset origin using repeated query keys (e.g., ?origins=UPLOADED&origins=IMPORTED). Origin is a Library filter beside type, shelf and folder; it composes with all of them.","in":"query","name":"origins","required":false,"schema":{"items":{"$ref":"#/components/schemas/IngredientOrigin"},"type":"array"}},{"description":"Filter by the character an asset was generated with, using repeated query keys (e.g., ?characters=<id>&characters=<id>). Any-match. Only characters available to the active brand are honoured; an unavailable id matches nothing. Composes with every other Library filter.","in":"query","name":"characters","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Filter by tags using repeated query keys (e.g., ?tags=<id>&tags=<id>). Combined by `tagMatch`. Tags carry human judgment (campaign, series, episode); the filter composes with every other Library filter.","in":"query","name":"tags","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"How `tags` combine: `any` (default) returns assets with at least one selected tag, `all` returns assets carrying every selected tag.","in":"query","name":"tagMatch","required":false,"schema":{"$ref":"#/components/schemas/TagMatchMode"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAllPosts","tags":["videos"]}},"/v1/videos/{videoId}/provenance":{"get":{"description":"getProvenance","operationId":"VideosProvenanceController.getProvenance","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getProvenance","tags":["videos"]}},"/v1/videos/{videoId}/provenance/watermark-evaluation":{"get":{"description":"getWatermarkEvaluation","operationId":"VideosProvenanceController.getWatermarkEvaluation","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getWatermarkEvaluation","tags":["videos"]}},"/v1/videos/{videoId}/reframe":{"post":{"description":"reframeVideo","operationId":"VideosReframeController.reframeVideo","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVideoDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"reframeVideo","tags":["videos"]}},"/v1/videos/{videoId}/resize":{"post":{"description":"resizeVideo","operationId":"VideosResizeController.resizeVideo","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"resizeVideo","tags":["videos"]}},"/v1/videos/{videoId}/reverse":{"post":{"description":"reverseVideo","operationId":"VideosEffectsController.reverseVideo","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"reverseVideo","tags":["videos"]}},"/v1/videos/{videoId}/text-overlay":{"post":{"description":"addTextOverlay","operationId":"VideosEditsController.addTextOverlay","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"addTextOverlay","tags":["videos"]}},"/v1/videos/{videoId}/thumbnail":{"get":{"description":"getThumbnail","operationId":"VideosController.getThumbnail","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}},{"in":"query","name":"timeInSeconds","required":true,"schema":{"type":"number"}},{"in":"query","name":"width","required":true,"schema":{"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getThumbnail","tags":["videos"]}},"/v1/videos/{videoId}/trim":{"post":{"description":"trimVideo","operationId":"VideosEditsController.trimVideo","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"trimVideo","tags":["videos"]}},"/v1/videos/{videoId}/upscale":{"post":{"description":"upscaleVideo","operationId":"VideosUpscaleController.upscaleVideo","parameters":[{"in":"path","name":"videoId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoEditDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"upscaleVideo","tags":["videos"]}},"/v1/visual-projects/catalog":{"get":{"description":"VisualProjectsController.catalog","operationId":"VisualProjectsController.catalog","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"tags":["visual-projects"]}},"/v1/visual-projects/projects":{"get":{"description":"VisualProjectsController.list","operationId":"VisualProjectsController.list","parameters":[{"in":"query","name":"limit","required":true,"schema":{"type":"string"}},{"in":"query","name":"cursor","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"tags":["visual-projects"]},"post":{"description":"VisualProjectsController.create","operationId":"VisualProjectsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVisualProjectDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"tags":["visual-projects"]}},"/v1/visual-projects/quote":{"post":{"description":"VisualProjectsController.quote","operationId":"VisualProjectsController.quote","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteVisualProjectDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"tags":["visual-projects"]}},"/v1/visual-projects/{id}":{"get":{"description":"VisualProjectsController.get","operationId":"VisualProjectsController.get","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"beforeRevision","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"tags":["visual-projects"]}},"/v1/visual-projects/{id}/cancel":{"post":{"description":"VisualProjectsController.cancel","operationId":"VisualProjectsController.cancel","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"tags":["visual-projects"]}},"/v1/visual-projects/{id}/exports":{"post":{"description":"VisualProjectsController.export","operationId":"VisualProjectsController.export","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportVisualProjectDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"tags":["visual-projects"]}},"/v1/visual-projects/{id}/retry":{"post":{"description":"VisualProjectsController.retry","operationId":"VisualProjectsController.retry","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"tags":["visual-projects"]}},"/v1/visual-projects/{id}/revisions":{"post":{"description":"VisualProjectsController.revise","operationId":"VisualProjectsController.revise","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviseVisualProjectDto"}}},"required":true},"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"tags":["visual-projects"]}},"/v1/visual-projects/{id}/revisions/{number}/source":{"get":{"description":"VisualProjectsController.source","operationId":"VisualProjectsController.source","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"number","required":true,"schema":{"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"tags":["visual-projects"]}},"/v1/voices":{"get":{"description":"findAll","operationId":"VoicesController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Filter voices by status using repeated query keys (e.g., ?status=generated&status=processing).","in":"query","name":"status","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Filter by default voice status","in":"query","name":"isDefault","required":false,"schema":{"type":"boolean"}},{"description":"Filter by scope/visibility level","in":"query","name":"scope","required":false,"schema":{"$ref":"#/components/schemas/AssetScope"}},{"description":"Filter voices by providers using repeated query keys or comma-separated values.","in":"query","name":"providers","required":false,"schema":{"items":{"$ref":"#/components/schemas/VoiceProvider"},"type":"array"}},{"description":"Search voices by label or external voice ID","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Filter library voices by activation state","in":"query","name":"isActive","required":false,"schema":{"type":"boolean"}},{"description":"Filter by canonical voice source (catalog, cloned, generated, imported).","in":"query","name":"voiceSource","required":false,"schema":{"items":{"enum":["catalog","cloned","generated","imported"],"type":"string"},"type":"array"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["voices"]}},"/v1/voices/catalog":{"get":{"description":"findCatalog","operationId":"VoicesController.findCatalog","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Filter by catalog provider (e.g. elevenlabs, heygen)","in":"query","name":"provider","required":false,"schema":{"type":"string"}},{"description":"Search catalog voices by name","in":"query","name":"search","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findCatalog","tags":["voices"]}},"/v1/voices/catalog/{id}":{"patch":{"description":"patchCatalogVoice","operationId":"VoicesController.patchCatalogVoice","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateVoiceCatalogDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patchCatalogVoice","tags":["voices"]}},"/v1/voices/clone":{"post":{"description":"cloneVoice","operationId":"VoicesController.cloneVoice","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloneVoiceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"cloneVoice","tags":["voices"]}},"/v1/voices/clone/{id}":{"delete":{"description":"deleteClonedVoice","operationId":"VoicesController.deleteClonedVoice","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"deleteClonedVoice","tags":["voices"]}},"/v1/voices/cloned":{"get":{"description":"findClonedVoices","operationId":"VoicesController.findClonedVoices","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Filter voices by status using repeated query keys (e.g., ?status=generated&status=processing).","in":"query","name":"status","required":false,"schema":{"items":{"type":"string"},"type":"array"}},{"description":"Filter by default voice status","in":"query","name":"isDefault","required":false,"schema":{"type":"boolean"}},{"description":"Filter by scope/visibility level","in":"query","name":"scope","required":false,"schema":{"$ref":"#/components/schemas/AssetScope"}},{"description":"Filter voices by providers using repeated query keys or comma-separated values.","in":"query","name":"providers","required":false,"schema":{"items":{"$ref":"#/components/schemas/VoiceProvider"},"type":"array"}},{"description":"Search voices by label or external voice ID","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Filter library voices by activation state","in":"query","name":"isActive","required":false,"schema":{"type":"boolean"}},{"description":"Filter by canonical voice source (catalog, cloned, generated, imported).","in":"query","name":"voiceSource","required":false,"schema":{"items":{"enum":["catalog","cloned","generated","imported"],"type":"string"},"type":"array"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findClonedVoices","tags":["voices"]}},"/v1/voices/elevenlabs/account":{"get":{"description":"findAccountVoices","operationId":"VoicesController.findAccountVoices","parameters":[{"description":"Search the connected account voices by name or label","in":"query","name":"search","required":false,"schema":{"type":"string"}},{"description":"Next-page token returned by the previous page","in":"query","name":"pageToken","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAccountVoices","tags":["voices"]}},"/v1/voices/elevenlabs/account/import":{"post":{"description":"importAccountVoice","operationId":"VoicesController.importAccountVoice","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportAccountVoiceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"importAccountVoice","tags":["voices"]}},"/v1/voices/generate":{"post":{"description":"generate","operationId":"VoicesController.generate","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateVoiceDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generate","tags":["voices"]}},"/v1/voices/import":{"post":{"description":"importCatalogVoices","operationId":"VoicesController.importCatalogVoices","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportVoicesDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"importCatalogVoices","tags":["voices"]}},"/v1/voices/imported/{id}":{"delete":{"description":"unlinkImportedVoice","operationId":"VoicesController.unlinkImportedVoice","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"unlinkImportedVoice","tags":["voices"]}},"/v1/voices/upload/confirm/{id}":{"post":{"description":"confirmUpload","operationId":"PresignedUploadController.confirmUpload[6]","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"confirmUpload","tags":["uploads"]}},"/v1/voices/upload/presigned":{"post":{"description":"generatePresignedUrl","operationId":"PresignedUploadController.generatePresignedUrl[6]","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignedUploadDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generatePresignedUrl","tags":["uploads"]}},"/v1/votes":{"delete":{"description":"remove","operationId":"VotesController.remove","parameters":[{"in":"query","name":"entity","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["votes"]},"post":{"description":"create","operationId":"VotesController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVoteDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["votes"]}},"/v1/watchlists":{"get":{"description":"findAll","operationId":"WatchlistsController.findAll","parameters":[{"description":"Page number","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Items per page","in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}},{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["watchlists"]},"post":{"description":"create","operationId":"WatchlistsController.create","parameters":[{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWatchlistDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["watchlists"]}},"/v1/watchlists/{watchlistId}":{"delete":{"description":"delete","operationId":"WatchlistsController.delete","parameters":[{"in":"path","name":"watchlistId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"delete","tags":["watchlists"]},"get":{"description":"findOne","operationId":"WatchlistsController.findOne","parameters":[{"in":"path","name":"watchlistId","required":true,"schema":{"type":"string"}},{"in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"in":"query","name":"brandId","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["watchlists"]},"patch":{"description":"update","operationId":"WatchlistsController.update","parameters":[{"in":"path","name":"watchlistId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWatchlistDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["watchlists"]}},"/v1/webhooks/argil/callback":{"post":{"description":"handleCallback","operationId":"ArgilWebhookController.handleCallback","parameters":[{"in":"query","name":"token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"handleCallback","tags":["webhooks/argil"]}},"/v1/webhooks/bot/discord":{"post":{"description":"handleDiscordInteraction","operationId":"BotGatewayController.handleDiscordInteraction","parameters":[{"in":"header","name":"x-signature-ed25519","required":true,"schema":{"type":"string"}},{"in":"header","name":"x-signature-timestamp","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"handleDiscordInteraction","tags":["webhooks/bot"]}},"/v1/webhooks/bot/slack":{"post":{"description":"handleSlackEvent","operationId":"BotGatewayController.handleSlackEvent","parameters":[{"in":"header","name":"x-slack-signature","required":true,"schema":{"type":"string"}},{"in":"header","name":"x-slack-request-timestamp","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"handleSlackEvent","tags":["webhooks/bot"]}},"/v1/webhooks/bot/telegram":{"post":{"description":"handleTelegramEvent","operationId":"BotGatewayController.handleTelegramEvent","parameters":[{"in":"header","name":"x-telegram-bot-api-secret-token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"handleTelegramEvent","tags":["webhooks/bot"]}},"/v1/webhooks/ci-triage":{"post":{"description":"CiTriageWebhookController.handleCiFailure","operationId":"CiTriageWebhookController.handleCiFailure","parameters":[{"in":"header","name":"x-webhook-secret","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"tags":["CiTriageWebhook"]}},"/v1/webhooks/fleet/voice-clone":{"post":{"description":"handleVoiceCloneCompletion","operationId":"FleetWebhookController.handleVoiceCloneCompletion","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FleetVoiceCloneWebhookPayloadDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"handleVoiceCloneCompletion","tags":["webhooks/fleet"]}},"/v1/webhooks/heygen/callback":{"post":{"description":"handleCallback","operationId":"HeygenWebhookController.handleCallback","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"handleCallback","tags":["webhooks/heygen"]}},"/v1/webhooks/klingai/callback":{"post":{"description":"handleCallback","operationId":"KlingWebhookController.handleCallback","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KlingAIWebhookPayloadDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"handleCallback","tags":["webhooks/klingai"]}},"/v1/webhooks/leonardoai/callback":{"post":{"description":"handleCallback","operationId":"LeonardoaiWebhookController.handleCallback","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeonardoAIWebhookPayloadDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"handleCallback","tags":["webhooks/leonardoai"]}},"/v1/webhooks/opuspro/callback":{"post":{"description":"handleCallback","operationId":"OpusProWebhookController.handleCallback","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpusProWebhookPayloadDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"handleCallback","tags":["webhooks/opuspro"]}},"/v1/webhooks/replicate/callback":{"post":{"description":"handleCallback","operationId":"ReplicateWebhookController.handleCallback","parameters":[{"in":"query","name":"workflowContinuationId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplicateWebhookPayloadDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"handleCallback","tags":["webhooks/replicate"]}},"/v1/webhooks/stripe/callback":{"post":{"description":"handleStripe","operationId":"StripeWebhookController.handleStripe","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"handleStripe","tags":["webhooks/stripe"]}},"/v1/webhooks/vercel/callback":{"post":{"description":"handleVercel","operationId":"VercelWebhookController.handleVercel","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"handleVercel","tags":["webhooks/vercel"]}},"/v1/webhooks/x-activity":{"get":{"description":"X webhook CRC challenge","operationId":"XActivityWebhookController.handleCrc","parameters":[{"in":"query","name":"crc_token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"X webhook CRC challenge","tags":["webhooks/x-activity","Webhooks"]},"post":{"description":"X Activity / Account Activity event intake","operationId":"XActivityWebhookController.handleEvent","parameters":[{"in":"header","name":"x-twitter-webhooks-signature","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"X Activity / Account Activity event intake","tags":["webhooks/x-activity","Webhooks"]}},"/v1/webhooks/{webhookId}":{"post":{"description":"triggerWebhook","operationId":"WebhooksController.triggerWebhook","parameters":[{"in":"path","name":"webhookId","required":true,"schema":{"type":"string"}},{"in":"header","name":"x-webhook-secret","required":true,"schema":{"type":"string"}},{"in":"header","name":"authorization","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"triggerWebhook","tags":["webhooks"]}},"/v1/workflow-executions":{"get":{"description":"List all workflow executions","operationId":"WorkflowExecutionsController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of results","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Restrict to executions whose workflow belongs to this brand","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Filter by workflow ID","in":"query","name":"workflowId","required":false,"schema":{"type":"string"}},{"description":"Filter by status","in":"query","name":"status","required":false,"schema":{"$ref":"#/components/schemas/WorkflowExecutionStatus"}},{"description":"Filter by trigger type","in":"query","name":"trigger","required":false,"schema":{"$ref":"#/components/schemas/WorkflowExecutionTrigger"}},{"description":"Filter by agent strategy id stored in execution result metadata","in":"query","name":"strategyId","required":false,"schema":{"type":"string"}},{"description":"Skip results","in":"query","name":"offset","required":false,"schema":{}}],"responses":{"200":{"description":"List of executions"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"List all workflow executions","tags":["Workflow Executions"]},"post":{"description":"Create and start a new workflow execution","operationId":"WorkflowExecutionsController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWorkflowExecutionDto"}}},"required":true},"responses":{"201":{"description":"Execution created"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Create and start a new workflow execution","tags":["Workflow Executions"]}},"/v1/workflow-executions/admin/failures":{"get":{"description":"List agent failures across organizations","operationId":"WorkflowExecutionsController.findAdminFailures","parameters":[{"in":"query","name":"failureReason","required":false,"schema":{"enum":["PROVIDER_CONFIGURATION","INSUFFICIENT_CREDITS","RATE_LIMITED","TIMEOUT","DATA_SAVE_FAILED","SESSION_EXPIRED","CONNECTION_INTERRUPTED","CANCELLED","PROVIDER_AUTHENTICATION","WORKSPACE_MISSING","ACTION_NOT_ALLOWED","MODEL_UNAVAILABLE","PROVIDER_ACCESS_DENIED","PROVIDER_UNAVAILABLE","UNKNOWN"],"type":"string"}},{"in":"query","name":"resolution","required":false,"schema":{"default":"open","enum":["open","resolved","all"],"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"number"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"minimum":0,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"List agent failures across organizations","tags":["Workflow Executions"]}},"/v1/workflow-executions/admin/failures/{id}/resolution":{"patch":{"description":"Mark an agent failure as resolved or reopen it","operationId":"WorkflowExecutionsController.resolveAdminFailure","parameters":[{"description":"Execution ID","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentFailureResolutionDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Mark an agent failure as resolved or reopen it","tags":["Workflow Executions"]}},"/v1/workflow-executions/workflow/{workflowId}/stats":{"get":{"description":"Get execution statistics for a workflow","operationId":"WorkflowExecutionsController.getExecutionStats","parameters":[{"description":"Workflow ID","in":"path","name":"workflowId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Execution statistics"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Get execution statistics for a workflow","tags":["Workflow Executions"]}},"/v1/workflow-executions/{id}":{"get":{"description":"Get a specific execution by ID","operationId":"WorkflowExecutionsController.findOne","parameters":[{"description":"Execution ID","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Execution details"},"404":{"description":"Execution not found"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Get a specific execution by ID","tags":["Workflow Executions"]},"patch":{"description":"Update an execution (cancel a running execution)","operationId":"WorkflowExecutionsController.update","parameters":[{"description":"Execution ID","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWorkflowExecutionDto"}}},"required":true},"responses":{"200":{"description":"Execution updated"},"404":{"description":"Execution not found"},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"security":[{"bearer":[]}],"summary":"Update an execution (cancel a running execution)","tags":["Workflow Executions"]}},"/v1/workflows":{"get":{"description":"findAll","operationId":"WorkflowCrudController.findAll","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Restrict visible workflows to the active brand for an authorized picker.","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}},{"description":"Fetch up to 50 explicit workflow IDs with individual-read visibility. Use repeated query keys; missing, inaccessible and deleted workflows are omitted. Pagination and list-widening flags do not apply.","in":"query","name":"ids","required":false,"schema":{"items":{"type":"string"},"maxItems":50,"type":"array"}},{"description":"Return every workflow in the organization (for reference pickers) instead of the caller-scoped set","in":"query","name":"referencable","required":false,"schema":{"type":"boolean"}},{"description":"Include persisted system-workflow clones. Customer Automation omits this; Admin → Automation → Workflows sets it.","in":"query","name":"includeSystem","required":false,"schema":{"type":"boolean"}},{"description":"When `system-catalog`, return the code-owned system workflow catalog for this organization instead of persisted workflows.","in":"query","name":"source","required":false,"schema":{"enum":["system-catalog"],"type":"string"}},{"description":"When `statistics`, return aggregated workflow stats for the org instead of the list.","in":"query","name":"view","required":false,"schema":{"enum":["statistics"],"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findAll","tags":["workflows"]},"post":{"description":"create","operationId":"WorkflowCrudController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWorkflowDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"create","tags":["workflows"]}},"/v1/workflows/featured":{"get":{"description":"getFeatured","operationId":"WorkflowMarketplaceController.getFeatured","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getFeatured","tags":["workflows"]}},"/v1/workflows/generate":{"post":{"description":"generateWorkflow","operationId":"WorkflowBuilderController.generateWorkflow","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateWorkflowDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generateWorkflow","tags":["workflows"]}},"/v1/workflows/import":{"post":{"description":"importWorkflow","operationId":"WorkflowBuilderController.importWorkflow","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportWorkflowDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"importWorkflow","tags":["workflows"]}},"/v1/workflows/marketplace":{"get":{"description":"getMarketplace","operationId":"WorkflowMarketplaceController.getMarketplace","parameters":[{"description":"Page number for pagination","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"number"}},{"description":"Number of items per page","in":"query","name":"limit","required":false,"schema":{"default":10,"maximum":100,"minimum":1,"type":"number"}},{"description":"Filter by deleted status","in":"query","name":"isDeleted","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"Sort field(s) and order (e.g., \"createdAt: -1\" or \"category: 1, createdAt: -1\")","in":"query","name":"sort","required":false,"schema":{"default":"createdAt: -1","type":"string"}},{"description":"Filter by organization ID","in":"query","name":"organizationId","required":false,"schema":{"type":"string"}},{"description":"Filter by brand ID","in":"query","name":"brandId","required":false,"schema":{"type":"string"}},{"description":"Filter by favorite status","in":"query","name":"isFavorite","required":false,"schema":{"type":"boolean"}},{"description":"Filter by folder ID (client key: folder)","in":"query","name":"folderId","required":false,"schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getMarketplace","tags":["workflows"]}},"/v1/workflows/most-used":{"get":{"description":"getMostUsed","operationId":"WorkflowMarketplaceController.getMostUsed","parameters":[{"description":"Number of workflows to return","in":"query","name":"limit","required":false,"schema":{"default":5,"maximum":12,"minimum":1,"type":"number"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getMostUsed","tags":["workflows"]}},"/v1/workflows/nodes/registry":{"get":{"description":"getNodeRegistry","operationId":"WorkflowBuilderController.getNodeRegistry","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getNodeRegistry","tags":["workflows"]}},"/v1/workflows/nodes/{nodeType}":{"get":{"description":"getNodeDefinition","operationId":"WorkflowBuilderController.getNodeDefinition","parameters":[{"in":"path","name":"nodeType","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getNodeDefinition","tags":["workflows"]}},"/v1/workflows/templates":{"get":{"description":"getTemplates","operationId":"WorkflowMarketplaceController.getTemplates","parameters":[],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getTemplates","tags":["workflows"]}},"/v1/workflows/validate-connection":{"post":{"description":"validateNodeConnection","operationId":"WorkflowBuilderController.validateNodeConnection","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateWorkflowConnectionDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"validateNodeConnection","tags":["workflows"]}},"/v1/workflows/{workflowId}":{"delete":{"description":"remove","operationId":"WorkflowCrudController.remove","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"remove","tags":["workflows"]},"get":{"description":"findOne","operationId":"WorkflowCrudController.findOne","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"findOne","tags":["workflows"]},"patch":{"description":"update","operationId":"WorkflowCrudController.update","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWorkflowDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"update","tags":["workflows"]}},"/v1/workflows/{workflowId}/credits-estimate":{"get":{"description":"getCreditsEstimate","operationId":"WorkflowExecutionController.getCreditsEstimate","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}},{"description":"Optional node IDs for partial execution estimate","in":"query","name":"nodeIds","required":false,"schema":{"items":{"type":"string"},"type":"array"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getCreditsEstimate","tags":["workflows"]}},"/v1/workflows/{workflowId}/execute":{"post":{"description":"execute","operationId":"WorkflowExecutionController.execute","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecuteWorkflowDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"execute","tags":["workflows"]}},"/v1/workflows/{workflowId}/execute/partial":{"post":{"description":"executePartial","operationId":"WorkflowExecutionController.executePartial","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutePartialDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"executePartial","tags":["workflows"]}},"/v1/workflows/{workflowId}/execute/resume/{runId}":{"post":{"description":"resumeExecution","operationId":"WorkflowExecutionController.resumeExecution","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}},{"in":"path","name":"runId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResumeExecutionDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"resumeExecution","tags":["workflows"]}},"/v1/workflows/{workflowId}/executions/batch":{"post":{"description":"startBatchExecution","operationId":"WorkflowBatchController.startBatchExecution","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecuteWorkflowBatchDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"startBatchExecution","tags":["workflows"]}},"/v1/workflows/{workflowId}/executions/{executionId}/approve":{"post":{"description":"submitApproval","operationId":"WorkflowExecutionController.submitApproval","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}},{"in":"path","name":"executionId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitApprovalDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"submitApproval","tags":["workflows"]}},"/v1/workflows/{workflowId}/executions/{runId}/logs":{"get":{"description":"getExecutionLogs","operationId":"WorkflowExecutionController.getExecutionLogs","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}},{"in":"path","name":"runId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getExecutionLogs","tags":["workflows"]}},"/v1/workflows/{workflowId}/export-comfyui":{"get":{"description":"exportComfyUI","operationId":"WorkflowCrudController.exportComfyUI","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"exportComfyUI","tags":["workflows"]}},"/v1/workflows/{workflowId}/interface":{"get":{"description":"getWorkflowInterface","operationId":"WorkflowBuilderController.getWorkflowInterface","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getWorkflowInterface","tags":["workflows"]}},"/v1/workflows/{workflowId}/nodes":{"patch":{"description":"patchNodes","operationId":"WorkflowExecutionController.patchNodes","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchWorkflowNodesDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patchNodes","tags":["workflows"]}},"/v1/workflows/{workflowId}/validate":{"post":{"description":"validateWorkflow","operationId":"WorkflowBuilderController.validateWorkflow","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"validateWorkflow","tags":["workflows"]}},"/v1/workflows/{workflowId}/validate-reference":{"post":{"description":"validateWorkflowReference","operationId":"WorkflowBuilderController.validateWorkflowReference","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateWorkflowInputsDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"validateWorkflowReference","tags":["workflows"]}},"/v1/workflows/{workflowId}/webhook":{"delete":{"description":"deleteWebhook","operationId":"WorkflowWebhookManagementController.deleteWebhook","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"deleteWebhook","tags":["workflows"]},"get":{"description":"getWebhookInfo","operationId":"WorkflowWebhookManagementController.getWebhookInfo","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"getWebhookInfo","tags":["workflows"]},"patch":{"description":"patchWebhook","operationId":"WorkflowWebhookManagementController.patchWebhook","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchWorkflowWebhookDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"patchWebhook","tags":["workflows"]},"post":{"description":"generateWebhook","operationId":"WorkflowWebhookManagementController.generateWebhook","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateWorkflowWebhookDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"generateWebhook","tags":["workflows"]}},"/v1/youtube-long-form":{"post":{"description":"createAuthenticated","operationId":"PublicYoutubeLongFormController.createAuthenticated","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePublicYoutubeLongFormDto"}}},"required":true},"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"createAuthenticated","tags":["/"]}},"/v1/youtube-long-form/{artifactId}/source-library":{"post":{"description":"promoteSource","operationId":"PublicYoutubeLongFormController.promoteSource","parameters":[{"in":"path","name":"artifactId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"4XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Client error returned as a JSON:API error document."},"5XX":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonApiErrorDocument"}}},"description":"Server error returned as a JSON:API error document."}},"summary":"promoteSource","tags":["/"]}}},"servers":[{"url":"/v1"}],"tags":[]}