The Manage Posts endpoints let you create and delete Posts on behalf of authenticated users. Build applications that post content, create threads, or manage user Posts.
Overview
Create Post Publish a new Post
Delete Post Delete an existing Post
Reply Reply to another Post
Endpoints
Method Endpoint Description POST /2/tweetsCreate a new Post DELETE /2/tweets/:idDelete a Post
Creating Posts
Basic Post
curl -X POST "https://api.x.com/2/tweets" \
-H "Authorization: Bearer $USER_ACCESS_TOKEN " \
-H "Content-Type: application/json" \
-d '{"text": "Hello from the API!"}'
Reply to a Post
curl -X POST "https://api.x.com/2/tweets" \
-H "Authorization: Bearer $USER_ACCESS_TOKEN " \
-H "Content-Type: application/json" \
-d '{
"text": "This is a reply!",
"reply": {
"in_reply_to_tweet_id": "1234567890"
}
}'
Quote a Post
curl -X POST "https://api.x.com/2/tweets" \
-H "Authorization: Bearer $USER_ACCESS_TOKEN " \
-H "Content-Type: application/json" \
-d '{
"text": "Check this out!",
"quote_tweet_id": "1234567890"
}'
Post with media
curl -X POST "https://api.x.com/2/tweets" \
-H "Authorization: Bearer $USER_ACCESS_TOKEN " \
-H "Content-Type: application/json" \
-d '{
"text": "Photo of the day",
"media": {
"media_ids": ["1234567890123456789"]
}
}'
Post with poll
curl -X POST "https://api.x.com/2/tweets" \
-H "Authorization: Bearer $USER_ACCESS_TOKEN " \
-H "Content-Type: application/json" \
-d '{
"text": "What is your favorite color?",
"poll": {
"options": ["Red", "Blue", "Green", "Yellow"],
"duration_minutes": 1440
}
}'
Deleting Posts
curl -X DELETE "https://api.x.com/2/tweets/1234567890" \
-H "Authorization: Bearer $USER_ACCESS_TOKEN "
You can only delete Posts authored by the authenticated user.
Getting started