{"openapi":"3.0.3","info":{"title":"Xpert API","version":"1.0.0","summary":"Grow on X (Twitter): draft in your voice, schedule, analyze, find leads and engage.","description":"Every operation below is also an MCP tool on https://mcp.xpert.so/mcp (the `x-xpert-mcp-tool` field names it) and a CLI command in @xpertso/cli. Responses use one envelope: `{ success: true, message?, ...data }` on success and `{ success: false, message, code }` on error. Most calls act on one connected X account; pass the `x-account-id` header to choose one when you have several. Human guide: https://xpert.so/developers","termsOfService":"https://xpert.so/terms","contact":{"name":"Xpert","url":"https://xpert.so/developers","email":"contact@xpert.so"}},"externalDocs":{"description":"Developer portal","url":"https://xpert.so/developers"},"servers":[{"url":"https://api.xpert.so","description":"Production"}],"tags":[{"name":"ai"},{"name":"analytics"},{"name":"api"},{"name":"approvals"},{"name":"articles"},{"name":"automation"},{"name":"best"},{"name":"competitors"},{"name":"contacts"},{"name":"discover"},{"name":"dm"},{"name":"drafts"},{"name":"engagement"},{"name":"followers"},{"name":"foryou"},{"name":"generate"},{"name":"gifs"},{"name":"learning"},{"name":"library"},{"name":"me"},{"name":"media"},{"name":"network"},{"name":"onboarding"},{"name":"posts"},{"name":"products"},{"name":"publish"},{"name":"queue"},{"name":"schedule"},{"name":"signals"},{"name":"style"},{"name":"suggestions"},{"name":"templates"},{"name":"timeline"},{"name":"x"},{"name":"xray"}],"paths":{"/v1/me":{"get":{"operationId":"get_me","summary":"Get the current user profile.","description":"Get the current user profile.","tags":["me"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"get_me","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/x/account":{"get":{"operationId":"get_x_account","summary":"Get the active X account (auto-connects if needed).","description":"Get the active X account (auto-connects if needed).","tags":["x"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"get_x_account","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/x/accounts":{"get":{"operationId":"list_x_accounts","summary":"List all X accounts you can act as.","description":"List all X accounts you can act as.","tags":["x"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"list_x_accounts","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/x/account/autosync":{"put":{"operationId":"set_autosync","summary":"Enable or disable auto-sync for the active X account.","description":"Enable or disable auto-sync for the active X account.","tags":["x"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"set_autosync","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]}}}}}},"/v1/x/account/resync":{"post":{"operationId":"resync_account","summary":"Reset the active X account and re-ingest its data.","description":"Reset the active X account and re-ingest its data.","tags":["x"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"resync_account","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/x/account/{id}":{"delete":{"operationId":"disconnect_x_account","summary":"Disconnect an X account and delete its cached data.","description":"Disconnect an X account and delete its cached data.","tags":["x"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["admin"]}],"x-xpert-scope":"admin","x-xpert-mcp-tool":"disconnect_x_account","x-destructive":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/timeline":{"get":{"operationId":"get_timeline","summary":"Read the home timeline (you + everyone you follow), newest first. Paginate older posts by passing `cursor` (an ISO da…","description":"Read the home timeline (you + everyone you follow), newest first. Paginate older posts by passing `cursor` (an ISO date from the previous page's next_cursor).","tags":["timeline"],"parameters":[{"name":"cursor","in":"query","required":false,"description":"ISO date cursor to load posts older than this.","schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"get_timeline","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/timeline/draft":{"post":{"operationId":"draft_timeline_reply","summary":"Generate a voice-matched reply, remix, or quote for a post. Returns the drafted text only — it does not publish.","description":"Generate a voice-matched reply, remix, or quote for a post. Returns the drafted text only — it does not publish.","tags":["timeline"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"draft_timeline_reply","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":2000,"description":"The target post's text to react to."},"mode":{"type":"string","enum":["reply","remix","quote"]},"replyType":{"description":"Reply angle: agree, question, addvalue, witty, contrarian, or support.","type":"string","maxLength":30},"images":{"description":"Image URLs from the target post, so the draft reflects what they show.","maxItems":4,"type":"array","items":{"type":"string","format":"uri"}}},"required":["text","mode"]}}}}}},"/v1/timeline/post":{"post":{"operationId":"post_timeline_reply","summary":"Publish a reply, quote, or standalone remix straight to X. For reply/quote, pass the target `tweetId`.","description":"Publish a reply, quote, or standalone remix straight to X. For reply/quote, pass the target `tweetId`.","tags":["timeline"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"post_timeline_reply","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":25000},"mode":{"type":"string","enum":["reply","remix","quote"]},"tweetId":{"description":"Target post id — required for reply and quote.","type":"string"}},"required":["text","mode"]}}}}}},"/v1/generate/text-to-image":{"post":{"operationId":"text_to_image","summary":"Generate an image from a text prompt via any fal model (default flux schnell). Pass `model` to pick a fal model, `asp…","description":"Generate an image from a text prompt via any fal model (default flux schnell). Pass `model` to pick a fal model, `aspect`, `negativePrompt`, `steps`, `guidance`, `seed`, or `raw` for model-specific params. Returns a public image URL.","tags":["generate"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"text_to_image","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"maxLength":2000},"model":{"type":"string","maxLength":200},"aspect":{"type":"string","enum":["1:1","16:9","4:3","3:4","9:16","5:2"]},"negativePrompt":{"type":"string","maxLength":1000},"steps":{"type":"integer","minimum":1,"maximum":50},"guidance":{"type":"number","minimum":0,"maximum":20},"seed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"raw":{"type":"object","additionalProperties":{}}},"required":["prompt"]}}}}}},"/v1/generate/image-to-image":{"post":{"operationId":"image_to_image","summary":"Restyle or vary a source image (`imageUrl`) from a prompt via any fal model. `strength` (0..1) controls how far from …","description":"Restyle or vary a source image (`imageUrl`) from a prompt via any fal model. `strength` (0..1) controls how far from the source to travel. Returns a public image URL.","tags":["generate"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"image_to_image","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"maxLength":2000},"model":{"type":"string","maxLength":200},"aspect":{"type":"string","enum":["1:1","16:9","4:3","3:4","9:16","5:2"]},"negativePrompt":{"type":"string","maxLength":1000},"steps":{"type":"integer","minimum":1,"maximum":50},"guidance":{"type":"number","minimum":0,"maximum":20},"seed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"raw":{"type":"object","additionalProperties":{}},"imageUrl":{"type":"string","maxLength":2000,"format":"uri"},"strength":{"type":"number","minimum":0,"maximum":1}},"required":["prompt","imageUrl"]}}}}}},"/v1/gifs/search":{"get":{"operationId":"search_gifs","summary":"Search Tenor for GIFs to attach to a post. Returns preview + attachable URLs.","description":"Search Tenor for GIFs to attach to a post. Returns preview + attachable URLs.","tags":["gifs"],"parameters":[{"name":"q","in":"query","required":true,"description":"What to search for","schema":{"type":"string","minLength":2,"maxLength":100}},{"name":"cursor","in":"query","required":false,"description":"next_cursor from the previous page","schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"search_gifs","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/gifs/attach":{"post":{"operationId":"attach_gif","summary":"Stage a picked GIF: fetches it server-side, stores it on the Xpert CDN, and returns a url to put in a draft block's m…","description":"Stage a picked GIF: fetches it server-side, stores it on the Xpert CDN, and returns a url to put in a draft block's mediaUrls (uploaded to X at publish).","tags":["gifs"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"attach_gif","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","maxLength":600,"format":"uri","description":"A GIPHY or Tenor media URL from search_gifs"}},"required":["url"]}}}}}},"/v1/articles/image":{"post":{"operationId":"generate_article_image","summary":"Generate an AI image with Recraft V3 and upload it to X: kind 'banner' renders the title as bold poster typography (f…","description":"Generate an AI image with Recraft V3 and upload it to X: kind 'banner' renders the title as bold poster typography (for covers), 'inline' makes a no-text section illustration. Returns the X mediaId to attach plus a preview URL.","tags":["articles"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"generate_article_image","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"default":"banner","type":"string","enum":["banner","inline","post"]},"prompt":{"type":"string","minLength":1,"maxLength":1000},"vibe":{"type":"string","maxLength":200},"model":{"type":"string","maxLength":200}},"required":["prompt"]}}}}}},"/v1/articles/upload":{"post":{"operationId":"upload_article_image","summary":"Upload an image for the article editor (multipart 'file'); returns a CDN URL to embed.","description":"Upload an image for the article editor (multipart 'file'); returns a CDN URL to embed.","tags":["articles"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"upload_article_image","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/articles/media":{"post":{"operationId":"resolve_article_media","summary":"Resolve an Xpert CDN image URL to an X mediaId for attaching to an article.","description":"Resolve an Xpert CDN image URL to an X mediaId for attaching to an article.","tags":["articles"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"resolve_article_media","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","maxLength":2000,"format":"uri"}},"required":["url"]}}}}}},"/v1/articles/import":{"get":{"operationId":"import_article","summary":"Pull a PUBLISHED X Article (anyone's) by its tweet id, mapped to editor blocks — competitor/article research.","description":"Pull a PUBLISHED X Article (anyone's) by its tweet id, mapped to editor blocks — competitor/article research.","tags":["articles"],"parameters":[{"name":"tweetId","in":"query","required":true,"description":"The tweet id of the article post","schema":{"type":"string","minLength":5}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"import_article","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/articles":{"post":{"operationId":"create_article","summary":"Create a long-form X Article from blocks (text / heading / image-with-mediaId), with optional AI cover via coverMedia…","description":"Create a long-form X Article from blocks (text / heading / image-with-mediaId), with optional AI cover via coverMediaId. Set publish=true to go live immediately; otherwise it stays a draft on X.","tags":["articles"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"create_article","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":200},"blocks":{"minItems":1,"maxItems":400,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string","minLength":1,"maxLength":10000}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["heading"]},"text":{"type":"string","minLength":1,"maxLength":300}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["subheading"]},"text":{"type":"string","minLength":1,"maxLength":300}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["list_item"]},"text":{"type":"string","minLength":1,"maxLength":2000}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["ordered_list_item"]},"text":{"type":"string","minLength":1,"maxLength":2000}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["quote"]},"text":{"type":"string","minLength":1,"maxLength":2000}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["image"]},"mediaId":{"type":"string","minLength":1}},"required":["type","mediaId"]}]}},"coverMediaId":{"type":"string"},"publish":{"default":false,"type":"boolean"}},"required":["title","blocks"]}}}}}},"/v1/foryou":{"get":{"operationId":"list_foryou","summary":"The For You feed: pre-drafted, voice-matched replies to fresh rising posts from your network. Each card carries the t…","description":"The For You feed: pre-drafted, voice-matched replies to fresh rising posts from your network. Each card carries the target post and a ready reply draft.","tags":["foryou"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"list_foryou","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/foryou/{id}/dismiss":{"post":{"operationId":"dismiss_foryou","summary":"Dismiss a For You reply card.","description":"Dismiss a For You reply card.","tags":["foryou"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"dismiss_foryou","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/foryou/{id}/regenerate":{"post":{"operationId":"regenerate_foryou","summary":"Regenerate the drafted reply on a For You card (metered).","description":"Regenerate the drafted reply on a For You card (metered).","tags":["foryou"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"regenerate_foryou","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/foryou/{id}/post":{"post":{"operationId":"post_foryou","summary":"Publish a For You reply to X now, optionally with edited text.","description":"Publish a For You reply to X now, optionally with edited text.","tags":["foryou"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"post_foryou","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"description":"Edited reply text; defaults to the stored draft.","type":"string","minLength":1,"maxLength":25000},"when":{"description":"Schedule only: 'next_slot', 'best_time', or an ISO 8601 datetime.","type":"string","minLength":4,"maxLength":40}}}}}}}},"/v1/foryou/{id}/schedule":{"post":{"operationId":"schedule_foryou","summary":"Schedule a For You reply for later: pass when = 'next_slot', 'best_time', or an ISO datetime.","description":"Schedule a For You reply for later: pass when = 'next_slot', 'best_time', or an ISO datetime.","tags":["foryou"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"schedule_foryou","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"description":"Edited reply text; defaults to the stored draft.","type":"string","minLength":1,"maxLength":25000},"when":{"description":"Schedule only: 'next_slot', 'best_time', or an ISO 8601 datetime.","type":"string","minLength":4,"maxLength":40}}}}}}}},"/v1/signals":{"get":{"operationId":"list_signals","summary":"Leads found by your keyword monitors: posts the intent classifier scored as commercial intent (shopping / frustrated …","description":"Leads found by your keyword monitors: posts the intent classifier scored as commercial intent (shopping / frustrated / curious), best first. Reply via the engagement item endpoints.","tags":["signals"],"parameters":[{"name":"minScore","in":"query","required":false,"description":"Minimum intent score (default 55).","schema":{"type":"integer","minimum":0,"maximum":100}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"list_signals","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/contacts":{"get":{"operationId":"list_contacts","summary":"The org's CRM contact list (leads, engagers, partners) with tags and notes.","description":"The org's CRM contact list (leads, engagers, partners) with tags and notes.","tags":["contacts"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"list_contacts","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"add_contact","summary":"Add or update a contact by handle, with optional tags, notes and source.","description":"Add or update a contact by handle, with optional tags, notes and source.","tags":["contacts"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"add_contact","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"handle":{"type":"string","minLength":1,"maxLength":50},"name":{"type":"string","maxLength":120},"xUserId":{"type":"string","maxLength":40},"avatarUrl":{"type":"string","maxLength":2000,"format":"uri"},"bio":{"type":"string","maxLength":1000},"tags":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":40}},"notes":{"type":"string","maxLength":4000},"source":{"type":"string","enum":["signal","engager","follower","manual","agent"]}},"required":["handle"]}}}}}},"/v1/contacts/by-handle/{handle}":{"get":{"operationId":"get_contact_by_handle","summary":"Look up a CRM contact by X handle.","description":"Look up a CRM contact by X handle.","tags":["contacts"],"parameters":[{"name":"handle","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"get_contact_by_handle","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/contacts/batch":{"post":{"operationId":"add_contacts_batch","summary":"Save up to 50 X users to the org's Contacts CRM in one call (upsert by handle; existing notes are kept unless new one…","description":"Save up to 50 X users to the org's Contacts CRM in one call (upsert by handle; existing notes are kept unless new ones are given). The assistant's Fresh-leads card uses this.","tags":["contacts"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"add_contacts_batch","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"contacts":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"object","properties":{"handle":{"type":"string","minLength":1,"maxLength":50},"name":{"type":"string","maxLength":120},"xUserId":{"type":"string","maxLength":40},"avatarUrl":{"type":"string","maxLength":2000,"format":"uri"},"bio":{"type":"string","maxLength":1000},"tags":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":40}},"notes":{"type":"string","maxLength":4000},"source":{"type":"string","enum":["signal","engager","follower","manual","agent"]}},"required":["handle"]}}},"required":["contacts"]}}}}}},"/v1/contacts/{id}":{"put":{"operationId":"update_contact","summary":"Update a contact's name, tags or notes.","description":"Update a contact's name, tags or notes.","tags":["contacts"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"update_contact","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"handle":{"type":"string","minLength":1,"maxLength":50},"name":{"type":"string","maxLength":120},"xUserId":{"type":"string","maxLength":40},"avatarUrl":{"type":"string","maxLength":2000,"format":"uri"},"bio":{"type":"string","maxLength":1000},"tags":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":40}},"notes":{"type":"string","maxLength":4000},"source":{"type":"string","enum":["signal","engager","follower","manual","agent"]}},"required":["handle"]}}}}},"delete":{"operationId":"delete_contact","summary":"Delete a contact.","description":"Delete a contact.","tags":["contacts"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"delete_contact","x-destructive":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/network/pulse":{"get":{"operationId":"network_pulse","summary":"What's resonating across the accounts you follow right now: top posts of the last 48h ranked by engagement rate, plus…","description":"What's resonating across the accounts you follow right now: top posts of the last 48h ranked by engagement rate, plus the current author leaderboard.","tags":["network"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"network_pulse","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/network/authors":{"get":{"operationId":"network_authors","summary":"Leaderboard of the followed authors driving engagement in your feed, with each author's current top post.","description":"Leaderboard of the followed authors driving engagement in your feed, with each author's current top post.","tags":["network"],"parameters":[{"name":"sort","in":"query","required":false,"description":"Rank by avg engagement (default) or post volume.","schema":{"type":"string","enum":["engagement","volume"]}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"network_authors","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/network/opportunities":{"get":{"operationId":"network_opportunities","summary":"Reply opportunities: fresh posts from your network that are semantically in your lane AND still gaining engagement — …","description":"Reply opportunities: fresh posts from your network that are semantically in your lane AND still gaining engagement — the highest-leverage posts to reply to right now.","tags":["network"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"network_opportunities","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/network/brief":{"get":{"operationId":"network_brief","summary":"AI intelligence brief on your corner of X: themes, momentum, and a concrete playbook grounded in what your network po…","description":"AI intelligence brief on your corner of X: themes, momentum, and a concrete playbook grounded in what your network posted. Cached ~12h; pass refresh=1 to regenerate (metered).","tags":["network"],"parameters":[{"name":"refresh","in":"query","required":false,"description":"Force a fresh brief instead of the cached one.","schema":{"type":"string","enum":["1"]}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"network_brief","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/network/sync":{"post":{"operationId":"sync_network","summary":"Re-embed new timeline posts and refresh the network author rollup now (normally hourly).","description":"Re-embed new timeline posts and refresh the network author rollup now (normally hourly).","tags":["network"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"sync_network","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/network/audience":{"get":{"operationId":"audience_interests","summary":"Semantic search over your FOLLOWERS' bios: who in your audience cares about a topic, with their bio and reach.","description":"Semantic search over your FOLLOWERS' bios: who in your audience cares about a topic, with their bio and reach.","tags":["network"],"parameters":[{"name":"q","in":"query","required":true,"description":"Topic to match against follower bios","schema":{"type":"string","minLength":2}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"audience_interests","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/engagement/monitors":{"get":{"operationId":"list_monitors","summary":"List engagement monitors.","description":"List engagement monitors.","tags":["engagement"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"list_monitors","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"create_monitor","summary":"Create an engagement monitor (mentions / keyword / competitor).","description":"Create an engagement monitor (mentions / keyword / competitor).","tags":["engagement"],"security":[{"apiKey":[]},{"oauth2":["engage"]}],"x-xpert-scope":"engage","x-xpert-mcp-tool":"create_monitor","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["mentions","keyword","competitor"]},"query":{"type":"string","minLength":1,"maxLength":500},"enabled":{"default":true,"type":"boolean"}},"required":["type","query"]}}}}}},"/v1/engagement/monitors/{id}":{"delete":{"operationId":"delete_monitor","summary":"Delete an engagement monitor.","description":"Delete an engagement monitor.","tags":["engagement"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["engage"]}],"x-xpert-scope":"engage","x-xpert-mcp-tool":"delete_monitor","x-destructive":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/engagement/items":{"get":{"operationId":"list_engagement_items","summary":"List engagement items across monitors.","description":"List engagement items across monitors.","tags":["engagement"],"parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"startingAfter","in":"query","required":false,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"list_engagement_items","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/engagement/items/{id}/suggest":{"post":{"operationId":"suggest_engagement_reply","summary":"AI-generate a reply suggestion for an engagement item.","description":"AI-generate a reply suggestion for an engagement item.","tags":["engagement"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["engage"]}],"x-xpert-scope":"engage","x-xpert-mcp-tool":"suggest_engagement_reply","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/engagement/items/{id}/respond":{"post":{"operationId":"respond_to_engagement","summary":"Queue a reply to an engagement item for approval.","description":"Queue a reply to an engagement item for approval.","tags":["engagement"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["engage"]}],"x-xpert-scope":"engage","x-xpert-mcp-tool":"respond_to_engagement","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string","maxLength":25000}}}}}}}},"/v1/engagement/items/{id}/ignore":{"post":{"operationId":"ignore_engagement_item","summary":"Mark an engagement item as ignored.","description":"Mark an engagement item as ignored.","tags":["engagement"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["engage"]}],"x-xpert-scope":"engage","x-xpert-mcp-tool":"ignore_engagement_item","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/schedule":{"get":{"operationId":"list_scheduled_posts","summary":"List pending scheduled posts.","description":"List pending scheduled posts.","tags":["schedule"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"startingAfter","in":"query","required":false,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"list_scheduled_posts","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"schedule_post","summary":"Schedule a draft for future publication.","description":"Schedule a draft for future publication.","tags":["schedule"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"schedule_post","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"draftId":{"type":"string"},"scheduledAt":{},"timezone":{"default":"UTC","type":"string"},"useNextQueueSlot":{"default":false,"type":"boolean"},"useBestTime":{"default":false,"type":"boolean"}},"required":["draftId"]}}}}}},"/v1/schedule/{id}":{"delete":{"operationId":"cancel_scheduled_post","summary":"Cancel a pending scheduled post.","description":"Cancel a pending scheduled post.","tags":["schedule"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"cancel_scheduled_post","x-destructive":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/publish/now":{"post":{"operationId":"publish_now","summary":"Publish a draft immediately.","description":"Publish a draft immediately.","tags":["publish"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"publish_now","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"draftId":{"type":"string","minLength":1}},"required":["draftId"]}}}}}},"/v1/queue/slots":{"get":{"operationId":"get_queue_slots","summary":"List the manual posting-queue time slots.","description":"List the manual posting-queue time slots.","tags":["queue"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"get_queue_slots","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"operationId":"set_queue_slots","summary":"Replace the manual posting-queue time slots.","description":"Replace the manual posting-queue time slots.","tags":["queue"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"set_queue_slots","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"dayOfWeek":{"type":"integer","minimum":0,"maximum":6},"timeOfDay":{"type":"integer","minimum":0,"maximum":1439},"enabled":{"default":true,"type":"boolean"}},"required":["dayOfWeek","timeOfDay"]}}}}}}},"/v1/best/times":{"get":{"operationId":"list_best_times","summary":"List data-driven best posting times.","description":"List data-driven best posting times.","tags":["best"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"list_best_times","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/analytics/overview":{"get":{"operationId":"analytics_overview","summary":"Account snapshot: followers, posts and 24h metric deltas.","description":"Account snapshot: followers, posts and 24h metric deltas.","tags":["analytics"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"analytics_overview","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/analytics/growth":{"get":{"operationId":"analytics_growth","summary":"Follower/growth chart data.","description":"Follower/growth chart data.","tags":["analytics"],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":365}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"analytics_growth","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/analytics/activity":{"get":{"operationId":"analytics_activity","summary":"Daily activity buckets (posts, views, likes, engagement rate).","description":"Daily activity buckets (posts, views, likes, engagement rate).","tags":["analytics"],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":90}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"analytics_activity","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/analytics/content":{"get":{"operationId":"analytics_content","summary":"Content effectiveness stats and top posts.","description":"Content effectiveness stats and top posts.","tags":["analytics"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"analytics_content","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/analytics/posts/{xPostId}/metrics":{"get":{"operationId":"post_metrics_history","summary":"Metric history for a single post.","description":"Metric history for a single post.","tags":["analytics"],"parameters":[{"name":"xPostId","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"post_metrics_history","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/analytics/realtime":{"get":{"operationId":"analytics_realtime","summary":"Real-time metrics for the latest own posts.","description":"Real-time metrics for the latest own posts.","tags":["analytics"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"analytics_realtime","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/analytics/followers/history":{"get":{"operationId":"follower_history","summary":"Daily follower-count history (gained/lost/net).","description":"Daily follower-count history (gained/lost/net).","tags":["analytics"],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":90}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"follower_history","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/analytics/calibration":{"get":{"operationId":"analytics_calibration","summary":"How well the AI predictor has matched reality for this account: measured samples, mean bias of actual vs predicted en…","description":"How well the AI predictor has matched reality for this account: measured samples, mean bias of actual vs predicted engagement rate (pct points), and share of predictions within 1pp.","tags":["analytics"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"analytics_calibration","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/analytics/genome":{"get":{"operationId":"analytics_genome","summary":"Content genome: your recent posts clustered into up to 6 labelled themes with post count and average engagement rate …","description":"Content genome: your recent posts clustered into up to 6 labelled themes with post count and average engagement rate per theme, best first. Cached 24h.","tags":["analytics"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"analytics_genome","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/competitors":{"get":{"operationId":"list_competitors","summary":"List the competitor handles tracked for the active account (max 3).","description":"List the competitor handles tracked for the active account (max 3).","tags":["competitors"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"list_competitors","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"add_competitor","summary":"Track a competitor handle (hard cap 3 per account). The weekly autopsy analyses their top posts against your own posi…","description":"Track a competitor handle (hard cap 3 per account). The weekly autopsy analyses their top posts against your own positioning.","tags":["competitors"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"add_competitor","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"handle":{"type":"string","minLength":1,"maxLength":50},"name":{"type":"string","maxLength":120},"avatarUrl":{"type":"string","maxLength":2000,"format":"uri"}},"required":["handle"]}}}}}},"/v1/competitors/{id}":{"delete":{"operationId":"delete_competitor","summary":"Stop tracking a competitor.","description":"Stop tracking a competitor.","tags":["competitors"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"delete_competitor","x-destructive":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/competitors/analysis":{"get":{"operationId":"competitor_analysis","summary":"The cached weekly competitor autopsy: per-competitor observations of what's working for them, each with a concrete an…","description":"The cached weekly competitor autopsy: per-competitor observations of what's working for them, each with a concrete angle for you.","tags":["competitors"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"competitor_analysis","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/xray/{handle}":{"get":{"operationId":"get_profile_xray","summary":"The cached Profile X-ray of any X account: voice, topics, what works, hook formulas, cadence, weaknesses, and how to …","description":"The cached Profile X-ray of any X account: voice, topics, what works, hook formulas, cadence, weaknesses, and how to get their attention. 404 until analyze_profile has run.","tags":["xray"],"parameters":[{"name":"handle","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"get_profile_xray","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"analyze_profile","summary":"Run (or re-run) a Profile X-ray on any public X account: pulls their recent posts, computes engagement stats, and pro…","description":"Run (or re-run) a Profile X-ray on any public X account: pulls their recent posts, computes engagement stats, and produces a deep AI analysis cached for the org. Metered (credits).","tags":["xray"],"parameters":[{"name":"handle","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"analyze_profile","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/drafts":{"get":{"operationId":"list_drafts","summary":"List drafts.","description":"List drafts.","tags":["drafts"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"startingAfter","in":"query","required":false,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"list_drafts","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"create_draft","summary":"Create a draft (post / thread / article).","description":"Create a draft (post / thread / article).","tags":["drafts"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"create_draft","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"type":"string","enum":["post","thread","article"]},"title":{"type":"string","maxLength":200},"content":{"minItems":1,"type":"array","items":{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":25000},"mediaIds":{"type":"array","items":{"type":"string"}},"mediaUrls":{"maxItems":4,"type":"array","items":{"type":"string","format":"uri"}}},"required":["text"]}},"sourceTrendId":{"type":"string"},"replyToXPostId":{"type":"string","maxLength":40},"replyToHandle":{"type":"string","maxLength":50},"communityId":{"type":"string","maxLength":40},"articleHtml":{"type":"string","maxLength":200000},"coverMediaId":{"type":"string","maxLength":200},"coverUrl":{"type":"string","maxLength":2000},"brief":{"type":"string","maxLength":4000},"tone":{"type":"string","maxLength":100},"settings":{"type":"object","additionalProperties":{"type":"boolean"}},"prediction":{},"articleBlocks":{"maxItems":400,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string","minLength":1,"maxLength":10000}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["heading"]},"text":{"type":"string","minLength":1,"maxLength":300}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["subheading"]},"text":{"type":"string","minLength":1,"maxLength":300}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["list_item"]},"text":{"type":"string","minLength":1,"maxLength":2000}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["ordered_list_item"]},"text":{"type":"string","minLength":1,"maxLength":2000}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["quote"]},"text":{"type":"string","minLength":1,"maxLength":2000}},"required":["type","text"]}]}}},"required":["kind","content"]}}}}}},"/v1/drafts/{id}":{"get":{"operationId":"get_draft","summary":"Get a draft.","description":"Get a draft.","tags":["drafts"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"get_draft","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"operationId":"update_draft","summary":"Update a draft.","description":"Update a draft.","tags":["drafts"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"update_draft","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"kind":{"type":"string","enum":["post","thread","article"]},"title":{"type":"string","maxLength":200},"content":{"minItems":1,"type":"array","items":{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":25000},"mediaIds":{"type":"array","items":{"type":"string"}},"mediaUrls":{"maxItems":4,"type":"array","items":{"type":"string","format":"uri"}}},"required":["text"]}},"sourceTrendId":{"type":"string"},"replyToXPostId":{"type":"string","maxLength":40},"replyToHandle":{"type":"string","maxLength":50},"communityId":{"type":"string","maxLength":40},"articleHtml":{"type":"string","maxLength":200000},"coverMediaId":{"type":"string","maxLength":200},"coverUrl":{"type":"string","maxLength":2000},"brief":{"type":"string","maxLength":4000},"tone":{"type":"string","maxLength":100},"settings":{"type":"object","additionalProperties":{"type":"boolean"}},"prediction":{},"articleBlocks":{"maxItems":400,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string","minLength":1,"maxLength":10000}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["heading"]},"text":{"type":"string","minLength":1,"maxLength":300}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["subheading"]},"text":{"type":"string","minLength":1,"maxLength":300}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["list_item"]},"text":{"type":"string","minLength":1,"maxLength":2000}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["ordered_list_item"]},"text":{"type":"string","minLength":1,"maxLength":2000}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","enum":["quote"]},"text":{"type":"string","minLength":1,"maxLength":2000}},"required":["type","text"]}]}}}}}}}},"delete":{"operationId":"delete_draft","summary":"Delete a draft.","description":"Delete a draft.","tags":["drafts"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"delete_draft","x-destructive":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/dm/campaigns":{"get":{"operationId":"list_dm_campaigns","summary":"List DM outreach campaigns.","description":"List DM outreach campaigns.","tags":["dm"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"startingAfter","in":"query","required":false,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["dm"]}],"x-xpert-scope":"dm","x-xpert-mcp-tool":"list_dm_campaigns","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"create_dm_campaign","summary":"Create a DM outreach campaign (bulk messaging).","description":"Create a DM outreach campaign (bulk messaging).","tags":["dm"],"security":[{"apiKey":[]},{"oauth2":["dm"]}],"x-xpert-scope":"dm","x-xpert-mcp-tool":"create_dm_campaign","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"messageTemplate":{"type":"string","minLength":1,"maxLength":10000},"audience":{"type":"object","properties":{"handles":{"maxItems":500,"type":"array","items":{"type":"string"}},"filters":{"type":"object","additionalProperties":{}}}},"dailyCap":{"default":25,"type":"integer","minimum":1,"maximum":50},"totalCap":{"default":500,"type":"integer","minimum":1,"maximum":5000}},"required":["name","messageTemplate","audience"]}}}}}},"/v1/dm/campaigns/{id}":{"get":{"operationId":"get_dm_campaign","summary":"Get a DM campaign and its targets.","description":"Get a DM campaign and its targets.","tags":["dm"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["dm"]}],"x-xpert-scope":"dm","x-xpert-mcp-tool":"get_dm_campaign","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/dm/campaigns/{id}/launch":{"post":{"operationId":"launch_dm_campaign","summary":"Queue a DM campaign's targets for approval.","description":"Queue a DM campaign's targets for approval.","tags":["dm"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["dm"]}],"x-xpert-scope":"dm","x-xpert-mcp-tool":"launch_dm_campaign","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/dm/campaigns/{id}/pause":{"post":{"operationId":"pause_dm_campaign","summary":"Pause a DM campaign.","description":"Pause a DM campaign.","tags":["dm"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["dm"]}],"x-xpert-scope":"dm","x-xpert-mcp-tool":"pause_dm_campaign","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/api/keys":{"get":{"operationId":"list_api_keys","summary":"List active API keys.","description":"List active API keys.","tags":["api"],"security":[{"apiKey":[]},{"oauth2":["admin"]}],"x-xpert-scope":"admin","x-xpert-mcp-tool":"list_api_keys","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"create_api_key","summary":"Create an API key (the secret is returned once).","description":"Create an API key (the secret is returned once).","tags":["api"],"security":[{"apiKey":[]},{"oauth2":["admin"]}],"x-xpert-scope":"admin","x-xpert-mcp-tool":"create_api_key","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"scopes":{"default":["read","write"],"type":"array","items":{"type":"string"}}},"required":["name"]}}}}}},"/v1/api/keys/{id}":{"delete":{"operationId":"revoke_api_key","summary":"Revoke an API key.","description":"Revoke an API key.","tags":["api"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["admin"]}],"x-xpert-scope":"admin","x-xpert-mcp-tool":"revoke_api_key","x-destructive":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/posts":{"get":{"operationId":"list_posts","summary":"List your own posts with metrics.","description":"List your own posts with metrics.","tags":["posts"],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":9007199254740991}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"order","in":"query","required":false,"schema":{"type":"string","enum":["asc","desc"]}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"list_posts","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/posts/lookup/{id}":{"get":{"operationId":"lookup_post","summary":"Look up ANY public X post by its id: text, author, media and metrics. Powers embed previews and post research.","description":"Look up ANY public X post by its id: text, author, media and metrics. Powers embed previews and post research.","tags":["posts"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"lookup_post","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/automation/settings":{"get":{"operationId":"get_automation_settings","summary":"Get automation settings for the active account.","description":"Get automation settings for the active account.","tags":["automation"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"get_automation_settings","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"operationId":"update_automation_settings","summary":"Update automation settings (CTA, auto-DM, auto-delete).","description":"Update automation settings (CTA, auto-DM, auto-delete).","tags":["automation"],"security":[{"apiKey":[]},{"oauth2":["engage"]}],"x-xpert-scope":"engage","x-xpert-mcp-tool":"update_automation_settings","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ctaEnabled":{"type":"boolean"},"ctaText":{"type":"string","maxLength":2000},"ctaTriggerLikes":{"type":"integer","minimum":0,"maximum":9007199254740991},"engageDmEnabled":{"type":"boolean"},"engageDmTemplate":{"type":"string","maxLength":10000},"autoDeleteEnabled":{"type":"boolean"},"autoDeleteMaxLikes":{"type":"integer","minimum":0,"maximum":9007199254740991},"autoDeleteAfterHours":{"type":"integer","minimum":1,"maximum":9007199254740991},"autoRepostEnabled":{"type":"boolean"},"autoRepostAfterHours":{"type":"integer","minimum":1,"maximum":24}}}}}}}},"/v1/automation/digest":{"put":{"operationId":"set_digest_prefs","summary":"Set daily-digest (morning prep) preferences: local hour and timezone (null hour opts out).","description":"Set daily-digest (morning prep) preferences: local hour and timezone (null hour opts out).","tags":["automation"],"security":[{"apiKey":[]},{"oauth2":["engage"]}],"x-xpert-scope":"engage","x-xpert-mcp-tool":"set_digest_prefs","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"digestHour":{"nullable":true,"description":"Local hour (0-23) to send the daily digest; null opts out.","type":"integer","minimum":0,"maximum":23},"digestTimezone":{"nullable":true,"type":"string","maxLength":64}},"required":["digestHour","digestTimezone"]}}}}}},"/v1/onboarding/status":{"get":{"operationId":"onboarding_status","summary":"Check onboarding / ingest progress.","description":"Check onboarding / ingest progress.","tags":["onboarding"],"security":[{"apiKey":[]},{"oauth2":["admin"]}],"x-xpert-scope":"admin","x-xpert-mcp-tool":"onboarding_status","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/onboarding/start":{"post":{"operationId":"start_onboarding","summary":"Kick off background profile sync (requires a connected X account).","description":"Kick off background profile sync (requires a connected X account).","tags":["onboarding"],"security":[{"apiKey":[]},{"oauth2":["admin"]}],"x-xpert-scope":"admin","x-xpert-mcp-tool":"start_onboarding","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/ai/autopilot":{"post":{"operationId":"autopilot_draft","summary":"Agentic draft loop: generates a post/thread in your voice, predicts its hit score against YOUR history, applies its o…","description":"Agentic draft loop: generates a post/thread in your voice, predicts its hit score against YOUR history, applies its own critique (stronger opener + weak-span rewrites), re-scores, and does one targeted AI revision if still under targetScore. Returns the final draft, before/after scores, the prediction, and the step-by-step trace.","tags":["ai"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"autopilot_draft","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"maxLength":4000},"kind":{"default":"post","type":"string","enum":["post","thread"]},"tone":{"type":"string","maxLength":100},"style":{"default":"default","type":"string","enum":["default","clickbait","selling","storytelling","educational","contrarian","listicle","inspirational","authority","casual"]},"useStyleEngine":{"default":true,"type":"boolean"},"webSearch":{"default":false,"type":"boolean"},"xSearch":{"default":false,"type":"boolean"},"networkContext":{"default":false,"type":"boolean"},"targetScore":{"default":70,"type":"integer","minimum":40,"maximum":95}},"required":["prompt"]}}}}}},"/v1/ai/compose":{"post":{"operationId":"compose_post","summary":"Generate post text with AI in your voice. Returns the generated text.","description":"Generate post text with AI in your voice. Returns the generated text.","tags":["ai"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"compose_post","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"maxLength":4000},"kind":{"default":"post","type":"string","enum":["post","thread","article"]},"tone":{"type":"string","maxLength":100},"style":{"default":"default","type":"string","enum":["default","clickbait","selling","storytelling","educational","contrarian","listicle","inspirational","authority","casual"]},"useStyleEngine":{"default":true,"type":"boolean"},"webSearch":{"default":false,"type":"boolean"},"xSearch":{"default":false,"type":"boolean"},"networkContext":{"default":false,"type":"boolean"},"trendId":{"type":"string"}},"required":["prompt"]}}}}}},"/v1/ai/rewrite":{"post":{"operationId":"rewrite_text","summary":"Rewrite text with AI. Returns the rewritten text.","description":"Rewrite text with AI. Returns the rewritten text.","tags":["ai"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"rewrite_text","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":25000},"instruction":{"type":"string","maxLength":1000},"context":{"type":"string","maxLength":25000},"style":{"default":"default","type":"string","enum":["default","clickbait","selling","storytelling","educational","contrarian","listicle","inspirational","authority","casual"]},"useStyleEngine":{"default":true,"type":"boolean"}},"required":["text"]}}}}}},"/v1/ai/predict":{"post":{"operationId":"predict_post","summary":"Predict how a draft post will perform: an engagement estimate from your own most-similar past posts plus an AI hook c…","description":"Predict how a draft post will perform: an engagement estimate from your own most-similar past posts plus an AI hook critique.","tags":["ai"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"predict_post","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":25000},"draftId":{"type":"string","maxLength":100}},"required":["text"]}}}}}},"/v1/ai/strategy":{"get":{"operationId":"strategy_coach","summary":"Get an AI growth action plan for the next 7 days, grounded in your real analytics.","description":"Get an AI growth action plan for the next 7 days, grounded in your real analytics.","tags":["ai"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"strategy_coach","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/x/connect/start":{"get":{"operationId":"get_x_connect_url","summary":"Get a URL to connect a new X account (open it in a browser to finish).","description":"Get a URL to connect a new X account (open it in a browser to finish).","tags":["x"],"security":[{"apiKey":[]},{"oauth2":["admin"]}],"x-xpert-scope":"admin","x-xpert-mcp-tool":"get_x_connect_url","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/approvals":{"get":{"operationId":"list_approvals","summary":"List approval-queue items.","description":"List approval-queue items.","tags":["approvals"],"parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"startingAfter","in":"query","required":false,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"list_approvals","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/approvals/{id}/approve":{"post":{"operationId":"approve_item","summary":"Approve a queued item.","description":"Approve a queued item.","tags":["approvals"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["engage"]}],"x-xpert-scope":"engage","x-xpert-mcp-tool":"approve_item","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/approvals/{id}/reject":{"post":{"operationId":"reject_item","summary":"Reject a queued item.","description":"Reject a queued item.","tags":["approvals"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["engage"]}],"x-xpert-scope":"engage","x-xpert-mcp-tool":"reject_item","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/approvals/bulk":{"post":{"operationId":"bulk_approvals","summary":"Bulk approve or reject queued items.","description":"Bulk approve or reject queued items.","tags":["approvals"],"security":[{"apiKey":[]},{"oauth2":["engage"]}],"x-xpert-scope":"engage","x-xpert-mcp-tool":"bulk_approvals","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string"}},"decision":{"type":"string","enum":["approved","rejected"]}},"required":["ids","decision"]}}}}}},"/v1/style/profile":{"get":{"operationId":"get_style_profile","summary":"Get the writing-style profile for the active account.","description":"Get the writing-style profile for the active account.","tags":["style"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"get_style_profile","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"operationId":"update_style_profile","summary":"Save manual edits to the writing-style profile.","description":"Save manual edits to the writing-style profile.","tags":["style"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"update_style_profile","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}}}},"/v1/style/profile/reanalyze":{"post":{"operationId":"reanalyze_style","summary":"Re-derive the style profile from cached posts.","description":"Re-derive the style profile from cached posts.","tags":["style"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"reanalyze_style","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/style/profile/brief":{"post":{"operationId":"regenerate_style_brief","summary":"Regenerate the account's About brief from live signals (bio, site, likes, bookmarks, lists).","description":"Regenerate the account's About brief from live signals (bio, site, likes, bookmarks, lists).","tags":["style"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"regenerate_style_brief","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/style/sample/search":{"post":{"operationId":"search_my_posts","summary":"Semantic search over your own posts.","description":"Semantic search over your own posts.","tags":["style"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"search_my_posts","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"topic":{"type":"string","minLength":1,"maxLength":500},"topK":{"type":"integer","minimum":1,"maximum":50}},"required":["topic"]}}}}}},"/v1/suggestions":{"get":{"operationId":"list_suggestions","summary":"List pending AI post suggestions.","description":"List pending AI post suggestions.","tags":["suggestions"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"list_suggestions","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/suggestions/refresh":{"post":{"operationId":"refresh_suggestions","summary":"Generate missing AI post suggestions now.","description":"Generate missing AI post suggestions now.","tags":["suggestions"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"refresh_suggestions","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/suggestions/{id}/post":{"post":{"operationId":"post_suggestion","summary":"Publish a suggested post immediately.","description":"Publish a suggested post immediately.","tags":["suggestions"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"post_suggestion","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/suggestions/{id}/dismiss":{"post":{"operationId":"dismiss_suggestion","summary":"Dismiss a suggested post.","description":"Dismiss a suggested post.","tags":["suggestions"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"dismiss_suggestion","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/library":{"get":{"operationId":"browse_viral_library","summary":"Browse the global viral-post library; filter by niche/hook/format, sort by score or recency.","description":"Browse the global viral-post library; filter by niche/hook/format, sort by score or recency.","tags":["library"],"parameters":[{"name":"niche","in":"query","required":false,"schema":{"type":"string"}},{"name":"hook","in":"query","required":false,"schema":{"type":"string"}},{"name":"format","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"browse_viral_library","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/library/niches":{"get":{"operationId":"list_library_niches","summary":"List the niches the viral library covers.","description":"List the niches the viral library covers.","tags":["library"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"list_library_niches","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/library/search":{"post":{"operationId":"search_viral_library","summary":"Semantic search across the viral library — find high-performing posts similar to a topic or to your own post.","description":"Semantic search across the viral library — find high-performing posts similar to a topic or to your own post.","tags":["library"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"search_viral_library","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":500},"niche":{"type":"string","maxLength":50},"limit":{"type":"integer","minimum":1,"maximum":50}},"required":["query"]}}}}}},"/v1/discover":{"get":{"operationId":"discover_posts","summary":"Semantic search over a shared, growing corpus of public X posts — find high-performing tweets on any topic to riff on…","description":"Semantic search over a shared, growing corpus of public X posts — find high-performing tweets on any topic to riff on. Each search also backfills fresh results from the firehose into the shared corpus.","tags":["discover"],"parameters":[{"name":"q","in":"query","required":true,"description":"Topic or phrase to search for","schema":{"type":"string","minLength":2}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"discover_posts","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/discover/users":{"get":{"operationId":"search_users","summary":"Find X ACCOUNTS by keyword (bio/name match) — competitor discovery, prospecting, contact enrichment. Returns profiles…","description":"Find X ACCOUNTS by keyword (bio/name match) — competitor discovery, prospecting, contact enrichment. Returns profiles with follower counts.","tags":["discover"],"parameters":[{"name":"q","in":"query","required":true,"description":"Keyword to search people for","schema":{"type":"string","minLength":2}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"search_users","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/discover/people":{"post":{"operationId":"find_people","summary":"Find real X accounts matching an audience description: authors of posts matching your queries (active on the topic ri…","description":"Find real X accounts matching an audience description: authors of posts matching your queries (active on the topic right now) merged with bio matches, deduped and enriched with bio, followers, and a sample post. The caller judges relevance and picks the keepers.","tags":["discover"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"find_people","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"postQueries":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","minLength":2,"maxLength":120},"description":"Concrete X search queries phrased how the target audience actually posts, e.g. 'building in public MRR'."},"bioQuery":{"type":"string","minLength":2,"maxLength":80,"description":"Keywords likely in their bios, e.g. 'indie hacker SaaS'."},"limit":{"type":"integer","minimum":5,"maximum":30}},"required":["postQueries","bioQuery"]}}}}}},"/v1/discover/leads":{"post":{"operationId":"find_leads","summary":"Autopilot customer finding: checks your signal agents (keyword monitors) for fresh high-intent catches first, falls b…","description":"Autopilot customer finding: checks your signal agents (keyword monitors) for fresh high-intent catches first, falls back to a live X search, and AI-qualifies every candidate against what you sell. Returns only fits (≥60) with a one-line reason each, plus whether each is already a contact.","tags":["discover"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"find_leads","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"audience":{"type":"string","minLength":3,"maxLength":300,"description":"Who to find, in plain English, e.g. 'founders complaining about growing on X'."},"offer":{"description":"What you sell / want to pitch, if not already in your account brief.","type":"string","maxLength":300},"postQueries":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","minLength":2,"maxLength":120},"description":"Concrete X search queries phrased how the audience writes when they have the problem."},"bioQuery":{"type":"string","minLength":2,"maxLength":80,"description":"Keywords likely in their bios."},"count":{"description":"How many leads to return (default 5).","type":"integer","minimum":1,"maximum":15},"liveOnly":{"description":"Skip signal agents and search live immediately.","type":"boolean"}},"required":["audience","postQueries","bioQuery"]}}}}}},"/v1/posts/{id}/repliers":{"get":{"operationId":"list_post_repliers","summary":"Everyone who replied to a post, as an enriched outreach dataset: handle, bio, followers, their reply and a link, most…","description":"Everyone who replied to a post, as an enriched outreach dataset: handle, bio, followers, their reply and a link, most-followed first, plus a downloadable CSV URL for export.","tags":["posts"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"maxRows","in":"query","required":false,"description":"Cap on dataset rows (default 200).","schema":{"type":"integer","minimum":10,"maximum":300}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"list_post_repliers","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/discover/lists/{id}/posts":{"get":{"operationId":"x_list_posts","summary":"Tweets from a curated X List by list id — plug a List in as an inspiration source.","description":"Tweets from a curated X List by list id — plug a List in as an inspiration source.","tags":["discover"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"x_list_posts","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/discover/communities/{id}/posts":{"get":{"operationId":"community_posts","summary":"Tweets from an X Community by community id — niche-community inspiration source.","description":"Tweets from an X Community by community id — niche-community inspiration source.","tags":["discover"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"community_posts","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/learning":{"get":{"operationId":"learning_profile","summary":"Learning mode (opt-in, Settings → Learning): what Xpert has learned about how this user works and writes — summary, l…","description":"Learning mode (opt-in, Settings → Learning): what Xpert has learned about how this user works and writes — summary, likes, dislikes, working style, suggested prompts, compose defaults.","tags":["learning"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"learning_profile","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"operationId":"set_learning_mode","summary":"Turn Learning mode on or off for the current user. Off by default; when on, the web app records clicks, navigation an…","description":"Turn Learning mode on or off for the current user. Off by default; when on, the web app records clicks, navigation and writing to personalise the assistant and composer.","tags":["learning"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"set_learning_mode","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]}}}}},"delete":{"operationId":"clear_learning_data","summary":"Delete everything Learning mode has recorded and derived for the current user. Leaves the on/off setting unchanged.","description":"Delete everything Learning mode has recorded and derived for the current user. Leaves the on/off setting unchanged.","tags":["learning"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"clear_learning_data","x-destructive":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/learning/rebuild":{"post":{"operationId":"rebuild_learning_profile","summary":"Rebuild the Learning-mode profile from the last 30 days of activity right now (normally nightly). Needs Learning on a…","description":"Rebuild the Learning-mode profile from the last 30 days of activity right now (normally nightly). Needs Learning on and some activity.","tags":["learning"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"rebuild_learning_profile","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/templates":{"get":{"operationId":"list_templates","summary":"List the org's reusable tweet templates, most recently edited first.","description":"List the org's reusable tweet templates, most recently edited first.","tags":["templates"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"list_templates","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"create_template","summary":"Create a reusable tweet template (used in compose and as the auto-plug CTA source).","description":"Create a reusable tweet template (used in compose and as the auto-plug CTA source).","tags":["templates"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"create_template","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"body":{"type":"string","minLength":1,"maxLength":4000}},"required":["name","body"]}}}}}},"/v1/templates/{id}":{"get":{"operationId":"get_template","summary":"Get one tweet template.","description":"Get one tweet template.","tags":["templates"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"get_template","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"operationId":"update_template","summary":"Update a tweet template (partial).","description":"Update a tweet template (partial).","tags":["templates"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"update_template","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"body":{"type":"string","minLength":1,"maxLength":4000}}}}}}},"delete":{"operationId":"delete_template","summary":"Delete a tweet template (also detaches it from any auto-plug).","description":"Delete a tweet template (also detaches it from any auto-plug).","tags":["templates"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"delete_template","x-destructive":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/products":{"get":{"operationId":"list_products","summary":"List your products.","description":"List your products.","tags":["products"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"list_products","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"create_product","summary":"Add a product (name + optional URL). The URL is scraped to auto-fill its description.","description":"Add a product (name + optional URL). The URL is scraped to auto-fill its description.","tags":["products"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"create_product","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"url":{"type":"string","maxLength":2000,"format":"uri"},"description":{"type":"string","maxLength":5000}},"required":["name"]}}}}}},"/v1/products/{id}":{"get":{"operationId":"get_product","summary":"Get one product.","description":"Get one product.","tags":["products"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"get_product","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"operationId":"update_product","summary":"Update a product.","description":"Update a product.","tags":["products"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"update_product","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"url":{"type":"string","maxLength":2000,"format":"uri"},"description":{"type":"string","maxLength":5000}}}}}}},"delete":{"operationId":"delete_product","summary":"Delete a product.","description":"Delete a product.","tags":["products"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"delete_product","x-destructive":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/products/{id}/rescrape":{"post":{"operationId":"rescrape_product","summary":"Re-scrape the product's URL to refresh its description.","description":"Re-scrape the product's URL to refresh its description.","tags":["products"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"rescrape_product","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/products/{id}/draft":{"post":{"operationId":"draft_product_post","summary":"Draft an X post about the product, in your voice. Returns the generated text.","description":"Draft an X post about the product, in your voice. Returns the generated text.","tags":["products"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"draft_product_post","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/followers":{"get":{"operationId":"audience_overview","summary":"Audience overview: follower counts (active, new this week, likely bots, suspicious) and recent followers.","description":"Audience overview: follower counts (active, new this week, likely bots, suspicious) and recent followers.","tags":["followers"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"audience_overview","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/followers/sync":{"post":{"operationId":"sync_followers","summary":"Start a background sync of your followers, with bot scoring.","description":"Start a background sync of your followers, with bot scoring.","tags":["followers"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"sync_followers","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/followers/bots":{"get":{"operationId":"list_bot_followers","summary":"List flagged likely-bot and suspicious followers (worst first).","description":"List flagged likely-bot and suspicious followers (worst first).","tags":["followers"],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"list_bot_followers","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/followers/scan":{"post":{"operationId":"scan_bot_followers","summary":"Run an AI pass to re-judge borderline 'suspicious' followers using name/bio context.","description":"Run an AI pass to re-judge borderline 'suspicious' followers using name/bio context.","tags":["followers"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"scan_bot_followers","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/followers/{id}/removed":{"post":{"operationId":"mark_follower_removed","summary":"Mark a follower as removed (after you block or remove them on X).","description":"Mark a follower as removed (after you block or remove them on X).","tags":["followers"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"mark_follower_removed","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/followers/{id}/block":{"post":{"operationId":"block_follower","summary":"Block a follower on X via the API, then mark them removed.","description":"Block a follower on X via the API, then mark them removed.","tags":["followers"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"block_follower","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/followers/{id}/unblock":{"post":{"operationId":"unblock_follower","summary":"Unblock a follower on X (reverses block) and clear their removed flag.","description":"Unblock a follower on X (reverses block) and clear their removed flag.","tags":["followers"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"unblock_follower","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/followers/relationship/{handle}":{"get":{"operationId":"get_relationship","summary":"Relationship/CRM status for a handle: whether they follow you, since when, bot risk, and how many of your posts they'…","description":"Relationship/CRM status for a handle: whether they follow you, since when, bot risk, and how many of your posts they've engaged.","tags":["followers"],"parameters":[{"name":"handle","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"oauth2":["read"]}],"x-xpert-scope":"read","x-xpert-mcp-tool":"get_relationship","x-read-only":true,"responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/media/upload":{"post":{"operationId":"upload_media","summary":"Upload an image to X (provide an image URL or base64). Returns a mediaId.","description":"Upload an image to X (provide an image URL or base64). Returns a mediaId.","tags":["media"],"security":[{"apiKey":[]},{"oauth2":["write"]}],"x-xpert-scope":"write","x-xpert-mcp-tool":"upload_media","responses":{"200":{"description":"Success envelope: `{ success: true, message?, ...data }`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Subscription or credits required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Scope or plan does not allow this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","bearerFormat":"sk_live_…","description":"Personal API key from Settings → Public API keys in the app (https://xpert.so/developers#quickstart). Send as `Authorization: Bearer sk_live_…`."},"oauth2":{"type":"oauth2","description":"OAuth 2.1 with PKCE for agents and MCP clients. Scopes gate write, engage and dm actions.","flows":{"authorizationCode":{"authorizationUrl":"https://api.xpert.so/api/auth/oauth2/authorize","tokenUrl":"https://api.xpert.so/api/auth/oauth2/token","scopes":{"read":"Read analytics, drafts, network intelligence and leads.","write":"Create drafts, schedule and publish posts, upload media.","engage":"Reply, like and queue engagement for human approval.","dm":"Draft and queue direct-message outreach.","admin":"Manage API keys and connected accounts."}}}}},"schemas":{"Envelope":{"type":"object","required":["success"],"properties":{"success":{"type":"boolean","enum":[true]},"message":{"type":"string"}},"additionalProperties":true},"Error":{"type":"object","required":["success","message","code"],"properties":{"success":{"type":"boolean","enum":[false]},"message":{"type":"string"},"code":{"type":"string","description":"Machine code, e.g. insufficient_credits, subscription_required, upgrade_required, not_found."}},"additionalProperties":true}}},"security":[{"apiKey":[]},{"oauth2":["read"]}]}