X through One
X is a real-time social networking platform for sharing short-form content, multimedia, and updates. It enables individuals, brands, and communities to engage through posts, live discussions, and trending conversations globally.
One exposes X through four MCP tools. The table below carries real action ids from One's knowledge base, so for a common operation you can skip search and go straight to reading the action's parameters.
How to run an action
- Find the action in the table below, or call
search_one_platform_actions with platform x if it is not listed.
- Call
get_one_action_knowledge with the action id. Do this every time, including for actions in this table. The table gives you the id, not the parameters.
- Call
execute_one_action with parameters copied from that knowledge.
Never guess a parameter name, a body field, or an enum value. The knowledge has the real schema, and a guessed field is either a 400 or a silent write of the wrong thing.
Before you start
Call list_one_integrations once and confirm X is connected. If it is missing, the user has not connected it: say so and point them at https://app.withone.ai rather than reaching for raw HTTP.
Each connection carries an access field. If it reports {"policy": "methods", "methods": ["GET"]} the agent is read-only here, so plan a read-only answer instead of attempting a write that will be refused.
Before a write
Creates, updates, deletes and sends land on a real X account and cannot be recalled. State the action and the specific target in one line before the first write in a task, and let the user stop you. Reads need no confirmation.
Actions
Users
| Action |
Method |
Path |
Action id |
| Get a User by ID |
GET |
/2/users/{{id}} |
conn_mod_def::GJLaTlV6bzg::Z7tBxXNERxu0Fj3MVt9Gyg |
| Get a User by Username |
GET |
/2/users/by/username/{{username}} |
conn_mod_def::GJLaS-7YzI8::rLOLcqh-S1qLXQftCGEGUg |
| Get the Authenticated User (“me”) |
GET |
/2/users/me |
conn_mod_def::GJLaTJusYDc::A67WMmeURuC0nSuzIgfAGg |
| Get Users by IDs |
GET |
/2/users |
conn_mod_def::GJLaSoaG_q8::opUbLPziStmEmFOurE7wKQ |
| Get Users by Usernames |
GET |
/2/users/by |
conn_mod_def::GJLaSyQLZZ0::7O7jITB5R82dDWjXXlnENQ |
| List a User’s Following |
GET |
/2/users/{{id}}/following |
conn_mod_def::GJLaWJy37M0::-EO33OpxT2KmP5EUk9gN1w |
| List Users Who Reposted a Post (by Post ID) |
GET |
/2/tweets/{{id}}/retweeted_by |
conn_mod_def::GJLaR_J7Fs8::IP-kfMhITzu0KaIdDQHNaw |
| Search Users |
GET |
/users/search |
conn_mod_def::GJLaTZDzJRg::qJ2m-kBzQnmy7lP700WglQ |
| Block DMs for a User |
POST |
/2/users/{{id}}/dm/block |
conn_mod_def::GJLaVD0ZiXw::yGaxVkRwS_Oj24h99BDFWw |
| Follow a User (from a User’s Following Collection) |
POST |
/2/users/{{id}}/following |
conn_mod_def::GJLaWRKzJv8::J2B3G0YNSxa8J3V3FwGemw |
| Mute a User for an Authenticated Source User |
POST |
/2/users/{{id}}/muting |
conn_mod_def::GJLaXr-OGWI::DgtKoa9WQhO9g0WEXEuceQ |
| Unblock DMs for a User |
POST |
/2/users/{{id}}/dm/unblock |
conn_mod_def::GJLaVMxLJGc::B_PAlGz-TxC_Q4VgiGU0fw |
2 more Users actions are available through search.
Tweets
| Action |
Method |
Path |
Action id |
| Get Reposts for a Tweet |
GET |
/2/tweets/{{id}}/retweets |
conn_mod_def::GJLaSJWN7Hc::6ey8yL3fRY23E5zC8SCnGA |
| List a User's Posts (Tweets) |
GET |
/2/users/{{ID}}/tweets |
conn_mod_def::GJLaYzxwiB8::SLxpkxgzRJCXrerGQ8YpDQ |
| Stream 10% Sampled Posts (Sample10 Stream) |
GET |
/2/tweets/sample10/stream |
conn_mod_def::GJLaOhmNWPU::ZQarIDZcSAqU4y_6w0Sngw |
| Stream All Posts (Firehose) |
GET |
/tweets/firehose/stream |
conn_mod_def::GJLaM-Q5Jkk::_OssEoivSTOou1XdKEsaqA |
| Stream English Posts (Firehose) |
GET |
/tweets/firehose/stream/lang/en |
conn_mod_def::GJLaNUJR0Zo::gcgGc_NwTQarKJzFG5cqfQ |
| Stream Filtered Posts (Filtered Stream) |
GET |
/2/tweets/search/stream |
conn_mod_def::GJLaOqCmfrI::Dov-NXbnTeGEteIN0gKVSA |
| Stream Japanese-language Posts (Firehose) |
GET |
/tweets/firehose/stream/lang/ja |
conn_mod_def::GJLaNgRq8Zw::rJrnJi4vRryoysKjFPUV6Q |
| Stream Korean-language Posts (Firehose) |
GET |
/tweets/firehose/stream/lang/ko |
conn_mod_def::GJLaNppBJZ8::4gokadejS3ykdypIRzGiUQ |
| Stream Portuguese-Language Posts (Firehose) |
GET |
/tweets/firehose/stream/lang/pt |
conn_mod_def::GJLaN0KstLg::s1db-GN-SLiZVCfLu5_lRg |
| Stream Sampled Posts |
GET |
/tweets/sample/stream |
conn_mod_def::GJLaOKwfYwM::vcIYKf7oQ8GloEH7CP8cFA |
| Delete a Post (Tweet) by ID |
DELETE |
/2/tweets/{{id}} |
conn_mod_def::GJLaRiqSvQc::mYpnHkpOR1KA43BNg4e8Aw |
| Hide (or Unhide) a Reply Tweet |
PUT |
/2/tweets/{{TWEET_ID}}/hidden |
conn_mod_def::GJLaSQbw5YI::iZ992LP3TzO2iV0CUAiPow |
Posts
| Action |
Method |
Path |
Action id |
| Get a Post by ID |
GET |
/2/tweets/{{id}} |
conn_mod_def::GJLaRawKmb4::XqYRWA9aRFiHRIvG7Qi5Vg |
| Get Posts by IDs |
GET |
/2/tweets |
conn_mod_def::GJLaQREdqoc::S9NGR7b4S3q_dU2u3lNIEw |
| List Posts in a List |
GET |
/2/lists/{{id}}/tweets |
conn_mod_def::GJLaIe0llbI::u6psT6uDT82HwPVmFim8Ng |
| Search All Posts (Full-Archive) |
GET |
/2/tweets/search/all |
conn_mod_def::GJLaREvbOpE::tkOv4U8hSjCmy0-lKsKWDA |
| Search Recent Posts |
GET |
/tweets/search/recent |
conn_mod_def::GJLaRPb3hDk::YzVojtkBQOG0BlKQmwugsg |
| Create or Edit Post |
POST |
/2/tweets |
conn_mod_def::GJLaQYKOXew::Ha2rKcMVTwaFjzSQWpUFvw |
DmEvents
| Action |
Method |
Path |
Action id |
| Get a DM Event by ID |
GET |
/2/dm_events/{{EVENT_ID}} |
conn_mod_def::GJLaG3Mniv4::txMAE_yHSUuVxhFC8GWpNQ |
| Get DM Events |
GET |
/dm_events |
conn_mod_def::GJLaGvQXHy0::-XSyXgJYRo-APWIqviGbVQ |
| Get DM Events for a One-to-One DM Conversation (by Participant) |
GET |
/2/dm_conversations/with/{{PARTICIPANT_ID}}/dm_events |
conn_mod_def::GJLaGMsE_60::F5JbSwB5SMqZsQnaNgjRIA |
| List DM Events for a DM Conversation |
GET |
/2/dm_conversations/{{id}}/dm_events |
conn_mod_def::GJLaGm_2aIU::oOe-R0alTtyKftm_BPpTYA |
| Delete a DM Event |
DELETE |
/2/dm_events/{{EVENT_ID}} |
conn_mod_def::GJLaG-LvhA4::ayQmPTeORmy6B7bDMyBSBw |
Lists
| Action |
Method |
Path |
Action id |
| Get a List by ID |
GET |
/2/lists/{{id}} |
conn_mod_def::GJLaHalYzSM::wj5O0nDaSeGb-N-hPfRlBQ |
| Add a Member to a List |
POST |
/2/lists/{{ID}}/members |
conn_mod_def::GJLaIB7gD0Y::-isa551fTzuOpV821ED8Jg |
| Create a List |
POST |
/2/lists |
conn_mod_def::GJLaHSfDGDM::o_sg7oO_QVGk1vCESYuRzA |
| Delete a List |
DELETE |
/2/lists/{{id}} |
conn_mod_def::GJLaHmvFEEo::0RY1ad8nTeOyEphXiGi0eA |
| Update a List |
PUT |
/2/lists/{{ID}} |
conn_mod_def::GJLaHgszitA::Us2Qi4yJTtCECS3sgQ1Bew |
Webhooks
| Action |
Method |
Path |
Action id |
| List Webhooks (Client App) |
GET |
/2/webhooks |
conn_mod_def::GJLaZyc9zLU::JWivMDkMRH-aSS-9LDGaPQ |
| Create a Webhook |
POST |
/2/webhooks |
conn_mod_def::GJLaZ5MWlHk::KlwJPsJ4Q2iyle3n6dHDcQ |
| Delete a Stream Link for a Webhook |
DELETE |
/2/tweets/search/webhooks/{{WEBHOOK_ID}} |
conn_mod_def::GJLaZr1yz8g::qxkNT5fOSYa-CTDNUuY6jA |
| Delete a Webhook |
DELETE |
/2/webhooks/{{WEBHOOK_ID}} |
conn_mod_def::GJLaaMnXsVk::u4iXu5ZlRUeyg3-9eo4bYQ |
| Validate a Webhook (Trigger CRC Check) |
PUT |
/2/webhooks/{{WEBHOOK_ID}} |
conn_mod_def::GJLaaGPU2z0::y3t-lOHOSQaH3HuUH7AKXg |
Connections
| Action |
Method |
Path |
Action id |
| Get Connection History |
GET |
/connections |
conn_mod_def::GJLaFkxNxDI::-B608IMTSC-uVEbIW71hlQ |
| Terminate All Connections |
DELETE |
/connections/all |
conn_mod_def::GJLaFwVoMq8::QqsSkzK6QVa-v2cDU26k9g |
| Terminate Multiple Connections |
DELETE |
/2/connections |
conn_mod_def::GJLaFqhoJuQ::35w-TPn_SXeDUssle0dy_w |
| Terminate Streaming Connections for an Endpoint |
DELETE |
/2/connections/{{endpoint_id}} |
conn_mod_def::GJLaF4YJ16g::Qbo54_JWSMiGDoN_Mr2KMw |
Spaces
| Action |
Method |
Path |
Action id |
| Get a Space by ID |
GET |
/2/spaces/{{id}} |
conn_mod_def::GJLaLyOKyL0::g-9ORwpsSyKzDbCaUI20zg |
| Get Spaces by Creator IDs |
GET |
/2/spaces/by/creator_ids |
conn_mod_def::GJLaLd23lag::ztZpYnLRQW22KZ5los8fnQ |
| Get Spaces by IDs |
GET |
/2/spaces |
conn_mod_def::GJLaLNiy_24::h3ydINvMSMefGXl8WQAe_w |
| Search Spaces |
GET |
/2/spaces/search |
conn_mod_def::GJLaLlfEHes::1_6EovqkTzyElrO79mrFyA |
Likes
| Action |
Method |
Path |
Action id |
| Stream All Likes (Firehose) |
GET |
/2/likes/firehose/stream |
conn_mod_def::GJLaMclcda4::jPClxIecRlqQswb3DfKDjA |
| Stream Sampled Likes (10% Sample) |
GET |
/likes/sample10/stream |
conn_mod_def::GJLaMnv5TU8::n8IdiF8UTZ6x205sRZ61Ew |
| Like a User’s Post (Create Like) |
POST |
/2/users/{{ID}}/likes |
conn_mod_def::GJLaWjacoCk::bFg6iXMoThCrZ9W4Zvtf2g |
| Unlike a User’s Liked Post |
DELETE |
/2/users/{{ID}}/likes/{{TWEET_ID}} |
conn_mod_def::GJLaWsJec0A::1f7gFQPaTS6LQ88X4Uv5qA |
CommunityNotes
| Action |
Method |
Path |
Action id |
| Search for Community Notes Written |
GET |
/2/notes/search/notes_written |
conn_mod_def::GJLaE9M76uM::25U8a14CRzurQAMlLLT_sA |
| Create a Community Note |
POST |
/notes |
conn_mod_def::GJLaE2dMPiQ::WXLPcV0gRximGURIVf6ntw |
| Delete a Community Note |
DELETE |
/2/notes/{{ID}} |
conn_mod_def::GJLaFI25mBI::3CiCrg0SR5qbuAUaDx_NEw |
Media
| Action |
Method |
Path |
Action id |
| Get Media by Media Key |
GET |
/2/media/{{media_key}} |
conn_mod_def::GJLaKw2AKAQ::b0v2G1C1TA-BQOpGJaeMwQ |
| Get Media by Media Keys |
GET |
/2/media |
conn_mod_def::GJLaIxkP5tk::agyNgx_xSN-7bqJ34ZomnA |
| Upload Media |
POST |
/2/media/upload |
conn_mod_def::GJLaKIpTTCg::ALX50CA-Q-WtyBBzvf203g |
UserBookmarks
| Action |
Method |
Path |
Action id |
| Get a User’s Bookmarks |
GET |
/2/users/{{ID}}/bookmarks |
conn_mod_def::GJLaUNA5WvQ::lGH-p7XcQEm-4NARcZu2cw |
| Create a User Bookmark |
POST |
/2/users/{{id}}/bookmarks |
conn_mod_def::GJLaUYIl-KI::xvPGwyJ4Tx2Rk9N9zAvGSg |
| Delete a User’s Bookmark (Remove a Post from Bookmarks) |
DELETE |
/2/users/{{ID}}/bookmarks/{{TWEET_ID}} |
conn_mod_def::GJLaU75WAf4::jz97g5UYSOKWfG8g2E6XQA |
AccountActivitySubscription
| Action |
Method |
Path |
Action id |
| Create an Account Activity Subscription for a Webhook (All) |
POST |
/2/account_activity/webhooks/{{WEBHOOK_ID}}/subscriptions/all |
conn_mod_def::GJLaDAh1yhw::AU1XPyvlRN2176Tw_dK03w |
| Delete an Account Activity Subscription for a Webhook and User |
DELETE |
/2/account_activity/webhooks/{{WEBHOOK_ID}}/subscriptions/{{USER_ID}}/all |
conn_mod_def::GJLaDO0hjow::S3vMPS0nTT-eQ9jJFd_Vfg |
ActivitySubscriptions
| Action |
Method |
Path |
Action id |
| List X Activity Subscriptions |
GET |
/activity/subscriptions |
conn_mod_def::GJLaDY6VCZs::xzkVx3i7SEed3jqsNcTmWw |
| Create an X Activity Subscription |
POST |
/2/activity/subscriptions |
conn_mod_def::GJLaDdzAeOY::WwuwE42-SZSlN7oP-njsVw |
ActivitySubscription
| Action |
Method |
Path |
Action id |
| Delete an Activity Subscription |
DELETE |
/2/activity/subscriptions/{{SUBSCRIPTION_ID}} |
conn_mod_def::GJLaDskUey0::0K5Z24XtRhedsPxl5WMCGg |
| Update an X Activity Subscription |
PUT |
/2/activity/subscriptions/{{SUBSCRIPTION_ID}} |
conn_mod_def::GJLaDmPOhi0::W47_PqqhQeip5p0w8owiHA |
UserPublicKeys
| Action |
Method |
Path |
Action id |
| Get a User’s Public Keys |
GET |
/2/users/{{id}}/public_keys |
conn_mod_def::GJLaETXP_gM::xc6szonXRZ-8DZ4fkLYTGg |
| Add a User’s Public Key |
POST |
/2/users/{{ID}}/public_keys |
conn_mod_def::GJLaEc42GL8::MJPRiFlWQjOjRKochm8ZRg |
ComplianceJobs
| Action |
Method |
Path |
Action id |
| List Compliance Jobs |
GET |
/compliance/jobs |
conn_mod_def::GJLaFO_KOHg::pRcI2pOCQSCUv4fTnKMXMw |
| Create Compliance Job |
POST |
/compliance/jobs |
conn_mod_def::GJLaFYgl8Bw::egkJexNSSKakOpIjW_VAUA |
DmMessages
| Action |
Method |
Path |
Action id |
| Create a DM Message for a Participant |
POST |
/2/dm_conversations/with/{{PARTICIPANT_ID}}/messages |
conn_mod_def::GJLaGWMOLjQ::t6uTqPVpSfGQkUuhuisULw |
| Create a DM Message in a Conversation |
POST |
/2/dm_conversations/{{DM_CONVERSATION_ID}}/messages |
conn_mod_def::GJLaGeiY6As::pmMekOCTRh6VCcSNRU8sMQ |
ListMembers
| Action |
Method |
Path |
Action id |
| Get a List’s Members |
GET |
/2/lists/{{ID}}/members |
conn_mod_def::GJLaH74lNPI::3JCaJyeFRkS3vYZ98V5mRw |
| Remove a List Member |
DELETE |
/2/lists/{{ID}}/members/{{USER_ID}} |
conn_mod_def::GJLaIWdVZuE::e12f7jUiS7GFje-rw8t9Zg |
MediaSubtitles
| Action |
Method |
Path |
Action id |
| Create Media Subtitles |
POST |
/media/subtitles |
conn_mod_def::GJLaJrqc-6g::KPS-LoWfQl-GyB94lYoNrw |
| Delete Media Subtitles |
DELETE |
/2/media/subtitles |
conn_mod_def::GJLaJzNKuu4::Q48NKgSvQ_O4NhBBccvMgw |
MediaUpload
| Action |
Method |
Path |
Action id |
| Append Media Data to an Upload Session |
POST |
/2/media/upload/{{ID}}/append |
conn_mod_def::GJLaKardSZI::p2xJCuqbTCKuXMdy1EmChA |
| Finalize a Media Upload |
POST |
/2/media/upload/{{ID}}/finalize |
conn_mod_def::GJLaKienXgQ::GI6a9x8BQ1azbP7Bl8zRZw |
News
| Action |
Method |
Path |
Action id |
| Get a News Story by ID |
GET |
/2/news/{{id}} |
conn_mod_def::GJLaLBS3Eeo::bAZ-QtOYTdigd0ZXczQP1w |
| Search News |
GET |
/news/search |
conn_mod_def::GJLaK44SxII::U-Q4py0RRiGoww7Zo2Y3lg |
FilteredStreamRules
| Action |
Method |
Path |
Action id |
| Get Filtered Stream Rules |
GET |
/tweets/search/stream/rules |
conn_mod_def::GJLaOzz8n5o::vgKAxvc2QgSZB06D-Cf2dQ |
| Update Filtered Stream Rules |
POST |
/2/tweets/search/stream/rules |
conn_mod_def::GJLaO6dTyfg::YjaVQQulT2aQQLvlM2t4NQ |
UsersFollowedLists
| Action |
Method |
Path |
Action id |
| Get a User’s Followed Lists |
GET |
/2/users/{{ID}}/followed_lists |
conn_mod_def::GJLaVZ9t7Rc::02yuND76TIqPSE5dt68GIQ |
| Unfollow a User’s Followed List |
DELETE |
/2/users/{{ID}}/followed_lists/{{LIST_ID}} |
conn_mod_def::GJLaVvNAdgc::xeMvbaP-TgiXvHSGEwjHVw |
This lists 90 of 148 actions. For anything not here, call search_one_platform_actions with platform x. The full catalog is at https://www.withone.ai/knowledge/x.
When a call fails
The error comes from X, not from One. A 400 or 422 means your parameters do not match the schema, so re-read the knowledge and fix the field. A 401 or 403 means the connection needs re-authorizing, which no retry will fix. A 404 means the id is not on this account. A 429 means slow down. Never retry a write more than once: the first attempt may have landed.
Full catalog: https://www.withone.ai/knowledge/x
Integration knowledge by One (withone.ai), licensed under One-Knowledge-1.0. Attribution must be preserved in derivative works.