{"openapi":"3.0.0","info":{"description":"Social media platform","version":[{"name":"v2","value":"v2"}]},"servers":[{"description":"Social media platform","url":"https://api.apirails.com/xcom"}],"paths":{"/2/tweets/{id}":{"get":{"tags":["Posts"],"parameters":[{"name":"id","in":"path","description":"ID of the tweet to retrieve","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"media.fields","in":"query","schema":{"type":"array","example":""}},{"name":"place.fields","in":"query","schema":{"type":"array","example":""}},{"name":"poll.fields","in":"query","schema":{"type":"array","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/posts/get-post-by-id","api_endpoint":"https://api.x.com/2/tweets/{id}"},"summary":"Get Post By Id","description":"Returns the data associated with the given post ID.","security":[{"bearerAuth":[]}]},"delete":{"tags":["Posts"],"parameters":[{"name":"id","in":"path","description":"ID of the tweet to delete","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/posts/delete-post","api_endpoint":"https://api.x.com/2/tweets/{id}"},"summary":"Delete Post","description":"Delete a post by ID.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/lists/{id}":{"get":{"tags":["Lists"],"parameters":[{"name":"id","in":"path","description":"ID of the List to retrieve","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"list.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/lists/get-list-by-id","api_endpoint":"https://api.x.com/2/lists/{id}"},"summary":"Get List By Id","description":"Returns a single list by ID.","security":[{"bearerAuth":[]}]},"delete":{"tags":["Lists"],"parameters":[{"name":"id","in":"path","description":"ID of the List to delete","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/lists/delete-list","api_endpoint":"https://api.x.com/2/lists/{id}"},"summary":"Delete List","description":"Delete a list owned by the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"put":{"tags":["Lists"],"parameters":[{"name":"id","in":"path","description":"ID of the List to update","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/lists/update-list","api_endpoint":"https://api.x.com/2/lists/{id}"},"summary":"Update List","description":"Update a list owned by the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"description":{"type":"string"},"name":{"type":"string"},"private":{"type":"boolean","enum":[true,false]}}},"example":{"description":"","name":"","private":""}}}}}},"/2/lists/{id}/members":{"get":{"tags":["Lists"],"parameters":[{"name":"id","in":"path","description":"ID of the List","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/lists/get-list-members","api_endpoint":"https://api.x.com/2/lists/{id}/members"},"summary":"Get List Members","description":"Returns the members of a list.","security":[{"bearerAuth":[]}]},"post":{"tags":["Lists"],"parameters":[{"name":"id","in":"path","description":"ID of the List to add the member to","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/lists/add-list-member","api_endpoint":"https://api.x.com/2/lists/{id}/members"},"summary":"Add List Member","description":"Add a member to a list.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"user_id":{"type":"string","description":"ID of the user to add as a member","required":true}}},"example":{"user_id":""}}}}}},"/2/lists/{id}/tweets":{"get":{"tags":["Lists"],"parameters":[{"name":"id","in":"path","description":"ID of the List","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/lists/get-list-posts","api_endpoint":"https://api.x.com/2/lists/{id}/tweets"},"summary":"Get List Posts","description":"Returns posts from the specified list.","security":[{"bearerAuth":[]}]}},"/2/lists/{id}/followers":{"get":{"tags":["Lists"],"parameters":[{"name":"id","in":"path","description":"ID of the List","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/lists/get-list-followers","api_endpoint":"https://api.x.com/2/lists/{id}/followers"},"summary":"Get List Followers","description":"Returns users who are following the specified list.","security":[{"bearerAuth":[]}]}},"/2/lists":{"post":{"tags":["Lists"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/lists/create-list","api_endpoint":"https://api.x.com/2/lists"},"summary":"Create List","description":"Create a new list.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"description":{"type":"string"},"name":{"type":"string","description":"Name of the List (1-25 characters)","required":true},"private":{"type":"boolean","enum":[true,false]}}},"example":{"description":"","name":"","private":""}}}}}},"/2/lists/{id}/members/{user_id}":{"delete":{"tags":["Lists"],"parameters":[{"name":"id","in":"path","description":"ID of the List to remove the member from","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"ID of the user to remove","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/lists/remove-list-member","api_endpoint":"https://api.x.com/2/lists/{id}/members/{user_id}"},"summary":"Remove List Member","description":"Remove a member from a list.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/tweets":{"get":{"tags":["Posts"],"parameters":[{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"ids","in":"query","description":"Comma-separated list of tweet IDs (up to 100)","required":true,"schema":{"type":"string","example":""}},{"name":"media.fields","in":"query","schema":{"type":"array","example":""}},{"name":"place.fields","in":"query","schema":{"type":"array","example":""}},{"name":"poll.fields","in":"query","schema":{"type":"array","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/posts/get-posts-by-ids","api_endpoint":"https://api.x.com/2/tweets"},"summary":"Get Posts By Ids","description":"Returns the data associated with the given post IDs (up to 100 per request).","security":[{"bearerAuth":[]}]},"post":{"tags":["Posts"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/posts/create-or-edit-post","api_endpoint":"https://api.x.com/2/tweets"},"summary":"Create Posts","description":"Create a post on behalf of the authenticated user, or edit a recent post via edit_options.previous_post_id.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"text":{"type":"string"},"card_uri":{"type":"string"},"community_id":{"type":"string","description":"ID of the community to post into"},"direct_message_deep_link":{"type":"string"},"edit_options":{"type":"object","description":"Edit a recent post instead of creating a new one","properties":{"previous_post_id":{"type":"string","description":"ID of the recent post to edit","required":true}}},"for_super_followers_only":{"type":"boolean","enum":[true,false]},"geo":{"type":"object","description":"Geo location for the post","properties":{"place_id":{"type":"string","description":"ID of the place","required":true}}},"made_with_ai":{"type":"boolean","description":"Label the post as made with AI","enum":[true,false]},"media":{"type":"object","description":"Media to attach to the post","properties":{"call_to_actions":{"type":"object"},"description":{"type":"string","description":"Alt text for the media"},"embeddable":{"type":"boolean","enum":[true,false]},"media_ids":{"type":"array","description":"Media IDs to attach (1-4)","required":true},"preview_media_id":{"type":"string"},"tagged_user_ids":{"type":"array"},"title":{"type":"string"}}},"nullcast":{"type":"boolean","description":"Create the post without publishing it to followers","enum":[true,false]},"paid_partnership":{"type":"boolean","description":"Label the post as paid partnership","enum":[true,false]},"poll":{"type":"object","description":"Poll to attach to the post","properties":{"duration_minutes":{"type":"number","description":"Poll duration in minutes (5-10080)","required":true},"options":{"type":"array","description":"Poll choices (2-4)","required":true},"reply_settings":{"type":"string","description":"Who can reply to the poll","enum":["following","mentionedUsers","subscribers","verified"]}}},"quote_tweet_id":{"type":"string"},"reply":{"type":"object","description":"Reply configuration for the post","properties":{"auto_populate_reply_metadata":{"type":"boolean","enum":[true,false]},"exclude_reply_user_ids":{"type":"array"},"in_reply_to_tweet_id":{"type":"string","description":"ID of the post being replied to","required":true}}},"reply_settings":{"type":"string","description":"Who can reply to this post: following, mentionedUsers, subscribers, or verified","enum":["following","mentionedUsers","subscribers","verified"]},"share_with_followers":{"type":"boolean","enum":[true,false]}}},"example":{"text":"","card_uri":"","community_id":"","direct_message_deep_link":"","edit_options":{},"for_super_followers_only":"","geo":{},"made_with_ai":"","media":{},"nullcast":"","paid_partnership":"","poll":{},"quote_tweet_id":"","reply":{},"reply_settings":"","share_with_followers":""}}}}}},"/2/tweets/{id}/retweeted_by":{"get":{"tags":["Posts"],"parameters":[{"name":"id","in":"path","description":"ID of the tweet","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/posts/get-reposted-by","api_endpoint":"https://api.x.com/2/tweets/{id}/retweeted_by"},"summary":"Get Reposted By","description":"Returns users who have reposted the specified post.","security":[{"bearerAuth":[]}]}},"/2/tweets/search/recent":{"get":{"tags":["Posts"],"parameters":[{"name":"end_time","in":"query","description":"YYYY-MM-DDTHH:mm:ssZ (ISO 8601). Must be within the last 7 days","schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","description":"Number of results per page (10-100, default 10)","schema":{"type":"number","example":""}},{"name":"next_token","in":"query","description":"Pagination token from a previous response","schema":{"type":"string","example":""}},{"name":"place.fields","in":"query","schema":{"type":"array","example":""}},{"name":"poll.fields","in":"query","schema":{"type":"array","example":""}},{"name":"query","in":"query","description":"Search query (up to 4096 characters)","required":true,"schema":{"type":"string","example":""}},{"name":"since_id","in":"query","description":"Tweet ID to start from (results newer than this ID)","schema":{"type":"string","example":""}},{"name":"sort_order","in":"query","description":"Order of results","schema":{"type":"string","example":"","items":{"type":"string","enum":["recency","relevancy"]}}},{"name":"start_time","in":"query","description":"YYYY-MM-DDTHH:mm:ssZ (ISO 8601). Must be within the last 7 days","schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"until_id","in":"query","description":"Tweet ID to end at (results older than this ID)","schema":{"type":"string","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/posts/search-recent-posts","api_endpoint":"https://api.x.com/2/tweets/search/recent"},"summary":"Search Recent Posts","description":"Search and retrieve posts from the last 7 days.","security":[{"bearerAuth":[]}]}},"/2/tweets/{id}/liking_users":{"get":{"tags":["Posts"],"parameters":[{"name":"id","in":"path","description":"ID of the tweet","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/posts/get-liking-users","api_endpoint":"https://api.x.com/2/tweets/{id}/liking_users"},"summary":"Get Liking Users","description":"Returns users who liked the given post.","security":[{"bearerAuth":[]}]}},"/2/tweets/{id}/hidden":{"put":{"tags":["Posts"],"parameters":[{"name":"id","in":"path","description":"ID of the tweet (reply) to hide or unhide","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/posts/hide-reply","api_endpoint":"https://api.x.com/2/tweets/{id}/hidden"},"summary":"Hide Reply","description":"Hide or unhide a reply to a post.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"hidden":{"type":"boolean","description":"Whether the reply should be hidden","required":true,"enum":[true,false]}}},"example":{"hidden":""}}}}}},"/2/users/{id}/retweets":{"post":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the authenticated user","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/repost-post","api_endpoint":"https://api.x.com/2/users/{id}/retweets"},"summary":"Repost Post","description":"Repost a post on behalf of the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"tweet_id":{"type":"string","description":"ID of the tweet","required":true}}},"example":{"tweet_id":""}}}}}},"/2/users/{id}/retweets/{source_tweet_id}":{"delete":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the authenticated user","required":true,"schema":{"type":"string","example":""}},{"name":"source_tweet_id","in":"path","description":"ID of the post to unrepost","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/unrepost-post","api_endpoint":"https://api.x.com/2/users/{id}/retweets/{source_tweet_id}"},"summary":"Unrepost Post","description":"Remove a repost of a post on behalf of the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/users/{id}/tweets":{"get":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the user","required":true,"schema":{"type":"string","example":""}},{"name":"end_time","in":"query","description":"YYYY-MM-DDTHH:mm:ssZ (ISO 8601)","schema":{"type":"string","example":""}},{"name":"exclude","in":"query","schema":{"type":"array","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"media.fields","in":"query","schema":{"type":"array","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"place.fields","in":"query","schema":{"type":"array","example":""}},{"name":"poll.fields","in":"query","schema":{"type":"array","example":""}},{"name":"since_id","in":"query","schema":{"type":"string","example":""}},{"name":"start_time","in":"query","description":"YYYY-MM-DDTHH:mm:ssZ (ISO 8601)","schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"until_id","in":"query","schema":{"type":"string","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-posts","api_endpoint":"https://api.x.com/2/users/{id}/tweets"},"summary":"Get Posts","description":"Returns posts by the specified user ID. By default the most recent posts are returned; use the pagination token to retrieve additional pages.","security":[{"bearerAuth":[]}]}},"/2/users/{id}/mentions":{"get":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the user","required":true,"schema":{"type":"string","example":""}},{"name":"end_time","in":"query","description":"YYYY-MM-DDTHH:mm:ssZ (ISO 8601)","schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"media.fields","in":"query","schema":{"type":"array","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"place.fields","in":"query","schema":{"type":"array","example":""}},{"name":"poll.fields","in":"query","schema":{"type":"array","example":""}},{"name":"since_id","in":"query","schema":{"type":"string","example":""}},{"name":"start_time","in":"query","description":"YYYY-MM-DDTHH:mm:ssZ (ISO 8601)","schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"until_id","in":"query","schema":{"type":"string","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-mentions","api_endpoint":"https://api.x.com/2/users/{id}/mentions"},"summary":"Get Mentions","description":"Returns posts mentioning the specified user.","security":[{"bearerAuth":[]}]}},"/2/users/{id}/timelines/reverse_chronological":{"get":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the user","required":true,"schema":{"type":"string","example":""}},{"name":"end_time","in":"query","description":"YYYY-MM-DDTHH:mm:ssZ (ISO 8601)","schema":{"type":"string","example":""}},{"name":"exclude","in":"query","schema":{"type":"array","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"media.fields","in":"query","schema":{"type":"array","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"place.fields","in":"query","schema":{"type":"array","example":""}},{"name":"poll.fields","in":"query","schema":{"type":"array","example":""}},{"name":"since_id","in":"query","schema":{"type":"string","example":""}},{"name":"start_time","in":"query","description":"YYYY-MM-DDTHH:mm:ssZ (ISO 8601)","schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"until_id","in":"query","schema":{"type":"string","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-timeline","api_endpoint":"https://api.x.com/2/users/{id}/timelines/reverse_chronological"},"summary":"Get Timeline","description":"Returns posts from the user's home timeline in reverse chronological order.","security":[{"bearerAuth":[]}]}},"/2/users/{id}/liked_tweets":{"get":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the user","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"media.fields","in":"query","schema":{"type":"array","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"place.fields","in":"query","schema":{"type":"array","example":""}},{"name":"poll.fields","in":"query","schema":{"type":"array","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-liked-posts","api_endpoint":"https://api.x.com/2/users/{id}/liked_tweets"},"summary":"Get Liked Posts","description":"Returns posts liked by the specified user. The response is paginated; use the pagination token to retrieve the next page.","security":[{"bearerAuth":[]}]}},"/2/users/me":{"get":{"tags":["Users"],"parameters":[{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-my-user","api_endpoint":"https://api.x.com/2/users/me"},"summary":"Get My User","description":"Returns information about the authenticated user.","security":[{"bearerAuth":[]}]}},"/2/users":{"get":{"tags":["Users"],"parameters":[{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"ids","in":"query","description":"Comma-separated list of user IDs (up to 100)","required":true,"schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-users-by-ids","api_endpoint":"https://api.x.com/2/users"},"summary":"Get Users By Ids","description":"Returns details of the specified user IDs (up to 100 per request).","security":[{"bearerAuth":[]}]}},"/2/users/{id}":{"get":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the user","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-user-by-id","api_endpoint":"https://api.x.com/2/users/{id}"},"summary":"Get User By Id","description":"Returns a variety of information about a single user specified by the requested ID.","security":[{"bearerAuth":[]}]}},"/2/users/by/username/{username}":{"get":{"tags":["Users"],"parameters":[{"name":"username","in":"path","description":"Username of the user to retrieve","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-user-by-username","api_endpoint":"https://api.x.com/2/users/by/username/{username}"},"summary":"Get User By Username","description":"Returns a variety of information about a single user specified by their username.","security":[{"bearerAuth":[]}]}},"/2/users/by":{"get":{"tags":["Users"],"parameters":[{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}},{"name":"usernames","in":"query","description":"Comma-separated list of usernames (up to 100)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-users-by-usernames","api_endpoint":"https://api.x.com/2/users/by"},"summary":"Get Users By Usernames","description":"Returns a variety of information about one or more users specified by their usernames.","security":[{"bearerAuth":[]}]}},"/2/users/{id}/followers":{"get":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the user","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-followers","api_endpoint":"https://api.x.com/2/users/{id}/followers"},"summary":"Get Followers","description":"Returns users who are following the specified user. The response is paginated; use the pagination token to retrieve the next page.","security":[{"bearerAuth":[]}]}},"/2/users/{id}/following":{"get":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the user","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-following","api_endpoint":"https://api.x.com/2/users/{id}/following"},"summary":"Get Following","description":"Returns users the specified user is following.","security":[{"bearerAuth":[]}]},"post":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the authenticated user","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/follow-user","api_endpoint":"https://api.x.com/2/users/{id}/following"},"summary":"Follow User","description":"Follow a user on behalf of the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"target_user_id":{"type":"string","description":"ID of the user to follow","required":true}}},"example":{"target_user_id":""}}}}}},"/2/users/{id}/bookmarks":{"get":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the user","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"media.fields","in":"query","schema":{"type":"array","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"place.fields","in":"query","schema":{"type":"array","example":""}},{"name":"poll.fields","in":"query","schema":{"type":"array","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-bookmarks","api_endpoint":"https://api.x.com/2/users/{id}/bookmarks"},"summary":"Get Bookmarks","description":"Returns posts that the specified user has bookmarked.","security":[{"bearerAuth":[]}]},"post":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the authenticated user","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/create-bookmark","api_endpoint":"https://api.x.com/2/users/{id}/bookmarks"},"summary":"Create Bookmark","description":"Bookmark a post on behalf of the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"tweet_id":{"type":"string","description":"ID of the tweet","required":true}}},"example":{"tweet_id":""}}}}}},"/2/users/{id}/likes":{"post":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the authenticated user","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/like-post","api_endpoint":"https://api.x.com/2/users/{id}/likes"},"summary":"Like Post","description":"Like a post on behalf of the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"tweet_id":{"type":"string","description":"ID of the tweet","required":true}}},"example":{"tweet_id":""}}}}}},"/2/users/{id}/likes/{tweet_id}":{"delete":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the authenticated user","required":true,"schema":{"type":"string","example":""}},{"name":"tweet_id","in":"path","description":"ID of the tweet","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/unlike-post","api_endpoint":"https://api.x.com/2/users/{id}/likes/{tweet_id}"},"summary":"Unlike Post","description":"Unlike a post on behalf of the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/users/{source_user_id}/following/{target_user_id}":{"delete":{"tags":["Users"],"parameters":[{"name":"source_user_id","in":"path","description":"ID of the authenticated user","required":true,"schema":{"type":"string","example":""}},{"name":"target_user_id","in":"path","description":"ID of the user to unfollow","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/unfollow-user","api_endpoint":"https://api.x.com/2/users/{source_user_id}/following/{target_user_id}"},"summary":"Unfollow User","description":"Unfollow a user on behalf of the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/users/{id}/muting":{"post":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the authenticated user","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/mute-user","api_endpoint":"https://api.x.com/2/users/{id}/muting"},"summary":"Mute User","description":"Mute a user on behalf of the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"target_user_id":{"type":"string","description":"ID of the user to mute","required":true}}},"example":{"target_user_id":""}}}}},"get":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the user","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-muting","api_endpoint":"https://api.x.com/2/users/{id}/muting"},"summary":"Get Muting","description":"Returns users the specified user has muted.","security":[{"bearerAuth":[]}]}},"/2/users/{source_user_id}/muting/{target_user_id}":{"delete":{"tags":["Users"],"parameters":[{"name":"source_user_id","in":"path","description":"ID of the authenticated user","required":true,"schema":{"type":"string","example":""}},{"name":"target_user_id","in":"path","description":"ID of the user to unmute","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/unmute-user","api_endpoint":"https://api.x.com/2/users/{source_user_id}/muting/{target_user_id}"},"summary":"Unmute User","description":"Unmute a user on behalf of the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/users/{id}/blocking":{"post":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the authenticated user","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/blocks/integrate","api_endpoint":"https://api.x.com/2/users/{id}/blocking"},"summary":"Block User","description":"Block a user on behalf of the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"target_user_id":{"type":"string","description":"ID of the user to block","required":true}}},"example":{"target_user_id":""}}}}},"get":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the user","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user_id","in":"query","schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-blocking","api_endpoint":"https://api.x.com/2/users/{id}/blocking"},"summary":"Get Blocking","description":"Returns users the specified user has blocked.","security":[{"bearerAuth":[]}]}},"/2/users/{source_user_id}/blocking/{target_user_id}":{"delete":{"tags":["Users"],"parameters":[{"name":"source_user_id","in":"path","description":"ID of the authenticated user","required":true,"schema":{"type":"string","example":""}},{"name":"target_user_id","in":"path","description":"ID of the user to unblock","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/blocks/integrate","api_endpoint":"https://api.x.com/2/users/{source_user_id}/blocking/{target_user_id}"},"summary":"Unblock User","description":"Unblock a user on behalf of the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/users/{id}/bookmarks/{tweet_id}":{"delete":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the authenticated user","required":true,"schema":{"type":"string","example":""}},{"name":"tweet_id","in":"path","description":"ID of the tweet","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/delete-bookmark","api_endpoint":"https://api.x.com/2/users/{id}/bookmarks/{tweet_id}"},"summary":"Delete Bookmark","description":"Remove a bookmark from a post on behalf of the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/users/{id}/owned_lists":{"get":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the user","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"list.fields","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-owned-lists","api_endpoint":"https://api.x.com/2/users/{id}/owned_lists"},"summary":"Get Owned Lists","description":"Returns lists owned by the specified user.","security":[{"bearerAuth":[]}]}},"/2/users/{id}/list_memberships":{"get":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the user","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"list.fields","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-list-memberships","api_endpoint":"https://api.x.com/2/users/{id}/list_memberships"},"summary":"Get List Memberships","description":"Returns lists the specified user is a member of.","security":[{"bearerAuth":[]}]}},"/2/users/{id}/pinned_lists":{"post":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the authenticated user","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/pin-list","api_endpoint":"https://api.x.com/2/users/{id}/pinned_lists"},"summary":"Pin List","description":"Pin a list on behalf of the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"list_id":{"type":"string","description":"ID of the List","required":true}}},"example":{"list_id":""}}}}},"get":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the user","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"list_fields","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-pinned-lists","api_endpoint":"https://api.x.com/2/users/{id}/pinned_lists"},"summary":"Get Pinned Lists","description":"Returns lists pinned by the specified user.","security":[{"bearerAuth":[]}]}},"/2/users/{id}/pinned_lists/{list_id}":{"delete":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the authenticated user","required":true,"schema":{"type":"string","example":""}},{"name":"list_id","in":"path","description":"ID of the List","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/unpin-list","api_endpoint":"https://api.x.com/2/users/{id}/pinned_lists/{list_id}"},"summary":"Unpin List","description":"Unpin a list on behalf of the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/users/{id}/followed_lists":{"post":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the authenticated user","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/follow-list","api_endpoint":"https://api.x.com/2/users/{id}/followed_lists"},"summary":"Follow List","description":"Follow a list on behalf of the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"list_id":{"type":"string","description":"ID of the List","required":true}}},"example":{"list_id":""}}}}},"get":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the user","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"list.fields","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-followed-lists","api_endpoint":"https://api.x.com/2/users/{id}/followed_lists"},"summary":"Get Followed Lists","description":"Returns lists the specified user follows.","security":[{"bearerAuth":[]}]}},"/2/users/{id}/followed_lists/{list_id}":{"delete":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the authenticated user","required":true,"schema":{"type":"string","example":""}},{"name":"list_id","in":"path","description":"ID of the List","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/unfollow-list","api_endpoint":"https://api.x.com/2/users/{id}/followed_lists/{list_id}"},"summary":"Unfollow List","description":"Unfollow a list on behalf of the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/tweets/search/stream":{"get":{"tags":["Stream"],"parameters":[{"name":"backfill_minutes","in":"query","schema":{"type":"number","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"media.fields","in":"query","schema":{"type":"array","example":""}},{"name":"place.fields","in":"query","schema":{"type":"array","example":""}},{"name":"poll.fields","in":"query","schema":{"type":"array","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/stream/stream-filtered-posts","api_endpoint":"https://api.x.com/2/tweets/search/stream"},"summary":"Stream Filtered Posts","description":"Streams posts in real-time based on a set of filter rules. This endpoint provides a continuous stream of posts matching your specified criteria.","security":[{"bearerAuth":[]}]}},"/2/tweets/search/stream/rules":{"get":{"tags":["Stream"],"parameters":[{"name":"ids","in":"query","schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/stream/get-stream-rules","api_endpoint":"https://api.x.com/2/tweets/search/stream/rules"},"summary":"Get Stream Rules","description":"Retrieve the list of rules currently active on the filtered stream.","security":[{"bearerAuth":[]}]},"post":{"tags":["Stream"],"parameters":[{"name":"dry_run","in":"query","description":"Set to true to validate a rules request without committing it","schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/stream/update-stream-rules","api_endpoint":"https://api.x.com/2/tweets/search/stream/rules"},"summary":"Update Stream Rules","description":"Add or delete rules for the filtered stream.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"add":{"type":"array","description":"Rules to add: array of objects with value (required) and tag","items":{"type":"object","properties":{"tag":{"type":"string","description":"Optional tag for the rule"},"value":{"type":"string","description":"Rule expression (up to 1024 characters)","required":true}}}},"delete":{"type":"object","description":"Rules to delete: object with ids (array of rule IDs) and/or values (array of rule expressions)","properties":{"ids":{"type":"array"},"values":{"type":"array"}}}}},"example":{"add":[],"delete":{}}}}}}},"/2/tweets/search/all":{"get":{"tags":["Posts"],"parameters":[{"name":"end_time","in":"query","schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"media.fields","in":"query","schema":{"type":"array","example":""}},{"name":"next_token","in":"query","schema":{"type":"string","example":""}},{"name":"place.fields","in":"query","schema":{"type":"array","example":""}},{"name":"poll.fields","in":"query","schema":{"type":"array","example":""}},{"name":"query","in":"query","description":"Search query (up to 4096 characters)","required":true,"schema":{"type":"string","example":""}},{"name":"since_id","in":"query","schema":{"type":"string","example":""}},{"name":"sort_order","in":"query","schema":{"type":"string","example":""}},{"name":"start_time","in":"query","schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"until_id","in":"query","schema":{"type":"string","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/posts/search-all-posts","api_endpoint":"https://api.x.com/2/tweets/search/all"},"summary":"Search All Posts","description":"Search all public posts from the full archive of X.","security":[{"bearerAuth":[]}]}},"/2/spaces":{"get":{"tags":["Spaces"],"parameters":[{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"ids","in":"query","description":"Comma-separated list of Space IDs (up to 100)","required":true,"schema":{"type":"string","example":""}},{"name":"space.fields","in":"query","schema":{"type":"array","example":""}},{"name":"topic.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/spaces/get-spaces-by-ids","api_endpoint":"https://api.x.com/2/spaces"},"summary":"Get Spaces By Ids","description":"Retrieve details about multiple Spaces by their IDs (up to 100 per request).","security":[{"bearerAuth":[]}]}},"/2/spaces/{id}":{"get":{"tags":["Spaces"],"parameters":[{"name":"id","in":"path","description":"ID of the Space to retrieve","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"space.fields","in":"query","schema":{"type":"array","example":""}},{"name":"topic.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/spaces/get-space-by-id","api_endpoint":"https://api.x.com/2/spaces/{id}"},"summary":"Get Space By Id","description":"Retrieve details about a single Space by its ID.","security":[{"bearerAuth":[]}]}},"/2/spaces/by/creator_ids":{"get":{"tags":["Spaces"],"parameters":[{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"space.fields","in":"query","schema":{"type":"array","example":""}},{"name":"topic.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user_ids","in":"query","description":"Comma-separated list of user IDs","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/spaces/get-spaces-by-creator-ids","api_endpoint":"https://api.x.com/2/spaces/by/creator_ids"},"summary":"Get Spaces By Creator Ids","description":"Retrieve Spaces created by the specified user IDs.","security":[{"bearerAuth":[]}]}},"/2/spaces/search":{"get":{"tags":["Spaces"],"parameters":[{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"query","in":"query","description":"Search query (up to 2048 characters)","required":true,"schema":{"type":"string","example":""}},{"name":"space.fields","in":"query","schema":{"type":"array","example":""}},{"name":"state","in":"query","description":"Filter by Space state (defaults to all)","schema":{"type":"string","example":"","items":{"type":"string","enum":["live","scheduled","all"]}}},{"name":"topic.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/spaces/search-spaces","api_endpoint":"https://api.x.com/2/spaces/search"},"summary":"Search Spaces","description":"Search for Spaces matching your query criteria.","security":[{"bearerAuth":[]}]}},"/2/compliance/jobs":{"get":{"tags":["Compliance"],"parameters":[{"name":"type","in":"query","description":"Type of compliance job","required":true,"schema":{"type":"string","example":"","items":{"type":"string","enum":["tweets","users"]}}},{"name":"status","in":"query","description":"Filter by job status","schema":{"type":"string","example":"","items":{"type":"string","enum":["created","in_progress","failed","complete"]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/compliance/get-compliance-jobs","api_endpoint":"https://api.x.com/2/compliance/jobs"},"summary":"Get Compliance Jobs","description":"Retrieve compliance jobs.","security":[{"bearerAuth":[]}]},"post":{"tags":["Compliance"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/compliance/create-compliance-job","api_endpoint":"https://api.x.com/2/compliance/jobs"},"summary":"Create Compliance Job","description":"Create a new compliance job for downloading X data.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"Type of compliance job","required":true,"enum":["tweets","users"]},"name":{"type":"string","description":"User-provided name for this job (max 64 characters)"},"resumable":{"type":"boolean","description":"Enables resumable uploads for the upload URL","enum":[true,false]}}},"example":{"type":"","name":"","resumable":""}}}}}},"/2/compliance/jobs/{id}":{"get":{"tags":["Compliance"],"parameters":[{"name":"id","in":"path","description":"ID of the compliance job to retrieve","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/compliance/get-compliance-job-by-id","api_endpoint":"https://api.x.com/2/compliance/jobs/{id}"},"summary":"Get Compliance Job By Id","description":"Retrieve a single compliance job by its ID.","security":[{"bearerAuth":[]}]}},"/2/tweets/{id}/quote_tweets":{"get":{"tags":["Posts"],"parameters":[{"name":"id","in":"path","description":"ID of the tweet","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"media.fields","in":"query","schema":{"type":"array","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"place.fields","in":"query","schema":{"type":"array","example":""}},{"name":"poll.fields","in":"query","schema":{"type":"array","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/posts/get-quoted-posts","api_endpoint":"https://api.x.com/2/tweets/{id}/quote_tweets"},"summary":"Get Quoted Posts","description":"Returns quote posts for the post specified by the requested post ID.","security":[{"bearerAuth":[]}]}},"/2/dm_events":{"get":{"tags":["Direct Messages"],"parameters":[{"name":"dm_event.fields","in":"query","schema":{"type":"array","example":""}},{"name":"event_types","in":"query","description":"Types of events to return (MessageCreate, ParticipantsJoin, ParticipantsLeave)","schema":{"type":"array","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","description":"Maximum number of results per page","schema":{"type":"number","example":""}},{"name":"media.fields","in":"query","schema":{"type":"array","example":""}},{"name":"pagination_token","in":"query","description":"Token for pagination","schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/direct-messages/get-dm-events","api_endpoint":"https://api.x.com/2/dm_events"},"summary":"Get Dm Events","description":"Get all DM events for the authenticated user","security":[{"bearerAuth":[]}]}},"/2/dm_conversations/with/{participant_id}/dm_events":{"get":{"tags":["Direct Messages"],"parameters":[{"name":"participant_id","in":"path","description":"ID of the participant user","required":true,"schema":{"type":"string","example":""}},{"name":"dm_event.fields","in":"query","schema":{"type":"array","example":""}},{"name":"event_types","in":"query","schema":{"type":"array","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/direct-messages/get-dm-events-for-a-dm-conversation","api_endpoint":"https://api.x.com/2/dm_conversations/with/{participant_id}/dm_events"},"summary":"Get Dm Events For A Dm Conversation (By Participant Id)","description":"Get DM events from a one-to-one conversation by participant ID.","security":[{"bearerAuth":[]}]}},"/2/dm_conversations/{id}/dm_events":{"get":{"tags":["Direct Messages"],"parameters":[{"name":"id","in":"path","description":"ID of the DM conversation","required":true,"schema":{"type":"string","example":""}},{"name":"dm_event.fields","in":"query","schema":{"type":"array","example":""}},{"name":"event_types","in":"query","schema":{"type":"array","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/direct-messages/get-dm-events-for-a-dm-conversation-1","api_endpoint":"https://api.x.com/2/dm_conversations/{id}/dm_events"},"summary":"Get Dm Events For A Dm Conversation (By Conversation Id)","description":"Get DM events by conversation ID","security":[{"bearerAuth":[]}]}},"/2/dm_conversations":{"post":{"tags":["Direct Messages"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/direct-messages/create-dm-conversation","api_endpoint":"https://api.x.com/2/dm_conversations"},"summary":"Create Dm Conversation","description":"Create a new DM conversation","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"conversation_type":{"type":"string","description":"Type of conversation (Group only)","required":true,"enum":["Group"]},"message":{"type":"object","description":"Initial message to send to the conversation: object with text and optional attachments","required":true,"properties":{"text":{"type":"string"},"attachments":{"type":"array"}}},"participant_ids":{"type":"array","description":"User IDs of the participants (2-49 items)","required":true,"items":{"type":"string"}}}},"example":{"conversation_type":"","message":{},"participant_ids":[]}}}}}},"/2/dm_conversations/{id}/messages":{"post":{"tags":["Direct Messages"],"parameters":[{"name":"id","in":"path","description":"ID of the DM conversation","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/direct-messages/create-dm-message-by-conversation-id","api_endpoint":"https://api.x.com/2/dm_conversations/{id}/messages"},"summary":"Create Dm Message By Conversation Id","description":"Create a DM message in a conversation by conversation ID.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"text":{"type":"string","description":"Message text","required":true},"attachments":{"type":"array","description":"Media attachments (array of objects with media_id)","items":{"type":"object","properties":{"media_id":{"type":"string","description":"Media ID of the uploaded media to attach"}}}}}},"example":{"text":"","attachments":[]}}}}}},"/2/dm_conversations/with/{participant_id}/messages":{"post":{"tags":["Direct Messages"],"parameters":[{"name":"participant_id","in":"path","description":"ID of the participant user","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/direct-messages/create-dm-message-by-participant-id","api_endpoint":"https://api.x.com/2/dm_conversations/with/{participant_id}/messages"},"summary":"Create Dm Message By Participant Id","description":"Create a DM message in a one-to-one conversation by participant ID.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"text":{"type":"string","description":"Message text","required":true},"attachments":{"type":"array","description":"Media attachments (array of objects with media_id)","items":{"type":"object","properties":{"media_id":{"type":"string","description":"Media ID of the uploaded media to attach"}}}}}},"example":{"text":"","attachments":[]}}}}}},"/2/trends/by/woeid/{woeid}":{"get":{"tags":["Trends"],"parameters":[{"name":"woeid","in":"path","description":"The Yahoo! Where On Earth ID of the place to retrieve trends for (1 for worldwide)","required":true,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/trends/get-trends-by-woeid","api_endpoint":"https://api.x.com/2/trends/by/woeid/{woeid}"},"summary":"Get Trends By Woeid","description":"Get trending topics by WOEID (Where On Earth ID)","security":[{"bearerAuth":[]}]}},"/2/tweets/counts/recent":{"get":{"tags":["Posts"],"parameters":[{"name":"end_time","in":"query","description":"End time (ISO 8601)","schema":{"type":"string","example":""}},{"name":"granularity","in":"query","description":"Time granularity (minute, hour, day)","schema":{"type":"string","example":""}},{"name":"next_token","in":"query","description":"Token for pagination","schema":{"type":"string","example":""}},{"name":"query","in":"query","description":"Search query","required":true,"schema":{"type":"string","example":""}},{"name":"since_tweet_id","in":"query","description":"Tweet ID to start from","schema":{"type":"string","example":""}},{"name":"start_time","in":"query","description":"Start time (ISO 8601)","schema":{"type":"string","example":""}},{"name":"until_tweet_id","in":"query","description":"Tweet ID to end at","schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/posts/get-count-of-recent-posts","api_endpoint":"https://api.x.com/2/tweets/counts/recent"},"summary":"Get Count Of Recent Posts","description":"Get counts of recent posts matching a query.","security":[{"bearerAuth":[]}]}},"/2/tweets/counts/all":{"get":{"tags":["Posts"],"parameters":[{"name":"end_time","in":"query","description":"End time (ISO 8601)","schema":{"type":"string","example":""}},{"name":"granularity","in":"query","description":"Time granularity (minute, hour, day)","schema":{"type":"string","example":""}},{"name":"next_token","in":"query","schema":{"type":"string","example":""}},{"name":"query","in":"query","description":"Search query","required":true,"schema":{"type":"string","example":""}},{"name":"since_tweet_id","in":"query","schema":{"type":"string","example":""}},{"name":"start_time","in":"query","description":"Start time (ISO 8601)","schema":{"type":"string","example":""}},{"name":"until_tweet_id","in":"query","schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/posts/get-count-of-all-posts","api_endpoint":"https://api.x.com/2/tweets/counts/all"},"summary":"Get Count Of All Posts","description":"Get counts of full-archive posts matching a query.","security":[{"bearerAuth":[]}]}},"/2/users/{id}/bookmarks/folders":{"get":{"tags":["Bookmarks"],"parameters":[{"name":"id","in":"path","description":"ID of the user","required":true,"schema":{"type":"string","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/bookmarks/get-bookmark-folders","api_endpoint":"https://api.x.com/2/users/{id}/bookmarks/folders"},"summary":"Get Bookmark Folders","description":"Get bookmark folders for the authenticated user","security":[{"bearerAuth":[]}]}},"/2/media/upload":{"post":{"tags":["Media"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/media/upload-media","api_endpoint":"https://api.x.com/2/media/upload"},"summary":"Upload Media","description":"Upload media for use in posts.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":false,"content":{"multipart/form-data":{"schema":{"type":"object","required":[],"properties":{"additional_owners":{"type":"string","description":"Comma-separated list of user IDs allowed to use the uploaded media (up to 100)"},"media":{"type":"string","format":"binary","description":"Media file to upload","required":true},"media_category":{"type":"string","description":"Category of media","required":true,"enum":["tweet_image","tweet_video","tweet_gif","dm_image","dm_video","dm_gif","subtitles"]}}},"example":{"additional_owners":"","media":"(binary)","media_category":""}}}}},"get":{"tags":["Media"],"parameters":[{"name":"command","in":"query","description":"Must be set to STATUS","required":true,"schema":{"type":"string","example":"","items":{"type":"string","enum":["STATUS"]}}},{"name":"media_id","in":"query","description":"The media_id returned by the upload initialize step","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/media/get-media-upload-status","api_endpoint":"https://api.x.com/2/media/upload"},"summary":"Get Media Upload Status","description":"Get the status of an uploaded media (chunked upload processing)","security":[{"bearerAuth":[]}]}},"/2/media/{media_key}":{"get":{"tags":["Media"],"parameters":[{"name":"media_key","in":"path","description":"The media key of the media to retrieve","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/media/get-media-by-media-key","api_endpoint":"https://api.x.com/2/media/{media_key}"},"summary":"Get Media By Media Key","description":"Get media by media key","security":[{"bearerAuth":[]}]}},"/2/media/metadata":{"post":{"tags":["Media"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/media/create-media-metadata","api_endpoint":"https://api.x.com/2/media/metadata"},"summary":"Create Media Metadata","description":"Create metadata for media (alt text) by media key","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":false,"content":{"multipart/form-data":{"schema":{"type":"object","required":[],"properties":{"alt_text":{"type":"string","description":"Alt text for the media"},"media_id":{"type":"string","description":"The media key of the media","required":true}}},"example":{"alt_text":"","media_id":""}}}}}},"/2/tweets/analytics":{"get":{"tags":["Posts"],"parameters":[{"name":"analytics.fields","in":"query","schema":{"type":"array","example":""}},{"name":"end_time","in":"query","description":"End time (ISO 8601)","schema":{"type":"string","example":""}},{"name":"granularity","in":"query","description":"Granularity of returned metrics","schema":{"type":"string","example":"","items":{"type":"string","enum":["hourly","weekly","daily","total"]}}},{"name":"ids","in":"query","description":"Comma-separated list of post IDs (up to 100)","required":true,"schema":{"type":"string","example":""}},{"name":"start_time","in":"query","description":"Start time (ISO 8601)","schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/posts/get-post-analytics","api_endpoint":"https://api.x.com/2/tweets/analytics"},"summary":"Get Post Analytics","description":"Retrieve analytics metrics for the specified posts.","security":[{"bearerAuth":[]}]}},"/2/tweets/{id}/retweets":{"get":{"tags":["Posts"],"parameters":[{"name":"id","in":"path","description":"ID of the post","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/posts/get-reposts","api_endpoint":"https://api.x.com/2/tweets/{id}/retweets"},"summary":"Get Reposts","description":"Returns reposts of the specified post.","security":[{"bearerAuth":[]}]}},"/2/spaces/{id}/tweets":{"get":{"tags":["Spaces"],"parameters":[{"name":"id","in":"path","description":"ID of the Space","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/spaces/get-space-posts","api_endpoint":"https://api.x.com/2/spaces/{id}/tweets"},"summary":"Get Space Posts","description":"Returns posts from the specified Space.","security":[{"bearerAuth":[]}]}},"/2/spaces/{id}/buyers":{"get":{"tags":["Spaces"],"parameters":[{"name":"id","in":"path","description":"ID of the Space","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/spaces/get-space-ticket-buyers","api_endpoint":"https://api.x.com/2/spaces/{id}/buyers"},"summary":"Get Space Ticket Buyers","description":"Returns users who bought a ticket to the specified Space.","security":[{"bearerAuth":[]}]}},"/2/users/personalized_trends":{"get":{"tags":["Trends"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/trends/get-personalized-trends","api_endpoint":"https://api.x.com/2/users/personalized_trends"},"summary":"Get Personalized Trends","description":"Returns personalized trending topics for the authenticated user.","security":[{"bearerAuth":[]}]}},"/2/usage/tweets":{"get":{"tags":["Usage"],"parameters":[{"name":"days","in":"query","description":"Number of days of usage to return (up to 90)","schema":{"type":"number","example":""}},{"name":"usage.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/usage/get-usage","api_endpoint":"https://api.x.com/2/usage/tweets"},"summary":"Get Usage","description":"Returns API usage statistics for the authenticated user's project.","security":[{"bearerAuth":[]}]}},"/2/openapi.json":{"get":{"tags":["General"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/general/get-openapi-spec","api_endpoint":"https://api.x.com/2/openapi.json"},"summary":"Get Openapi Spec","description":"Returns the OpenAPI specification for X API v2.","security":[{"bearerAuth":[]}]}},"/2/users/{id}/dm/block":{"post":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the authenticated user","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/block-dms","api_endpoint":"https://api.x.com/2/users/{id}/dm/block"},"summary":"Block Dms","description":"Block direct messages from the specified user on behalf of the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/users/{id}/dm/unblock":{"post":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the authenticated user","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/unblock-dms","api_endpoint":"https://api.x.com/2/users/{id}/dm/unblock"},"summary":"Unblock Dms","description":"Allow direct messages from the specified user again on behalf of the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/users/{id}/affiliates":{"get":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the user","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-affiliates","api_endpoint":"https://api.x.com/2/users/{id}/affiliates"},"summary":"Get Affiliates","description":"Returns the accounts affiliated with the specified user.","security":[{"bearerAuth":[]}]}},"/2/users/{id}/bookmarks/folders/{folder_id}":{"get":{"tags":["Users"],"parameters":[{"name":"folder_id","in":"path","description":"ID of the bookmark folder","required":true,"schema":{"type":"string","example":""}},{"name":"id","in":"path","description":"ID of the user","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-bookmarks-by-folder-id","api_endpoint":"https://api.x.com/2/users/{id}/bookmarks/folders/{folder_id}"},"summary":"Get Bookmarks By Folder Id","description":"Returns posts the specified user bookmarked in the given bookmark folder.","security":[{"bearerAuth":[]}]}},"/2/users/public_keys":{"get":{"tags":["Users"],"parameters":[{"name":"ids","in":"query","description":"Comma-separated list of user IDs","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-public-keys-for-multiple-users","api_endpoint":"https://api.x.com/2/users/public_keys"},"summary":"Get Public Keys For Multiple Users","description":"Returns public chat keys for the specified users.","security":[{"bearerAuth":[]}]}},"/2/users/{id}/public_keys":{"get":{"tags":["Users"],"parameters":[{"name":"id","in":"path","description":"ID of the user","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-user-public-keys","api_endpoint":"https://api.x.com/2/users/{id}/public_keys"},"summary":"Get User Public Keys","description":"Returns the public chat keys for the specified user.","security":[{"bearerAuth":[]}]},"post":{"tags":["Chat"],"parameters":[{"name":"id","in":"path","description":"ID of the user","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/chat/add-public-key","api_endpoint":"https://api.x.com/2/users/{id}/public_keys"},"summary":"Add public key","description":"Register a public key for encrypted chat on behalf of a user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"generate_version":{"type":"boolean","enum":[true,false]},"public_key":{"type":"object","description":"Public key material to register","required":true,"properties":{"identity_public_key_signature":{"type":"string"},"public_key":{"type":"string"},"public_key_fingerprint":{"type":"string"},"registration_method":{"type":"string"},"signing_public_key":{"type":"string"},"signing_public_key_signature":{"type":"string"}}},"version":{"type":"string","description":"Key version to register","required":true}}},"example":{"generate_version":"","public_key":{},"version":""}}}}}},"/2/users/reposts_of_me":{"get":{"tags":["Users"],"parameters":[{"name":"end_time","in":"query","description":"YYYY-MM-DDTHH:mm:ssZ (ISO 8601)","schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}},{"name":"since_id","in":"query","schema":{"type":"string","example":""}},{"name":"start_time","in":"query","description":"YYYY-MM-DDTHH:mm:ssZ (ISO 8601)","schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"until_id","in":"query","schema":{"type":"string","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/get-reposts-of-me","api_endpoint":"https://api.x.com/2/users/reposts_of_me"},"summary":"Get Reposts Of Me","description":"Returns posts by the authenticated user that others have reposted.","security":[{"bearerAuth":[]}]}},"/2/users/search":{"get":{"tags":["Users"],"parameters":[{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"query","in":"query","description":"Search query","required":true,"schema":{"type":"string","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/users/search-users","api_endpoint":"https://api.x.com/2/users/search"},"summary":"Search Users","description":"Search public user profiles matching a query.","security":[{"bearerAuth":[]}]}},"/2/communities/{id}":{"get":{"tags":["Communities"],"parameters":[{"name":"id","in":"path","description":"ID of the community","required":true,"schema":{"type":"string","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/communities/get-community-by-id","api_endpoint":"https://api.x.com/2/communities/{id}"},"summary":"Get Community By Id","description":"Returns a community by its ID.","security":[{"bearerAuth":[]}]}},"/2/communities/search":{"get":{"tags":["Communities"],"parameters":[{"name":"query","in":"query","description":"Search query","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/communities/search-communities","api_endpoint":"https://api.x.com/2/communities/search"},"summary":"Search Communities","description":"Search for communities matching a query.","security":[{"bearerAuth":[]}]}},"/2/notes":{"post":{"tags":["Community Notes"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/community-notes/create-a-community-note","api_endpoint":"https://api.x.com/2/notes"},"summary":"Create A Community Note","description":"Create a Community Note on a post.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"info":{"type":"object","description":"Community Note details","properties":{"text":{"type":"string","description":"Text of the note"},"classification":{"type":"string","description":"Classification of the note"},"misleading_tags":{"type":"array"},"trustworthy_sources":{"type":"array"}}},"post_id":{"type":"string","description":"ID of the post the note is written on","required":true},"test_mode":{"type":"boolean","description":"Set to true to write notes that do not get published","required":true,"enum":[true,false]}}},"example":{"info":{},"post_id":"","test_mode":""}}}}}},"/2/notes/{id}":{"delete":{"tags":["Community Notes"],"parameters":[{"name":"id","in":"path","description":"ID of the Community Note to delete","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/community-notes/delete-a-community-note","api_endpoint":"https://api.x.com/2/notes/{id}"},"summary":"Delete A Community Note","description":"Delete a Community Note by its ID.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/notes/evaluate":{"post":{"tags":["Community Notes"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/community-notes/evaluate-a-community-note","api_endpoint":"https://api.x.com/2/notes/evaluate"},"summary":"Evaluate A Community Note","description":"Evaluate a Community Note draft on a post.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"note_text":{"type":"string","description":"Text of the note to evaluate","required":true},"post_id":{"type":"string","description":"ID of the post the note would be written on","required":true}}},"example":{"note_text":"","post_id":""}}}}}},"/2/notes/search/notes_written":{"get":{"tags":["Community Notes"],"parameters":[{"name":"test_mode","in":"query","description":"Set to true to include notes that were not published","required":true,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/community-notes/search-for-community-notes-written","api_endpoint":"https://api.x.com/2/notes/search/notes_written"},"summary":"Search For Community Notes Written","description":"Search Community Notes written by the authenticated user.","security":[{"bearerAuth":[]}]}},"/2/notes/search/posts_eligible_for_notes":{"get":{"tags":["Community Notes"],"parameters":[{"name":"test_mode","in":"query","description":"Set to true to include notes that were not published","required":true,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/community-notes/search-for-posts-eligible-for-community-notes","api_endpoint":"https://api.x.com/2/notes/search/posts_eligible_for_notes"},"summary":"Search For Posts Eligible For Community Notes","description":"Search for posts eligible to receive Community Notes.","security":[{"bearerAuth":[]}]}},"/2/connections":{"get":{"tags":["Connections"],"parameters":[{"name":"connection.fields","in":"query","schema":{"type":"array","example":""}},{"name":"endpoints","in":"query","description":"Filter by streaming endpoint","schema":{"type":"string","example":""}},{"name":"status","in":"query","description":"Filter by connection status","schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/connections/get-connection-history","api_endpoint":"https://api.x.com/2/connections"},"summary":"Get Connection History","description":"Returns the history of streaming connections for the authenticated user.","security":[{"bearerAuth":[]}]},"delete":{"tags":["Connections"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/connections/terminate-multiple-connections","api_endpoint":"https://api.x.com/2/connections"},"summary":"Terminate Multiple Connections","description":"Terminate multiple streaming connections by their UUIDs.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"uuids":{"type":"array","description":"UUIDs of the connections to terminate","required":true,"items":{"type":"string"}}}},"example":{"uuids":[]}}}}}},"/2/connections/all":{"delete":{"tags":["Connections"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/connections/terminate-all-connections","api_endpoint":"https://api.x.com/2/connections/all"},"summary":"Terminate All Connections","description":"Terminate all active streaming connections for the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/connections/{endpoint_id}":{"delete":{"tags":["Connections"],"parameters":[{"name":"endpoint_id","in":"path","description":"ID of the streaming endpoint","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/connections/terminate-connections-by-endpoint","api_endpoint":"https://api.x.com/2/connections/{endpoint_id}"},"summary":"Terminate Connections By Endpoint","description":"Terminate all streaming connections for the specified endpoint.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/webhooks":{"post":{"tags":["Webhooks"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/webhooks/create-webhook","api_endpoint":"https://api.x.com/2/webhooks"},"summary":"Create Webhook","description":"Register a webhook URL to receive X API events.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"url":{"type":"string","description":"Webhook URL to register","required":true}}},"example":{"url":""}}}}},"get":{"tags":["Webhooks"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/webhooks/get-webhook","api_endpoint":"https://api.x.com/2/webhooks"},"summary":"Get Webhook","description":"Returns the webhook registered for the authenticated user's app.","security":[{"bearerAuth":[]}]}},"/2/webhooks/{webhook_id}":{"delete":{"tags":["Webhooks"],"parameters":[{"name":"webhook_id","in":"path","description":"ID of the webhook to delete","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/webhooks/delete-webhook","api_endpoint":"https://api.x.com/2/webhooks/{webhook_id}"},"summary":"Delete Webhook","description":"Delete a registered webhook by its ID.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"put":{"tags":["Webhooks"],"parameters":[{"name":"webhook_id","in":"path","description":"ID of the webhook to validate","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/webhooks/validate-webhook","api_endpoint":"https://api.x.com/2/webhooks/{webhook_id}"},"summary":"Validate Webhook","description":"Trigger a challenge request to validate a registered webhook.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/webhooks/replay":{"post":{"tags":["Webhooks"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/webhooks/create-replay-job-for-webhook","api_endpoint":"https://api.x.com/2/webhooks/replay"},"summary":"Create Replay Job For Webhook","description":"Replay events delivered to a webhook between two timestamps.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"from_date":{"type":"string","description":"Replay start timestamp (yyyymmddhhmm)","required":true},"to_date":{"type":"string","description":"Replay end timestamp (yyyymmddhhmm)","required":true},"webhook_id":{"type":"string","description":"ID of the webhook to replay events for","required":true}}},"example":{"from_date":"","to_date":"","webhook_id":""}}}}}},"/2/tweets/search/webhooks/{webhook_id}":{"post":{"tags":["Webhooks"],"parameters":[{"name":"webhook_id","in":"path","description":"ID of the webhook to link the stream to","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/webhooks/create-stream-link","api_endpoint":"https://api.x.com/2/tweets/search/webhooks/{webhook_id}"},"summary":"Create Stream Link","description":"Create a stream link that delivers filtered stream matches to a webhook.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"delete":{"tags":["Webhooks"],"parameters":[{"name":"webhook_id","in":"path","description":"ID of the webhook whose stream link to delete","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/webhooks/delete-stream-link","api_endpoint":"https://api.x.com/2/tweets/search/webhooks/{webhook_id}"},"summary":"Delete Stream Link","description":"Delete a stream link by its webhook ID.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/tweets/search/webhooks":{"get":{"tags":["Webhooks"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/webhooks/get-stream-links","api_endpoint":"https://api.x.com/2/tweets/search/webhooks"},"summary":"Get Stream Links","description":"Returns the stream links configured for the authenticated user's app.","security":[{"bearerAuth":[]}]}},"/2/news/search":{"get":{"tags":["News"],"parameters":[{"name":"max_age_hours","in":"query","description":"Maximum age of returned stories in hours","schema":{"type":"number","example":""}},{"name":"news.fields","in":"query","schema":{"type":"array","example":""}},{"name":"query","in":"query","description":"Search query","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/news/search-news","api_endpoint":"https://api.x.com/2/news/search"},"summary":"Search News","description":"Search news stories matching a query.","security":[{"bearerAuth":[]}]}},"/2/news/{id}":{"get":{"tags":["News"],"parameters":[{"name":"id","in":"path","description":"ID of the news story to retrieve","required":true,"schema":{"type":"string","example":""}},{"name":"news.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/news/get-news-stories-by-id","api_endpoint":"https://api.x.com/2/news/{id}"},"summary":"Get News Stories By Id","description":"Returns a news story by its ID.","security":[{"bearerAuth":[]}]}},"/2/media/upload/initialize":{"post":{"tags":["Media"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/media/initialize-media-upload","api_endpoint":"https://api.x.com/2/media/upload/initialize"},"summary":"Initialize Media Upload","description":"Initialize a chunked media upload and return a media ID.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":false,"content":{"multipart/form-data":{"schema":{"type":"object","required":[],"properties":{"additional_owners":{"type":"string","description":"Comma-separated list of user IDs allowed to use the uploaded media (up to 100)"},"media_category":{"type":"string","description":"Category of media","required":true,"enum":["tweet_image","tweet_video","tweet_gif","dm_image","dm_video","dm_gif","amplify_video","subtitles"]},"media_type":{"type":"string","description":"MIME type of the media (e.g. video/mp4)","required":true},"shared":{"type":"boolean","description":"Allow the media to be used by all app users","enum":[true,false]},"total_bytes":{"type":"number","description":"Total size of the media in bytes","required":true}}},"example":{"additional_owners":"","media_category":"","media_type":"","shared":"","total_bytes":""}}}}}},"/2/media/upload/{id}/append":{"post":{"tags":["Media"],"parameters":[{"name":"id","in":"path","description":"The media_id returned by the upload initialize step","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/media/append-media-upload","api_endpoint":"https://api.x.com/2/media/upload/{id}/append"},"summary":"Append Media Upload","description":"Append a chunk (segment) to an initialized media upload.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":false,"content":{"multipart/form-data":{"schema":{"type":"object","required":[],"properties":{"media":{"type":"string","format":"binary","description":"Media chunk (segment) to append","required":true},"segment_index":{"type":"number","description":"Index of the chunk being appended (0-999)","required":true}}},"example":{"media":"(binary)","segment_index":""}}}}}},"/2/media/upload/{id}/finalize":{"post":{"tags":["Media"],"parameters":[{"name":"id","in":"path","description":"The media_id returned by the upload initialize step","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/media/finalize-media-upload","api_endpoint":"https://api.x.com/2/media/upload/{id}/finalize"},"summary":"Finalize Media Upload","description":"Finalize a chunked media upload after all segments are appended.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":false,"content":{"multipart/form-data":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/media/subtitles":{"post":{"tags":["Media"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/media/create-media-subtitles","api_endpoint":"https://api.x.com/2/media/subtitles"},"summary":"Create Media Subtitles","description":"Attach a subtitle track to an uploaded video.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":false,"content":{"multipart/form-data":{"schema":{"type":"object","required":[],"properties":{"id":{"type":"string","description":"The media key of the video","required":true},"media_category":{"type":"string","description":"Category of the video media","required":true,"enum":["AmplifyVideo","TweetVideo"]},"subtitles":{"type":"object","description":"Subtitle track details","required":true,"properties":{"display_name":{"type":"string"},"id":{"type":"string","description":"Media key of the subtitle file"},"language_code":{"type":"string","description":"BCP 47 language code of the subtitle track"}}}}},"example":{"id":"","media_category":"","subtitles":{}}}}}},"delete":{"tags":["Media"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/media/delete-media-subtitles","api_endpoint":"https://api.x.com/2/media/subtitles"},"summary":"Delete Media Subtitles","description":"Delete a subtitle track from an uploaded video.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":false,"content":{"multipart/form-data":{"schema":{"type":"object","required":[],"properties":{"id":{"type":"string","description":"The media key of the video","required":true},"language_code":{"type":"string","description":"BCP 47 language code of the subtitle track to delete","required":true},"media_category":{"type":"string","description":"Category of the video media","required":true,"enum":["AmplifyVideo","TweetVideo"]}}},"example":{"id":"","language_code":"","media_category":""}}}}}},"/2/media/analytics":{"get":{"tags":["Media"],"parameters":[{"name":"end_time","in":"query","description":"End time (ISO 8601)","schema":{"type":"string","example":""}},{"name":"granularity","in":"query","description":"Granularity of returned metrics","schema":{"type":"string","example":""}},{"name":"media_keys","in":"query","description":"Comma-separated list of media keys","required":true,"schema":{"type":"string","example":""}},{"name":"start_time","in":"query","description":"Start time (ISO 8601)","schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/media/get-media-analytics","api_endpoint":"https://api.x.com/2/media/analytics"},"summary":"Get Media Analytics","description":"Retrieve analytics metrics for the specified media.","security":[{"bearerAuth":[]}]}},"/2/media":{"get":{"tags":["Media"],"parameters":[{"name":"media.fields","in":"query","schema":{"type":"array","example":""}},{"name":"media_keys","in":"query","description":"Comma-separated list of media keys","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/media/get-media-by-media-keys","api_endpoint":"https://api.x.com/2/media"},"summary":"Get Media By Media Keys","description":"Returns media objects for the specified media keys.","security":[{"bearerAuth":[]}]}},"/2/dm_events/{event_id}":{"get":{"tags":["Direct Messages"],"parameters":[{"name":"event_id","in":"path","description":"ID of the DM event","required":true,"schema":{"type":"string","example":""}},{"name":"dm_event.fields","in":"query","schema":{"type":"array","example":""}},{"name":"expansions","in":"query","schema":{"type":"array","example":""}},{"name":"media.fields","in":"query","schema":{"type":"array","example":""}},{"name":"tweet.fields","in":"query","schema":{"type":"array","example":""}},{"name":"user.fields","in":"query","schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/direct-messages/get-dm-event-by-id","api_endpoint":"https://api.x.com/2/dm_events/{event_id}"},"summary":"Get Dm Event By Id","description":"Returns a DM event by its ID.","security":[{"bearerAuth":[]}]},"delete":{"tags":["Direct Messages"],"parameters":[{"name":"event_id","in":"path","description":"ID of the DM event to delete","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/direct-messages/delete-dm-event","api_endpoint":"https://api.x.com/2/dm_events/{event_id}"},"summary":"Delete Dm Event","description":"Delete a DM event by its ID.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/dm_conversations/media/{dm_id}/{media_id}/{resource_id}":{"get":{"tags":["Direct Messages"],"parameters":[{"name":"dm_id","in":"path","description":"ID of the DM event the media belongs to","required":true,"schema":{"type":"string","example":""}},{"name":"media_id","in":"path","description":"ID of the media to download","required":true,"schema":{"type":"string","example":""}},{"name":"resource_id","in":"path","description":"ID of the media resource variant","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/direct-messages/download-dm-media","api_endpoint":"https://api.x.com/2/dm_conversations/media/{dm_id}/{media_id}/{resource_id}"},"summary":"Download Dm Media","description":"Download media attached to a direct message.","security":[{"bearerAuth":[]}]}},"/2/chat/conversations":{"get":{"tags":["Chat"],"parameters":[{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/chat/get-chat-conversations","api_endpoint":"https://api.x.com/2/chat/conversations"},"summary":"Get Chat Conversations","description":"Returns chat conversations for the authenticated user.","security":[{"bearerAuth":[]}]}},"/2/chat/conversations/group":{"post":{"tags":["Chat"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/chat/create-chat-group-conversation","api_endpoint":"https://api.x.com/2/chat/conversations/group"},"summary":"Create Chat Group Conversation","description":"Create a new encrypted Chat group conversation.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"action_signatures":{"type":"array","description":"Signatures authorizing the conversation actions","items":{"type":"object","properties":{"encoded_message_event_detail":{"type":"string","description":"Base64-encoded message event detail being signed","required":true},"message_event_signature":{"type":"object","description":"Signature object over the message event","required":true},"message_id":{"type":"string","description":"Client-generated ID of the message being signed","required":true}}}},"base64_encoded_key_rotation":{"type":"string"},"conversation_id":{"type":"string","description":"Client-generated conversation ID","required":true},"conversation_key_version":{"type":"string","description":"Version of the conversation key","required":true},"conversation_participant_keys":{"type":"array","description":"Conversation key encrypted for each participant","required":true,"items":{"type":"object","properties":{"encrypted_conversation_key":{"type":"string","description":"Conversation key encrypted for this participant"},"public_key_version":{"type":"string","description":"Public key version used to encrypt the conversation key"},"user_id":{"type":"string","description":"User ID of the participant"}}}},"group_admins":{"type":"array","items":{"type":"string"}},"group_avatar_url":{"type":"string"},"group_description":{"type":"string"},"group_members":{"type":"array","description":"User IDs of the group members","required":true,"items":{"type":"string"}},"group_name":{"type":"string"},"ttl_msec":{"type":"string"}}},"example":{"action_signatures":[],"base64_encoded_key_rotation":"","conversation_id":"","conversation_key_version":"","conversation_participant_keys":[],"group_admins":[],"group_avatar_url":"","group_description":"","group_members":[],"group_name":"","ttl_msec":""}}}}}},"/2/chat/conversations/group/initialize":{"post":{"tags":["Chat"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/chat/initialize-chat-group","api_endpoint":"https://api.x.com/2/chat/conversations/group/initialize"},"summary":"Initialize Chat Group","description":"Initialize an encrypted Chat group conversation for the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/chat/conversations/{id}":{"get":{"tags":["Chat"],"parameters":[{"name":"id","in":"path","description":"ID of the chat conversation","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/chat/get-chat-conversation","api_endpoint":"https://api.x.com/2/chat/conversations/{id}"},"summary":"Get Chat Conversation","description":"Returns a chat conversation by its ID.","security":[{"bearerAuth":[]}]}},"/2/chat/conversations/{id}/events":{"get":{"tags":["Chat"],"parameters":[{"name":"id","in":"path","description":"ID of the chat conversation","required":true,"schema":{"type":"string","example":""}},{"name":"max_results","in":"query","schema":{"type":"number","example":""}},{"name":"pagination_token","in":"query","schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/chat/get-chat-conversation-events","api_endpoint":"https://api.x.com/2/chat/conversations/{id}/events"},"summary":"Get Chat Conversation Events","description":"Returns events for a chat conversation.","security":[{"bearerAuth":[]}]}},"/2/chat/conversations/{id}/keys":{"post":{"tags":["Chat"],"parameters":[{"name":"id","in":"path","description":"ID of the chat conversation","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/chat/add-conversation-keys","api_endpoint":"https://api.x.com/2/chat/conversations/{id}/keys"},"summary":"Add Conversation Keys","description":"Add or rotate conversation keys for an encrypted chat conversation.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"action_signatures":{"type":"array","description":"Signatures authorizing the key actions","items":{"type":"object","properties":{"encoded_message_event_detail":{"type":"string","description":"Base64-encoded message event detail being signed","required":true},"message_event_signature":{"type":"object","description":"Signature object over the message event","required":true},"message_id":{"type":"string","description":"Client-generated ID of the message being signed","required":true}}}},"base64_encoded_key_rotation":{"type":"string"},"conversation_key_version":{"type":"string","description":"Version of the conversation key","required":true},"conversation_participant_keys":{"type":"array","description":"Conversation key encrypted for each participant","required":true,"items":{"type":"object","properties":{"encrypted_conversation_key":{"type":"string","description":"Conversation key encrypted for this participant"},"public_key_version":{"type":"string","description":"Public key version used to encrypt the conversation key"},"user_id":{"type":"string","description":"User ID of the participant"}}}}}},"example":{"action_signatures":[],"base64_encoded_key_rotation":"","conversation_key_version":"","conversation_participant_keys":[]}}}}}},"/2/chat/conversations/{id}/members":{"post":{"tags":["Chat"],"parameters":[{"name":"id","in":"path","description":"ID of the chat conversation","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/chat/add-members-to-a-chat-group-conversation","api_endpoint":"https://api.x.com/2/chat/conversations/{id}/members"},"summary":"Add members to a Chat group conversation","description":"Add members to an existing Chat group conversation.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"action_signatures":{"type":"array","description":"Signatures authorizing the member additions","items":{"type":"object","properties":{"encoded_message_event_detail":{"type":"string","description":"Base64-encoded message event detail being signed","required":true},"message_event_signature":{"type":"object","description":"Signature object over the message event","required":true},"message_id":{"type":"string","description":"Client-generated ID of the message being signed","required":true}}}},"conversation_key_version":{"type":"string"},"conversation_participant_keys":{"type":"array","description":"Conversation key encrypted for each new participant","items":{"type":"object","properties":{"encrypted_conversation_key":{"type":"string","description":"Conversation key encrypted for this participant"},"public_key_version":{"type":"string","description":"Public key version used to encrypt the conversation key"},"user_id":{"type":"string","description":"User ID of the participant"}}}},"encrypted_avatar_url":{"type":"string"},"encrypted_title":{"type":"string"},"user_ids":{"type":"array","description":"User IDs of the members to add","required":true,"items":{"type":"string"}}}},"example":{"action_signatures":[],"conversation_key_version":"","conversation_participant_keys":[],"encrypted_avatar_url":"","encrypted_title":"","user_ids":[]}}}}}},"/2/chat/conversations/{id}/messages":{"post":{"tags":["Chat"],"parameters":[{"name":"id","in":"path","description":"ID of the chat conversation","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/chat/send-chat-message","api_endpoint":"https://api.x.com/2/chat/conversations/{id}/messages"},"summary":"Send Chat Message","description":"Send a message to a chat conversation.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"conversation_token":{"type":"string"},"encoded_message_create_event":{"type":"string","description":"Base64-encoded encrypted message event","required":true},"encoded_message_event_signature":{"type":"string"},"message_id":{"type":"string","description":"Client-generated message ID","required":true}}},"example":{"conversation_token":"","encoded_message_create_event":"","encoded_message_event_signature":"","message_id":""}}}}}},"/2/chat/conversations/{id}/messages/delete":{"post":{"tags":["Chat"],"parameters":[{"name":"id","in":"path","description":"ID of the chat conversation","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/chat/delete-chat-messages","api_endpoint":"https://api.x.com/2/chat/conversations/{id}/messages/delete"},"summary":"Delete Chat messages","description":"Delete messages in a chat conversation.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"action_signatures":{"type":"array","description":"Signatures authorizing the deletions","required":true,"items":{"type":"object","properties":{"encoded_message_event_detail":{"type":"string","description":"Base64-encoded message event detail being signed","required":true},"message_event_signature":{"type":"object","description":"Signature object over the message event","required":true},"message_id":{"type":"string","description":"Client-generated ID of the message being signed","required":true}}}},"delete_message_action":{"type":"string","description":"Scope of the deletion","required":true,"enum":["delete_for_all","delete_for_self"]},"media_hash_keys":{"type":"array","items":{"type":"string"}},"sequence_ids":{"type":"array","description":"Sequence IDs of the messages to delete","required":true,"items":{"type":"string"}}}},"example":{"action_signatures":[],"delete_message_action":"","media_hash_keys":[],"sequence_ids":[]}}}}}},"/2/chat/conversations/{id}/read":{"post":{"tags":["Chat"],"parameters":[{"name":"id","in":"path","description":"ID of the chat conversation","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/chat/mark-conversation-as-read","api_endpoint":"https://api.x.com/2/chat/conversations/{id}/read"},"summary":"Mark Conversation as Read","description":"Mark a chat conversation as read up to a sequence ID.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"seen_until_sequence_id":{"type":"string","description":"Sequence ID to mark the conversation read up to","required":true}}},"example":{"seen_until_sequence_id":""}}}}}},"/2/chat/conversations/{id}/typing":{"post":{"tags":["Chat"],"parameters":[{"name":"id","in":"path","description":"ID of the chat conversation","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/chat/send-typing-indicator","api_endpoint":"https://api.x.com/2/chat/conversations/{id}/typing"},"summary":"Send Typing Indicator","description":"Send a typing indicator to a chat conversation.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/chat/media/upload/initialize":{"post":{"tags":["Chat"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/chat/initialize-chat-media-upload","api_endpoint":"https://api.x.com/2/chat/media/upload/initialize"},"summary":"Initialize Chat Media Upload","description":"Initialize a chat media upload and return a media ID.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":false,"content":{"multipart/form-data":{"schema":{"type":"object","required":[],"properties":{"conversation_id":{"type":"string","description":"ID of the chat conversation the media belongs to","required":true},"total_bytes":{"type":"number","description":"Total size of the media in bytes","required":true}}},"example":{"conversation_id":"","total_bytes":""}}}}}},"/2/chat/media/upload/{id}/append":{"post":{"tags":["Chat"],"parameters":[{"name":"id","in":"path","description":"The media_id returned by the chat upload initialize step","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/chat/append-chat-media-upload","api_endpoint":"https://api.x.com/2/chat/media/upload/{id}/append"},"summary":"Append Chat Media Upload","description":"Append a chunk (segment) to an initialized chat media upload.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":false,"content":{"multipart/form-data":{"schema":{"type":"object","required":[],"properties":{"media":{"type":"string","format":"binary","description":"Media chunk (segment) to append","required":true},"segment_index":{"type":"number","description":"Index of the chunk being appended","required":true}}},"example":{"media":"(binary)","segment_index":""}}}}}},"/2/chat/media/upload/{id}/finalize":{"post":{"tags":["Chat"],"parameters":[{"name":"id","in":"path","description":"The media_id returned by the chat upload initialize step","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/chat/finalize-chat-media-upload","api_endpoint":"https://api.x.com/2/chat/media/upload/{id}/finalize"},"summary":"Finalize Chat Media Upload","description":"Finalize a chat media upload after all segments are appended.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":false,"content":{"multipart/form-data":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/chat/media/{id}/{media_hash_key}":{"get":{"tags":["Chat"],"parameters":[{"name":"id","in":"path","description":"ID of the chat media","required":true,"schema":{"type":"string","example":""}},{"name":"media_hash_key","in":"path","description":"Hash key of the media to download","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/chat/download-chat-media","api_endpoint":"https://api.x.com/2/chat/media/{id}/{media_hash_key}"},"summary":"Download Chat Media","description":"Download media from a chat conversation.","security":[{"bearerAuth":[]}]}},"/2/broadcasts":{"get":{"tags":["Broadcasts"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/broadcasts/list-broadcasts","api_endpoint":"https://api.x.com/2/broadcasts"},"summary":"List Broadcasts","description":"Returns broadcasts for the authenticated user.","security":[{"bearerAuth":[]}]}},"/2/broadcasts/{id}":{"get":{"tags":["Broadcasts"],"parameters":[{"name":"id","in":"path","description":"ID of the broadcast","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/broadcasts/get-a-broadcast","api_endpoint":"https://api.x.com/2/broadcasts/{id}"},"summary":"Get Broadcast","description":"Returns a broadcast by its ID.","security":[{"bearerAuth":[]}]}},"/2/broadcasts/chat/moderators":{"get":{"tags":["Broadcasts"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/broadcasts/get-chat-moderators","api_endpoint":"https://api.x.com/2/broadcasts/chat/moderators"},"summary":"Get Chat Moderators","description":"Returns the chat moderators for a broadcast.","security":[{"bearerAuth":[]}]},"post":{"tags":["Broadcasts"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/broadcasts/add-a-chat-moderator","api_endpoint":"https://api.x.com/2/broadcasts/chat/moderators"},"summary":"Add a chat moderator","description":"Add a chat moderator to a broadcast.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"user_id":{"type":"string","description":"ID of the user to add as moderator","required":true}}},"example":{"user_id":""}}}}}},"/2/broadcasts/chat/moderators/{user_id}":{"delete":{"tags":["Broadcasts"],"parameters":[{"name":"user_id","in":"path","description":"ID of the moderator to remove","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/broadcasts/remove-a-chat-moderator","api_endpoint":"https://api.x.com/2/broadcasts/chat/moderators/{user_id}"},"summary":"Remove a chat moderator","description":"Remove a chat moderator from a broadcast.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/broadcasts/scheduled":{"get":{"tags":["Broadcasts"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/broadcasts/list-scheduled-broadcasts","api_endpoint":"https://api.x.com/2/broadcasts/scheduled"},"summary":"List Scheduled Broadcasts","description":"Returns scheduled broadcasts.","security":[{"bearerAuth":[]}]},"post":{"tags":["Broadcasts"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/broadcasts/create-a-scheduled-broadcast","api_endpoint":"https://api.x.com/2/broadcasts/scheduled"},"summary":"Create a scheduled broadcast","description":"Create a scheduled broadcast.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"available_for_replay":{"type":"boolean","enum":[true,false]},"chat_option":{"type":"string"},"description":{"type":"string"},"is_locked":{"type":"boolean","enum":[true,false]},"locale":{"type":"string"},"manual_publish":{"type":"boolean","enum":[true,false]},"recurrence":{"type":"object","description":"Recurrence rules for a repeating broadcast","properties":{"frequency":{"type":"string","required":true,"enum":["Daily","Weekly"]},"repeats":{"type":"string","required":true}}},"scheduled_end_ms":{"type":"string","description":"Scheduled end time in Unix milliseconds"},"scheduled_start_ms":{"type":"string","description":"Scheduled start time in Unix milliseconds","required":true},"source_id":{"type":"string","description":"ID of the broadcast source","required":true},"telecast_id":{"type":"string"},"thumbnail_media_id":{"type":"string"},"title":{"type":"string"}}},"example":{"available_for_replay":"","chat_option":"","description":"","is_locked":"","locale":"","manual_publish":"","recurrence":{},"scheduled_end_ms":"","scheduled_start_ms":"","source_id":"","telecast_id":"","thumbnail_media_id":"","title":""}}}}}},"/2/broadcasts/scheduled/{id}":{"get":{"tags":["Broadcasts"],"parameters":[{"name":"id","in":"path","description":"ID of the scheduled broadcast","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/broadcasts/get-a-scheduled-broadcast","api_endpoint":"https://api.x.com/2/broadcasts/scheduled/{id}"},"summary":"Get a scheduled broadcast","description":"Returns a scheduled broadcast by its ID.","security":[{"bearerAuth":[]}]},"put":{"tags":["Broadcasts"],"parameters":[{"name":"id","in":"path","description":"ID of the scheduled broadcast","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/broadcasts/update-a-scheduled-broadcast","api_endpoint":"https://api.x.com/2/broadcasts/scheduled/{id}"},"summary":"Update a scheduled broadcast","description":"Update a scheduled broadcast by its ID.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"available_for_replay":{"type":"boolean","enum":[true,false]},"chat_option":{"type":"string"},"description":{"type":"string"},"is_locked":{"type":"boolean","enum":[true,false]},"locale":{"type":"string"},"manual_publish":{"type":"boolean","enum":[true,false]},"roll_forward":{"type":"boolean","description":"Roll a recurring broadcast's remaining schedule forward","enum":[true,false]},"scheduled_broadcast_id":{"type":"string","description":"ID of the scheduled broadcast","required":true},"scheduled_end_ms":{"type":"string","description":"Scheduled end time in Unix milliseconds","required":true},"scheduled_start_ms":{"type":"string","description":"Scheduled start time in Unix milliseconds","required":true},"source_id":{"type":"string"},"thumbnail_media_id":{"type":"string"},"title":{"type":"string"}}},"example":{"available_for_replay":"","chat_option":"","description":"","is_locked":"","locale":"","manual_publish":"","roll_forward":"","scheduled_broadcast_id":"","scheduled_end_ms":"","scheduled_start_ms":"","source_id":"","thumbnail_media_id":"","title":""}}}}},"delete":{"tags":["Broadcasts"],"parameters":[{"name":"id","in":"path","description":"ID of the scheduled broadcast","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/broadcasts/delete-a-scheduled-broadcast","api_endpoint":"https://api.x.com/2/broadcasts/scheduled/{id}"},"summary":"Delete a scheduled broadcast","description":"Delete a scheduled broadcast by its ID.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/broadcasts/scheduled/{id}/live":{"post":{"tags":["Broadcasts"],"parameters":[{"name":"id","in":"path","description":"ID of the scheduled broadcast","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/broadcasts/go-live-on-a-scheduled-broadcast","api_endpoint":"https://api.x.com/2/broadcasts/scheduled/{id}/live"},"summary":"Go live on a scheduled broadcast","description":"Start a scheduled broadcast immediately.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/broadcasts/{id}/chat":{"get":{"tags":["Broadcasts"],"parameters":[{"name":"id","in":"path","description":"ID of the broadcast","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/broadcasts/get-broadcast-chat-history","api_endpoint":"https://api.x.com/2/broadcasts/{id}/chat"},"summary":"Get broadcast chat history","description":"Returns chat message history for a live broadcast.","security":[{"bearerAuth":[]}]},"post":{"tags":["Broadcasts"],"parameters":[{"name":"id","in":"path","description":"ID of the broadcast","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/broadcasts/send-a-chat-message-to-a-live-broadcast","api_endpoint":"https://api.x.com/2/broadcasts/{id}/chat"},"summary":"Send a chat message to a live broadcast","description":"Send a chat message to a live broadcast on behalf of the authenticated user.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"text":{"type":"string","description":"Text of the chat message","required":true},"reply_to":{"type":"string","description":"ID of the chat message to reply to"}}},"example":{"text":"","reply_to":""}}}}}},"/2/broadcasts/{id}/chat/mutes":{"post":{"tags":["Broadcasts"],"parameters":[{"name":"id","in":"path","description":"ID of the broadcast","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/broadcasts/mute-or-time-out-a-user-in-a-broadcast-chat","api_endpoint":"https://api.x.com/2/broadcasts/{id}/chat/mutes"},"summary":"Mute or time out a user in a broadcast chat","description":"Mute or time out a user in a broadcast chat.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"end_at_ms":{"type":"string","description":"End of the timeout in Unix milliseconds (for time outs)"},"message_id":{"type":"string","description":"ID of the chat message that triggered the action"},"user_id":{"type":"string","description":"ID of the user to mute or time out","required":true}}},"example":{"end_at_ms":"","message_id":"","user_id":""}}}}}},"/2/broadcasts/{id}/chat/mutes/{user_id}":{"delete":{"tags":["Broadcasts"],"parameters":[{"name":"id","in":"path","description":"ID of the broadcast","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"ID of the user to unmute","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/broadcasts/unmute-a-user-in-a-broadcast-chat","api_endpoint":"https://api.x.com/2/broadcasts/{id}/chat/mutes/{user_id}"},"summary":"Unmute a user in a broadcast chat","description":"Unmute a user in a broadcast chat.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/broadcasts/{id}/chat/{message_id}":{"delete":{"tags":["Broadcasts"],"parameters":[{"name":"id","in":"path","description":"ID of the broadcast","required":true,"schema":{"type":"string","example":""}},{"name":"message_id","in":"path","description":"ID of the chat message to remove","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/broadcasts/remove-a-chat-message-from-a-live-broadcast","api_endpoint":"https://api.x.com/2/broadcasts/{id}/chat/{message_id}"},"summary":"Remove a chat message from a live broadcast","description":"Remove a chat message from a live broadcast.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/bots":{"get":{"tags":["Bots"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/bots/get-bots","api_endpoint":"https://api.x.com/2/bots"},"summary":"Get Bots","description":"Returns bots owned by the authenticated user.","security":[{"bearerAuth":[]}]},"post":{"tags":["Bots"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/bots/create-a-bot","api_endpoint":"https://api.x.com/2/bots"},"summary":"Create a bot","description":"Create a new bot.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"display_name":{"type":"string"},"handle":{"type":"string","description":"Handle of the bot","required":true},"scopes":{"type":"array","items":{"type":"string"}}}},"example":{"display_name":"","handle":"","scopes":[]}}}}}},"/2/bots/{id}":{"put":{"tags":["Bots"],"parameters":[{"name":"id","in":"path","description":"ID of the bot","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/bots/update-bot","api_endpoint":"https://api.x.com/2/bots/{id}"},"summary":"Update Bot","description":"Update a bot by its ID.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"display_name":{"type":"string"},"dm_permission":{"type":"string","description":"Who can DM the bot","enum":["everyone","premium","no_one"]},"handle":{"type":"string"}}},"example":{"display_name":"","dm_permission":"","handle":""}}}}},"delete":{"tags":["Bots"],"parameters":[{"name":"id","in":"path","description":"ID of the bot to delete","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/bots/delete-bot","api_endpoint":"https://api.x.com/2/bots/{id}"},"summary":"Delete Bot","description":"Delete a bot by its ID.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/bots/{id}/token":{"post":{"tags":["Bots"],"parameters":[{"name":"id","in":"path","description":"ID of the bot","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/bots/rotate-bot-token","api_endpoint":"https://api.x.com/2/bots/{id}/token"},"summary":"Rotate Bot Token","description":"Rotate the token for a bot by its ID.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"delete":{"tags":["Bots"],"parameters":[{"name":"id","in":"path","description":"ID of the bot","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/bots/revoke-bot-token","api_endpoint":"https://api.x.com/2/bots/{id}/token"},"summary":"Revoke Bot Token","description":"Revoke the token for a bot by its ID.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/articles/draft":{"post":{"tags":["Articles"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/articles/create-draft-article","api_endpoint":"https://api.x.com/2/articles/draft"},"summary":"Create draft Article","description":"Create a draft long-form Article.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"content_state":{"type":"object","description":"Article body in rich-text block/entity structure","required":true},"cover_media":{"type":"object","description":"Cover media for the article","properties":{"media_category":{"type":"string","required":true},"media_id":{"type":"string","required":true}}},"title":{"type":"string","description":"Title of the article","required":true}}},"example":{"content_state":{},"cover_media":{},"title":""}}}}}},"/2/articles/{article_id}/publish":{"post":{"tags":["Articles"],"parameters":[{"name":"article_id","in":"path","description":"ID of the draft article to publish","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/articles/publish-article","api_endpoint":"https://api.x.com/2/articles/{article_id}/publish"},"summary":"Publish Article","description":"Publish a draft Article by its ID.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/account":{"get":{"tags":["Account"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/account/get-developer-account","api_endpoint":"https://api.x.com/2/account"},"summary":"Get developer account","description":"Returns developer account information for the authenticated user.","security":[{"bearerAuth":[]}]},"post":{"tags":["Account"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/account/ensure-developer-account","api_endpoint":"https://api.x.com/2/account"},"summary":"Ensure developer account","description":"Ensure a developer account exists for the authenticated user, creating one if needed.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"metadata":{"type":"string"}}},"example":{"metadata":""}}}}}},"/2/activity/stream":{"get":{"tags":["Activity"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/activity/activity-stream","api_endpoint":"https://api.x.com/2/activity/stream"},"summary":"Activity Stream","description":"Stream X activity events for the authenticated user in real time.","security":[{"bearerAuth":[]}]}},"/2/activity/subscriptions":{"get":{"tags":["Activity"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/activity/get-x-activity-subscriptions","api_endpoint":"https://api.x.com/2/activity/subscriptions"},"summary":"Get X activity subscriptions","description":"Returns X Activity subscriptions for the authenticated user.","security":[{"bearerAuth":[]}]},"post":{"tags":["Activity"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/activity/create-x-activity-subscription","api_endpoint":"https://api.x.com/2/activity/subscriptions"},"summary":"Create X activity subscription","description":"Create an X Activity subscription for a set of event types.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"event_type":{"type":"string","description":"Activity event type to subscribe to","required":true,"enum":["profile.update.bio","profile.update.profile_picture","profile.update.banner_picture","profile.update.screenname","profile.update.geo","profile.update.url","profile.update.verified_badge","profile.update.affiliate_badge","profile.update.handle","news.new","follow.follow","follow.unfollow","subscriptions.subscribe","subscriptions.unsubscribe","spaces.start","spaces.end","broadcast.start","broadcast.end","broadcast.chat","chat.received","chat.sent","chat.conversation.join","chat.conversation_join","chat.conversation.member_added","chat.conversation.member_removed","chat.conversation.admin_added","chat.conversation.admin_removed","chat.update.group_name","chat.update.restrictions","dm.sent","dm.received","dm.indicate_typing","dm.read","post.create","post.delete","post.mention.create","post.reply.create","post.quote.create","post.repost.create","like.create","mute.mute","mute.unmute","block.block","block.unblock"]},"filter":{"type":"object","description":"Filter limiting which events the subscription receives","required":true,"properties":{"direction":{"type":"string","description":"Direction of matching activity","enum":["inbound","outbound"]},"keyword":{"type":"string"},"qualifiers":{"type":"object"},"user_id":{"type":"string"}}},"tag":{"type":"string"},"webhook_id":{"type":"string","description":"ID of the webhook that receives the events"}}},"example":{"event_type":"","filter":{},"tag":"","webhook_id":""}}}}},"delete":{"tags":["Activity"],"parameters":[{"name":"ids","in":"query","description":"Comma-separated list of subscription IDs","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/activity/delete-x-activity-subscriptions-by-ids","api_endpoint":"https://api.x.com/2/activity/subscriptions"},"summary":"Delete X activity subscriptions by ids","description":"Delete multiple X Activity subscriptions by their IDs.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/activity/subscriptions/{subscription_id}":{"put":{"tags":["Activity"],"parameters":[{"name":"subscription_id","in":"path","description":"ID of the subscription","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/activity/update-x-activity-subscription","api_endpoint":"https://api.x.com/2/activity/subscriptions/{subscription_id}"},"summary":"Update X activity subscription","description":"Update an X Activity subscription by its ID.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"tag":{"type":"string"},"webhook_id":{"type":"string","description":"ID of the webhook that receives the events"}}},"example":{"tag":"","webhook_id":""}}}}},"delete":{"tags":["Activity"],"parameters":[{"name":"subscription_id","in":"path","description":"ID of the subscription to delete","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/activity/deletes-x-activity-subscription","api_endpoint":"https://api.x.com/2/activity/subscriptions/{subscription_id}"},"summary":"Delete X activity subscription","description":"Delete an X Activity subscription by its ID.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/account_activity/webhooks/{webhook_id}/subscriptions/all":{"post":{"tags":["Account Activity"],"parameters":[{"name":"webhook_id","in":"path","description":"ID of the Account Activity webhook","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/account-activity/create-subscription","api_endpoint":"https://api.x.com/2/account_activity/webhooks/{webhook_id}/subscriptions/all"},"summary":"Create Subscription","description":"Subscribe the authenticated user to an Account Activity webhook.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"get":{"tags":["Account Activity"],"parameters":[{"name":"webhook_id","in":"path","description":"ID of the Account Activity webhook","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/account-activity/validate-subscription","api_endpoint":"https://api.x.com/2/account_activity/webhooks/{webhook_id}/subscriptions/all"},"summary":"Validate Subscription","description":"Validate the subscriptions configured for an Account Activity webhook.","security":[{"bearerAuth":[]}]}},"/2/account_activity/webhooks/{webhook_id}/subscriptions/{user_id}/all":{"delete":{"tags":["Account Activity"],"parameters":[{"name":"user_id","in":"path","description":"ID of the subscribed user","required":true,"schema":{"type":"string","example":""}},{"name":"webhook_id","in":"path","description":"ID of the Account Activity webhook","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/account-activity/delete-subscription","api_endpoint":"https://api.x.com/2/account_activity/webhooks/{webhook_id}/subscriptions/{user_id}/all"},"summary":"Delete Subscription","description":"Remove a user's subscription from an Account Activity webhook.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/2/account_activity/subscriptions/count":{"get":{"tags":["Account Activity"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/account-activity/get-subscription-count","api_endpoint":"https://api.x.com/2/account_activity/subscriptions/count"},"summary":"Get Subscription Count","description":"Returns the subscription count for the authenticated user's app.","security":[{"bearerAuth":[]}]}},"/2/account_activity/webhooks/{webhook_id}/subscriptions/all/list":{"get":{"tags":["Account Activity"],"parameters":[{"name":"webhook_id","in":"path","description":"ID of the Account Activity webhook","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/account-activity/get-subscriptions","api_endpoint":"https://api.x.com/2/account_activity/webhooks/{webhook_id}/subscriptions/all/list"},"summary":"Get Subscriptions","description":"Returns all user subscriptions for an Account Activity webhook.","security":[{"bearerAuth":[]}]}},"/2/tweets/search/stream/rules/counts":{"get":{"tags":["Stream"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/stream/get-stream-rule-counts","api_endpoint":"https://api.x.com/2/tweets/search/stream/rules/counts"},"summary":"Get Stream Rule Counts","description":"Return the count of active filtered-stream rules for the authenticated user.","security":[{"bearerAuth":[]}]}},"/2/tweets/sample10/stream":{"get":{"tags":["Stream"],"parameters":[{"name":"partition","in":"query","description":"Partition number (1-2) for this sampled stream","schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/stream/stream-10-sampled-posts","api_endpoint":"https://api.x.com/2/tweets/sample10/stream"},"summary":"Stream 10 Sampled Posts","description":"Stream a 10% sample of posts in real time across two partitions.","security":[{"bearerAuth":[]}]}},"/2/tweets/firehose/stream":{"get":{"tags":["Stream"],"parameters":[{"name":"partition","in":"query","description":"Partition number (1-20) for the firehose","schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/stream/stream-all-posts","api_endpoint":"https://api.x.com/2/tweets/firehose/stream"},"summary":"Stream All Posts","description":"Stream all posts in real time (firehose) across 20 partitions.","security":[{"bearerAuth":[]}]}},"/2/likes/firehose/stream":{"get":{"tags":["Stream"],"parameters":[{"name":"partition","in":"query","description":"Partition number (1-20) for the likes firehose","schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/stream/stream-all-likes","api_endpoint":"https://api.x.com/2/likes/firehose/stream"},"summary":"Stream All Likes","description":"Stream all likes in real time (firehose) across 20 partitions.","security":[{"bearerAuth":[]}]}},"/2/tweets/firehose/stream/lang/en":{"get":{"tags":["Stream"],"parameters":[{"name":"partition","in":"query","description":"Partition number (1-8) for the English firehose","schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/stream/stream-english-posts","api_endpoint":"https://api.x.com/2/tweets/firehose/stream/lang/en"},"summary":"Stream English Posts","description":"Stream all English-language posts in real time across 8 partitions.","security":[{"bearerAuth":[]}]}},"/2/tweets/firehose/stream/lang/ja":{"get":{"tags":["Stream"],"parameters":[{"name":"partition","in":"query","description":"Partition number (1-2) for the Japanese firehose","schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/stream/stream-japanese-posts","api_endpoint":"https://api.x.com/2/tweets/firehose/stream/lang/ja"},"summary":"Stream Japanese Posts","description":"Stream all Japanese-language posts in real time across 2 partitions.","security":[{"bearerAuth":[]}]}},"/2/tweets/firehose/stream/lang/ko":{"get":{"tags":["Stream"],"parameters":[{"name":"partition","in":"query","description":"Partition number (1-2) for the Korean firehose","schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/stream/stream-korean-posts","api_endpoint":"https://api.x.com/2/tweets/firehose/stream/lang/ko"},"summary":"Stream Korean Posts","description":"Stream all Korean-language posts in real time across 2 partitions.","security":[{"bearerAuth":[]}]}},"/2/tweets/firehose/stream/lang/pt":{"get":{"tags":["Stream"],"parameters":[{"name":"partition","in":"query","description":"Partition number (1-2) for the Portuguese firehose","schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/stream/stream-portuguese-posts","api_endpoint":"https://api.x.com/2/tweets/firehose/stream/lang/pt"},"summary":"Stream Portuguese Posts","description":"Stream all Portuguese-language posts in real time across 2 partitions.","security":[{"bearerAuth":[]}]}},"/2/likes/compliance/stream":{"get":{"tags":["Stream"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/stream/stream-likes-compliance-data","api_endpoint":"https://api.x.com/2/likes/compliance/stream"},"summary":"Stream Likes Compliance Data","description":"Stream like compliance events (deletions and edits) in real time.","security":[{"bearerAuth":[]}]}},"/2/tweets/label/stream":{"get":{"tags":["Stream"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/stream/stream-post-labels","api_endpoint":"https://api.x.com/2/tweets/label/stream"},"summary":"Stream Post Labels","description":"Stream labels applied to posts in real time.","security":[{"bearerAuth":[]}]}},"/2/tweets/compliance/stream":{"get":{"tags":["Stream"],"parameters":[{"name":"partition","in":"query","description":"Partition number (1-4) for the posts compliance stream","schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/stream/stream-posts-compliance-data","api_endpoint":"https://api.x.com/2/tweets/compliance/stream"},"summary":"Stream Posts Compliance Data","description":"Stream post compliance events (deletes, edits, withholdings) in real time across 4 partitions.","security":[{"bearerAuth":[]}]}},"/2/likes/sample10/stream":{"get":{"tags":["Stream"],"parameters":[{"name":"partition","in":"query","description":"Partition number (1-2) for this sampled stream","schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/stream/stream-sampled-likes","api_endpoint":"https://api.x.com/2/likes/sample10/stream"},"summary":"Stream Sampled Likes","description":"Stream a 10% sample of likes in real time.","security":[{"bearerAuth":[]}]}},"/2/tweets/sample/stream":{"get":{"tags":["Stream"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/stream/stream-sampled-posts","api_endpoint":"https://api.x.com/2/tweets/sample/stream"},"summary":"Stream Sampled Posts","description":"Stream a 1% sample of all posts in real time.","security":[{"bearerAuth":[]}]}},"/2/users/compliance/stream":{"get":{"tags":["Stream"],"parameters":[{"name":"partition","in":"query","description":"Partition number (1-4) for the users compliance stream","schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.x.com/x-api/stream/stream-users-compliance-data","api_endpoint":"https://api.x.com/2/users/compliance/stream"},"summary":"Stream Users Compliance Data","description":"Stream user compliance events (profile updates, deletions, suspensions) in real time across 4 partitions.","security":[{"bearerAuth":[]}]}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"security":[{"bearerAuth":[]}]}