Skip to content

Drafts actions

4 actions. Every field marked Required must be sent; account, dryRun, idempotencyKey, confirmCredits and quoteId are the control fields every surface adds.

drafts.check · read

Free checks before posting: length for the account’s X tier, links (Xholic drafts never contain links), near-copies of a source post, repeats of what the account posted recently, and thread structure. Run it on every draft you write; fix what it flags.

  • MCP tool: check_draft. Loaded by default in MCP clients.
  • REST: GET /v1/drafts/check
  • CLI: xholic drafts check
  • Scope: read
  • Plan: Every plan, including the trial
  • Cost: Free.
  • Rate limit bucket: read

Input

Field Type Required Description
text string ≤ 25000 chars Yes
threadParts array of string ≤ 25000 chars (min 2, max 25) No For a thread: every part in order, starting with the same first post as text.
sourceText string ≤ 25000 chars No The post you built from, to catch near-copies.
account string ≤ 64 chars No X account to act on, as @handle. Leave it out to use the connection’s default account.

drafts.save · write

Save a post or thread as a draft in Xholic. Nothing is posted. A draft is not a post: never tell the user it was posted.

  • MCP tool: save_draft. Loaded by default in MCP clients.
  • REST: POST /v1/drafts/save
  • CLI: xholic drafts save
  • Scope: write
  • Plan: Every plan, including the trial
  • Cost: Free.
  • Rate limit bucket: write

Input

Field Type Required Description
text string ≤ 25000 chars Yes
threadParts array of string ≤ 25000 chars (min 2, max 25) No
timezone string ≤ 80 chars No Default: "UTC".
account string ≤ 64 chars No X account to act on, as @handle. Leave it out to use the connection’s default account.
dryRun boolean No Return exactly what would happen without doing it.
idempotencyKey string ≤ 200 chars No A unique key for this write. Repeating a call with the same key returns the first result instead of acting twice.

drafts.with_xholic · write

Only when the user explicitly asks for Xholic’s writer. Runs Xholic’s data-first Worker writer: every post starts from a real post that worked, one subject per post. Uses Xholic AI credits: quote first and pass confirmCredits after the user agrees. Returns a task; read drafts with ask.task. Otherwise write posts yourself with get_writing_kit.

  • MCP tool: draft_with_xholic. Loaded by default in MCP clients.
  • REST: POST /v1/drafts/with-xholic
  • CLI: xholic drafts with-xholic
  • Scope: write
  • Plan: Every plan, including the trial
  • Cost: Xholic AI: up to about 25 credits (Xholic’s writer through Ask, charged for what it uses up to this amount). Returns a quote first; pass confirmCredits after the user agrees.
  • Rate limit bucket: write

Input

Field Type Required Description
count integer 1–12 No
angles array of string ≤ 500 chars (max 12) No
sourcePostIds array of string ≤ 40 chars (max 12) No
likePostId string ≤ 40 chars No Keep this post’s shape (“like this post”).
topic string ≤ 300 chars No
account string ≤ 64 chars No X account to act on, as @handle. Leave it out to use the connection’s default account.
dryRun boolean No Return exactly what would happen without doing it.
idempotencyKey string ≤ 200 chars No A unique key for this write. Repeating a call with the same key returns the first result instead of acting twice.
confirmCredits number 0–100000 No Xholic AI credits the user agreed to spend. Call first without it to get the quote, show the quote to the user, and pass the amount only after they say yes.
quoteId string ≤ 100 chars No The quoteId from the quote the user agreed to. Send it with confirmCredits.

drafts.reply_with_xholic · write

Only when the user explicitly asks for Xholic’s reply writer. Drafts replies to a post with Xholic’s reply pipeline. Uses Xholic AI credits: quote first and pass confirmCredits after the user agrees. Otherwise write the reply yourself using get_me and get_post.

  • MCP tool: draft_reply_with_xholic. Catalog: reach it with find_actions and run_write_action, or turn on the full toolset.
  • REST: POST /v1/drafts/reply-with-xholic
  • CLI: xholic drafts reply-with-xholic
  • Scope: write
  • Plan: Every plan, including the trial
  • Cost: Xholic AI: up to about 25 credits (Xholic’s reply writer through Ask, charged for what it uses up to this amount). Returns a quote first; pass confirmCredits after the user agrees.
  • Rate limit bucket: write

Input

Field Type Required Description
tweetId string ≤ 40 chars Yes
instructions string ≤ 1000 chars No
account string ≤ 64 chars No X account to act on, as @handle. Leave it out to use the connection’s default account.
dryRun boolean No Return exactly what would happen without doing it.
idempotencyKey string ≤ 200 chars No A unique key for this write. Repeating a call with the same key returns the first result instead of acting twice.
confirmCredits number 0–100000 No Xholic AI credits the user agreed to spend. Call first without it to get the quote, show the quote to the user, and pass the amount only after they say yes.
quoteId string ≤ 100 chars No The quoteId from the quote the user agreed to. Send it with confirmCredits.