Post a tweet
POST
/v1/x/tweetsMCP
x_tweet5 creditsComingNeeds a connected X accountStage 6, not yet available. This arrives with connected X accounts and can't be called yet.
Updated
Description
Post a tweet or a reply from a connected X account. Needs accountId, text (up to 280 characters) and an idempotencyKey; pass replyToTweetId to reply. Costs 5 credits on success. Tip: never post the same text twice; X rejects duplicates and that reply fails.
Parameters
| Name | In | Type | Required | Default | Description |
|---|---|---|---|---|---|
accountId | body | string | yes | Id of an X account you connected in the dashboard. | |
text | body | string | yes | Tweet text, up to 280 characters. | |
replyToTweetId | body | string | no | Tweet id or URL to reply to. |
- accountId body, string, required
- Id of an X account you connected in the dashboard.
- text body, string, required
- Tweet text, up to 280 characters.
- replyToTweetId body, string
- Tweet id or URL to reply to.
Send an Idempotency-Key header with every write, so a retry never acts twice.
Request examples
curl -X POST "https://chatterapi.com/v1/x/tweets" \
-H "Authorization: Bearer $CHATTERAPI_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"accountId": "8b0e6a52-1f7c-4a3e-9d2b-5c1e7f0a9b11",
"text": "Shipping notes for this week are up."
}'Response
data is one XWriteResult. Fields:
| Field | Type | Nullable | Description |
|---|---|---|---|
ok | boolean | no | Always true on success. |
action | enum | no | What was done. |
accountId | string | no | Connected account that acted. |
targetId | string | yes | Target user or tweet id. |
resultId | string | yes | Id of what was created, if any. |
dryRun | boolean | no | True when nothing was sent. |
response
{
"data": {
"ok": true,
"action": "tweet",
"accountId": "8b0e6a52-1f7c-4a3e-9d2b-5c1e7f0a9b11",
"targetId": null,
"resultId": "dry_tweet",
"dryRun": true
},
"credits": {
"charged": 5,
"remaining": 24997
},
"requestId": "req_01JA7Q3V8K2N4P5R6S7T8V",
"cached": false
}Recorded live response captured 2026-10-14T00:00:00.000Z, truncated to 3 items. Credits and request id are illustrative.
Credits
5 credits per call. Failed calls cost 0. Cached responses cost the same. Test keys cost 0.
Errors this tool can return
Try it
Not callable yet.