openapi: 3.0.3 info: title: Twitter OpenAPI description: |- Twitter OpenAPI(Swagger) specification termsOfService: https://github.com/fa0311 contact: email: yuki@yuki0311.com license: name: GNU Affero General Public License v3. url: https://raw.githubusercontent.com/fa0311/twitter-openapi/main/LICENSE.txt version: 0.0.1 servers: - url: https://twitter.com/i/api/graphql paths: # timeline /BntFPEOxs3GYdPaS6CjUcg/HomeTimeline: get: operationId: getHomeTimeline description: get tweet list of timeline parameters: - name: variables in: query required: true schema: type: string example: '''{ "count": 20, "includePromotedContent": true, "latestControlAvailable": true, "requestContext": "launch", "withCommunity": true, "withDownvotePerspective": false, "withReactionsMetadata": false, "withReactionsPerspective": false }''' - name: features in: query required: true schema: type: string example: '''{ "blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled": true, "verified_phone_label_enabled": false, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled": false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled": true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled": true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled": true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled": false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled": false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled": false, "longform_notetweets_richtext_consumption_enabled": true, "responsive_web_enhance_cards_enabled": false }''' - name: queryId in: query required: true schema: type: string default: "BntFPEOxs3GYdPaS6CjUcg" example: "'BntFPEOxs3GYdPaS6CjUcg'" responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/TimelineResponse" headers: x-connection-hash: $ref: "#/components/headers/x-connection-hash" x-content-type-options: $ref: "#/components/headers/x-content-type-options" x-frame-options: $ref: "#/components/headers/x-frame-options" x-rate-limit-limit: $ref: "#/components/headers/x-rate-limit-limit" x-rate-limit-remaining: $ref: "#/components/headers/x-rate-limit-remaining" x-rate-limit-reset: $ref: "#/components/headers/x-rate-limit-reset" x-response-time: $ref: "#/components/headers/x-response-time" x-tfe-preserve-body: $ref: "#/components/headers/x-tfe-preserve-body" x-transaction-id: $ref: "#/components/headers/x-transaction-id" x-twitter-response-tags: $ref: "#/components/headers/x-twitter-response-tags" x-xss-protection: $ref: "#/components/headers/x-xss-protection" tags: - "timeline" - "login-required" - "graphql" /37RUvMgTiEVYYfrRTVDxpw/HomeLatestTimeline: get: operationId: getHomeLatestTimeline description: get tweet list of timeline parameters: - name: variables in: query required: true schema: type: string example: '''{ "count":20, "includePromotedContent":true, "latestControlAvailable":true, "requestContext":"launch", "withDownvotePerspective":false }''' - name: features in: query required: true schema: type: string example: '''{ "blue_business_profile_image_shape_enabled":true, "responsive_web_graphql_exclude_directive_enabled":true, "verified_phone_label_enabled":false, "responsive_web_graphql_timeline_navigation_enabled":true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":false, "tweetypie_unmention_optimization_enabled":true, "vibe_api_enabled":true, "responsive_web_edit_tweet_api_enabled":true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":true, "view_counts_everywhere_api_enabled":true, "longform_notetweets_consumption_enabled":true, "tweet_awards_web_tipping_enabled":false, "freedom_of_speech_not_reach_fetch_enabled":false, "standardized_nudges_misinfo":true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":false, "interactive_text_enabled":true, "responsive_web_text_conversations_enabled":false, "longform_notetweets_rich_text_read_enabled":true, "responsive_web_enhance_cards_enabled":false }''' - name: queryId in: query required: true schema: type: string default: "37RUvMgTiEVYYfrRTVDxpw" example: "'37RUvMgTiEVYYfrRTVDxpw'" responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/TimelineResponse" headers: x-connection-hash: $ref: "#/components/headers/x-connection-hash" x-content-type-options: $ref: "#/components/headers/x-content-type-options" x-frame-options: $ref: "#/components/headers/x-frame-options" x-rate-limit-limit: $ref: "#/components/headers/x-rate-limit-limit" x-rate-limit-remaining: $ref: "#/components/headers/x-rate-limit-remaining" x-rate-limit-reset: $ref: "#/components/headers/x-rate-limit-reset" x-response-time: $ref: "#/components/headers/x-response-time" x-tfe-preserve-body: $ref: "#/components/headers/x-tfe-preserve-body" x-transaction-id: $ref: "#/components/headers/x-transaction-id" x-twitter-response-tags: $ref: "#/components/headers/x-twitter-response-tags" x-xss-protection: $ref: "#/components/headers/x-xss-protection" tags: - "timeline" - "login-required" - "graphql" /VEwO8c1TYdm5zjxCOIiwFw/ListLatestTweetsTimeline: get: operationId: getListLatestTweetsTimeline description: get tweet list of timeline parameters: - name: variables in: query required: true schema: type: string example: ''' { "listId":"000000000000", "count":20, "withDownvotePerspective":false }''' - name: features in: query required: true schema: type: string example: ''' { "blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled": true, "verified_phone_label_enabled": false, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled": false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled": true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled": true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled": true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled": false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled": false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled": false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled": false, }''' - name: queryId in: query required: true schema: type: string default: "VEwO8c1TYdm5zjxCOIiwFw" example: "'VEwO8c1TYdm5zjxCOIiwFw'" responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/ListTweetsTimelineResponse" headers: x-connection-hash: $ref: "#/components/headers/x-connection-hash" x-content-type-options: $ref: "#/components/headers/x-content-type-options" x-frame-options: $ref: "#/components/headers/x-frame-options" x-rate-limit-limit: $ref: "#/components/headers/x-rate-limit-limit" x-rate-limit-remaining: $ref: "#/components/headers/x-rate-limit-remaining" x-rate-limit-reset: $ref: "#/components/headers/x-rate-limit-reset" x-response-time: $ref: "#/components/headers/x-response-time" x-tfe-preserve-body: $ref: "#/components/headers/x-tfe-preserve-body" x-transaction-id: $ref: "#/components/headers/x-transaction-id" x-twitter-response-tags: $ref: "#/components/headers/x-twitter-response-tags" x-xss-protection: $ref: "#/components/headers/x-xss-protection" tags: - "timeline" - "login-required" - "graphql" # user tweets /HuTx74BxAnezK1gWvYY7zg/UserTweets: get: operationId: getUserTweets description: "get user tweets" parameters: - name: variables in: query required: true schema: type: string example: ''' { "userId": "44196397", "count": 40, "includePromotedContent": true, "withQuickPromoteEligibilityTweetFields": true, "withVoice": true, "withV2Timeline": true } ''' - name: features in: query required: true schema: type: string example: ''' { "blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled": true, "verified_phone_label_enabled": false, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled": false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled": true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled": true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled": true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled": false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled": false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled": false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled": false } ''' - name: queryId in: query required: true schema: type: string default: "HuTx74BxAnezK1gWvYY7zg" example: "'HuTx74BxAnezK1gWvYY7zg'" responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/UserTweetsResponse" headers: x-connection-hash: $ref: "#/components/headers/x-connection-hash" x-content-type-options: $ref: "#/components/headers/x-content-type-options" x-frame-options: $ref: "#/components/headers/x-frame-options" x-rate-limit-limit: $ref: "#/components/headers/x-rate-limit-limit" x-rate-limit-remaining: $ref: "#/components/headers/x-rate-limit-remaining" x-rate-limit-reset: $ref: "#/components/headers/x-rate-limit-reset" x-response-time: $ref: "#/components/headers/x-response-time" x-tfe-preserve-body: $ref: "#/components/headers/x-tfe-preserve-body" x-transaction-id: $ref: "#/components/headers/x-transaction-id" x-twitter-response-tags: $ref: "#/components/headers/x-twitter-response-tags" x-xss-protection: $ref: "#/components/headers/x-xss-protection" tags: - "user" - "graphql" # user /sLVLhk0bGj3MVFEKTdax1w/UserByScreenName: get: operationId: getUserByScreenName description: "get user by screen name" parameters: - name: variables in: query required: true schema: type: string example: ''' { "screen_name": "elonmusk", "withSafetyModeUserFields": true, } ''' - name: features in: query required: true schema: type: string example: ''' { "blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled": true, "verified_phone_label_enabled": false, "responsive_web_graphql_skip_user_profile_image_extensions_enabled": false, "responsive_web_graphql_timeline_navigation_enabled": true, } ''' - name: queryId in: query required: true schema: type: string default: "VptSi88PiaQhBevFbGVlGg" example: "'VptSi88PiaQhBevFbGVlGg'" responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/UserResponse" headers: x-connection-hash: $ref: "#/components/headers/x-connection-hash" x-content-type-options: $ref: "#/components/headers/x-content-type-options" x-frame-options: $ref: "#/components/headers/x-frame-options" x-rate-limit-limit: $ref: "#/components/headers/x-rate-limit-limit" x-rate-limit-remaining: $ref: "#/components/headers/x-rate-limit-remaining" x-rate-limit-reset: $ref: "#/components/headers/x-rate-limit-reset" x-response-time: $ref: "#/components/headers/x-response-time" x-tfe-preserve-body: $ref: "#/components/headers/x-tfe-preserve-body" x-transaction-id: $ref: "#/components/headers/x-transaction-id" x-twitter-response-tags: $ref: "#/components/headers/x-twitter-response-tags" x-xss-protection: $ref: "#/components/headers/x-xss-protection" tags: - "user" - "graphql" # follow /FaBzCqZXuQCb4PhB0RHqHw/Following: get: operationId: getFollowers description: get user list of followers parameters: - name: variables in: query required: true schema: type: string - name: features in: query required: true schema: type: string - name: queryId in: query schema: type: string default: "VptSi88PiaQhBevFbGVlGg" responses: "200": description: Successful operation tags: - "follow" /VptSi88PiaQhBevFbGVlGg/Followers: get: operationId: getFollowing description: get user list of following parameters: - name: variables in: query required: true schema: type: string - name: features in: query required: true schema: type: string - name: queryId in: query schema: type: string default: "FaBzCqZXuQCb4PhB0RHqHw" responses: "200": description: Successful operation tags: - "follow" - "graphql" components: schemas: # ================= General ================= TwitterTime: type: string pattern: "^(Sun|Mon|Tue|Wed|Thu|Fri|Sat) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (0[1-9]|[12][0-9]|3[01]) (0[0-9]|1[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]) ([+-][0-9]{4}) ([0-9]{4})$" example: "Sat Dec 31 23:59:59 +0000 2023" # ================= TypeName ================= TypeName: type: string enum: [ TimelineTweet, TimelineTimelineItem, TimelineTimelineCursor, TweetWithVisibilityResults, TimelineTimelineModule, Tweet, User, ] # ================= Timeline Response ================= TimelineResponse: required: - "data" properties: data: $ref: "#/components/schemas/HomeTimelineResponseData" HomeTimelineResponseData: required: - "home" properties: home: $ref: "#/components/schemas/HomeTimelineHome" HomeTimelineHome: required: - "home_timeline_urt" properties: home_timeline_urt: $ref: "#/components/schemas/Timeline" ListTweetsTimelineResponse: required: - "data" properties: data: $ref: "#/components/schemas/ListTweetsTimelineData" ListTweetsTimelineData: required: - "list" properties: home: $ref: "#/components/schemas/ListTweetsTimelineList" ListTweetsTimelineList: required: - "tweets_timeline" properties: tweets_timeline: $ref: "#/components/schemas/ListTweetsTimeline" ListTweetsTimeline: required: - "timeline" properties: timeline: $ref: "#/components/schemas/Timeline" # ================= UserTweets Response ================= UserTweetsResponse: required: - "data" properties: data: $ref: "#/components/schemas/UserTweetsData" UserTweetsData: required: - "user" properties: user: $ref: "#/components/schemas/UserTweetsUser" UserTweetsUser: required: - "result" properties: result: $ref: "#/components/schemas/UserTweetsResult" UserTweetsResult: required: - "__typename" - "timeline_v2" properties: __typename: $ref: "#/components/schemas/TypeName" # User timeline_v2: $ref: "#/components/schemas/TimelineV2" # ================= User Response ================= UserResponse: required: - "data" properties: data: $ref: "#/components/schemas/UserResponseData" UserResponseData: required: - "user" properties: user: $ref: "#/components/schemas/UserResults" # ================= Timeline ================= TimelineV2: required: - "timeline" properties: timeline: $ref: "#/components/schemas/Timeline" Timeline: required: - "instructions" properties: instructions: type: array items: $ref: "#/components/schemas/InstructionUnion" metadata: type: object # todo responseObjects: type: object # todo # ================= Content ================= InstructionUnion: oneOf: - $ref: "#/components/schemas/TimelineAddEntries" - $ref: "#/components/schemas/TimelineClearCache" - $ref: "#/components/schemas/TimelinePinEntry" discriminator: propertyName: type mapping": # deprecated TimelineAddEntries: "#/components/schemas/TimelineAddEntries" TimelineClearCache: "#/components/schemas/TimelineClearCache" TimelinePinEntry: "#/components/schemas/TimelinePinEntry" InstructionType: type: string enum: [TimelineAddEntries, TimelineClearCache, TimelinePinEntry] TimelineAddEntries: required: - type - entries properties: type: type: string $ref: "#/components/schemas/InstructionType" # TimelineAddEntries entries: type: array items: $ref: "#/components/schemas/TimelineAddEntry" TimelineClearCache: required: - type properties: type: type: string $ref: "#/components/schemas/InstructionType" # TimelineClearCache TimelinePinEntry: required: - type - entry properties: type: type: string $ref: "#/components/schemas/InstructionType" # TimelinePinEntry entry: $ref: "#/components/schemas/TimelineAddEntry" TimelineAddEntry: required: - "content" - "entryId" - "sortIndex" properties: content: $ref: "#/components/schemas/ContentUnion" entryId: type: string pattern: '^[a-z\-]+[0-9]+$' sortIndex: type: string pattern: "[0-9]+$" # ================= Content ================= ContentUnion: oneOf: - $ref: "#/components/schemas/TimelineTimelineItem" - $ref: "#/components/schemas/TimelineTimelineCursor" - $ref: "#/components/schemas/TimelineTimelineModule" discriminator: propertyName: entryType mapping": # deprecated TimelineTimelineItem: "#/components/schemas/TimelineTimelineItem" TimelineTimelineCursor: "#/components/schemas/TimelineTimelineCursor" TimelineTimelineModule: "#/components/schemas/TimelineTimelineModule" ContentEntryType: type: string enum: [TimelineTimelineItem, TimelineTimelineCursor, TimelineTimelineModule] TimelineTimelineItem: required: - "__typename" - "entryType" - "itemContent" properties: __typename: $ref: "#/components/schemas/TypeName" # TimelineTimelineItem entryType: type: string # enum $ref: "#/components/schemas/ContentEntryType" # TimelineTimelineItem itemContent: $ref: "#/components/schemas/ItemContent" clientEventInfo: type: object # todo feedbackInfo: type: object # todo TimelineTimelineCursor: required: - "__typename" - "entryType" - "cursorType" - "value" properties: __typename: $ref: "#/components/schemas/TypeName" # TimelineTimelineCursor entryType: type: string # enum $ref: "#/components/schemas/ContentEntryType" # TimelineTimelineCursor cursorType: type: string enum: [Top, Bottom] value: type: string TimelineTimelineModule: required: - "__typename" - "entryType" properties: __typename: $ref: "#/components/schemas/TypeName" # TimelineTimelineModule entryType: type: string # enum $ref: "#/components/schemas/ContentEntryType" # TimelineTimelineCursor # ================= ContentItem ================= ContentItemType: type: string enum: [TimelineTweet] ItemContent: required: - "__typename" - "itemType" - "tweetDisplayType" - "tweet_results" properties: __typename: $ref: "#/components/schemas/TypeName" # TimelineTweet itemType: type: string # enum $ref: "#/components/schemas/ContentItemType" # TimelineTweet tweetDisplayType: type: string tweet_results: $ref: "#/components/schemas/ItemResult" socialContext: type: object properties: contextType: type: string # enum text: type: string type: type: string # enum ItemResult: required: - "result" properties: result: $ref: "#/components/schemas/TweetUnion" # ================= Tweet ================= TweetUnion: oneOf: - $ref: "#/components/schemas/Tweet" - $ref: "#/components/schemas/TweetWithVisibilityResults" discriminator: propertyName: __typename mapping": # deprecated Tweet: "#/components/schemas/Tweet" TweetWithVisibilityResults: "#/components/schemas/TweetWithVisibilityResults" TweetWithVisibilityResults: required: - "__typename" - "tweet" properties: __typename: $ref: "#/components/schemas/TypeName" # TweetWithVisibilityResults tweet: $ref: "#/components/schemas/Tweet" Tweet: required: # - "__typename" - "rest_id" - "core" - "edit_control" - "edit_prespective" - "is_translatable" - "legacy" - "views" properties: __typename: $ref: "#/components/schemas/TypeName" # Tweet rest_id: type: string pattern: "^[0-9]+$" core: $ref: "#/components/schemas/UserResultCore" unmention_data: type: object # todo edit_control: type: object properties: edit_tweet_ids: type: array items: type: string pattern: "^[0-9]+$" editable_until_msecs: type: string pattern: "^[0-9]+$" is_edit_eligible: type: boolean edits_remaining: type: string pattern: "^[0-9]+$" edit_prespective: type: object properties: favorited: type: boolean retweeted: type: boolean is_translatable: type: boolean default: false legacy: $ref: "#/components/schemas/TweetLegacy" views: type: object properties: count: type: string pattern: "^[0-9]+$" state: type: string # enum TweetLegacy: required: - "bookmark_count" - "bookmarked" - "conversation_id_str" - "created_at" - "display_text_range" - "entities" - "favorite_count" - "favorited" - "full_text" - "is_quote_status" - "lang" - "quote_count" - "reply_count" - "retweet_count" - "retweeted" - "user_id_str" - "id_str" properties: bookmark_count: type: integer bookmarked: type: boolean created_at: $ref: "#/components/schemas/TwitterTime" conversation_id_str: type: string pattern: "^[0-9]+$" display_text_range: type: array items: type: integer entities: type: object favorite_count: type: integer favorited: type: boolean full_text: type: string is_quote_status: type: boolean lang: type: string # enum possibly_sensitive: type: boolean default: false possibly_sensitive_editable: type: boolean default: false quote_count: type: integer reply_count: type: integer retweet_count: type: integer retweeted: type: boolean user_id_str: type: string pattern: "^[0-9]+$" id_str: type: string pattern: "^[0-9]+$" # ================= User ================= UserResultCore: required: - "user_results" properties: user_results: $ref: "#/components/schemas/UserResults" UserResults: required: - "result" properties: result: $ref: "#/components/schemas/UserUnion" UserUnion: oneOf: - $ref: "#/components/schemas/User" discriminator: propertyName: __typename mapping": # deprecated User: "#/components/schemas/User" User: required: - "__typename" - "affiliates_highlighted_label" - "has_graduated_access" - "id" - "is_blue_verified" - "legacy" - "rest_id" - "super_follow_eligible" - "super_followed_by" - "super_following" properties: __typename: $ref: "#/components/schemas/TypeName" # User affiliates_highlighted_label: type: object # todo has_graduated_access: type: boolean has_nft_avatar: type: boolean default: false id: type: string pattern: '^[a-z\-]+[0-9]+$' is_blue_verified: type: boolean default: false legacy: $ref: "#/components/schemas/UserLegacy" rest_id: type: string pattern: "^[0-9]+$" business_account: type: object # todo super_follow_eligible: type: boolean default: false super_followed_by: type: boolean default: false super_following: type: boolean default: false UserLegacy: required: - "blocked_by" - "blocking" - "can_dm" - "can_media_tag" - "created_at" - "default_profile" - "default_profile_image" - "description" - "entities" - "fast_followers_count" - "favourites_count" - "follow_request_sent" - "followed_by" - "followers_count" - "following" - "friends_count" - "has_custom_timelines" - "is_translator" - "listed_count" - "location" - "media_count" - "muting" - "name" - "normal_followers_count" - "notifications" - "pinned_tweet_ids_str" - "possibly_sensitive" - "profile_image_url_https" - "profile_interstitial_type" - "protected" - "screen_name" - "status" - "statuses_count" - "translator_type" - "verified" - "want_retweets" properties: blocked_by: type: boolean default: false blocking: type: boolean default: false can_dm: type: boolean default: false can_media_tag: type: boolean default: false created_at: $ref: "#/components/schemas/TwitterTime" default_profile: type: boolean default: false default_profile_image: type: boolean default: false description: type: string entities: type: object # todo fast_followers_count: type: integer favourites_count: type: integer default: 0 follow_request_sent: type: boolean default: false followed_by: type: boolean default: false followers_count: type: integer default: 0 following: type: boolean default: false friends_count: type: integer default: 0 has_custom_timelines: type: boolean default: false is_translator: type: boolean default: false listed_count: type: integer default: 0 location: type: string media_count: type: integer default: 0 muting: type: boolean default: false name: type: string normal_followers_count: type: integer default: 0 notifications: type: boolean default: false pinned_tweet_ids_str: type: array items: type: string possibly_sensitive: type: boolean default: false profile_banner_extensions: type: object profile_banner_url: type: string format: uri profile_image_extensions: type: object profile_image_url_https: type: string format: uri profile_interstitial_type: type: string protected: type: boolean default: false screen_name: type: string statuses_count: type: integer default: 0 translator_type: type: string url: type: string verified: type: boolean want_retweets: type: boolean default: false headers: x-connection-hash: schema: type: string x-content-type-options: schema: type: string x-frame-options: schema: type: string x-rate-limit-limit: schema: type: integer x-rate-limit-remaining: schema: type: integer x-rate-limit-reset: schema: type: integer x-response-time: schema: type: integer x-tfe-preserve-body: schema: type: boolean x-transaction-id: schema: type: string x-twitter-response-tags: schema: type: string x-xss-protection: schema: type: integer securitySchemes: BearerAuth: type: http scheme: bearer description: "AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA" CsrfToken: type: apiKey in: header name: x-csrf-token ActiveUser: type: apiKey in: header name: x-twitter-active-user description: "yes" AuthType: type: apiKey in: header name: x-twitter-auth-type description: "OAuth2Session" ClientLanguage: type: apiKey in: header name: x-twitter-client-language description: "en" CookieAuthToken: type: apiKey in: cookie name: auth_token CookieCt0: type: apiKey in: cookie name: ct0 tags: - name: timeline description: timeline - name: tweet description: tweet - name: user description: user - name: follow description: follow - name: search description: search - name: dm description: dm - name: settings description: settings - name: notify description: notify # === - name: login required description: login session required - name: graphql description: graphql - name: login-flow description: login flow - name: report-flow description: report flow security: - bearerAuth: [] - CsrfToken: [] - ActiveUser: [] - AuthType: [] - ClientLanguage: [] - CookieAuthToken: [] - CookieCt0: []