Skip to content

delete_x_post

posts:deletedestructive

Delete one of the user's own X posts. Pass postUrl (its link on X, from any connected X account in this workspace, whether or not it was posted from AdVentur.ai) or postId (from list_posts). A post that is live on X is permanently deleted there and can't be brought back; a scheduled, approved or draft X post that hasn't gone out yet is canceled instead, so it never publishes.

DESTRUCTIVE: only call this when the user has asked to delete that specific post, and confirm which post it is (show its copy or link) before calling. For a thread, only the first post is deleted; its replies stay up on X. If the workspace has more than one X account and the link doesn't name the account, pass socialAccountId from list_social_accounts.

X only lets an account delete its own posts, so a link to someone else's post is refused.

Input

  • postUrlstring

    Link to the post on X, like https://x.com/name/status/1234567890 (a bare post id works too). Use this or postId.

    min length 1 · max length 500

  • postIdstring (uuid)

    The AdVentur.ai post id from list_posts, for a scheduled or published X post. Use this or postUrl.

  • socialAccountIdstring (uuid)

    Which connected X account posted it, from list_social_accounts. Only needed for a link when the workspace has more than one X account and the link doesn't name it.

Permission

Needs the posts:delete scope: delete posts. It changes your workspace, so clients may ask you to confirm each call.

Example call

Your assistant sends this for you. It is shown so you can see the shape of a call, with placeholder values for the required fields.

tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "delete_x_post",
"arguments": {}
}
}

Same action over the REST API

The tool runs POST /v1/orgs/{orgId}/marketing/x-posts/delete as the signed-in user, with the same validation, approval rules and limits. See it in the X posts API reference.