Skip to content

API reference

Create or edit one account task

task_save — Without task_id: add a task to the account (growth tasks start OFF).

task_save · Changes an X-Buddy setting

Without task_id: add a task to the account (growth tasks start OFF). With task_id: replace its name / settings / schedule / enabled (expected_revision required). Switching on a growth task needs a fresh preview in X-Buddy.

REST POST /api/public/v1/tasks
MCP tool task_save
Permission needed tasks.manage — Owner, Manager, Operator
Scope group automation:write
Group Tasks and playbooks
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.
task_id string (uuid) No Task to change (omit to create).
task object Yes
expected_revision integer (1–∞) No The revision you read (optimistic locking); a newer revision fails with revision_conflict.

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.

Versioned setting: send the expected_revision (or If-Match) you read, or the write is refused.

Example

Call over REST

curl -X POST "https://reach-link-craft.lovable.app/api/public/v1/tasks" \
  -H "Authorization: Bearer $XBUDDY_API_KEY" \
  -H "Idempotency-Key: 6f1c2a90-example-key" \
  -H 'If-Match: "3"' \
  -H "Content-Type: application/json" \
  -d '{"account":"@your_x_account","task":{"type":"timeline_browse","name":"Example","settings":{},"schedule":{"days":[1],"runsPerDay":1}}}'

Call over MCP

{
  "method": "tools/call",
  "params": {
    "name": "task_save",
    "arguments": {
      "account": "@your_x_account",
      "task": {
        "type": "timeline_browse",
        "name": "Example",
        "settings": {},
        "schedule": {
          "days": [
            1
          ],
          "runsPerDay": 1
        }
      },
      "idempotency_key": "6f1c2a90-example-key",
      "expected_revision": 3
    }
  }
}

Errors you may get

Back to all operations