{"openapi":"3.1.0","info":{"title":"Social Neuron REST API","version":"3.0.0","description":"REST projection of the Social Neuron MCP tool catalog. Every tool is callable as `POST /v1/tools/{name}` with the same auth, scopes, rate limits, and credit pool as the hosted MCP endpoint. Generated from the tool catalog — never hand-edited.","license":{"name":"MIT"}},"servers":[{"url":"https://mcp.socialneuron.com/v1"}],"security":[{"bearerAuth":[]},{"oauth2":[]}],"tags":[{"name":"account"},{"name":"analytics"},{"name":"apps"},{"name":"autopilot"},{"name":"brand"},{"name":"brandRuntime"},{"name":"carousel"},{"name":"comments"},{"name":"content"},{"name":"credits"},{"name":"digest"},{"name":"discovery"},{"name":"distribution"},{"name":"extraction"},{"name":"hyperframes"},{"name":"ideation"},{"name":"ideation-context"},{"name":"insights"},{"name":"lifecycle"},{"name":"loop-summary"},{"name":"media"},{"name":"pipeline"},{"name":"plan-approvals"},{"name":"planning"},{"name":"quality"},{"name":"remotion"},{"name":"research"},{"name":"skills"},{"name":"suggest"},{"name":"usage"},{"name":"youtube-analytics"}],"paths":{"/tools/generate_content":{"post":{"operationId":"generate_content","summary":"Generate social media content ideas based on brand profile and trends","description":"Execute the generate_content Social Neuron tool. Generate social media content ideas based on brand profile and trends. Required OAuth scope: mcp:write.","tags":["ideation"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"prompt":{"type":"string","maxLength":10000,"description":"Detailed content prompt. Include topic, angle, audience, and requirements. Example: \"LinkedIn post about AI productivity for CTOs, 300 words, include 3 actionable tips, conversational tone.\" Richer prompts produce better results."},"content_type":{"type":"string","enum":["script","caption","blog","hook"],"description":"Type of content to generate. \"script\" for video scripts, \"caption\" for social media captions, \"blog\" for blog posts, \"hook\" for attention-grabbing hooks."},"platform":{"description":"Target social media platform. Helps tailor tone, length, and format.","type":"string","enum":["youtube","tiktok","instagram","twitter","linkedin","facebook","threads","bluesky"]},"brand_voice":{"description":"Tone directive (e.g. \"direct, no jargon, second person\" or \"witty Gen-Z energy with emoji\"). Leave blank to auto-load from project brand profile if project_id is set.","type":"string","maxLength":500},"model":{"description":"AI model to use. Defaults to gemini-2.5-flash. Use gemini-2.5-pro for highest quality. Retired provider models are intentionally not accepted.","type":"string","enum":["gemini-2.5-flash","gemini-2.5-pro"]},"project_id":{"description":"Project ID to auto-load brand profile and performance context for prompt enrichment. Required when more than one project is accessible; omitted values auto-resolve only for a sole project.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["prompt","content_type"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/fetch_trends":{"post":{"operationId":"fetch_trends","summary":"Fetch current trending topics for content ideation","description":"Execute the fetch_trends Social Neuron tool. Fetch current trending topics for content ideation. Required OAuth scope: mcp:read.","tags":["ideation"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"source":{"type":"string","enum":["youtube","google_trends","rss","url"],"description":"Data source. \"youtube\" fetches trending videos, \"google_trends\" fetches daily search trends, \"rss\" fetches from a custom RSS feed URL, \"url\" extracts trend data from a web page."},"category":{"description":"Category filter (for YouTube). Examples: general, entertainment, education, tech, music, gaming, sports, news.","type":"string"},"niche":{"description":"Niche keyword filter. Only return trends matching these keywords.","type":"string"},"url":{"description":"Required when source is \"rss\" or \"url\". The feed or page URL to fetch.","type":"string"},"force_refresh":{"description":"Skip the server-side cache and fetch fresh data.","type":"boolean"}},"required":["source"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/get_ideation_context":{"post":{"operationId":"get_ideation_context","summary":"Get full ideation context including brand, analytics, and trends","description":"Execute the get_ideation_context Social Neuron tool. Get full ideation context including brand, analytics, and trends. Required OAuth scope: mcp:read.","tags":["ideation-context"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"project_id":{"description":"Project ID to scope insights.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"days":{"description":"Lookback window for insights. Defaults to 30 days.","type":"number","minimum":1,"maximum":90},"response_format":{"description":"Optional output format. Defaults to text.","type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/adapt_content":{"post":{"operationId":"adapt_content","summary":"Adapt existing content for different platforms","description":"Execute the adapt_content Social Neuron tool. Adapt existing content for different platforms. Required OAuth scope: mcp:write.","tags":["content"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"string","maxLength":5000,"description":"The content to adapt. Can be a caption, script, blog excerpt, or any text."},"source_platform":{"description":"The platform the content was originally written for. Helps preserve intent.","type":"string","enum":["youtube","tiktok","instagram","twitter","linkedin","facebook","threads","bluesky"]},"target_platform":{"type":"string","enum":["youtube","tiktok","instagram","twitter","linkedin","facebook","threads","bluesky"],"description":"The platform to adapt the content for."},"brand_voice":{"description":"Brand voice guidelines to maintain during adaptation (e.g. \"professional\", \"playful\").","type":"string","maxLength":500},"project_id":{"description":"Project ID to load platform voice overrides and attribute generation spend. Required when more than one project is accessible; omitted values auto-resolve only for a sole project.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["content","target_platform"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/generate_video":{"post":{"operationId":"generate_video","summary":"Generate video content using AI","description":"Execute the generate_video Social Neuron tool. Generate video content using AI. Required OAuth scope: mcp:write.","tags":["content"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"prompt":{"type":"string","maxLength":30000,"description":"Video prompt — be specific about visual style, camera movement, lighting, and mood. Example: \"Aerial drone shot of coastal cliffs at golden hour, slow dolly forward, cinematic 24fps, warm color grading.\" Vague prompts produce generic results. Up to 30,000 characters (matches the Kie provider cap) — seedance-2.5 supports long, structured multi-shot scripts (timed shot lists, camera moves, dialogue/VO cues); most other models still work best with 2-3 sentences."},"model":{"type":"string","enum":["seedance-2-fast","kling-3","grok-imagine","veo3-fast","kling-3-pro","seedance-2","seedance-2.5","veo3-quality","wan-2.6","gemini-omni-video","hailuo-02-standard","seedance-1.5-pro","kling"],"description":"REQUIRED. Must exactly match one of the enum values below (case-sensitive, hyphenated) — an unrecognized string is rejected before any credit spend. Select a model based on the required capabilities shown in the authenticated product; do not infer routing priority, quality, or cost from enum order."},"duration":{"description":"Video duration in seconds. kling: 5 or 10s · kling-3: 5 or 10s · kling-3-pro: 5/10/15s · grok-imagine/hailuo: 6 or 10s · wan-2.6: 5/10/15s · seedance-2.5: 4–30 s single shot · other seedance models: 4-15s · veo3-fast/veo3-quality: fixed 8s (duration ignored). Out-of-range values are clamped server-side, never rejected. Defaults to 5 seconds.","type":"number","minimum":3,"maximum":30},"resolution":{"description":"Video resolution for supported models, including the Seedance 2 family. Seedance defaults to 720p; other models apply their supported resolution. Resolution can change credit usage.","type":"string","enum":["480p","720p","1080p"]},"aspect_ratio":{"description":"Video aspect ratio. 16:9 for YouTube/landscape, 9:16 for TikTok/Reels/Shorts, 1:1 for Instagram feed/square. Defaults to 16:9.","type":"string","enum":["16:9","9:16","1:1"]},"enable_audio":{"description":"Enable native audio when the selected model supports it. If omitted, Social Neuron applies the model-safe default. Audio can change credit usage; confirm sufficient balance before generation.","type":"boolean"},"image_url":{"description":"Start frame image URL for image-to-video (Kling 3.0 frame control).","type":"string"},"end_frame_url":{"description":"End frame image URL (Kling 3.0 only). Enables seamless loop transitions.","type":"string"},"reference_image_urls":{"description":"Seedance 2.5 ONLY (bytedance/seedance-2.5) — up to 30 reference image URLs for multi-reference/multimodal generation (character sheets, product shots, location plates, style boards, etc.). Ignored by other models. Order matters: image N in this array is addressed in the prompt as @imageN (1-indexed, e.g. the first URL is @image1). Reference each one in the prompt with a scope + exclusion line, e.g. \"@image2 = character card; face/hair/wardrobe from it only. Do not use its background.\" Every entry must be an absolute https:// URL — kie-video-generate rejects http:// references before generation, so an http URL is refused here rather than failing downstream. Mutually exclusive with first/last-frame mode (image_url/end_frame_url) for this model — passing both is rejected, because the Seedance request builder would give these references precedence and silently discard the supplied start/end frame.","maxItems":30,"type":"array","items":{"type":"string","format":"uri"}},"project_id":{"description":"Project ID to associate the video with; its saved brand profile is applied automatically. Required when more than one project is accessible; omitted values auto-resolve only when exactly one project is accessible.","type":"string"},"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}},"required":["prompt","model"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/generate_image":{"post":{"operationId":"generate_image","summary":"Generate images using AI","description":"Execute the generate_image Social Neuron tool. Generate images using AI. Required OAuth scope: mcp:write.","tags":["content"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"prompt":{"type":"string","maxLength":2000,"description":"Text prompt describing the image to generate. Be specific about style, composition, colors, lighting, and subject matter."},"model":{"type":"string","enum":["midjourney","nano-banana","nano-banana-pro","flux-pro","flux-max","gpt4o-image","imagen4","imagen4-fast","seedream"],"description":"Image generation model. midjourney for artistic style, imagen4 for photorealistic quality, flux-pro for general purpose, gpt4o-image for creative/illustrated styles."},"aspect_ratio":{"description":"Aspect ratio. Defaults to 1:1 (square).","type":"string","enum":["16:9","9:16","1:1","4:3","3:4"]},"image_url":{"description":"Reference image URL for image-to-image generation. Optional for all currently accepted models (none of them require it).","type":"string"},"project_id":{"description":"Project ID to associate the generated image with. Required when more than one project is accessible; omitted values auto-resolve only for a sole project.","type":"string"},"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}},"required":["prompt","model"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/check_status":{"post":{"operationId":"check_status","summary":"Check status of async content generation job","description":"Execute the check_status Social Neuron tool. Check status of async content generation job. Required OAuth scope: mcp:read.","tags":["content"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"job_id":{"type":"string","description":"The job ID returned by generate_video or generate_image. This is the asyncJobId or taskId value."},"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}},"required":["job_id"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/create_storyboard":{"post":{"operationId":"create_storyboard","summary":"Create a video storyboard with scenes and shots","description":"Execute the create_storyboard Social Neuron tool. Create a video storyboard with scenes and shots. Required OAuth scope: mcp:write.","tags":["content"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"concept":{"type":"string","maxLength":2000,"description":"The video concept/idea. Include: hook, key messages, target audience, and desired outcome (e.g., \"TikTok ad for VPN app targeting privacy-conscious millennials, hook with shocking stat about data leaks\")."},"brand_context":{"description":"Brand context JSON from extract_brand. Include colors, voice tone, visual style keywords for consistent branding across frames.","type":"string","maxLength":3000},"platform":{"type":"string","enum":["tiktok","instagram-reels","youtube-shorts","youtube","general"],"description":"Target platform. Determines aspect ratio, duration, and pacing."},"target_duration":{"description":"Target total duration in seconds. Defaults to 30s for short-form, 60s for YouTube.","type":"number","minimum":5,"maximum":120},"num_scenes":{"description":"Number of scenes. Defaults to 6-8 for short-form.","type":"number","minimum":3,"maximum":15},"style":{"description":"Visual style direction (e.g., \"cinematic\", \"anime\", \"documentary\", \"motion graphics\").","type":"string"},"project_id":{"description":"Project ID for brand-scoped generation and attribution. Required when more than one project is accessible; omitted values auto-resolve only for a sole project.","type":"string"},"response_format":{"description":"Response format. Defaults to json for structured storyboard data.","type":"string","enum":["text","json"]}},"required":["concept","platform"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/generate_voiceover":{"post":{"operationId":"generate_voiceover","summary":"Generate AI voiceover audio","description":"Execute the generate_voiceover Social Neuron tool. Generate AI voiceover audio. Required OAuth scope: mcp:write.","tags":["content"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"description":"The script/text to convert to speech. Not required when resume_task_id is set.","type":"string","maxLength":5000},"voice":{"description":"Voice selection. rachel=warm female (default), daniel=British authoritative male, adam=deep confident male, gigi=young playful female, charlotte=sophisticated elegant female.","type":"string","enum":["rachel","daniel","adam","gigi","charlotte"]},"speed":{"description":"Speech speed multiplier. 1.0 is normal. Defaults to 1.0.","type":"number","minimum":0.5,"maximum":2},"project_id":{"description":"Project ID to associate a newly generated voiceover with. Required when more than one project is accessible; resume_task_id polling does not create new spend.","type":"string"},"response_format":{"description":"Response format. Defaults to text.","type":"string","enum":["text","json"]},"resume_task_id":{"description":"2026-07-15 (money-safety fix): pass the task_id from a prior \"still generating\" response to resume polling the SAME job — this does NOT create a new task and does NOT charge credits again. Use this instead of calling the tool fresh after a timeout: the original job is already charged and still running or refundable; a fresh call would charge a SECOND time for work already paid for.","type":"string"}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/generate_carousel":{"post":{"operationId":"generate_carousel","summary":"Generate carousel/slide content","description":"Execute the generate_carousel Social Neuron tool. Generate carousel/slide content. Required OAuth scope: mcp:write.","tags":["content"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"topic":{"type":"string","maxLength":200,"description":"Carousel hook/angle — specific beats general. Example: \"5 onboarding mistakes that kill SaaS startups\" beats \"SaaS tips\". Include a curiosity gap or strong opinion for better Hook Strength scores."},"template_id":{"description":"Carousel template. hormozi-authority: bold typography, one idea per slide, dark backgrounds. educational-series: numbered tips. Default: hormozi-authority.","type":"string","enum":["educational-series","product-showcase","story-arc","before-after","step-by-step","quote-collection","data-stats","myth-vs-reality","hormozi-authority"]},"slide_count":{"description":"Number of slides (3-10). Default: 7.","type":"number","minimum":3,"maximum":10},"aspect_ratio":{"description":"Aspect ratio. 1:1 square (default), 4:5 portrait, 9:16 story.","type":"string","enum":["1:1","4:5","9:16"]},"style":{"description":"Visual style. hormozi: black bg, bold white text, gold accents. Default: hormozi (when using hormozi-authority template).","type":"string","enum":["minimal","bold","professional","playful","hormozi"]},"hook":{"description":"Explicit hook/opener for slide 1. Overrides any hook derived from topic. Keep under 15 words.","type":"string","maxLength":300},"hook_family":{"description":"Hook family tag. Persisted with the carousel so downstream analytics can attribute engagement to hook pattern.","type":"string","enum":["curiosity","authority","pain_point","contrarian","data_driven"]},"cta_text":{"description":"Explicit CTA copy for the final slide.","type":"string","maxLength":200},"cta_url":{"description":"URL promoted on the CTA slide.","type":"string","format":"uri"},"tone":{"description":"Voice/tone override. Composes with brand profile voice.","type":"string","maxLength":200},"constraints":{"description":"Content constraints. Example: \"No fabricated statistics. Sentence case only.\"","type":"string","maxLength":500},"platform":{"description":"Target platform. Affects tone and format guardrails.","type":"string","enum":["linkedin","instagram","tiktok","x"]},"project_id":{"description":"Project ID to associate the carousel with. Required when more than one project is accessible; omitted values auto-resolve only for a sole project.","type":"string"},"response_format":{"description":"Response format. Defaults to json.","type":"string","enum":["text","json"]}},"required":["topic"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/create_carousel":{"post":{"operationId":"create_carousel","summary":"End-to-end carousel: generate text + kick off image jobs for each slide","description":"Execute the create_carousel Social Neuron tool. End-to-end carousel: generate text + kick off image jobs for each slide. Required OAuth scope: mcp:write.","tags":["carousel"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"topic":{"type":"string","maxLength":200,"description":"Carousel topic/hook — be specific. Example: \"5 onboarding mistakes that kill SaaS startups\" beats \"SaaS tips\"."},"image_model":{"type":"string","enum":["midjourney","nano-banana","nano-banana-pro","flux-pro","flux-max","gpt4o-image","imagen4","imagen4-fast","seedream"],"description":"Image model for slide visuals. flux-pro for general purpose, imagen4 for photorealistic, midjourney for artistic."},"template_id":{"description":"Carousel template. Default: hormozi-authority.","type":"string","enum":["educational-series","product-showcase","story-arc","before-after","step-by-step","quote-collection","data-stats","myth-vs-reality","hormozi-authority"]},"template_pack_id":{"description":"Canonical template pack id (drives slide structure + count server-side, overrides template_id when both are given). sn_signal_carousel_v1 = 7-slide hook/insight/framework deck (same as hormozi-authority/educational-series). sn_performance_recap_v1 = 5-slide before/after metric recap. sn_showcase_ad_v1 = 6-slide product showcase ad.","type":"string","enum":["sn_signal_carousel_v1","sn_performance_recap_v1","sn_showcase_ad_v1"]},"slide_count":{"description":"Number of slides (3-10). Default: 7.","type":"number","minimum":3,"maximum":10},"aspect_ratio":{"description":"Requested aspect ratio for generated slide artwork. Default: 4:5 — every carousel template pack ships on a fixed 1080x1350 canvas. For Flux 2, Seedream, and Imagen 4, a 4:5 artwork request is normalized to their supported 3:4 ratio. The composite rail centre-crops that art to the pack canvas; legacy paths return the provider-safe 3:4 image directly.","type":"string","enum":["1:1","4:5","9:16"]},"style":{"description":"Visual style. Default: hormozi for hormozi-authority template.","type":"string","enum":["minimal","bold","professional","playful","hormozi"]},"image_style_suffix":{"description":"Style suffix appended to every image prompt for visual consistency across slides. Example: \"dark moody lighting, cinematic, 35mm film grain\".","type":"string","maxLength":500},"hook":{"description":"Explicit hook/opener for slide 1. Overrides any hook derived from topic. Keep under 15 words for strongest scroll-stop.","type":"string","maxLength":300},"hook_family":{"description":"Hook family tag. Recorded on the carousel so downstream analytics can attribute engagement to hook pattern.","type":"string","enum":["curiosity","authority","pain_point","contrarian","data_driven"]},"cta_text":{"description":"Explicit CTA copy for the final slide. If omitted, derived from topic.","type":"string","maxLength":200},"cta_url":{"description":"URL promoted on the CTA slide. Defaults to the project landing page.","type":"string","format":"uri"},"tone":{"description":"Voice/tone override. Composes with the brand profile voice when present. Example: \"educational, confident, not arrogant\".","type":"string","maxLength":200},"constraints":{"description":"Content constraints applied at generation time. Example: \"No fabricated statistics. Sentence case only. No ALL CAPS.\"","type":"string","maxLength":500},"platform":{"description":"Target platform. Affects tone conventions and slide-count guardrails.","type":"string","enum":["linkedin","instagram","tiktok","x"]},"brand_id":{"description":"Brand/project ID to pull visual context from (colors, logo, mood). Falls back to the resolved project_id.","type":"string"},"project_id":{"description":"Project ID to associate the carousel with. Required when more than one project is accessible; omitted values auto-resolve only for a sole project.","type":"string"},"response_format":{"description":"Response format. Default: text.","type":"string","enum":["text","json"]}},"required":["topic","image_model"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/cancel_async_job":{"post":{"operationId":"cancel_async_job","summary":"Cancel an owned pending async job and refund an eligible debit","description":"Execute the cancel_async_job Social Neuron tool. Cancel an owned pending async job and refund an eligible debit. Required OAuth scope: mcp:write.","tags":["lifecycle"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"job_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Owned async_jobs ID returned by a generation tool."},"project_id":{"description":"Brand/project ID. Defaults to the authenticated key's project or account default.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"confirm":{"type":"boolean","const":true,"description":"Must be true only after the user explicitly confirms this destructive action."}},"required":["job_id","confirm"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/delete_carousel":{"post":{"operationId":"delete_carousel","summary":"Delete an owned carousel content record from one project","description":"Execute the delete_carousel Social Neuron tool. Delete an owned carousel content record from one project. Required OAuth scope: mcp:write.","tags":["lifecycle"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"content_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Owned carousel content_history ID."},"project_id":{"description":"Brand/project ID. Defaults to the authenticated key's project or account default.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"confirm":{"type":"boolean","const":true,"description":"Must be true only after the user explicitly confirms this destructive action."}},"required":["content_id","confirm"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/upload_media":{"post":{"operationId":"upload_media","summary":"Upload local file or external URL to R2 storage","description":"Execute the upload_media Social Neuron tool. Upload local file or external URL to R2 storage. Required OAuth scope: mcp:write.","tags":["media"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"source":{"description":"Local file path (e.g. \"/Users/me/image.png\") or public URL (e.g. \"https://example.com/photo.jpg\"). Leave empty when passing file_data instead.","type":"string"},"file_data":{"description":"Base64-encoded file bytes, with or without a \"data:<mime>;base64,\" prefix. Use this from remote agents (Claude Web/Desktop) that cannot provide a filesystem path. Max 10MB decoded.","type":"string"},"file_name":{"description":"Optional filename for the upload (e.g. \"hero.png\"). Path components are stripped — only the basename is used.","type":"string"},"content_type":{"description":"MIME type (e.g. \"image/png\", \"video/mp4\"). Auto-detected from file extension for paths/URLs, or from the data: prefix on file_data. Required when passing raw base64 with no prefix.","type":"string"},"project_id":{"description":"Project ID used to verify ownership and associate the upload. Effectively REQUIRED — the service rejects requests with no verified project/organization scope. Omit only if you are certain the account has exactly one project.","type":"string"},"response_format":{"description":"Response format. Default: text.","type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/get_media_url":{"post":{"operationId":"get_media_url","summary":"Sign an R2 key to get a fresh download URL","description":"Execute the get_media_url Social Neuron tool. Sign an R2 key to get a fresh download URL. Required OAuth scope: mcp:read.","tags":["media"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"r2_key":{"description":"Durable media key returned by upload_media or check_status.","type":"string"},"job_id":{"description":"An async job ID from check_status. The server resolves the job to its stored media key — use this when the raw key fails to sign (legacy key formats).","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"response_format":{"description":"Response format. Default: text.","type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/schedule_post":{"post":{"operationId":"schedule_post","summary":"Schedule content for publishing to social platforms","description":"Execute the schedule_post Social Neuron tool. Schedule content for publishing to social platforms. Required OAuth scope: mcp:distribute.","tags":["distribution"],"x-required-scope":"mcp:distribute","security":[{"bearerAuth":[]},{"oauth2":["mcp:distribute"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"media_url":{"description":"URL of the media file to post. Any public HTTPS URL works, including temporary generator URLs. The service persists temporary media before posting so scheduled posts remain available. Set auto_rehost=false to skip. Not needed if media_urls, r2_key, or job_id is provided.","type":"string"},"media_urls":{"description":"Array of 2-10 image URLs for carousel posts. Same rehosting rules as media_url — ephemeral URLs are persisted automatically. Use with media_type=CAROUSEL_ALBUM.","minItems":2,"maxItems":10,"type":"array","items":{"type":"string","format":"uri"}},"r2_key":{"description":"Durable media key from upload_media. Resolved at post time so it survives scheduling delays. Alternative to media_url.","type":"string"},"r2_keys":{"description":"Array of durable media keys for carousel posts. Alternative to media_urls.","minItems":2,"maxItems":10,"type":"array","items":{"type":"string"}},"job_id":{"description":"Async job ID from generate_image/generate_video. Resolves the completed media. Alternative to media_url/r2_key.","type":"string"},"job_ids":{"description":"Array of async job IDs for carousel posts. Each resolves to stored media. Alternative to media_urls/r2_keys.","minItems":2,"maxItems":10,"type":"array","items":{"type":"string"}},"platform_metadata":{"description":"Platform-specific metadata. Example: {\"tiktok\":{\"privacy_status\":\"PUBLIC_TO_EVERYONE\"}, \"youtube\":{\"title\":\"My Video\"}}","type":"object","properties":{"tiktok":{"description":"TikTok posting metadata. Three server-enforced compliance rules (schedule-post returns a structured error if violated — fix the field and retry, do NOT treat as a server failure): (1) privacy_status is REQUIRED unless use_inbox=true. Omitting both returns code TIKTOK_PRIVACY_LEVEL_REQUIRED: \"TikTok requires a privacy level to be selected. Please choose a privacy level before posting.\" (2) brand_content=true cannot combine with privacy_status=\"SELF_ONLY\". That combination returns code TIKTOK_BRANDED_SELF_ONLY_CONFLICT: \"Branded content visibility cannot be set to private on TikTok. Please select a different privacy level.\" (3) use_inbox=true with AI-generated video requires ai_disclosure_delegated=true (see that field). A 422 with code tiktok_inbox_ai_ack_required means TikTok's inbox upload cannot carry the disclosure automatically — either set ai_disclosure_delegated=true, or set use_inbox=false so Direct Post transmits it.","type":"object","properties":{"privacy_status":{"description":"Required unless useInbox=true. Who can view the video.","type":"string","enum":["PUBLIC_TO_EVERYONE","MUTUAL_FOLLOW_FRIENDS","FOLLOWER_OF_CREATOR","SELF_ONLY"]},"enable_duet":{"type":"boolean"},"enable_comment":{"type":"boolean"},"enable_stitch":{"type":"boolean"},"is_ai_generated":{"type":"boolean"},"brand_content":{"type":"boolean"},"brand_organic":{"type":"boolean"},"use_inbox":{"description":"Post to TikTok inbox/draft instead of direct publish.","type":"boolean"},"ai_disclosure_delegated":{"description":"Required (must be true) when use_inbox=true and the content is AI-generated (is_ai_generated is not explicitly false) and media is video, not a photo. TikTok's inbox video upload accepts no caption and no AI-content flag at all, so setting this confirms you (or the end user) will manually enable TikTok's own \"AI-generated content\" toggle in-app before publishing from the draft. Not required for photo posts — TikTok's photo endpoint carries the caption into inbox mode. Omitting it when required returns code tiktok_inbox_ai_ack_required.","type":"boolean"}}},"youtube":{"type":"object","properties":{"title":{"description":"Video title (required for YouTube).","type":"string"},"description":{"type":"string"},"privacy_status":{"type":"string","enum":["public","unlisted","private"]},"category_id":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"made_for_kids":{"type":"boolean"},"notify_subscribers":{"type":"boolean"},"contains_synthetic_media":{"description":"YouTube altered-or-synthetic-content disclosure. Defaults to true for MCP posts; set false explicitly for verified non-AI media.","type":"boolean"}}},"facebook":{"type":"object","properties":{"page_id":{"description":"Facebook Page ID to post to.","type":"string"},"audience":{"type":"string"}}},"instagram":{"type":"object","properties":{"location":{"type":"string"},"collaborators":{"type":"array","items":{"type":"string"}},"cover_timestamp":{"type":"number"},"share_to_feed":{"type":"boolean"},"first_comment":{"type":"string"},"is_ai_generated":{"type":"boolean"}}},"threads":{"type":"object","properties":{},"additionalProperties":{}},"bluesky":{"type":"object","properties":{"content_labels":{"type":"array","items":{"type":"string"}}}},"linkedin":{"type":"object","properties":{"article_url":{"type":"string"}}},"twitter":{"type":"object","properties":{"is_ai_generated":{"description":"X (Twitter) AI self-disclosure. Forwarded to X as made_with_ai on POST /2/tweets. Defaults to true for MCP posts; explicit false is honoured only for allowlisted first-party accounts — everyone else is coerced to true server-side (EU AI Act Art 50 fail-closed contract).","type":"boolean"},"paid_partnership":{"description":"Set true for sponsored, affiliate, or branded campaign content. Forwarded to X as paid_partnership and persisted on posts.metadata.paid_partnership.","type":"boolean"},"disclosure":{"description":"Campaign disclosure metadata for X posts. String values become disclosure.text; object values persist to posts.metadata.disclosure.","anyOf":[{"type":"string"},{"type":"object","properties":{"label":{"type":"string"},"text":{"type":"string"},"source":{"type":"string"},"required":{"type":"boolean"}},"additionalProperties":{}}]},"disclosure_text":{"type":"string"},"disclosure_label":{"type":"string"}},"additionalProperties":{}}}},"media_type":{"description":"Media type. Set to CAROUSEL_ALBUM with media_urls for Instagram carousels. Default: auto-detected from media_url.","type":"string","enum":["IMAGE","VIDEO","CAROUSEL_ALBUM"]},"caption":{"description":"Post caption/description text.","type":"string"},"platforms":{"minItems":1,"type":"array","items":{"type":"string","enum":["youtube","tiktok","instagram","twitter","linkedin","facebook","threads","bluesky"]},"description":"Target platforms (array). Each must have active OAuth — check list_connected_accounts first. Values: youtube, tiktok, instagram, twitter, linkedin, facebook, threads, bluesky."},"title":{"description":"Post title (used by YouTube and some other platforms).","type":"string"},"hashtags":{"description":"Hashtags to append to caption. Include or omit the \"#\" prefix — both work. Example: [\"ai\", \"contentcreator\"] or [\"#ai\", \"#contentcreator\"].","type":"array","items":{"type":"string"}},"schedule_at":{"description":"ISO 8601 UTC datetime for scheduled posting (e.g. \"2026-03-20T14:00:00Z\"). Omit to post immediately. Must be in the future.","type":"string"},"scheduled_at":{"description":"Alias of schedule_at (reschedule_post uses this spelling). If both are set, schedule_at wins.","type":"string"},"project_id":{"description":"Social Neuron brand/project ID to associate this post with. REQUIRED when the account has multiple brands/projects — omitting it only auto-resolves when there is exactly one accessible project. Call list_connected_accounts first to discover the correct project_id and confirm the platform is connected for that brand.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]},"attribution":{"description":"If true, appends \"Created with Social Neuron\" to the caption. Default: false.","type":"boolean"},"account_id":{"description":"Connected account ID to post from. Optional when the resolved project has exactly one active account for the target platform — it is auto-bound. Required (with a clear error listing candidates) when multiple accounts exist for the same platform. Use list_connected_accounts to find the right ID. The account must be active and bound to the exact project_id.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"account_ids":{"description":"Per-platform account IDs when posting to multiple platforms. Example: {\"twitter\": \"abc123\", \"instagram\": \"def456\"}. Use list_connected_accounts with the same project_id to find IDs.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"auto_rehost":{"description":"Whether to persist temporary media_url/media_urls before posting. Default: true. Set to false only if you know the source URL will outlive the scheduling window and every target platform supports URL ingest.","type":"boolean"},"idempotency_key":{"description":"Stable 8-128 character retry key (letters, numbers, underscore, hyphen). Reuse the same key when retrying the same publish request to prevent duplicate posts.","type":"string","pattern":"^[a-zA-Z0-9_-]{8,128}$"}},"required":["platforms"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/reschedule_post":{"post":{"operationId":"reschedule_post","summary":"Atomically move an unclaimed scheduled post to a new time within its brand project","description":"Execute the reschedule_post Social Neuron tool. Atomically move an unclaimed scheduled post to a new time within its brand project. Required OAuth scope: mcp:distribute.","tags":["distribution"],"x-required-scope":"mcp:distribute","security":[{"bearerAuth":[]},{"oauth2":["mcp:distribute"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"post_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Post ID returned by list_recent_posts."},"project_id":{"description":"Brand/project ID that owns the post. Defaults to the authenticated key's project or the account default.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"scheduled_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"New future publish time as an ISO 8601 datetime with timezone."},"expected_scheduled_at":{"description":"Optional current schedule timestamp. If it changed since you read it, the update is rejected instead of silently overwriting it.","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"response_format":{"default":"text","type":"string","enum":["text","json"]}},"required":["post_id","scheduled_at"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/cancel_scheduled_post":{"post":{"operationId":"cancel_scheduled_post","summary":"Cancel an owned scheduled post before publishing begins","description":"Execute the cancel_scheduled_post Social Neuron tool. Cancel an owned scheduled post before publishing begins. Required OAuth scope: mcp:distribute.","tags":["lifecycle"],"x-required-scope":"mcp:distribute","security":[{"bearerAuth":[]},{"oauth2":["mcp:distribute"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"post_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Owned scheduled post ID."},"project_id":{"description":"Brand/project ID. Defaults to the authenticated key's project or account default.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"confirm":{"type":"boolean","const":true,"description":"Must be true only after the user explicitly confirms this destructive action."}},"required":["post_id","confirm"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/list_recent_posts":{"post":{"operationId":"list_recent_posts","summary":"List recently published or scheduled posts","description":"Execute the list_recent_posts Social Neuron tool. List recently published or scheduled posts. Required OAuth scope: mcp:read.","tags":["distribution"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"project_id":{"description":"Brand/project ID to scope posts. Defaults to the authenticated key's project or the account default.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"platform":{"description":"Filter to a specific platform.","type":"string","enum":["youtube","tiktok","instagram","twitter","linkedin","facebook","threads","bluesky"]},"status":{"description":"Filter by post status.","type":"string","enum":["draft","scheduled","published","failed"]},"days":{"description":"Number of days to look back. Defaults to 7. Max 90.","type":"number","minimum":1,"maximum":90},"limit":{"description":"Maximum number of posts to return. Defaults to 20.","type":"number","minimum":1,"maximum":50},"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/list_connected_accounts":{"post":{"operationId":"list_connected_accounts","summary":"List connected social media accounts","description":"Execute the list_connected_accounts Social Neuron tool. List connected social media accounts. Required OAuth scope: mcp:read.","tags":["distribution"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"project_id":{"description":"Brand/project ID to scope connected accounts. Required for any account with more than one project — omitting it only auto-resolves when there is exactly one accessible project. Use the same project_id when calling schedule_post.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"include_all":{"description":"If true, include expired or inactive accounts as well as usable accounts.","type":"boolean"},"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/start_platform_connection":{"post":{"operationId":"start_platform_connection","summary":"Mint a single-use deep link for a user to complete platform OAuth in their browser","description":"Execute the start_platform_connection Social Neuron tool. Mint a single-use deep link for a user to complete platform OAuth in their browser. Required OAuth scope: mcp:distribute.","tags":["distribution"],"x-required-scope":"mcp:distribute","security":[{"bearerAuth":[]},{"oauth2":["mcp:distribute"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"platform":{"type":"string","enum":["youtube","tiktok","instagram","twitter","linkedin","facebook","threads","bluesky","shopify","etsy"],"description":"Platform to connect. Lower-case: instagram, tiktok, youtube, etc."},"project_id":{"description":"Brand/project ID to bind the new social account to. Required when the account has multiple brands.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"response_format":{"description":"Response format. Default: text.","type":"string","enum":["text","json"]}},"required":["platform"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/wait_for_connection":{"post":{"operationId":"wait_for_connection","summary":"Poll until a platform connection becomes active or timeout","description":"Execute the wait_for_connection Social Neuron tool. Poll until a platform connection becomes active or timeout. Required OAuth scope: mcp:read.","tags":["distribution"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"platform":{"type":"string","enum":["youtube","tiktok","instagram","twitter","linkedin","facebook","threads","bluesky","shopify","etsy"],"description":"Platform to wait for."},"project_id":{"description":"Brand/project ID to scope the connection poll. Use the same project_id passed to start_platform_connection.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"timeout_s":{"description":"How long to wait, in seconds. Default 120.","type":"number","minimum":5,"maximum":600},"poll_interval_s":{"description":"Poll interval in seconds. Default 5.","type":"number","minimum":2,"maximum":30},"response_format":{"description":"Response format. Default: text.","type":"string","enum":["text","json"]}},"required":["platform"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/request_upload_session":{"post":{"operationId":"request_upload_session","summary":"Request an owner-bound browser upload link for an ordered set of image, video or audio files","description":"Execute the request_upload_session Social Neuron tool. Request an owner-bound browser upload link for an ordered set of image, video or audio files. Required OAuth scope: mcp:write.","tags":["media"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"project_id":{"description":"Project to own these files; required when multiple projects are accessible.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slots":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":120},"kind":{"type":"string","enum":["image","video","audio"]},"max_bytes":{"type":"integer","exclusiveMinimum":0,"maximum":524288000}},"required":["label","kind"]},"description":"Ordered image, video or audio slots."},"ttl_minutes":{"description":"Session lifetime, at most 30 minutes; default 20.","type":"integer","minimum":1,"maximum":30},"request_id":{"description":"Reuse this ID when retrying the same creation request.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["slots"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/wait_for_upload":{"post":{"operationId":"wait_for_upload","summary":"Wait for verified upload completion and return ordered durable media keys","description":"Execute the wait_for_upload Social Neuron tool. Wait for verified upload completion and return ordered durable media keys. Required OAuth scope: mcp:read.","tags":["media"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"session_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Upload session returned by request_upload_session."},"project_id":{"description":"Optional project attestation; must match the session.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"timeout_s":{"description":"Maximum wait in seconds; default 120.","type":"integer","minimum":5,"maximum":600},"poll_interval_s":{"description":"Status poll interval in seconds; default 5.","type":"integer","minimum":2,"maximum":30}},"required":["session_id"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/create_upload_url":{"post":{"operationId":"create_upload_url","summary":"Create signed media-domain PUT URLs for a session slot or multipart batch","description":"Execute the create_upload_url Social Neuron tool. Create signed media-domain PUT URLs for a session slot or multipart batch. Required OAuth scope: mcp:write.","tags":["media"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"session_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Upload session returned by request_upload_session."},"project_id":{"description":"Optional project attestation; must match the session.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slot_index":{"type":"integer","minimum":0,"maximum":9},"content_type":{"type":"string","minLength":1,"maxLength":120,"description":"Actual file MIME type; the server validates uploaded bytes."},"size_bytes":{"type":"integer","exclusiveMinimum":0,"maximum":524288000,"description":"Actual file length in bytes."},"request_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"attempt_id":{"description":"Existing upload attempt when requesting another part batch.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"part_numbers":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"integer","minimum":1,"maximum":10000}}},"required":["session_id","slot_index","content_type","size_bytes"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/complete_upload_session":{"post":{"operationId":"complete_upload_session","summary":"Verify one upload slot and finish the session when every file is ready","description":"Execute the complete_upload_session Social Neuron tool. Verify one upload slot and finish the session when every file is ready. Required OAuth scope: mcp:write.","tags":["media"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"session_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Upload session returned by request_upload_session."},"project_id":{"description":"Optional project attestation; must match the session.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slot_index":{"type":"integer","minimum":0,"maximum":9},"attempt_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["session_id","slot_index","attempt_id"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/fetch_analytics":{"post":{"operationId":"fetch_analytics","summary":"Fetch post performance analytics","description":"Execute the fetch_analytics Social Neuron tool. Fetch post performance analytics. Required OAuth scope: mcp:read.","tags":["analytics"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"platform":{"description":"Filter analytics to a specific platform.","type":"string","enum":["youtube","tiktok","instagram","twitter","linkedin","facebook","threads","bluesky"]},"days":{"description":"Lookback window in days (1-365). Default 30. Use 7 for weekly review, 30 for monthly summary, 90 for quarterly trends.","type":"number","minimum":1,"maximum":365},"content_id":{"description":"Filter to a specific content_history ID to see performance of one piece of content.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"project_id":{"description":"Project ID. Defaults to the active project context.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"limit":{"description":"Maximum number of posts to return. Defaults to 20.","type":"number","minimum":1,"maximum":100},"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/refresh_platform_analytics":{"post":{"operationId":"refresh_platform_analytics","summary":"Refresh analytics data from connected platforms","description":"Execute the refresh_platform_analytics Social Neuron tool. Refresh analytics data from connected platforms. Required OAuth scope: mcp:analytics.","tags":["analytics"],"x-required-scope":"mcp:analytics","security":[{"bearerAuth":[]},{"oauth2":["mcp:analytics"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"project_id":{"description":"Project ID. Defaults to the active project context.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/get_performance_insights":{"post":{"operationId":"get_performance_insights","summary":"Get AI-generated performance insights","description":"Execute the get_performance_insights Social Neuron tool. Get AI-generated performance insights. Required OAuth scope: mcp:read.","tags":["insights"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"insight_type":{"description":"Filter to a specific insight type.","type":"string","enum":["top_hooks","optimal_timing","best_models","competitor_patterns"]},"days":{"description":"Number of days to look back. Defaults to 30. Max 90.","type":"number","minimum":1,"maximum":90},"limit":{"description":"Maximum number of insights to return. Defaults to 10.","type":"number","minimum":1,"maximum":50},"project_id":{"description":"Project ID. Defaults to the active project context.","type":"string"},"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/get_best_posting_times":{"post":{"operationId":"get_best_posting_times","summary":"Get recommended posting times based on audience data","description":"Execute the get_best_posting_times Social Neuron tool. Get recommended posting times based on audience data. Required OAuth scope: mcp:read.","tags":["insights"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"platform":{"description":"Filter to a specific platform.","type":"string","enum":["youtube","tiktok","instagram","twitter","linkedin","facebook","threads","bluesky"]},"days":{"description":"Number of days to analyze. Defaults to 30. Max 90.","type":"number","minimum":1,"maximum":90},"project_id":{"description":"Project ID. Defaults to the active project context.","type":"string"},"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/extract_brand":{"post":{"operationId":"extract_brand","summary":"Return suggested brand details inferred from a website or supported social-profile URL. Results can be sparse or use inferred defaults; review them before calling save_brand_profile. Accepts URLs, not pasted brand text.","description":"Execute the extract_brand Social Neuron tool. Return suggested brand details inferred from a website or supported social-profile URL. Results can be sparse or use inferred defaults; review them before calling save_brand_profile. Accepts URLs, not pasted brand text.. Required OAuth scope: mcp:read.","tags":["brand"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","minLength":1,"description":"The website URL to analyze for brand identity (e.g. \"https://example.com\"). Bare handles (\"acmefoods\") or ambiguous @handles (\"@acmefoods\") are rejected — supply a full profile URL, or use \"platform:handle\" shorthand (e.g. \"instagram:acmefoods\", \"tiktok:@acmefoods\")."},"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}},"required":["url"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/get_brand_profile":{"post":{"operationId":"get_brand_profile","summary":"Get the current brand profile","description":"Execute the get_brand_profile Social Neuron tool. Get the current brand profile. Required OAuth scope: mcp:read.","tags":["brand"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"project_id":{"description":"Project ID. Defaults to active project context.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/get_brand_runtime":{"post":{"operationId":"get_brand_runtime","summary":"Get the full 4-layer brand runtime (messaging, voice, visual, constraints)","description":"Execute the get_brand_runtime Social Neuron tool. Get the full 4-layer brand runtime (messaging, voice, visual, constraints). Required OAuth scope: mcp:read.","tags":["brandRuntime"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"project_id":{"description":"Project ID. Defaults to current project.","type":"string"}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/explain_brand_system":{"post":{"operationId":"explain_brand_system","summary":"Explain brand completeness, confidence, and recommendations","description":"Execute the explain_brand_system Social Neuron tool. Explain brand completeness, confidence, and recommendations. Required OAuth scope: mcp:read.","tags":["brandRuntime"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"project_id":{"description":"Project ID. Defaults to current project.","type":"string"}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/check_brand_consistency":{"post":{"operationId":"check_brand_consistency","summary":"Check content text for brand voice/vocabulary/claim consistency","description":"Execute the check_brand_consistency Social Neuron tool. Check content text for brand voice/vocabulary/claim consistency. Required OAuth scope: mcp:read.","tags":["brandRuntime"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"string","description":"The content text to check for brand consistency."},"project_id":{"description":"Project ID. Defaults to current project.","type":"string"}},"required":["content"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/save_brand_profile":{"post":{"operationId":"save_brand_profile","summary":"Save or update brand profile","description":"Execute the save_brand_profile Social Neuron tool. Save or update brand profile. Required OAuth scope: mcp:write.","tags":["brand"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"project_id":{"description":"Project ID. Defaults to active project context.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"brand_context":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"Brand context payload to save to brand_profiles.brand_context."},"change_summary":{"description":"Optional summary of changes.","type":"string","maxLength":500},"changed_paths":{"description":"Optional changed path list.","type":"array","items":{"type":"string"}},"source_url":{"description":"Optional source URL for provenance.","type":"string","format":"uri"},"extraction_method":{"description":"Extraction method metadata.","type":"string","enum":["manual","url_extract","business_profiler","product_showcase"]},"overall_confidence":{"description":"Optional overall confidence score in range 0..1.","type":"number","minimum":0,"maximum":1},"extraction_metadata":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"response_format":{"type":"string","enum":["text","json"]}},"required":["brand_context"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/update_platform_voice":{"post":{"operationId":"update_platform_voice","summary":"Update platform-specific brand voice settings","description":"Execute the update_platform_voice Social Neuron tool. Update platform-specific brand voice settings. Required OAuth scope: mcp:write.","tags":["brand"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"platform":{"type":"string","enum":["youtube","tiktok","instagram","twitter","linkedin","facebook","threads","bluesky"]},"project_id":{"description":"Project ID. Defaults to active project context.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"samples":{"description":"3-5 real platform post examples for style anchoring.","type":"string","maxLength":3000},"tone":{"type":"array","items":{"type":"string"}},"style":{"type":"array","items":{"type":"string"}},"avoid_patterns":{"type":"array","items":{"type":"string"}},"hashtag_strategy":{"type":"string","maxLength":300},"cta_style":{"type":"string","maxLength":300},"response_format":{"type":"string","enum":["text","json"]}},"required":["platform"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/render_demo_video":{"post":{"operationId":"render_demo_video","summary":"Render a demo video using Remotion","description":"Execute the render_demo_video Social Neuron tool. Render a demo video using Remotion. Required OAuth scope: mcp:write.","tags":["remotion"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"composition_id":{"type":"string","description":"Remotion composition ID to render. Use list_compositions to see available IDs. Examples: \"CaptionedClip\", \"ProductAd-30s\", \"TwitterAd\"."},"output_format":{"description":"Output format. Defaults to \"mp4\".","type":"string","enum":["mp4","gif"]},"props":{"description":"JSON string of input props to pass to the composition. Each composition accepts different props. Omit for defaults.","type":"string"}},"required":["composition_id"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/list_compositions":{"post":{"operationId":"list_compositions","summary":"List available Remotion video compositions","description":"Execute the list_compositions Social Neuron tool. List available Remotion video compositions. Required OAuth scope: mcp:read.","tags":["remotion"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/render_template_video":{"post":{"operationId":"render_template_video","summary":"Render a template video in the cloud via async job","description":"Execute the render_template_video Social Neuron tool. Render a template video in the cloud via async job. Required OAuth scope: mcp:write.","tags":["remotion"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"composition_id":{"type":"string","description":"Remotion composition ID. Examples: \"DataVizDashboard\", \"ReviewsTestimonial\", \"CaptionedClip\". Use list_compositions to see all available IDs."},"input_props":{"type":"string","description":"JSON string of input props for the composition. Each composition has different required props. For DataVizDashboard: {title, kpis, barData, donutData, lineData}. For ReviewsTestimonial: {businessName, overallRating, totalReviews, reviews}."},"aspect_ratio":{"description":"Output aspect ratio. Defaults to \"9:16\" (vertical).","type":"string","enum":["9:16","1:1","16:9"]},"project_id":{"description":"Project ID to associate the render with its brand and durable media. Required when more than one project is accessible. Ownership is verified server-side — an inaccessible project_id is rejected with a 403, never silently reassigned to a different project.","type":"string"},"response_format":{"description":"Response format. Use json for a stable job_id handoff.","type":"string","enum":["text","json"]}},"required":["composition_id","input_props"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/fetch_youtube_analytics":{"post":{"operationId":"fetch_youtube_analytics","summary":"Fetch YouTube channel analytics data","description":"Execute the fetch_youtube_analytics Social Neuron tool. Fetch YouTube channel analytics data. Required OAuth scope: mcp:analytics.","tags":["youtube-analytics"],"x-required-scope":"mcp:analytics","security":[{"bearerAuth":[]},{"oauth2":["mcp:analytics"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string","enum":["channel","daily","video","topVideos"],"description":"Type of analytics to fetch: \"channel\" for overview, \"daily\" for day-by-day, \"video\" for a specific video, \"topVideos\" for best performers."},"start_date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Start date in YYYY-MM-DD format."},"end_date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"End date in YYYY-MM-DD format."},"video_id":{"description":"YouTube video ID. Required when action is \"video\".","type":"string"},"max_results":{"description":"Max videos to return for \"topVideos\" action. Defaults to 10.","type":"number","minimum":1,"maximum":50},"connected_account_id":{"description":"Exact YouTube connected-account ID from list_connected_accounts. Optional when exactly one active YouTube account is bound to the resolved project — auto-resolved. Required (with a clear list of candidates) when the project has multiple YouTube accounts.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"project_id":{"description":"Exact brand/project ID. Defaults only when the authenticated user has one project.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}},"required":["action","start_date","end_date"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/list_comments":{"post":{"operationId":"list_comments","summary":"List YouTube comments on published videos (YouTube only today)","description":"Execute the list_comments Social Neuron tool. List YouTube comments on published videos (YouTube only today). Required OAuth scope: mcp:comments.","tags":["comments"],"x-required-scope":"mcp:comments","security":[{"bearerAuth":[]},{"oauth2":["mcp:comments"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"video_id":{"description":"YouTube video ID — the 11-character string from the URL (e.g. \"dQw4w9WgXcQ\" from youtube.com/watch?v=dQw4w9WgXcQ). Omit to get recent comments across all channel videos.","type":"string"},"max_results":{"description":"Maximum number of comments to return. Defaults to 50.","type":"number","minimum":1,"maximum":100},"page_token":{"description":"Pagination cursor from previous list_comments response nextPageToken field. Omit for first page of results.","type":"string"},"connected_account_id":{"description":"Exact YouTube connected-account ID from list_connected_accounts. Optional when exactly one active YouTube account is bound to the resolved project — auto-resolved. Required (with a clear list of candidates) when the project has multiple YouTube accounts.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"project_id":{"description":"Exact brand/project ID. Defaults only when the authenticated user has one project.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/reply_to_comment":{"post":{"operationId":"reply_to_comment","summary":"Reply to a YouTube comment (YouTube only today)","description":"Execute the reply_to_comment Social Neuron tool. Reply to a YouTube comment (YouTube only today). Required OAuth scope: mcp:comments.","tags":["comments"],"x-required-scope":"mcp:comments","security":[{"bearerAuth":[]},{"oauth2":["mcp:comments"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"parent_id":{"type":"string","description":"The ID of the parent comment to reply to (from list_comments)."},"text":{"type":"string","minLength":1,"description":"The reply text."},"connected_account_id":{"description":"Exact YouTube connected-account ID from list_connected_accounts. Optional when exactly one active YouTube account is bound to the resolved project — auto-resolved. Required (with a clear list of candidates) when the project has multiple YouTube accounts.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"project_id":{"description":"Exact brand/project ID. Defaults only when the authenticated user has one project.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}},"required":["parent_id","text"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/post_comment":{"post":{"operationId":"post_comment","summary":"Post a new YouTube comment (YouTube only today)","description":"Execute the post_comment Social Neuron tool. Post a new YouTube comment (YouTube only today). Required OAuth scope: mcp:comments.","tags":["comments"],"x-required-scope":"mcp:comments","security":[{"bearerAuth":[]},{"oauth2":["mcp:comments"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"video_id":{"type":"string","description":"The YouTube video ID to comment on."},"text":{"type":"string","minLength":1,"description":"The comment text."},"connected_account_id":{"description":"Exact YouTube connected-account ID from list_connected_accounts. Optional when exactly one active YouTube account is bound to the resolved project — auto-resolved. Required (with a clear list of candidates) when the project has multiple YouTube accounts.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"project_id":{"description":"Exact brand/project ID. Defaults only when the authenticated user has one project.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}},"required":["video_id","text"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/moderate_comment":{"post":{"operationId":"moderate_comment","summary":"Set a YouTube comment's moderation status to published (approve) or rejected (reject). Requires channel-owner access; returns success or an API error. Use list_comments to obtain comment_id.","description":"Execute the moderate_comment Social Neuron tool. Set a YouTube comment's moderation status to published (approve) or rejected (reject). Requires channel-owner access; returns success or an API error. Use list_comments to obtain comment_id.. Required OAuth scope: mcp:comments.","tags":["comments"],"x-required-scope":"mcp:comments","security":[{"bearerAuth":[]},{"oauth2":["mcp:comments"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"comment_id":{"type":"string","description":"The comment ID to moderate."},"moderation_status":{"type":"string","enum":["published","rejected"],"description":"\"published\" to approve, \"rejected\" to hide."},"connected_account_id":{"description":"Exact YouTube connected-account ID from list_connected_accounts. Optional when exactly one active YouTube account is bound to the resolved project — auto-resolved. Required (with a clear list of candidates) when the project has multiple YouTube accounts.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"project_id":{"description":"Exact brand/project ID. Defaults only when the authenticated user has one project.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}},"required":["comment_id","moderation_status"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/delete_comment":{"post":{"operationId":"delete_comment","summary":"Delete a YouTube comment (YouTube only today)","description":"Execute the delete_comment Social Neuron tool. Delete a YouTube comment (YouTube only today). Required OAuth scope: mcp:comments.","tags":["comments"],"x-required-scope":"mcp:comments","security":[{"bearerAuth":[]},{"oauth2":["mcp:comments"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"comment_id":{"type":"string","description":"The comment ID to delete."},"connected_account_id":{"description":"Exact YouTube connected-account ID from list_connected_accounts. Optional when exactly one active YouTube account is bound to the resolved project — auto-resolved. Required (with a clear list of candidates) when the project has multiple YouTube accounts.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"project_id":{"description":"Exact brand/project ID. Defaults only when the authenticated user has one project.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}},"required":["comment_id"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/plan_content_week":{"post":{"operationId":"plan_content_week","summary":"Generate a weekly content plan","description":"Execute the plan_content_week Social Neuron tool. Generate a weekly content plan. Required OAuth scope: mcp:write.","tags":["planning"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"topic":{"type":"string","description":"Main topic or content theme"},"source_url":{"description":"Article or product page URL to extract source material from. YouTube links are not supported; put the video's key points in topic instead.","type":"string"},"platforms":{"minItems":1,"type":"array","items":{"type":"string","enum":["youtube","tiktok","instagram","twitter","linkedin","facebook","threads","bluesky"]},"description":"Target platforms"},"posts_per_day":{"default":1,"description":"Posts per platform per day","type":"number","minimum":1,"maximum":5},"days":{"default":5,"description":"Number of days to plan","type":"number","minimum":1,"maximum":7},"start_date":{"description":"ISO date, defaults to tomorrow","type":"string"},"brand_voice":{"description":"Override brand voice description","type":"string"},"project_id":{"description":"Project ID for brand/insights context and generation spend. Required when more than one project is accessible; omitted values auto-resolve only for a sole project.","type":"string"},"response_format":{"default":"json","type":"string","enum":["text","json"]}},"required":["topic","platforms"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/save_content_plan":{"post":{"operationId":"save_content_plan","summary":"Save a content plan","description":"Execute the save_content_plan Social Neuron tool. Save a content plan. Required OAuth scope: mcp:write.","tags":["planning"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"plan":{"type":"object","properties":{"topic":{"type":"string"},"posts":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}}},"required":["topic","posts"],"additionalProperties":{}},"project_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"status":{"default":"draft","type":"string","enum":["draft","in_review","approved","scheduled","completed"]},"response_format":{"default":"json","type":"string","enum":["text","json"]}},"required":["plan"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/get_content_plan":{"post":{"operationId":"get_content_plan","summary":"Get a specific content plan by ID","description":"Execute the get_content_plan Social Neuron tool. Get a specific content plan by ID. Required OAuth scope: mcp:read.","tags":["planning"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"plan_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Persisted content plan ID"},"response_format":{"default":"json","type":"string","enum":["text","json"]}},"required":["plan_id"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/update_content_plan":{"post":{"operationId":"update_content_plan","summary":"Update an existing content plan","description":"Execute the update_content_plan Social Neuron tool. Update an existing content plan. Required OAuth scope: mcp:write.","tags":["planning"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"plan_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"post_updates":{"minItems":1,"type":"array","items":{"type":"object","properties":{"post_id":{"type":"string"},"caption":{"type":"string"},"title":{"type":"string"},"hashtags":{"type":"array","items":{"type":"string"}},"hook":{"type":"string"},"angle":{"type":"string"},"visual_direction":{"type":"string"},"media_url":{"type":"string"},"schedule_at":{"type":"string"},"platform":{"type":"string"},"status":{"type":"string","enum":["approved","rejected","needs_edit"]}},"required":["post_id"]}},"response_format":{"default":"json","type":"string","enum":["text","json"]}},"required":["plan_id","post_updates"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/delete_content_plan":{"post":{"operationId":"delete_content_plan","summary":"Permanently delete an owned content plan from one project","description":"Execute the delete_content_plan Social Neuron tool. Permanently delete an owned content plan from one project. Required OAuth scope: mcp:write.","tags":["lifecycle"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"plan_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Owned content plan ID."},"project_id":{"description":"Brand/project ID. Defaults to the authenticated key's project or account default.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"confirm":{"type":"boolean","const":true,"description":"Must be true only after the user explicitly confirms this destructive action."}},"required":["plan_id","confirm"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/submit_content_plan_for_approval":{"post":{"operationId":"submit_content_plan_for_approval","summary":"Submit a content plan for team approval","description":"Execute the submit_content_plan_for_approval Social Neuron tool. Submit a content plan for team approval. Required OAuth scope: mcp:write.","tags":["planning"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"plan_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"response_format":{"default":"json","type":"string","enum":["text","json"]}},"required":["plan_id"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/schedule_content_plan":{"post":{"operationId":"schedule_content_plan","summary":"Schedule all posts in an approved content plan","description":"Execute the schedule_content_plan Social Neuron tool. Schedule all posts in an approved content plan. Required OAuth scope: mcp:distribute.","tags":["planning"],"x-required-scope":"mcp:distribute","security":[{"bearerAuth":[]},{"oauth2":["mcp:distribute"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"plan":{"type":"object","properties":{"project_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"account_ids":{"description":"Exact connected-account ID per platform.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"posts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"caption":{"type":"string"},"platform":{"type":"string"},"connected_account_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"media_url":{"type":"string"},"schedule_at":{"type":"string"},"hashtags":{"type":"array","items":{"type":"string"}}},"required":["id","caption","platform"]}}},"required":["posts"],"additionalProperties":{}},"project_id":{"description":"Exact brand/project ID. Defaults only when the authenticated user has one project.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"account_ids":{"description":"Exact connected-account ID per platform for every post in the plan.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"plan_id":{"description":"Persisted content plan ID from content_plans table","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"auto_slot":{"default":true,"description":"Auto-assign time slots for posts without schedule_at","type":"boolean"},"dry_run":{"default":false,"description":"Preview without actually scheduling","type":"boolean"},"response_format":{"default":"text","type":"string","enum":["text","json"]},"enforce_quality":{"default":true,"description":"When true, block scheduling for posts that fail quality checks.","type":"boolean"},"quality_threshold":{"description":"Optional quality threshold override. Defaults to project setting or 26.","type":"integer","minimum":0,"maximum":35},"batch_size":{"default":4,"description":"Concurrent schedule calls per platform batch.","type":"integer","minimum":1,"maximum":10},"idempotency_seed":{"description":"Optional stable seed used when building idempotency keys.","type":"string","maxLength":128}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/find_next_slots":{"post":{"operationId":"find_next_slots","summary":"Find next available scheduling slots","description":"Execute the find_next_slots Social Neuron tool. Find next available scheduling slots. Required OAuth scope: mcp:read.","tags":["planning"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"project_id":{"description":"Brand/project ID used for conflict detection. Defaults to the authenticated key's project or the account default.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"platforms":{"minItems":1,"type":"array","items":{"type":"string","enum":["youtube","tiktok","instagram","twitter","linkedin","facebook","threads","bluesky"]}},"count":{"default":7,"description":"Number of slots to find","type":"number","minimum":1,"maximum":20},"start_after":{"description":"ISO datetime, defaults to now","type":"string"},"min_gap_hours":{"default":4,"description":"Minimum gap between posts on same platform","type":"number","minimum":1,"maximum":24},"response_format":{"default":"text","type":"string","enum":["text","json"]}},"required":["platforms"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/create_plan_approvals":{"post":{"operationId":"create_plan_approvals","summary":"Create approval requests for a content plan","description":"Execute the create_plan_approvals Social Neuron tool. Create approval requests for a content plan. Required OAuth scope: mcp:write.","tags":["plan-approvals"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"plan_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Content plan ID"},"posts":{"minItems":1,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"platform":{"type":"string"},"caption":{"type":"string"},"title":{"type":"string"},"media_url":{"type":"string"},"schedule_at":{"type":"string"}},"required":["id"],"additionalProperties":{}},"description":"Posts to create approval entries for."},"project_id":{"description":"Project ID. Defaults to active project context.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"response_format":{"type":"string","enum":["text","json"]}},"required":["plan_id","posts"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/respond_plan_approval":{"post":{"operationId":"respond_plan_approval","summary":"Respond to a plan approval request","description":"Execute the respond_plan_approval Social Neuron tool. Respond to a plan approval request. Required OAuth scope: mcp:write.","tags":["plan-approvals"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"approval_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Approval item ID"},"decision":{"type":"string","enum":["approved","rejected","edited"]},"edited_post":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"reason":{"type":"string","maxLength":1000},"response_format":{"type":"string","enum":["text","json"]}},"required":["approval_id","decision"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/list_plan_approvals":{"post":{"operationId":"list_plan_approvals","summary":"List pending plan approval requests","description":"Execute the list_plan_approvals Social Neuron tool. List pending plan approval requests. Required OAuth scope: mcp:read.","tags":["plan-approvals"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"plan_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Content plan ID"},"status":{"type":"string","enum":["pending","approved","rejected","edited"]},"response_format":{"type":"string","enum":["text","json"]}},"required":["plan_id"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/quality_check":{"post":{"operationId":"quality_check","summary":"Run quality checks on content before publishing","description":"Execute the quality_check Social Neuron tool. Run quality checks on content before publishing. Required OAuth scope: mcp:read.","tags":["quality"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"caption":{"type":"string","description":"The post text to score. Include hashtags if they will be published — they affect Platform Fit and Safety/Claims scores."},"title":{"description":"Post title (important for YouTube)","type":"string"},"platforms":{"minItems":1,"type":"array","items":{"type":"string","enum":["youtube","tiktok","instagram","twitter","linkedin","facebook","threads","bluesky"]},"description":"Target platforms"},"threshold":{"default":26,"description":"Minimum total score to pass (max 35, scored across 7 categories at 0-5 each). Default 26 (~75%). Use 20 for rough drafts, 28+ for final posts going to large audiences.","type":"number","minimum":0,"maximum":35},"brand_keyword":{"description":"Brand keyword for the Brand Alignment axis — this affects pass/fail: with it, brand mentions earn +1 and missing second-person voice costs -1; without it the axis scores a neutral 3 (brand fit unjudged).","type":"string"},"brand_avoid_patterns":{"type":"array","items":{"type":"string"}},"custom_banned_terms":{"type":"array","items":{"type":"string"}},"response_format":{"default":"text","type":"string","enum":["text","json"]}},"required":["caption","platforms"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/quality_check_plan":{"post":{"operationId":"quality_check_plan","summary":"Run quality checks on an entire content plan","description":"Execute the quality_check_plan Social Neuron tool. Run quality checks on an entire content plan. Required OAuth scope: mcp:read.","tags":["quality"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"plan":{"type":"object","properties":{"posts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"caption":{"type":"string"},"title":{"type":"string"},"platform":{"type":"string"}},"required":["id","caption","platform"]}}},"required":["posts"],"additionalProperties":{},"description":"Content plan with posts array"},"threshold":{"default":26,"description":"Minimum total score to pass (max 35, scored across 7 categories at 0-5 each). Default 26 (~75%). Use 20 for rough drafts, 28+ for final posts going to large audiences.","type":"number","minimum":0,"maximum":35},"response_format":{"default":"text","type":"string","enum":["text","json"]}},"required":["plan"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/visual_quality_check":{"post":{"operationId":"visual_quality_check","summary":"Pre-render visual QA on carousel slides — predicts text overflow against per-layout constraints. Run before schedule_post to catch clipped text.","description":"Execute the visual_quality_check Social Neuron tool. Pre-render visual QA on carousel slides — predicts text overflow against per-layout constraints. Run before schedule_post to catch clipped text.. Required OAuth scope: mcp:read.","tags":["quality"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"slides":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"object","properties":{"slideNumber":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"type":{"type":"string"},"headline":{"type":"string"},"body":{"type":"string"},"visualDirection":{"type":"string"},"footnote":{"type":"string"},"accentWord":{"type":"string"},"bullets":{"type":"array","items":{"type":"string"}}},"required":["slideNumber"],"additionalProperties":{}},"description":"Carousel slides (1-10). Shape matches services/carouselService.ts CarouselSlide. Required fields: slideNumber. Text fields: headline, body, visualDirection, footnote, accentWord, bullets."},"visual_style":{"default":"clean-editorial","description":"Template style — determines per-layout font sizes + container widths.","type":"string","enum":["dark-cinematic","clean-editorial","bold-authority"]},"response_format":{"default":"text","type":"string","enum":["text","json"]}},"required":["slides"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/visual_gate_constraints":{"post":{"operationId":"visual_gate_constraints","summary":"Read the per-layout field constraints (font size, width, max lines) the visual gate uses. Useful when generating slide text that fits first time.","description":"Execute the visual_gate_constraints Social Neuron tool. Read the per-layout field constraints (font size, width, max lines) the visual gate uses. Useful when generating slide text that fits first time.. Required OAuth scope: mcp:read.","tags":["quality"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"layout":{"description":"Single layout to inspect. Omit to return all layouts.","type":"string","enum":["authority-statement","authority-cta","editorial-content","editorial-cta","cinematic-hook","cinematic-content","cinematic-cta"]},"response_format":{"default":"json","type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/get_credit_balance":{"post":{"operationId":"get_credit_balance","summary":"Get current credit balance","description":"Execute the get_credit_balance Social Neuron tool. Get current credit balance. Required OAuth scope: mcp:read.","tags":["credits"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/get_budget_status":{"post":{"operationId":"get_budget_status","summary":"Get budget and spending status","description":"Execute the get_budget_status Social Neuron tool. Get budget and spending status. Required OAuth scope: mcp:read.","tags":["credits"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/get_account_status":{"post":{"operationId":"get_account_status","summary":"One-call readiness check: plan tier, granted MCP scopes, connected platforms, credits, next steps","description":"Execute the get_account_status Social Neuron tool. One-call readiness check: plan tier, granted MCP scopes, connected platforms, credits, next steps. Required OAuth scope: mcp:read.","tags":["account"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"project_id":{"description":"Project ID to scope the connected-platforms check. Optional — auto-resolves when the account or API key has exactly one project; multi-project accounts get a note instead of platform status until a project_id is passed.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/list_autopilot_configs":{"post":{"operationId":"list_autopilot_configs","summary":"List autopilot configurations","description":"Execute the list_autopilot_configs Social Neuron tool. List autopilot configurations. Required OAuth scope: mcp:autopilot.","tags":["autopilot"],"x-required-scope":"mcp:autopilot","security":[{"bearerAuth":[]},{"oauth2":["mcp:autopilot"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"active_only":{"description":"If true, only return active configs. Defaults to false (show all).","type":"boolean"},"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/update_autopilot_config":{"post":{"operationId":"update_autopilot_config","summary":"Update autopilot configuration","description":"Execute the update_autopilot_config Social Neuron tool. Update autopilot configuration. Required OAuth scope: mcp:autopilot.","tags":["autopilot"],"x-required-scope":"mcp:autopilot","security":[{"bearerAuth":[]},{"oauth2":["mcp:autopilot"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"config_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The autopilot config ID to update."},"is_active":{"description":"Enable or disable this autopilot config.","type":"boolean"},"schedule_days":{"description":"Days of the week to run (e.g., [\"mon\", \"wed\", \"fri\"]).","type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]}},"schedule_time":{"description":"Time to run in HH:MM format (24h, user timezone). E.g., \"09:00\".","type":"string"},"max_credits_per_run":{"description":"Maximum credits per execution.","type":"number"},"max_credits_per_week":{"description":"Maximum credits per week.","type":"number"}},"required":["config_id"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/get_autopilot_status":{"post":{"operationId":"get_autopilot_status","summary":"Get current autopilot status","description":"Execute the get_autopilot_status Social Neuron tool. Get current autopilot status. Required OAuth scope: mcp:autopilot.","tags":["autopilot"],"x-required-scope":"mcp:autopilot","security":[{"bearerAuth":[]},{"oauth2":["mcp:autopilot"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/delete_autopilot_config":{"post":{"operationId":"delete_autopilot_config","summary":"Permanently delete an owned autopilot configuration from one project","description":"Execute the delete_autopilot_config Social Neuron tool. Permanently delete an owned autopilot configuration from one project. Required OAuth scope: mcp:autopilot.","tags":["lifecycle"],"x-required-scope":"mcp:autopilot","security":[{"bearerAuth":[]},{"oauth2":["mcp:autopilot"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"config_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Owned autopilot configuration ID."},"project_id":{"description":"Brand/project ID. Defaults to the authenticated key's project or account default.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"confirm":{"type":"boolean","const":true,"description":"Must be true only after the user explicitly confirms this destructive action."}},"required":["config_id","confirm"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/extract_url_content":{"post":{"operationId":"extract_url_content","summary":"Fetch an accessible article or product page and return an AI-generated summary for repurposing, not verbatim page text. Returns title and description, with available features/key points, benefits, usp and suggested_hooks. Choose article for article summaries; product or auto uses product-style extraction. YouTube links are not supported; transcript requests return an error. Does not retrieve video/audio transcripts or modify the source page.","description":"Execute the extract_url_content Social Neuron tool. Fetch an accessible article or product page and return an AI-generated summary for repurposing, not verbatim page text. Returns title and description, with available features/key points, benefits, usp and suggested_hooks. Choose article for article summaries; product or auto uses product-style extraction. YouTube links are not supported; transcript requests return an error. Does not retrieve video/audio transcripts or modify the source page.. Required OAuth scope: mcp:read.","tags":["extraction"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Accessible article or product page URL; YouTube links are unsupported"},"extract_type":{"default":"auto","description":"auto = product-style extraction (not content-type detection); article = AI-generated article summary with key points in features; product = e-commerce features/benefits/USP; transcript = not supported (returns an error; paste the transcript as text instead).","type":"string","enum":["auto","transcript","article","product"]},"response_format":{"default":"text","type":"string","enum":["text","json"]}},"required":["url"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/get_niche_inspiration":{"post":{"operationId":"get_niche_inspiration","summary":"Read stored, QA-filtered niche inspiration for the project. Returns source links, reported metrics, inferred text-based patterns, and an original-content drafting template. Video and audio observations and high performance are not verified.","description":"Execute the get_niche_inspiration Social Neuron tool. Read stored, QA-filtered niche inspiration for the project. Returns source links, reported metrics, inferred text-based patterns, and an original-content drafting template. Video and audio observations and high performance are not verified.. Required OAuth scope: mcp:read.","tags":["research"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"project_id":{"description":"Project ID (auto-detected if omitted)","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"platform":{"description":"Filter to one platform. Omit for all platforms.","type":"string","enum":["tiktok","instagram","youtube","reddit","twitter"]},"days":{"default":30,"description":"Window: only return records scanned within this many days.","type":"integer","minimum":1,"maximum":365},"limit":{"default":10,"description":"Number of records to return (1-50).","type":"integer","minimum":1,"maximum":50},"min_qa_score":{"default":0.5,"description":"Minimum QA score (0..1). Default 0.5.","type":"number","minimum":0,"maximum":1},"response_format":{"type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/get_loop_summary":{"post":{"operationId":"get_loop_summary","summary":"Get growth loop summary and recommendations","description":"Execute the get_loop_summary Social Neuron tool. Get growth loop summary and recommendations. Required OAuth scope: mcp:read.","tags":["loop-summary"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"project_id":{"description":"Project ID. Defaults to active project context.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/get_mcp_usage":{"post":{"operationId":"get_mcp_usage","summary":"Get MCP usage statistics for the current billing period","description":"Execute the get_mcp_usage Social Neuron tool. Get MCP usage statistics for the current billing period. Required OAuth scope: mcp:read.","tags":["usage"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"response_format":{"description":"Optional response format. Defaults to text.","type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/search_tools":{"post":{"operationId":"search_tools","summary":"Search and discover available MCP tools","description":"Execute the search_tools Social Neuron tool. Search and discover available MCP tools. Required OAuth scope: mcp:read.","tags":["discovery"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"description":"Search query to filter tools by name or description","type":"string"},"module":{"description":"Filter by module name (e.g. \"planning\", \"content\", \"analytics\")","type":"string"},"scope":{"description":"Filter by required scope (e.g. \"mcp:read\", \"mcp:write\")","type":"string"},"detail":{"default":"summary","description":"Detail level: \"name\" for just tool names, \"summary\" for names + descriptions, \"full\" for complete info including scope and module","type":"string","enum":["name","summary","full"]},"available_only":{"default":false,"description":"When true, only return tools allowed by the current API key/OAuth scopes. Use this after a permission_denied error.","type":"boolean"}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/search":{"post":{"operationId":"search","summary":"Search public Social Neuron product, integration, developer, and MCP tool knowledge using the ChatGPT-compatible search schema.","description":"Execute the search Social Neuron tool. Search public Social Neuron product, integration, developer, and MCP tool knowledge using the ChatGPT-compatible search schema.. Required OAuth scope: mcp:read.","tags":["discovery"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","description":"Search query."}},"required":["query"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/fetch":{"post":{"operationId":"fetch","summary":"Fetch one public Social Neuron knowledge document by ID using the ChatGPT-compatible fetch schema.","description":"Execute the fetch Social Neuron tool. Fetch one public Social Neuron knowledge document by ID using the ChatGPT-compatible fetch schema.. Required OAuth scope: mcp:read.","tags":["discovery"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Document ID returned by search."}},"required":["id"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/check_pipeline_readiness":{"post":{"operationId":"check_pipeline_readiness","summary":"Pre-flight check before running a content pipeline","description":"Execute the check_pipeline_readiness Social Neuron tool. Pre-flight check before running a content pipeline. Required OAuth scope: mcp:read.","tags":["pipeline"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"project_id":{"description":"Project ID for the readiness check. Required when more than one project is accessible; omitted values auto-resolve only for a sole project.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"platforms":{"minItems":1,"type":"array","items":{"type":"string","enum":["youtube","tiktok","instagram","twitter","linkedin","facebook","threads","bluesky"]},"description":"Target platforms to check"},"estimated_posts":{"default":5,"description":"Estimated posts to generate","type":"number","minimum":1,"maximum":50},"response_format":{"description":"Response format","type":"string","enum":["text","json"]}},"required":["platforms"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/run_content_pipeline":{"post":{"operationId":"run_content_pipeline","summary":"End-to-end content pipeline: plan → quality → approve → schedule","description":"Execute the run_content_pipeline Social Neuron tool. End-to-end content pipeline: plan → quality → approve → schedule. Required OAuth scope: mcp:autopilot.","tags":["pipeline"],"x-required-scope":"mcp:autopilot","security":[{"bearerAuth":[]},{"oauth2":["mcp:autopilot"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"project_id":{"description":"Project ID for all generated and scheduled pipeline output. Required when more than one project is accessible; omitted values auto-resolve only for a sole project.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"topic":{"description":"Content topic (required if no source_url)","type":"string"},"source_url":{"description":"URL to extract content from","type":"string"},"platforms":{"minItems":1,"type":"array","items":{"type":"string","enum":["youtube","tiktok","instagram","twitter","linkedin","facebook","threads","bluesky"]},"description":"Target platforms"},"account_ids":{"description":"Exact connected-account ID per target platform. Required when a project has multiple accounts on one platform.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"days":{"default":5,"description":"Days to plan","type":"number","minimum":1,"maximum":7},"posts_per_day":{"default":1,"description":"Posts per platform per day","type":"number","minimum":1,"maximum":3},"approval_mode":{"default":"review_low_confidence","description":"auto: approve all passing quality. review_all: flag everything. review_low_confidence: auto-approve high scorers.","type":"string","enum":["auto","review_all","review_low_confidence"]},"auto_approve_threshold":{"default":28,"description":"Quality score threshold for auto-approval (used in auto/review_low_confidence modes)","type":"number","minimum":0,"maximum":35},"max_credits":{"description":"Credit budget cap","type":"number"},"dry_run":{"default":false,"description":"If true, skip scheduling and return plan only","type":"boolean"},"schedule_confirmed":{"default":false,"description":"Required to schedule posts. Set true only after explicit user confirmation to publish/schedule.","type":"boolean"},"skip_stages":{"description":"Stages to skip","type":"array","items":{"type":"string","enum":["research","quality","schedule"]}},"response_format":{"default":"json","type":"string","enum":["text","json"]}},"required":["platforms"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/get_pipeline_status":{"post":{"operationId":"get_pipeline_status","summary":"Check status of a pipeline run","description":"Execute the get_pipeline_status Social Neuron tool. Check status of a pipeline run. Required OAuth scope: mcp:read.","tags":["pipeline"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"pipeline_id":{"description":"Pipeline run ID (omit for latest)","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"response_format":{"type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/auto_approve_plan":{"post":{"operationId":"auto_approve_plan","summary":"Batch auto-approve posts meeting quality thresholds","description":"Execute the auto_approve_plan Social Neuron tool. Batch auto-approve posts meeting quality thresholds. Required OAuth scope: mcp:autopilot.","tags":["pipeline"],"x-required-scope":"mcp:autopilot","security":[{"bearerAuth":[]},{"oauth2":["mcp:autopilot"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"plan_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Content plan ID"},"quality_threshold":{"default":26,"description":"Minimum quality score to auto-approve","type":"number","minimum":0,"maximum":35},"response_format":{"default":"json","type":"string","enum":["text","json"]}},"required":["plan_id"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/suggest_next_content":{"post":{"operationId":"suggest_next_content","summary":"Suggest next content topics based on performance data","description":"Execute the suggest_next_content Social Neuron tool. Suggest next content topics based on performance data. Required OAuth scope: mcp:read.","tags":["suggest"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"project_id":{"description":"Project ID (auto-detected if omitted)","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"count":{"default":3,"description":"Number of suggestions to return","type":"number","minimum":1,"maximum":10},"response_format":{"type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/generate_performance_digest":{"post":{"operationId":"generate_performance_digest","summary":"Generate a performance summary with trends and recommendations","description":"Execute the generate_performance_digest Social Neuron tool. Generate a performance summary with trends and recommendations. Required OAuth scope: mcp:analytics.","tags":["digest"],"x-required-scope":"mcp:analytics","security":[{"bearerAuth":[]},{"oauth2":["mcp:analytics"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"project_id":{"description":"Project ID (auto-detected if omitted)","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"period":{"default":"7d","description":"Time period to analyze","type":"string","enum":["7d","14d","30d"]},"include_recommendations":{"default":true,"type":"boolean"},"response_format":{"type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/detect_anomalies":{"post":{"operationId":"detect_anomalies","summary":"Detect significant performance changes (spikes, drops, viral)","description":"Execute the detect_anomalies Social Neuron tool. Detect significant performance changes (spikes, drops, viral). Required OAuth scope: mcp:analytics.","tags":["digest"],"x-required-scope":"mcp:analytics","security":[{"bearerAuth":[]},{"oauth2":["mcp:analytics"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"project_id":{"description":"Project ID (auto-detected if omitted)","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"days":{"default":14,"description":"Days to analyze","type":"number","minimum":7,"maximum":90},"sensitivity":{"default":"medium","description":"Detection sensitivity: low=50%+, medium=30%+, high=15%+ changes","type":"string","enum":["low","medium","high"]},"platforms":{"description":"Filter to specific platforms","type":"array","items":{"type":"string","enum":["youtube","tiktok","instagram","twitter","linkedin","facebook","threads","bluesky"]}},"response_format":{"type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/create_autopilot_config":{"post":{"operationId":"create_autopilot_config","summary":"Create a new autopilot configuration","description":"Execute the create_autopilot_config Social Neuron tool. Create a new autopilot configuration. Required OAuth scope: mcp:autopilot.","tags":["autopilot"],"x-required-scope":"mcp:autopilot","security":[{"bearerAuth":[]},{"oauth2":["mcp:autopilot"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100,"description":"Name for this autopilot config"},"project_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Project to run autopilot for"},"mode":{"default":"pipeline","description":"Mode: recipe (legacy) or pipeline (new orchestration)","type":"string","enum":["recipe","pipeline"]},"schedule_days":{"minItems":1,"type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]},"description":"Days of the week to run"},"schedule_time":{"type":"string","description":"Time to run in HH:MM format (24h). E.g., \"09:00\""},"timezone":{"description":"Timezone (e.g., \"America/New_York\"). Defaults to UTC.","type":"string"},"max_credits_per_run":{"description":"Maximum credits per execution","type":"number","minimum":0},"max_credits_per_week":{"description":"Maximum credits per week","type":"number","minimum":0},"approval_mode":{"default":"review_low_confidence","description":"How to handle post approvals","type":"string","enum":["auto","review_all","review_low_confidence"]},"is_active":{"default":true,"description":"Whether to activate immediately","type":"boolean"},"response_format":{"description":"Response format. Defaults to text.","type":"string","enum":["text","json"]}},"required":["name","project_id","schedule_days","schedule_time"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/audit_brand_colors":{"post":{"operationId":"audit_brand_colors","summary":"Audit brand color palette for accessibility, contrast, and harmony","description":"Execute the audit_brand_colors Social Neuron tool. Audit brand color palette for accessibility, contrast, and harmony. Required OAuth scope: mcp:read.","tags":["brandRuntime"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"content_colors":{"type":"array","items":{"type":"string"},"description":"Hex color strings used in the content (e.g., [\"#FF0000\", \"#00FF00\"])"},"project_id":{"description":"Project ID. Defaults to current project.","type":"string"},"threshold":{"description":"Max Delta E for on-brand (default 10). Lower = stricter.","type":"number"}},"required":["content_colors"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/export_design_tokens":{"post":{"operationId":"export_design_tokens","summary":"Export brand design tokens in CSS/Tailwind/JSON formats","description":"Execute the export_design_tokens Social Neuron tool. Export brand design tokens in CSS/Tailwind/JSON formats. Required OAuth scope: mcp:read.","tags":["brandRuntime"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"format":{"type":"string","enum":["css","tailwind","figma"],"description":"Output format: css (CSS variables), tailwind (theme.extend.colors), figma (Figma Tokens JSON)"},"project_id":{"description":"Project ID. Defaults to current project.","type":"string"}},"required":["format"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/open_content_calendar":{"post":{"operationId":"open_content_calendar","summary":"Open a project-scoped interactive calendar inside MCP App-capable hosts. Uses reschedule_post for conflict-safe drag/drop and schedule_post for new posts.","description":"Execute the open_content_calendar Social Neuron tool. Open a project-scoped interactive calendar inside MCP App-capable hosts. Uses reschedule_post for conflict-safe drag/drop and schedule_post for new posts.. Required OAuth scope: mcp:read.","tags":["apps"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"project_id":{"description":"Brand/project ID. Defaults to the authenticated key's project or the account default.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"start_date":{"description":"ISO date for the week start (YYYY-MM-DD); defaults to the current week's Monday.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/open_analytics_pulse":{"post":{"operationId":"open_analytics_pulse","summary":"Open a project-scoped interactive performance dashboard with views, engagement, platform mix, and top posts.","description":"Execute the open_analytics_pulse Social Neuron tool. Open a project-scoped interactive performance dashboard with views, engagement, platform mix, and top posts.. Required OAuth scope: mcp:read.","tags":["apps"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"project_id":{"description":"Brand/project ID. Defaults to the authenticated key's project or account default.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"platform":{"description":"Optional platform filter.","type":"string","enum":["youtube","tiktok","instagram","twitter","linkedin","facebook","threads","bluesky"]},"days":{"description":"Lookback window. Defaults to 30 days.","type":"integer","minimum":1,"maximum":365}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/list_hyperframes_blocks":{"post":{"operationId":"list_hyperframes_blocks","summary":"List the curated subset of pre-built Hyperframes blocks (transitions, social overlays, data-viz, branding, decorative) that can be composed into HTML video compositions","description":"Execute the list_hyperframes_blocks Social Neuron tool. List the curated subset of pre-built Hyperframes blocks (transitions, social overlays, data-viz, branding, decorative) that can be composed into HTML video compositions. Required OAuth scope: mcp:read.","tags":["hyperframes"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"category":{"description":"Filter by category. If omitted, returns all categories.","type":"string","enum":["transition","social-overlay","data-viz","branding","decorative"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/render_hyperframes":{"post":{"operationId":"render_hyperframes","summary":"Render an HTML video composition (Hyperframes) to MP4. Author the composition as HTML with data-* timing attributes and GSAP timelines — frame-accurate, no React build step","description":"Execute the render_hyperframes Social Neuron tool. Render an HTML video composition (Hyperframes) to MP4. Author the composition as HTML with data-* timing attributes and GSAP timelines — frame-accurate, no React build step. Required OAuth scope: mcp:write.","tags":["hyperframes"],"x-required-scope":"mcp:write","security":[{"bearerAuth":[]},{"oauth2":["mcp:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"composition_html":{"description":"Inline HTML composition (full <html>...</html>). Max 500KB. Use composition_url for larger.","type":"string","maxLength":500000},"composition_url":{"description":"URL for a previously uploaded composition HTML file. Use this instead of composition_html for compositions > 500KB.","type":"string"},"input_props":{"description":"JSON string of props injected into the composition root via window.__hf.props.","type":"string"},"aspect_ratio":{"description":"Output aspect ratio. Default \"9:16\".","type":"string","enum":["9:16","16:9","1:1"]},"duration_sec":{"type":"number","minimum":0.1,"maximum":600,"description":"Output duration in seconds. Required. Max 600 (10 min)."},"fps":{"description":"Frames per second. Default 30.","anyOf":[{"type":"number","const":24},{"type":"number","const":30},{"type":"number","const":60}]},"quality":{"description":"draft: fast iteration; standard: production; high: final master.","type":"string","enum":["draft","standard","high"]},"project_id":{"description":"Project ID to associate the Hyperframes render with. Required when more than one project is accessible; omitted values auto-resolve only for a sole project.","type":"string"},"response_format":{"description":"Response format. Use json for a stable job_id handoff.","type":"string","enum":["text","json"]}},"required":["duration_sec"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/list_skills":{"post":{"operationId":"list_skills","summary":"List Social Neuron content workflow skills available to the user. A skill is a brand-locked multi-step pipeline inspired by documented viral patterns (MrBeast 3-second hook, Hormozi pattern interrupt, etc.).","description":"Execute the list_skills Social Neuron tool. List Social Neuron content workflow skills available to the user. A skill is a brand-locked multi-step pipeline inspired by documented viral patterns (MrBeast 3-second hook, Hormozi pattern interrupt, etc.).. Required OAuth scope: mcp:read.","tags":["skills"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"studio":{"description":"Filter to one studio (video, avatar, carousel, voice, caption, edit).","type":"string","enum":["video","avatar","carousel","voice","caption","edit"]},"featured_only":{"description":"Return only featured (recommended) skills. Defaults to false.","type":"boolean"},"response_format":{"description":"Response format. Defaults to text — human-readable summary.","type":"string","enum":["text","json"]}}}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/get_skill":{"post":{"operationId":"get_skill","summary":"Fetch the full body of a single Social Neuron skill by slug — hand-maintained strategy/specs plus the machine-maintained \"what's working now\" compiled section. Use after list_skills for the actual platform playbook.","description":"Execute the get_skill Social Neuron tool. Fetch the full body of a single Social Neuron skill by slug — hand-maintained strategy/specs plus the machine-maintained \"what's working now\" compiled section. Use after list_skills for the actual platform playbook.. Required OAuth scope: mcp:read.","tags":["skills"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"slug":{"type":"string","description":"The skill slug (e.g. \"tiktok-content\"). Use list_skills to discover slugs."},"response_format":{"description":"Response format. Defaults to text.","type":"string","enum":["text","json"]}},"required":["slug"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}},"/tools/preview_skill":{"post":{"operationId":"preview_skill","summary":"Preview a workflow from the local skill manifest with supplied inputs, estimated credits, and a dashboard link. Does not execute, generate content, load brand defaults, or schedule anything.","description":"Execute the preview_skill Social Neuron tool. Preview a workflow from the local skill manifest with supplied inputs, estimated credits, and a dashboard link. Does not execute, generate content, load brand defaults, or schedule anything.. Required OAuth scope: mcp:read.","tags":["skills"],"x-required-scope":"mcp:read","security":[{"bearerAuth":[]},{"oauth2":["mcp:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"skill_id":{"type":"string","description":"The id of the skill to preview (e.g. \"skill-brand-locked-viral-hook-reel\"). Use list_skills to discover available ids."},"topic":{"type":"string","minLength":1,"description":"What the content is about (e.g. \"why we built Social Neuron\")."},"audience":{"description":"Who the content is for (e.g. \"first-time founders\"). Omitted values remain unset; no brand profile is loaded.","type":"string"},"hook":{"description":"Optional explicit hook. This preview does not draft or score hooks.","type":"string"},"cta":{"description":"Optional call-to-action override. Omitted values remain unset.","type":"string"},"response_format":{"description":"Response format. Defaults to text.","type":"string","enum":["text","json"]}},"required":["skill_id","topic"]}}}},"responses":{"200":{"description":"Tool executed. `isError:true` in the body indicates a tool-level error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResult"}}}},"400":{"description":"Validation error or policy block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthError"}}}},"402":{"description":"Billing error (insufficient credits).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"403":{"description":"Insufficient scope for this tool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"404":{"description":"Referenced object not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolError"}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Social Neuron API key (`snk_live_…`) or OAuth access token. Scopes are derived from the plan tier; a 403 with `error_type:\"permission_denied\"` signals an upgrade is needed."},"oauth2":{"type":"oauth2","description":"OAuth 2.1 authorization code flow with PKCE. Request the least-privilege scope required by each tool.","flows":{"authorizationCode":{"authorizationUrl":"https://mcp.socialneuron.com/authorize","tokenUrl":"https://mcp.socialneuron.com/token","scopes":{"mcp:full":"Permission to use Social Neuron tools requiring mcp:full.","mcp:read":"Permission to use Social Neuron tools requiring mcp:read.","mcp:write":"Permission to use Social Neuron tools requiring mcp:write.","mcp:distribute":"Permission to use Social Neuron tools requiring mcp:distribute.","mcp:analytics":"Permission to use Social Neuron tools requiring mcp:analytics.","mcp:comments":"Permission to use Social Neuron tools requiring mcp:comments.","mcp:autopilot":"Permission to use Social Neuron tools requiring mcp:autopilot."}}}}},"schemas":{"ToolResult":{"type":"object","description":"MCP CallToolResult. `content` carries text/structured blocks; `structuredContent` is present when the tool declares structured output.","properties":{"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"text":{"type":"string"}},"additionalProperties":true}},"structuredContent":{"type":"object","additionalProperties":true},"isError":{"type":"boolean"}}},"ToolError":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["error_type","message"],"properties":{"error_type":{"type":"string","enum":["policy_block","validation_error","permission_denied","billing_error","rate_limited","not_found","upstream_error","server_error"],"description":"Machine-readable error classification."},"message":{"type":"string"},"recover_with":{"type":"array","items":{"type":"string"}}},"additionalProperties":true}}},"AuthError":{"type":"object","required":["error","error_code","message","recover_with"],"properties":{"error":{"type":"string","description":"OAuth-style machine-readable error code."},"error_code":{"type":"string","description":"Stable Social Neuron error code."},"message":{"type":"string"},"error_description":{"type":"string"},"recover_with":{"type":"array","items":{"type":"string"}}}}}}}