Skip to content

API reference

Schedule a post

post_schedule — Put a post or thread in the calendar of one account: at a time, in the account's next good slot, or as a draft.

post_schedule · Changes an X-Buddy setting

Put a post or thread in the calendar of one account: at a time, in the account's next good slot, or as a draft. Duplicate guard and limits apply when it publishes. Text is posted word for word.

REST POST /api/public/v1/posts
MCP tool post_schedule
Permission needed posts.manage — Owner, Manager, Operator
Scope group x:publish
Group Posts
Shown up front in profiles Automation

Input

Field Type Required Description
account string (1–100 chars) Yes The X account to use: its X-Buddy account_id (from account_list) or its @handle. Ambiguous names return candidates instead of guessing.
parts array of object (1–25 items) Yes
when at · queue · draft Yes at = at at; queue = next good slot of the account; draft = not scheduled.
at string (date-time) No ISO time for when=at (≤ 60 days ahead).
pin boolean No

Result

Returns the operation's result in the { data, meta } envelope.

Needs an idempotency key (Idempotency-Key, 8–128 characters). Retrying with the same key never repeats the action.

Example

Call over REST

curl -X POST "https://reach-link-craft.lovable.app/api/public/v1/posts" \
  -H "Authorization: Bearer $XBUDDY_API_KEY" \
  -H "Idempotency-Key: 6f1c2a90-example-key" \
  -H "Content-Type: application/json" \
  -d '{"account":"@your_x_account","parts":[{"text":"Hello from X-Buddy"}],"when":"at"}'

Call over MCP

{
  "method": "tools/call",
  "params": {
    "name": "post_schedule",
    "arguments": {
      "account": "@your_x_account",
      "parts": [
        {
          "text": "Hello from X-Buddy"
        }
      ],
      "when": "at",
      "idempotency_key": "6f1c2a90-example-key"
    }
  }
}

Errors you may get

Back to all operations