From 3a16f63cc611abdda3bec4fc0b9d65aabfbe66af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=B5=E3=81=81?= Date: Tue, 2 May 2023 21:59:32 +0900 Subject: [PATCH] build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ふぁ --- dist/dart/openapi-3.0.yaml | 324 +++++++++++++++++------- dist/dart/paths/bookmarks.yaml | 66 ++--- dist/dart/paths/follow.yaml | 132 +++++----- dist/dart/paths/post.yaml | 344 +++++++++++++------------- dist/dart/paths/profile.yaml | 48 ++-- dist/dart/paths/timeline.yaml | 198 +++++++-------- dist/dart/paths/tweet.yaml | 66 ++--- dist/dart/paths/user.yaml | 58 ++--- dist/dart/paths/usertweets.yaml | 264 ++++++++++---------- dist/dart/paths/v1.1.yaml | 48 ++++ dist/docs/openapi-3.0.yaml | 344 ++++++++++++++++++-------- dist/docs/paths/bookmarks.yaml | 16 +- dist/docs/paths/follow.yaml | 32 +-- dist/docs/paths/post.yaml | 161 +++++++++--- dist/docs/paths/profile.yaml | 14 +- dist/docs/paths/timeline.yaml | 48 ++-- dist/docs/paths/tweet.yaml | 16 +- dist/docs/paths/user.yaml | 16 +- dist/docs/paths/usertweets.yaml | 64 ++--- dist/docs/paths/v1.1.yaml | 48 ++++ dist/test/openapi-3.0.yaml | 344 ++++++++++++++++++-------- dist/test/paths/bookmarks.yaml | 8 +- dist/test/paths/follow.yaml | 16 +- dist/test/paths/post.yaml | 164 ++++++++++-- dist/test/paths/profile.yaml | 6 +- dist/test/paths/timeline.yaml | 24 +- dist/test/paths/tweet.yaml | 8 +- dist/test/paths/user.yaml | 8 +- dist/test/paths/usertweets.yaml | 32 +-- dist/test/paths/v1.1.yaml | 48 ++++ dist/typescript/openapi-3.0.yaml | 344 ++++++++++++++++++-------- dist/typescript/paths/bookmarks.yaml | 8 +- dist/typescript/paths/follow.yaml | 16 +- dist/typescript/paths/post.yaml | 284 +++++++++++---------- dist/typescript/paths/profile.yaml | 6 +- dist/typescript/paths/timeline.yaml | 24 +- dist/typescript/paths/tweet.yaml | 8 +- dist/typescript/paths/user.yaml | 8 +- dist/typescript/paths/usertweets.yaml | 32 +-- dist/typescript/paths/v1.1.yaml | 48 ++++ 40 files changed, 2367 insertions(+), 1376 deletions(-) create mode 100644 dist/dart/paths/v1.1.yaml create mode 100644 dist/docs/paths/v1.1.yaml create mode 100644 dist/test/paths/v1.1.yaml create mode 100644 dist/typescript/paths/v1.1.yaml diff --git a/dist/dart/openapi-3.0.yaml b/dist/dart/openapi-3.0.yaml index 0300b26..10f0888 100644 --- a/dist/dart/openapi-3.0.yaml +++ b/dist/dart/openapi-3.0.yaml @@ -1,90 +1,246 @@ components: - schemas: {} - securitySchemes: - CookieAuthToken: - description: HttpOnly cookie - in: cookie - name: auth_token - type: apiKey - CookieCt0: - description: document.cookie.split('; ').find(row => row.startsWith('ct0=')); - in: cookie - name: ct0 - type: apiKey - CsrfToken: - description: document.cookie.split('; ').find(row => row.startsWith('ct0=')); - in: header - name: x-csrf-token - type: apiKey - authType: - description: OAuth2Session if you are logged in - in: header - name: x-twitter-auth-type - type: apiKey + schemas: + User: + properties: + __typename: + $ref: ./typename.yaml#/components/schemas/TypeName + affiliates_highlighted_label: + type: object + business_account: + type: object + has_graduated_access: + type: boolean + has_nft_avatar: + default: false + type: boolean + id: + pattern: ^[a-z\-]+[0-9]+$ + type: string + is_blue_verified: + default: false + type: boolean + legacy: + $ref: '#/components/schemas/UserLegacy' + rest_id: + pattern: ^[0-9]+$ + type: string + super_follow_eligible: + default: false + type: boolean + super_followed_by: + default: false + type: boolean + super_following: + default: false + type: boolean + required: + - __typename + - affiliates_highlighted_label + - id + - is_blue_verified + - legacy + - rest_id + - super_follow_eligible + - super_followed_by + - super_following + UserLegacy: + properties: + blocked_by: + default: false + type: boolean + blocking: + default: false + type: boolean + can_dm: + default: false + type: boolean + can_media_tag: + default: false + type: boolean + created_at: + $ref: ./general.yaml#/components/schemas/TwitterTimeFormat + default_profile: + default: false + type: boolean + default_profile_image: + default: false + type: boolean + description: + type: string + entities: + type: object + fast_followers_count: + type: integer + favourites_count: + default: 0 + type: integer + follow_request_sent: + default: false + type: boolean + followed_by: + default: false + type: boolean + followers_count: + default: 0 + type: integer + following: + default: false + type: boolean + friends_count: + default: 0 + type: integer + has_custom_timelines: + default: false + type: boolean + is_translator: + default: false + type: boolean + listed_count: + default: 0 + type: integer + location: + type: string + media_count: + default: 0 + type: integer + muting: + default: false + type: boolean + name: + type: string + normal_followers_count: + default: 0 + type: integer + notifications: + default: false + type: boolean + pinned_tweet_ids_str: + items: + type: string + type: array + possibly_sensitive: + default: false + type: boolean + profile_banner_extensions: + type: object + profile_banner_url: + format: uri + type: string + profile_image_extensions: + type: object + profile_image_url_https: + format: uri + type: string + profile_interstitial_type: + type: string + protected: + default: false + type: boolean + screen_name: + type: string + statuses_count: + default: 0 + type: integer + translator_type: + type: string + url: + type: string + verified: + type: boolean + want_retweets: + default: false + type: boolean + 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 + UserResultCore: + properties: + user_results: + $ref: '#/components/schemas/UserResults' + required: + - user_results + UserResults: + properties: + result: + $ref: '#/components/schemas/User' + required: + - result info: - contact: - email: yuki@yuki0311.com - description: Twitter OpenAPI(Swagger) specification - license: - name: GNU Affero General Public License v3. - url: https://raw.githubusercontent.com/fa0311/twitter-openapi/main/LICENSE.txt - termsOfService: https://github.com/fa0311 title: Twitter OpenAPI version: 0.0.1 openapi: 3.0.3 paths: - /1RyAhNwby-gzGCRVsMxKbQ/CreateTweet: - $ref: ./paths/post.yaml#/paths/~11RyAhNwby-gzGCRVsMxKbQ~1CreateTweet - /2TemLyqrMpTeAmysdbnVqw/ListLatestTweetsTimeline: - $ref: ./paths/timeline.yaml#/paths/~12TemLyqrMpTeAmysdbnVqw~1ListLatestTweetsTimeline - /5fmEkRT-1AdHqEsbVgehMg/Likes: - $ref: ./paths/usertweets.yaml#/paths/~15fmEkRT-1AdHqEsbVgehMg~1Likes - /9zwVLJ48lmVUk8u_Gh9DmA/ProfileSpotlightsQuery: - $ref: ./paths/profile.yaml#/paths/~19zwVLJ48lmVUk8u_Gh9DmA~1ProfileSpotlightsQuery - /HCosKfLNW1AcOo3la3mMgg/HomeTimeline: - $ref: ./paths/timeline.yaml#/paths/~1HCosKfLNW1AcOo3la3mMgg~1HomeTimeline - /HuTx74BxAnezK1gWvYY7zg/UserTweets: - $ref: ./paths/usertweets.yaml#/paths/~1HuTx74BxAnezK1gWvYY7zg~1UserTweets - /IWP6Zt14sARO29lJT35bBw/Following: - $ref: ./paths/follow.yaml#/paths/~1IWP6Zt14sARO29lJT35bBw~1Following - /RIWc55YCNyUJ-U3HHGYkdg/UserTweetsAndReplies: - $ref: ./paths/usertweets.yaml#/paths/~1RIWc55YCNyUJ-U3HHGYkdg~1UserTweetsAndReplies - /VaenaVgh5q5ih7kvyVjgtg/DeleteTweet: - $ref: ./paths/post.yaml#/paths/~1VaenaVgh5q5ih7kvyVjgtg~1DeleteTweet - /YqiE3JL1KNgf9nSljYdxaA/UserMedia: - $ref: ./paths/usertweets.yaml#/paths/~1YqiE3JL1KNgf9nSljYdxaA~1UserMedia - /ZYKSe-w7KEslx3JhSIk5LA/UnfavoriteTweet: - $ref: ./paths/post.yaml#/paths/~1ZYKSe-w7KEslx3JhSIk5LA~1UnfavoriteTweet - /djdTXDIk2qhd4OStqlUFeQ/Followers: - $ref: ./paths/follow.yaml#/paths/~1djdTXDIk2qhd4OStqlUFeQ~1Followers - /iQtK4dl5hBmXewYZuEOKVw/DeleteRetweet: - $ref: ./paths/post.yaml#/paths/~1iQtK4dl5hBmXewYZuEOKVw~1DeleteRetweet - /lI07N6Otwv1PhnEgXILM7A/FavoriteTweet: - $ref: ./paths/post.yaml#/paths/~1lI07N6Otwv1PhnEgXILM7A~1FavoriteTweet - /ojPdsZsimiJrUGLR1sjUtA/CreateRetweet: - $ref: ./paths/post.yaml#/paths/~1ojPdsZsimiJrUGLR1sjUtA~1CreateRetweet - /sLVLhk0bGj3MVFEKTdax1w/UserByScreenName: - $ref: ./paths/user.yaml#/paths/~1sLVLhk0bGj3MVFEKTdax1w~1UserByScreenName - /tmd4ifV8RHltzn8ymGg1aw/Bookmarks: - $ref: ./paths/bookmarks.yaml#/paths/~1tmd4ifV8RHltzn8ymGg1aw~1Bookmarks - /wNNG8DBB8EaXw1lq4vFWGA/TweetDetail: - $ref: ./paths/tweet.yaml#/paths/~1wNNG8DBB8EaXw1lq4vFWGA~1TweetDetail - /zhX91JE87mWvfprhYE97xA/HomeLatestTimeline: - $ref: ./paths/timeline.yaml#/paths/~1zhX91JE87mWvfprhYE97xA~1HomeLatestTimeline -security: -- bearerAuth: [] -- CsrfToken: [] -- ActiveUser: [] -- AuthType: [] -- ClientLanguage: [] -- CookieAuthToken: [] -- CookieCt0: [] -servers: -- url: https://twitter.com/i/api/graphql -tags: -- description: response User - name: User -- description: response User list - name: UserList -- description: response tweet - name: Tweet + /1.1/friendships/create.json: + $ref: ./paths/v1.1.yaml#/paths/~11.1~1friendships~1create.json + /graphql/1RyAhNwby-gzGCRVsMxKbQ/CreateTweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1CreateTweet + /graphql/2TemLyqrMpTeAmysdbnVqw/ListLatestTweetsTimeline: + $ref: ./paths/timeline.yaml#/paths/~1graphql~1{{queryId}}~1ListLatestTweetsTimeline + /graphql/5fmEkRT-1AdHqEsbVgehMg/Likes: + $ref: ./paths/usertweets.yaml#/paths/~1graphql~1{{queryId}}~1Likes + /graphql/9zwVLJ48lmVUk8u_Gh9DmA/ProfileSpotlightsQuery: + $ref: ./paths/profile.yaml#/paths/~1graphql~1{{queryId}}~1ProfileSpotlightsQuery + /graphql/HCosKfLNW1AcOo3la3mMgg/HomeTimeline: + $ref: ./paths/timeline.yaml#/paths/~1graphql~1{{queryId}}~1HomeTimeline + /graphql/HuTx74BxAnezK1gWvYY7zg/UserTweets: + $ref: ./paths/usertweets.yaml#/paths/~1graphql~1{{queryId}}~1UserTweets + /graphql/IWP6Zt14sARO29lJT35bBw/Following: + $ref: ./paths/follow.yaml#/paths/~1graphql~1{{queryId}}~1Following + /graphql/RIWc55YCNyUJ-U3HHGYkdg/UserTweetsAndReplies: + $ref: ./paths/usertweets.yaml#/paths/~1graphql~1{{queryId}}~1UserTweetsAndReplies + /graphql/VaenaVgh5q5ih7kvyVjgtg/DeleteTweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1DeleteTweet + /graphql/YqiE3JL1KNgf9nSljYdxaA/UserMedia: + $ref: ./paths/usertweets.yaml#/paths/~1graphql~1{{queryId}}~1UserMedia + /graphql/ZYKSe-w7KEslx3JhSIk5LA/UnfavoriteTweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1UnfavoriteTweet + /graphql/djdTXDIk2qhd4OStqlUFeQ/Followers: + $ref: ./paths/follow.yaml#/paths/~1graphql~1{{queryId}}~1Followers + /graphql/iQtK4dl5hBmXewYZuEOKVw/DeleteRetweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1DeleteRetweet + /graphql/lI07N6Otwv1PhnEgXILM7A/FavoriteTweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1FavoriteTweet + /graphql/ojPdsZsimiJrUGLR1sjUtA/CreateRetweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1CreateRetweet + /graphql/sLVLhk0bGj3MVFEKTdax1w/UserByScreenName: + $ref: ./paths/user.yaml#/paths/~1graphql~1{{queryId}}~1UserByScreenName + /graphql/tmd4ifV8RHltzn8ymGg1aw/Bookmarks: + $ref: ./paths/bookmarks.yaml#/paths/~1graphql~1{{queryId}}~1Bookmarks + /graphql/wNNG8DBB8EaXw1lq4vFWGA/TweetDetail: + $ref: ./paths/tweet.yaml#/paths/~1graphql~1{{queryId}}~1TweetDetail + /graphql/zhX91JE87mWvfprhYE97xA/HomeLatestTimeline: + $ref: ./paths/timeline.yaml#/paths/~1graphql~1{{queryId}}~1HomeLatestTimeline diff --git a/dist/dart/paths/bookmarks.yaml b/dist/dart/paths/bookmarks.yaml index bc30175..c3af2ee 100644 --- a/dist/dart/paths/bookmarks.yaml +++ b/dist/dart/paths/bookmarks.yaml @@ -23,17 +23,46 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /tmd4ifV8RHltzn8ymGg1aw/Bookmarks: + /graphql/tmd4ifV8RHltzn8ymGg1aw/Bookmarks: get: description: get bookmarks operationId: getBookmarks parameters: + - in: header + name: user-agent + required: true + schema: + default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/112.0.0.0 Safari/537.36 + description: UserAgent, some APIs may be rejected if changed. + type: string + - in: header + name: authorization + required: true + schema: + default: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA + description: It is a constant value and does not need to be changed. + type: string + - in: header + name: x-twitter-active-user + required: true + schema: + default: 'yes' + description: Unknown what this value means. + type: string + - in: header + name: x-twitter-client-language + required: true + schema: + default: en + description: language code. + type: string - in: query name: queryId required: true schema: - default: tmd4ifV8RHltzn8ymGg1aw - example: tmd4ifV8RHltzn8ymGg1aw + default: '"tmd4ifV8RHltzn8ymGg1aw"' + example: '"tmd4ifV8RHltzn8ymGg1aw"' type: string - in: query name: variables @@ -69,35 +98,6 @@ paths: false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled": false}' type: string - - in: header - name: authorization - required: true - schema: - default: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA - description: It is a constant value and does not need to be changed. - type: string - - in: header - name: x-twitter-active-user - required: true - schema: - default: 'yes' - description: Unknown what this value means. - type: string - - in: header - name: x-twitter-client-language - required: true - schema: - default: en - description: language code. - type: string - - in: header - name: user-agent - required: true - schema: - default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/112.0.0.0 Safari/537.36 - description: UserAgent, some APIs may be rejected if changed. - type: string responses: '200': content: @@ -140,4 +140,4 @@ paths: schema: type: integer tags: - - Tweet + - tweet diff --git a/dist/dart/paths/follow.yaml b/dist/dart/paths/follow.yaml index 77a4ff0..abca87f 100644 --- a/dist/dart/paths/follow.yaml +++ b/dist/dart/paths/follow.yaml @@ -38,17 +38,46 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /IWP6Zt14sARO29lJT35bBw/Following: + /graphql/IWP6Zt14sARO29lJT35bBw/Following: get: description: get user list of following operationId: getFollowing parameters: + - in: header + name: user-agent + required: true + schema: + default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/112.0.0.0 Safari/537.36 + description: UserAgent, some APIs may be rejected if changed. + type: string + - in: header + name: authorization + required: true + schema: + default: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA + description: It is a constant value and does not need to be changed. + type: string + - in: header + name: x-twitter-active-user + required: true + schema: + default: 'yes' + description: Unknown what this value means. + type: string + - in: header + name: x-twitter-client-language + required: true + schema: + default: en + description: language code. + type: string - in: query name: queryId required: true schema: - default: IWP6Zt14sARO29lJT35bBw - example: IWP6Zt14sARO29lJT35bBw + default: '"IWP6Zt14sARO29lJT35bBw"' + example: '"IWP6Zt14sARO29lJT35bBw"' type: string - in: query name: variables @@ -86,35 +115,6 @@ paths: false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled": false}' type: string - - in: header - name: authorization - required: true - schema: - default: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA - description: It is a constant value and does not need to be changed. - type: string - - in: header - name: x-twitter-active-user - required: true - schema: - default: 'yes' - description: Unknown what this value means. - type: string - - in: header - name: x-twitter-client-language - required: true - schema: - default: en - description: language code. - type: string - - in: header - name: user-agent - required: true - schema: - default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/112.0.0.0 Safari/537.36 - description: UserAgent, some APIs may be rejected if changed. - type: string responses: '200': content: @@ -157,18 +157,47 @@ paths: schema: type: integer tags: - - UserList - /djdTXDIk2qhd4OStqlUFeQ/Followers: + - userList + /graphql/djdTXDIk2qhd4OStqlUFeQ/Followers: get: description: get user list of followers operationId: getFollowers parameters: + - in: header + name: user-agent + required: true + schema: + default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/112.0.0.0 Safari/537.36 + description: UserAgent, some APIs may be rejected if changed. + type: string + - in: header + name: authorization + required: true + schema: + default: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA + description: It is a constant value and does not need to be changed. + type: string + - in: header + name: x-twitter-active-user + required: true + schema: + default: 'yes' + description: Unknown what this value means. + type: string + - in: header + name: x-twitter-client-language + required: true + schema: + default: en + description: language code. + type: string - in: query name: queryId required: true schema: - default: djdTXDIk2qhd4OStqlUFeQ - example: djdTXDIk2qhd4OStqlUFeQ + default: '"djdTXDIk2qhd4OStqlUFeQ"' + example: '"djdTXDIk2qhd4OStqlUFeQ"' type: string - in: query name: variables @@ -206,35 +235,6 @@ paths: false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled": false}' type: string - - in: header - name: authorization - required: true - schema: - default: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA - description: It is a constant value and does not need to be changed. - type: string - - in: header - name: x-twitter-active-user - required: true - schema: - default: 'yes' - description: Unknown what this value means. - type: string - - in: header - name: x-twitter-client-language - required: true - schema: - default: en - description: language code. - type: string - - in: header - name: user-agent - required: true - schema: - default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/112.0.0.0 Safari/537.36 - description: UserAgent, some APIs may be rejected if changed. - type: string responses: '200': content: @@ -277,4 +277,4 @@ paths: schema: type: integer tags: - - UserList + - userList diff --git a/dist/dart/paths/post.yaml b/dist/dart/paths/post.yaml index 65376a7..88c8e34 100644 --- a/dist/dart/paths/post.yaml +++ b/dist/dart/paths/post.yaml @@ -136,11 +136,19 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /1RyAhNwby-gzGCRVsMxKbQ/CreateTweet: + /graphql/1RyAhNwby-gzGCRVsMxKbQ/CreateTweet: post: description: create Tweet operationId: postCreateTweet parameters: + - in: header + name: user-agent + required: true + schema: + default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/112.0.0.0 Safari/537.36 + description: UserAgent, some APIs may be rejected if changed. + type: string - in: header name: authorization required: true @@ -162,46 +170,49 @@ paths: default: en description: language code. type: string - - in: header - name: user-agent + - in: query + name: queryId required: true schema: - default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/112.0.0.0 Safari/537.36 - description: UserAgent, some APIs may be rejected if changed. - type: string - requestBody: - content: - application/json: - schema: - properties: - features: - example: '{"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, "interactive_text_enabled": - true, "responsive_web_text_conversations_enabled": false, "longform_notetweets_rich_text_read_enabled": - true, "blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled": - true, "verified_phone_label_enabled": false, "freedom_of_speech_not_reach_fetch_enabled": - true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled": - false, "responsive_web_graphql_skip_user_profile_image_extensions_enabled": - false, "responsive_web_graphql_timeline_navigation_enabled": true, - "responsive_web_enhance_cards_enabled": false}' - type: object - queryId: - default: 1RyAhNwby-gzGCRVsMxKbQ - example: 1RyAhNwby-gzGCRVsMxKbQ - type: string - variables: - example: '{"tweet_text": "test", "media": {"media_entities": [], - "possibly_sensitive": false}, "semantic_annotation_ids": [], "dark_request": - false}' - type: object - required: - - queryId - - variables - - features + default: '"1RyAhNwby-gzGCRVsMxKbQ"' + example: '"1RyAhNwby-gzGCRVsMxKbQ"' + type: object + - in: query + name: variables required: true + schema: + default: '{"tweet_text": "test", "media": {"media_entities": [], "possibly_sensitive": + false}, "semantic_annotation_ids": [], "dark_request": false}' + example: '{"tweet_text": "test", "media": {"media_entities": [], "possibly_sensitive": + false}, "semantic_annotation_ids": [], "dark_request": false}' + type: object + - in: query + name: features + required: true + schema: + default: '{"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, "interactive_text_enabled": + true, "responsive_web_text_conversations_enabled": false, "longform_notetweets_rich_text_read_enabled": + true, "blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled": + true, "verified_phone_label_enabled": false, "freedom_of_speech_not_reach_fetch_enabled": + true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled": + false, "responsive_web_graphql_skip_user_profile_image_extensions_enabled": + false, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_enhance_cards_enabled": + false}' + example: '{"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, "interactive_text_enabled": + true, "responsive_web_text_conversations_enabled": false, "longform_notetweets_rich_text_read_enabled": + true, "blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled": + true, "verified_phone_label_enabled": false, "freedom_of_speech_not_reach_fetch_enabled": + true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled": + false, "responsive_web_graphql_skip_user_profile_image_extensions_enabled": + false, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_enhance_cards_enabled": + false}' + type: object responses: '200': content: @@ -244,12 +255,20 @@ paths: schema: type: integer tags: - - Post - /VaenaVgh5q5ih7kvyVjgtg/DeleteTweet: + - post + /graphql/VaenaVgh5q5ih7kvyVjgtg/DeleteTweet: post: description: delete Retweet operationId: postDeleteTweet parameters: + - in: header + name: user-agent + required: true + schema: + default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/112.0.0.0 Safari/537.36 + description: UserAgent, some APIs may be rejected if changed. + type: string - in: header name: authorization required: true @@ -271,34 +290,27 @@ paths: default: en description: language code. type: string - - in: header - name: user-agent + - in: query + name: queryId required: true schema: - default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/112.0.0.0 Safari/537.36 - description: UserAgent, some APIs may be rejected if changed. - type: string - requestBody: - content: - application/json: - schema: - properties: - features: - example: '{{Features}}' - type: object - queryId: - default: VaenaVgh5q5ih7kvyVjgtg - example: VaenaVgh5q5ih7kvyVjgtg - type: string - variables: - example: '{"tweet_id": "1349129669258448897"}' - type: object - required: - - queryId - - variables - - features + default: '"VaenaVgh5q5ih7kvyVjgtg"' + example: '"VaenaVgh5q5ih7kvyVjgtg"' + type: object + - in: query + name: variables required: true + schema: + default: '{"tweet_id": "1349129669258448897"}' + example: '{"tweet_id": "1349129669258448897"}' + type: object + - in: query + name: features + required: true + schema: + default: '{}' + example: '{}' + type: object responses: '200': content: @@ -341,12 +353,20 @@ paths: schema: type: integer tags: - - Post - /ZYKSe-w7KEslx3JhSIk5LA/UnfavoriteTweet: + - post + /graphql/ZYKSe-w7KEslx3JhSIk5LA/UnfavoriteTweet: post: description: unfavorite Tweet operationId: postUnfavoriteTweet parameters: + - in: header + name: user-agent + required: true + schema: + default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/112.0.0.0 Safari/537.36 + description: UserAgent, some APIs may be rejected if changed. + type: string - in: header name: authorization required: true @@ -368,34 +388,22 @@ paths: default: en description: language code. type: string - - in: header - name: user-agent + - in: query + name: queryId required: true schema: - default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/112.0.0.0 Safari/537.36 - description: UserAgent, some APIs may be rejected if changed. - type: string - requestBody: - content: - application/json: - schema: - properties: - features: - example: '{{Features}}' - type: object - queryId: - default: ZYKSe-w7KEslx3JhSIk5LA - example: ZYKSe-w7KEslx3JhSIk5LA - type: string - variables: - example: '{"tweet_id": "1349129669258448897"}' - type: object - required: - - queryId - - variables - - features + default: '"ZYKSe-w7KEslx3JhSIk5LA"' + example: '"ZYKSe-w7KEslx3JhSIk5LA"' + type: object + - in: query + name: Parameters required: true + schema: + default: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + example: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + type: object responses: '200': content: @@ -438,12 +446,20 @@ paths: schema: type: integer tags: - - Post - /iQtK4dl5hBmXewYZuEOKVw/DeleteRetweet: + - post + /graphql/iQtK4dl5hBmXewYZuEOKVw/DeleteRetweet: post: description: delete Retweet operationId: postDeleteRetweet parameters: + - in: header + name: user-agent + required: true + schema: + default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/112.0.0.0 Safari/537.36 + description: UserAgent, some APIs may be rejected if changed. + type: string - in: header name: authorization required: true @@ -465,34 +481,22 @@ paths: default: en description: language code. type: string - - in: header - name: user-agent + - in: query + name: queryId required: true schema: - default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/112.0.0.0 Safari/537.36 - description: UserAgent, some APIs may be rejected if changed. - type: string - requestBody: - content: - application/json: - schema: - properties: - features: - example: '{{Features}}' - type: object - queryId: - default: iQtK4dl5hBmXewYZuEOKVw - example: iQtK4dl5hBmXewYZuEOKVw - type: string - variables: - example: '{"tweet_id": "1349129669258448897"}' - type: object - required: - - queryId - - variables - - features + default: '"iQtK4dl5hBmXewYZuEOKVw"' + example: '"iQtK4dl5hBmXewYZuEOKVw"' + type: object + - in: query + name: Parameters required: true + schema: + default: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + example: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + type: object responses: '200': content: @@ -535,12 +539,20 @@ paths: schema: type: integer tags: - - Post - /lI07N6Otwv1PhnEgXILM7A/FavoriteTweet: + - post + /graphql/lI07N6Otwv1PhnEgXILM7A/FavoriteTweet: post: description: favorite Tweet operationId: postFavoriteTweet parameters: + - in: header + name: user-agent + required: true + schema: + default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/112.0.0.0 Safari/537.36 + description: UserAgent, some APIs may be rejected if changed. + type: string - in: header name: authorization required: true @@ -562,34 +574,22 @@ paths: default: en description: language code. type: string - - in: header - name: user-agent + - in: query + name: queryId required: true schema: - default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/112.0.0.0 Safari/537.36 - description: UserAgent, some APIs may be rejected if changed. - type: string - requestBody: - content: - application/json: - schema: - properties: - features: - example: '{{Features}}' - type: object - queryId: - default: lI07N6Otwv1PhnEgXILM7A - example: lI07N6Otwv1PhnEgXILM7A - type: string - variables: - example: '{"tweet_id": "1349129669258448897"}' - type: object - required: - - queryId - - variables - - features + default: '"lI07N6Otwv1PhnEgXILM7A"' + example: '"lI07N6Otwv1PhnEgXILM7A"' + type: object + - in: query + name: Parameters required: true + schema: + default: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + example: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + type: object responses: '200': content: @@ -632,12 +632,20 @@ paths: schema: type: integer tags: - - Post - /ojPdsZsimiJrUGLR1sjUtA/CreateRetweet: + - post + /graphql/ojPdsZsimiJrUGLR1sjUtA/CreateRetweet: post: description: create Retweet operationId: postCreateRetweet parameters: + - in: header + name: user-agent + required: true + schema: + default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/112.0.0.0 Safari/537.36 + description: UserAgent, some APIs may be rejected if changed. + type: string - in: header name: authorization required: true @@ -659,34 +667,22 @@ paths: default: en description: language code. type: string - - in: header - name: user-agent + - in: query + name: queryId required: true schema: - default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/112.0.0.0 Safari/537.36 - description: UserAgent, some APIs may be rejected if changed. - type: string - requestBody: - content: - application/json: - schema: - properties: - features: - example: '{{Features}}' - type: object - queryId: - default: ojPdsZsimiJrUGLR1sjUtA - example: ojPdsZsimiJrUGLR1sjUtA - type: string - variables: - example: '{"tweet_id": "1349129669258448897"}' - type: object - required: - - queryId - - variables - - features + default: '"ojPdsZsimiJrUGLR1sjUtA"' + example: '"ojPdsZsimiJrUGLR1sjUtA"' + type: object + - in: query + name: Parameters required: true + schema: + default: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + example: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + type: object responses: '200': content: @@ -729,4 +725,4 @@ paths: schema: type: integer tags: - - Post + - post diff --git a/dist/dart/paths/profile.yaml b/dist/dart/paths/profile.yaml index 67a1a46..7cb4717 100644 --- a/dist/dart/paths/profile.yaml +++ b/dist/dart/paths/profile.yaml @@ -63,31 +63,18 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /9zwVLJ48lmVUk8u_Gh9DmA/ProfileSpotlightsQuery: + /graphql/9zwVLJ48lmVUk8u_Gh9DmA/ProfileSpotlightsQuery: get: description: get user by screen name operationId: getProfileSpotlightsQuery parameters: - - in: query - name: queryId + - in: header + name: user-agent required: true schema: - default: 9zwVLJ48lmVUk8u_Gh9DmA - example: 9zwVLJ48lmVUk8u_Gh9DmA - type: string - - in: query - name: variables - required: true - schema: - default: '{"screen_name": "elonmusk"}' - example: '{"screen_name": "elonmusk"}' - type: string - - in: query - name: features - required: true - schema: - default: '{}' - example: '{}' + default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/112.0.0.0 Safari/537.36 + description: UserAgent, some APIs may be rejected if changed. type: string - in: header name: authorization @@ -110,13 +97,26 @@ paths: default: en description: language code. type: string - - in: header - name: user-agent + - in: query + name: queryId required: true schema: - default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/112.0.0.0 Safari/537.36 - description: UserAgent, some APIs may be rejected if changed. + default: '"9zwVLJ48lmVUk8u_Gh9DmA"' + example: '"9zwVLJ48lmVUk8u_Gh9DmA"' + type: string + - in: query + name: variables + required: true + schema: + default: '{"screen_name": "elonmusk"}' + example: '{"screen_name": "elonmusk"}' + type: string + - in: query + name: features + required: true + schema: + default: '{}' + example: '{}' type: string responses: '200': diff --git a/dist/dart/paths/timeline.yaml b/dist/dart/paths/timeline.yaml index e01a92a..d0317da 100644 --- a/dist/dart/paths/timeline.yaml +++ b/dist/dart/paths/timeline.yaml @@ -47,17 +47,46 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /2TemLyqrMpTeAmysdbnVqw/ListLatestTweetsTimeline: + /graphql/2TemLyqrMpTeAmysdbnVqw/ListLatestTweetsTimeline: get: description: get tweet list of timeline operationId: getListLatestTweetsTimeline parameters: + - in: header + name: user-agent + required: true + schema: + default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/112.0.0.0 Safari/537.36 + description: UserAgent, some APIs may be rejected if changed. + type: string + - in: header + name: authorization + required: true + schema: + default: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA + description: It is a constant value and does not need to be changed. + type: string + - in: header + name: x-twitter-active-user + required: true + schema: + default: 'yes' + description: Unknown what this value means. + type: string + - in: header + name: x-twitter-client-language + required: true + schema: + default: en + description: language code. + type: string - in: query name: queryId required: true schema: - default: 2TemLyqrMpTeAmysdbnVqw - example: 2TemLyqrMpTeAmysdbnVqw + default: '"2TemLyqrMpTeAmysdbnVqw"' + example: '"2TemLyqrMpTeAmysdbnVqw"' type: string - in: query name: variables @@ -93,35 +122,6 @@ paths: false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled": false}' type: string - - in: header - name: authorization - required: true - schema: - default: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA - description: It is a constant value and does not need to be changed. - type: string - - in: header - name: x-twitter-active-user - required: true - schema: - default: 'yes' - description: Unknown what this value means. - type: string - - in: header - name: x-twitter-client-language - required: true - schema: - default: en - description: language code. - type: string - - in: header - name: user-agent - required: true - schema: - default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/112.0.0.0 Safari/537.36 - description: UserAgent, some APIs may be rejected if changed. - type: string responses: '200': content: @@ -164,18 +164,47 @@ paths: schema: type: integer tags: - - Tweet - /HCosKfLNW1AcOo3la3mMgg/HomeTimeline: + - tweet + /graphql/HCosKfLNW1AcOo3la3mMgg/HomeTimeline: get: description: get tweet list of timeline operationId: getHomeTimeline parameters: + - in: header + name: user-agent + required: true + schema: + default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/112.0.0.0 Safari/537.36 + description: UserAgent, some APIs may be rejected if changed. + type: string + - in: header + name: authorization + required: true + schema: + default: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA + description: It is a constant value and does not need to be changed. + type: string + - in: header + name: x-twitter-active-user + required: true + schema: + default: 'yes' + description: Unknown what this value means. + type: string + - in: header + name: x-twitter-client-language + required: true + schema: + default: en + description: language code. + type: string - in: query name: queryId required: true schema: - default: HCosKfLNW1AcOo3la3mMgg - example: HCosKfLNW1AcOo3la3mMgg + default: '"HCosKfLNW1AcOo3la3mMgg"' + example: '"HCosKfLNW1AcOo3la3mMgg"' type: string - in: query name: variables @@ -213,35 +242,6 @@ paths: false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled": false}' type: string - - in: header - name: authorization - required: true - schema: - default: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA - description: It is a constant value and does not need to be changed. - type: string - - in: header - name: x-twitter-active-user - required: true - schema: - default: 'yes' - description: Unknown what this value means. - type: string - - in: header - name: x-twitter-client-language - required: true - schema: - default: en - description: language code. - type: string - - in: header - name: user-agent - required: true - schema: - default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/112.0.0.0 Safari/537.36 - description: UserAgent, some APIs may be rejected if changed. - type: string responses: '200': content: @@ -284,18 +284,47 @@ paths: schema: type: integer tags: - - Tweet - /zhX91JE87mWvfprhYE97xA/HomeLatestTimeline: + - tweet + /graphql/zhX91JE87mWvfprhYE97xA/HomeLatestTimeline: get: description: get tweet list of timeline operationId: getHomeLatestTimeline parameters: + - in: header + name: user-agent + required: true + schema: + default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/112.0.0.0 Safari/537.36 + description: UserAgent, some APIs may be rejected if changed. + type: string + - in: header + name: authorization + required: true + schema: + default: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA + description: It is a constant value and does not need to be changed. + type: string + - in: header + name: x-twitter-active-user + required: true + schema: + default: 'yes' + description: Unknown what this value means. + type: string + - in: header + name: x-twitter-client-language + required: true + schema: + default: en + description: language code. + type: string - in: query name: queryId required: true schema: - default: zhX91JE87mWvfprhYE97xA - example: zhX91JE87mWvfprhYE97xA + default: '"zhX91JE87mWvfprhYE97xA"' + example: '"zhX91JE87mWvfprhYE97xA"' type: string - in: query name: variables @@ -333,35 +362,6 @@ paths: false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled": false}' type: string - - in: header - name: authorization - required: true - schema: - default: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA - description: It is a constant value and does not need to be changed. - type: string - - in: header - name: x-twitter-active-user - required: true - schema: - default: 'yes' - description: Unknown what this value means. - type: string - - in: header - name: x-twitter-client-language - required: true - schema: - default: en - description: language code. - type: string - - in: header - name: user-agent - required: true - schema: - default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/112.0.0.0 Safari/537.36 - description: UserAgent, some APIs may be rejected if changed. - type: string responses: '200': content: @@ -404,4 +404,4 @@ paths: schema: type: integer tags: - - Tweet + - tweet diff --git a/dist/dart/paths/tweet.yaml b/dist/dart/paths/tweet.yaml index f527807..a3e2d06 100644 --- a/dist/dart/paths/tweet.yaml +++ b/dist/dart/paths/tweet.yaml @@ -17,17 +17,46 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /wNNG8DBB8EaXw1lq4vFWGA/TweetDetail: + /graphql/wNNG8DBB8EaXw1lq4vFWGA/TweetDetail: get: description: get TweetDetail operationId: getTweetDetail parameters: + - in: header + name: user-agent + required: true + schema: + default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/112.0.0.0 Safari/537.36 + description: UserAgent, some APIs may be rejected if changed. + type: string + - in: header + name: authorization + required: true + schema: + default: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA + description: It is a constant value and does not need to be changed. + type: string + - in: header + name: x-twitter-active-user + required: true + schema: + default: 'yes' + description: Unknown what this value means. + type: string + - in: header + name: x-twitter-client-language + required: true + schema: + default: en + description: language code. + type: string - in: query name: queryId required: true schema: - default: wNNG8DBB8EaXw1lq4vFWGA - example: wNNG8DBB8EaXw1lq4vFWGA + default: '"wNNG8DBB8EaXw1lq4vFWGA"' + example: '"wNNG8DBB8EaXw1lq4vFWGA"' type: string - in: query name: variables @@ -69,35 +98,6 @@ paths: false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled": false}' type: string - - in: header - name: authorization - required: true - schema: - default: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA - description: It is a constant value and does not need to be changed. - type: string - - in: header - name: x-twitter-active-user - required: true - schema: - default: 'yes' - description: Unknown what this value means. - type: string - - in: header - name: x-twitter-client-language - required: true - schema: - default: en - description: language code. - type: string - - in: header - name: user-agent - required: true - schema: - default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/112.0.0.0 Safari/537.36 - description: UserAgent, some APIs may be rejected if changed. - type: string responses: '200': content: @@ -140,4 +140,4 @@ paths: schema: type: integer tags: - - Tweet + - tweet diff --git a/dist/dart/paths/user.yaml b/dist/dart/paths/user.yaml index 7c248f3..7533787 100644 --- a/dist/dart/paths/user.yaml +++ b/dist/dart/paths/user.yaml @@ -17,35 +17,18 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /sLVLhk0bGj3MVFEKTdax1w/UserByScreenName: + /graphql/sLVLhk0bGj3MVFEKTdax1w/UserByScreenName: get: description: get user by screen name operationId: getUserByScreenName parameters: - - in: query - name: queryId + - in: header + name: user-agent required: true schema: - default: sLVLhk0bGj3MVFEKTdax1w - example: sLVLhk0bGj3MVFEKTdax1w - type: string - - in: query - name: variables - required: true - schema: - default: '{"screen_name": "elonmusk", "withSafetyModeUserFields": true}' - example: '{"screen_name": "elonmusk", "withSafetyModeUserFields": true}' - type: string - - in: query - name: features - required: true - schema: - default: '{"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}' - 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}' + default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/112.0.0.0 Safari/537.36 + description: UserAgent, some APIs may be rejected if changed. type: string - in: header name: authorization @@ -68,13 +51,30 @@ paths: default: en description: language code. type: string - - in: header - name: user-agent + - in: query + name: queryId required: true schema: - default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/112.0.0.0 Safari/537.36 - description: UserAgent, some APIs may be rejected if changed. + default: '"sLVLhk0bGj3MVFEKTdax1w"' + example: '"sLVLhk0bGj3MVFEKTdax1w"' + type: string + - in: query + name: variables + required: true + schema: + default: '{"screen_name": "elonmusk", "withSafetyModeUserFields": true}' + example: '{"screen_name": "elonmusk", "withSafetyModeUserFields": true}' + type: string + - in: query + name: features + required: true + schema: + default: '{"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}' + 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}' type: string responses: '200': @@ -118,4 +118,4 @@ paths: schema: type: integer tags: - - User + - user diff --git a/dist/dart/paths/usertweets.yaml b/dist/dart/paths/usertweets.yaml index 295c475..d4d828c 100644 --- a/dist/dart/paths/usertweets.yaml +++ b/dist/dart/paths/usertweets.yaml @@ -32,17 +32,46 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /5fmEkRT-1AdHqEsbVgehMg/Likes: + /graphql/5fmEkRT-1AdHqEsbVgehMg/Likes: get: description: get user likes tweets operationId: getLikes parameters: + - in: header + name: user-agent + required: true + schema: + default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/112.0.0.0 Safari/537.36 + description: UserAgent, some APIs may be rejected if changed. + type: string + - in: header + name: authorization + required: true + schema: + default: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA + description: It is a constant value and does not need to be changed. + type: string + - in: header + name: x-twitter-active-user + required: true + schema: + default: 'yes' + description: Unknown what this value means. + type: string + - in: header + name: x-twitter-client-language + required: true + schema: + default: en + description: language code. + type: string - in: query name: queryId required: true schema: - default: 5fmEkRT-1AdHqEsbVgehMg - example: 5fmEkRT-1AdHqEsbVgehMg + default: '"5fmEkRT-1AdHqEsbVgehMg"' + example: '"5fmEkRT-1AdHqEsbVgehMg"' type: string - in: query name: variables @@ -82,35 +111,6 @@ paths: false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled": false}' type: string - - in: header - name: authorization - required: true - schema: - default: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA - description: It is a constant value and does not need to be changed. - type: string - - in: header - name: x-twitter-active-user - required: true - schema: - default: 'yes' - description: Unknown what this value means. - type: string - - in: header - name: x-twitter-client-language - required: true - schema: - default: en - description: language code. - type: string - - in: header - name: user-agent - required: true - schema: - default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/112.0.0.0 Safari/537.36 - description: UserAgent, some APIs may be rejected if changed. - type: string responses: '200': content: @@ -153,18 +153,47 @@ paths: schema: type: integer tags: - - Tweet - /HuTx74BxAnezK1gWvYY7zg/UserTweets: + - tweet + /graphql/HuTx74BxAnezK1gWvYY7zg/UserTweets: get: description: get user tweets operationId: getUserTweets parameters: + - in: header + name: user-agent + required: true + schema: + default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/112.0.0.0 Safari/537.36 + description: UserAgent, some APIs may be rejected if changed. + type: string + - in: header + name: authorization + required: true + schema: + default: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA + description: It is a constant value and does not need to be changed. + type: string + - in: header + name: x-twitter-active-user + required: true + schema: + default: 'yes' + description: Unknown what this value means. + type: string + - in: header + name: x-twitter-client-language + required: true + schema: + default: en + description: language code. + type: string - in: query name: queryId required: true schema: - default: HuTx74BxAnezK1gWvYY7zg - example: HuTx74BxAnezK1gWvYY7zg + default: '"HuTx74BxAnezK1gWvYY7zg"' + example: '"HuTx74BxAnezK1gWvYY7zg"' type: string - in: query name: variables @@ -204,35 +233,6 @@ paths: false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled": false}' type: string - - in: header - name: authorization - required: true - schema: - default: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA - description: It is a constant value and does not need to be changed. - type: string - - in: header - name: x-twitter-active-user - required: true - schema: - default: 'yes' - description: Unknown what this value means. - type: string - - in: header - name: x-twitter-client-language - required: true - schema: - default: en - description: language code. - type: string - - in: header - name: user-agent - required: true - schema: - default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/112.0.0.0 Safari/537.36 - description: UserAgent, some APIs may be rejected if changed. - type: string responses: '200': content: @@ -275,18 +275,47 @@ paths: schema: type: integer tags: - - Tweet - /RIWc55YCNyUJ-U3HHGYkdg/UserTweetsAndReplies: + - tweet + /graphql/RIWc55YCNyUJ-U3HHGYkdg/UserTweetsAndReplies: get: description: get user replies tweets operationId: getUserTweetsAndReplies parameters: + - in: header + name: user-agent + required: true + schema: + default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/112.0.0.0 Safari/537.36 + description: UserAgent, some APIs may be rejected if changed. + type: string + - in: header + name: authorization + required: true + schema: + default: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA + description: It is a constant value and does not need to be changed. + type: string + - in: header + name: x-twitter-active-user + required: true + schema: + default: 'yes' + description: Unknown what this value means. + type: string + - in: header + name: x-twitter-client-language + required: true + schema: + default: en + description: language code. + type: string - in: query name: queryId required: true schema: - default: RIWc55YCNyUJ-U3HHGYkdg - example: RIWc55YCNyUJ-U3HHGYkdg + default: '"RIWc55YCNyUJ-U3HHGYkdg"' + example: '"RIWc55YCNyUJ-U3HHGYkdg"' type: string - in: query name: variables @@ -324,35 +353,6 @@ paths: false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled": false}' type: string - - in: header - name: authorization - required: true - schema: - default: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA - description: It is a constant value and does not need to be changed. - type: string - - in: header - name: x-twitter-active-user - required: true - schema: - default: 'yes' - description: Unknown what this value means. - type: string - - in: header - name: x-twitter-client-language - required: true - schema: - default: en - description: language code. - type: string - - in: header - name: user-agent - required: true - schema: - default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/112.0.0.0 Safari/537.36 - description: UserAgent, some APIs may be rejected if changed. - type: string responses: '200': content: @@ -395,18 +395,47 @@ paths: schema: type: integer tags: - - Tweet - /YqiE3JL1KNgf9nSljYdxaA/UserMedia: + - tweet + /graphql/YqiE3JL1KNgf9nSljYdxaA/UserMedia: get: description: get user media tweets operationId: getUserMedia parameters: + - in: header + name: user-agent + required: true + schema: + default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/112.0.0.0 Safari/537.36 + description: UserAgent, some APIs may be rejected if changed. + type: string + - in: header + name: authorization + required: true + schema: + default: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA + description: It is a constant value and does not need to be changed. + type: string + - in: header + name: x-twitter-active-user + required: true + schema: + default: 'yes' + description: Unknown what this value means. + type: string + - in: header + name: x-twitter-client-language + required: true + schema: + default: en + description: language code. + type: string - in: query name: queryId required: true schema: - default: YqiE3JL1KNgf9nSljYdxaA - example: YqiE3JL1KNgf9nSljYdxaA + default: '"YqiE3JL1KNgf9nSljYdxaA"' + example: '"YqiE3JL1KNgf9nSljYdxaA"' type: string - in: query name: variables @@ -446,35 +475,6 @@ paths: false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled": false}' type: string - - in: header - name: authorization - required: true - schema: - default: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA - description: It is a constant value and does not need to be changed. - type: string - - in: header - name: x-twitter-active-user - required: true - schema: - default: 'yes' - description: Unknown what this value means. - type: string - - in: header - name: x-twitter-client-language - required: true - schema: - default: en - description: language code. - type: string - - in: header - name: user-agent - required: true - schema: - default: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/112.0.0.0 Safari/537.36 - description: UserAgent, some APIs may be rejected if changed. - type: string responses: '200': content: @@ -517,4 +517,4 @@ paths: schema: type: integer tags: - - Tweet + - tweet diff --git a/dist/dart/paths/v1.1.yaml b/dist/dart/paths/v1.1.yaml new file mode 100644 index 0000000..7141326 --- /dev/null +++ b/dist/dart/paths/v1.1.yaml @@ -0,0 +1,48 @@ +info: + title: Twitter OpenAPI + version: 0.0.1 +openapi: 3.0.3 +paths: + /1.1/friendships/create.json: + post: + description: post create friendships + operationId: postCreateFriendships + responses: + '200': + description: Successful operation + 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 + tags: + - v1.1 diff --git a/dist/docs/openapi-3.0.yaml b/dist/docs/openapi-3.0.yaml index 0b1141b..10f0888 100644 --- a/dist/docs/openapi-3.0.yaml +++ b/dist/docs/openapi-3.0.yaml @@ -1,110 +1,246 @@ components: - schemas: {} - securitySchemes: - ActiveUser: - description: 'yes' - in: header - name: x-twitter-active-user - type: apiKey - BearerAuth: - description: AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA - scheme: bearer - type: http - ClientLanguage: - description: en - in: header - name: x-twitter-client-language - type: apiKey - CookieAuthToken: - description: HttpOnly cookie - in: cookie - name: auth_token - type: apiKey - CookieCt0: - description: document.cookie.split('; ').find(row => row.startsWith('ct0=')); - in: cookie - name: ct0 - type: apiKey - CsrfToken: - description: document.cookie.split('; ').find(row => row.startsWith('ct0=')); - in: header - name: x-csrf-token - type: apiKey - UserAgent: - description: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/112.0.0.0 Safari/537.36 - in: header - name: user-agent - type: apiKey - authType: - description: OAuth2Session if you are logged in - in: header - name: x-twitter-auth-type - type: apiKey + schemas: + User: + properties: + __typename: + $ref: ./typename.yaml#/components/schemas/TypeName + affiliates_highlighted_label: + type: object + business_account: + type: object + has_graduated_access: + type: boolean + has_nft_avatar: + default: false + type: boolean + id: + pattern: ^[a-z\-]+[0-9]+$ + type: string + is_blue_verified: + default: false + type: boolean + legacy: + $ref: '#/components/schemas/UserLegacy' + rest_id: + pattern: ^[0-9]+$ + type: string + super_follow_eligible: + default: false + type: boolean + super_followed_by: + default: false + type: boolean + super_following: + default: false + type: boolean + required: + - __typename + - affiliates_highlighted_label + - id + - is_blue_verified + - legacy + - rest_id + - super_follow_eligible + - super_followed_by + - super_following + UserLegacy: + properties: + blocked_by: + default: false + type: boolean + blocking: + default: false + type: boolean + can_dm: + default: false + type: boolean + can_media_tag: + default: false + type: boolean + created_at: + $ref: ./general.yaml#/components/schemas/TwitterTimeFormat + default_profile: + default: false + type: boolean + default_profile_image: + default: false + type: boolean + description: + type: string + entities: + type: object + fast_followers_count: + type: integer + favourites_count: + default: 0 + type: integer + follow_request_sent: + default: false + type: boolean + followed_by: + default: false + type: boolean + followers_count: + default: 0 + type: integer + following: + default: false + type: boolean + friends_count: + default: 0 + type: integer + has_custom_timelines: + default: false + type: boolean + is_translator: + default: false + type: boolean + listed_count: + default: 0 + type: integer + location: + type: string + media_count: + default: 0 + type: integer + muting: + default: false + type: boolean + name: + type: string + normal_followers_count: + default: 0 + type: integer + notifications: + default: false + type: boolean + pinned_tweet_ids_str: + items: + type: string + type: array + possibly_sensitive: + default: false + type: boolean + profile_banner_extensions: + type: object + profile_banner_url: + format: uri + type: string + profile_image_extensions: + type: object + profile_image_url_https: + format: uri + type: string + profile_interstitial_type: + type: string + protected: + default: false + type: boolean + screen_name: + type: string + statuses_count: + default: 0 + type: integer + translator_type: + type: string + url: + type: string + verified: + type: boolean + want_retweets: + default: false + type: boolean + 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 + UserResultCore: + properties: + user_results: + $ref: '#/components/schemas/UserResults' + required: + - user_results + UserResults: + properties: + result: + $ref: '#/components/schemas/User' + required: + - result info: - contact: - email: yuki@yuki0311.com - description: Twitter OpenAPI(Swagger) specification - license: - name: GNU Affero General Public License v3. - url: https://raw.githubusercontent.com/fa0311/twitter-openapi/main/LICENSE.txt - termsOfService: https://github.com/fa0311 title: Twitter OpenAPI version: 0.0.1 openapi: 3.0.3 paths: - /1RyAhNwby-gzGCRVsMxKbQ/CreateTweet: - $ref: ./paths/post.yaml#/paths/~11RyAhNwby-gzGCRVsMxKbQ~1CreateTweet - /2TemLyqrMpTeAmysdbnVqw/ListLatestTweetsTimeline: - $ref: ./paths/timeline.yaml#/paths/~12TemLyqrMpTeAmysdbnVqw~1ListLatestTweetsTimeline - /5fmEkRT-1AdHqEsbVgehMg/Likes: - $ref: ./paths/usertweets.yaml#/paths/~15fmEkRT-1AdHqEsbVgehMg~1Likes - /9zwVLJ48lmVUk8u_Gh9DmA/ProfileSpotlightsQuery: - $ref: ./paths/profile.yaml#/paths/~19zwVLJ48lmVUk8u_Gh9DmA~1ProfileSpotlightsQuery - /HCosKfLNW1AcOo3la3mMgg/HomeTimeline: - $ref: ./paths/timeline.yaml#/paths/~1HCosKfLNW1AcOo3la3mMgg~1HomeTimeline - /HuTx74BxAnezK1gWvYY7zg/UserTweets: - $ref: ./paths/usertweets.yaml#/paths/~1HuTx74BxAnezK1gWvYY7zg~1UserTweets - /IWP6Zt14sARO29lJT35bBw/Following: - $ref: ./paths/follow.yaml#/paths/~1IWP6Zt14sARO29lJT35bBw~1Following - /RIWc55YCNyUJ-U3HHGYkdg/UserTweetsAndReplies: - $ref: ./paths/usertweets.yaml#/paths/~1RIWc55YCNyUJ-U3HHGYkdg~1UserTweetsAndReplies - /VaenaVgh5q5ih7kvyVjgtg/DeleteTweet: - $ref: ./paths/post.yaml#/paths/~1VaenaVgh5q5ih7kvyVjgtg~1DeleteTweet - /YqiE3JL1KNgf9nSljYdxaA/UserMedia: - $ref: ./paths/usertweets.yaml#/paths/~1YqiE3JL1KNgf9nSljYdxaA~1UserMedia - /ZYKSe-w7KEslx3JhSIk5LA/UnfavoriteTweet: - $ref: ./paths/post.yaml#/paths/~1ZYKSe-w7KEslx3JhSIk5LA~1UnfavoriteTweet - /djdTXDIk2qhd4OStqlUFeQ/Followers: - $ref: ./paths/follow.yaml#/paths/~1djdTXDIk2qhd4OStqlUFeQ~1Followers - /iQtK4dl5hBmXewYZuEOKVw/DeleteRetweet: - $ref: ./paths/post.yaml#/paths/~1iQtK4dl5hBmXewYZuEOKVw~1DeleteRetweet - /lI07N6Otwv1PhnEgXILM7A/FavoriteTweet: - $ref: ./paths/post.yaml#/paths/~1lI07N6Otwv1PhnEgXILM7A~1FavoriteTweet - /ojPdsZsimiJrUGLR1sjUtA/CreateRetweet: - $ref: ./paths/post.yaml#/paths/~1ojPdsZsimiJrUGLR1sjUtA~1CreateRetweet - /sLVLhk0bGj3MVFEKTdax1w/UserByScreenName: - $ref: ./paths/user.yaml#/paths/~1sLVLhk0bGj3MVFEKTdax1w~1UserByScreenName - /tmd4ifV8RHltzn8ymGg1aw/Bookmarks: - $ref: ./paths/bookmarks.yaml#/paths/~1tmd4ifV8RHltzn8ymGg1aw~1Bookmarks - /wNNG8DBB8EaXw1lq4vFWGA/TweetDetail: - $ref: ./paths/tweet.yaml#/paths/~1wNNG8DBB8EaXw1lq4vFWGA~1TweetDetail - /zhX91JE87mWvfprhYE97xA/HomeLatestTimeline: - $ref: ./paths/timeline.yaml#/paths/~1zhX91JE87mWvfprhYE97xA~1HomeLatestTimeline -security: -- bearerAuth: [] -- CsrfToken: [] -- ActiveUser: [] -- AuthType: [] -- ClientLanguage: [] -- CookieAuthToken: [] -- CookieCt0: [] -servers: -- url: https://twitter.com/i/api/graphql -tags: -- description: response User - name: User -- description: response User list - name: UserList -- description: response tweet - name: Tweet + /1.1/friendships/create.json: + $ref: ./paths/v1.1.yaml#/paths/~11.1~1friendships~1create.json + /graphql/1RyAhNwby-gzGCRVsMxKbQ/CreateTweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1CreateTweet + /graphql/2TemLyqrMpTeAmysdbnVqw/ListLatestTweetsTimeline: + $ref: ./paths/timeline.yaml#/paths/~1graphql~1{{queryId}}~1ListLatestTweetsTimeline + /graphql/5fmEkRT-1AdHqEsbVgehMg/Likes: + $ref: ./paths/usertweets.yaml#/paths/~1graphql~1{{queryId}}~1Likes + /graphql/9zwVLJ48lmVUk8u_Gh9DmA/ProfileSpotlightsQuery: + $ref: ./paths/profile.yaml#/paths/~1graphql~1{{queryId}}~1ProfileSpotlightsQuery + /graphql/HCosKfLNW1AcOo3la3mMgg/HomeTimeline: + $ref: ./paths/timeline.yaml#/paths/~1graphql~1{{queryId}}~1HomeTimeline + /graphql/HuTx74BxAnezK1gWvYY7zg/UserTweets: + $ref: ./paths/usertweets.yaml#/paths/~1graphql~1{{queryId}}~1UserTweets + /graphql/IWP6Zt14sARO29lJT35bBw/Following: + $ref: ./paths/follow.yaml#/paths/~1graphql~1{{queryId}}~1Following + /graphql/RIWc55YCNyUJ-U3HHGYkdg/UserTweetsAndReplies: + $ref: ./paths/usertweets.yaml#/paths/~1graphql~1{{queryId}}~1UserTweetsAndReplies + /graphql/VaenaVgh5q5ih7kvyVjgtg/DeleteTweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1DeleteTweet + /graphql/YqiE3JL1KNgf9nSljYdxaA/UserMedia: + $ref: ./paths/usertweets.yaml#/paths/~1graphql~1{{queryId}}~1UserMedia + /graphql/ZYKSe-w7KEslx3JhSIk5LA/UnfavoriteTweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1UnfavoriteTweet + /graphql/djdTXDIk2qhd4OStqlUFeQ/Followers: + $ref: ./paths/follow.yaml#/paths/~1graphql~1{{queryId}}~1Followers + /graphql/iQtK4dl5hBmXewYZuEOKVw/DeleteRetweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1DeleteRetweet + /graphql/lI07N6Otwv1PhnEgXILM7A/FavoriteTweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1FavoriteTweet + /graphql/ojPdsZsimiJrUGLR1sjUtA/CreateRetweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1CreateRetweet + /graphql/sLVLhk0bGj3MVFEKTdax1w/UserByScreenName: + $ref: ./paths/user.yaml#/paths/~1graphql~1{{queryId}}~1UserByScreenName + /graphql/tmd4ifV8RHltzn8ymGg1aw/Bookmarks: + $ref: ./paths/bookmarks.yaml#/paths/~1graphql~1{{queryId}}~1Bookmarks + /graphql/wNNG8DBB8EaXw1lq4vFWGA/TweetDetail: + $ref: ./paths/tweet.yaml#/paths/~1graphql~1{{queryId}}~1TweetDetail + /graphql/zhX91JE87mWvfprhYE97xA/HomeLatestTimeline: + $ref: ./paths/timeline.yaml#/paths/~1graphql~1{{queryId}}~1HomeLatestTimeline diff --git a/dist/docs/paths/bookmarks.yaml b/dist/docs/paths/bookmarks.yaml index 56e7d0d..0e5dc51 100644 --- a/dist/docs/paths/bookmarks.yaml +++ b/dist/docs/paths/bookmarks.yaml @@ -23,18 +23,20 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /tmd4ifV8RHltzn8ymGg1aw/Bookmarks: + /graphql/tmd4ifV8RHltzn8ymGg1aw/Bookmarks: get: description: get bookmarks operationId: getBookmarks parameters: - - in: query + - content: + application/json: + schema: + default: tmd4ifV8RHltzn8ymGg1aw + example: tmd4ifV8RHltzn8ymGg1aw + type: string + in: query name: queryId required: true - schema: - default: tmd4ifV8RHltzn8ymGg1aw - example: tmd4ifV8RHltzn8ymGg1aw - type: string - content: application/json: schema: @@ -205,4 +207,4 @@ paths: schema: type: integer tags: - - Tweet + - tweet diff --git a/dist/docs/paths/follow.yaml b/dist/docs/paths/follow.yaml index 28865b5..3cd68d9 100644 --- a/dist/docs/paths/follow.yaml +++ b/dist/docs/paths/follow.yaml @@ -38,18 +38,20 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /IWP6Zt14sARO29lJT35bBw/Following: + /graphql/IWP6Zt14sARO29lJT35bBw/Following: get: description: get user list of following operationId: getFollowing parameters: - - in: query + - content: + application/json: + schema: + default: IWP6Zt14sARO29lJT35bBw + example: IWP6Zt14sARO29lJT35bBw + type: string + in: query name: queryId required: true - schema: - default: IWP6Zt14sARO29lJT35bBw - example: IWP6Zt14sARO29lJT35bBw - type: string - content: application/json: schema: @@ -220,19 +222,21 @@ paths: schema: type: integer tags: - - UserList - /djdTXDIk2qhd4OStqlUFeQ/Followers: + - userList + /graphql/djdTXDIk2qhd4OStqlUFeQ/Followers: get: description: get user list of followers operationId: getFollowers parameters: - - in: query + - content: + application/json: + schema: + default: djdTXDIk2qhd4OStqlUFeQ + example: djdTXDIk2qhd4OStqlUFeQ + type: string + in: query name: queryId required: true - schema: - default: djdTXDIk2qhd4OStqlUFeQ - example: djdTXDIk2qhd4OStqlUFeQ - type: string - content: application/json: schema: @@ -403,4 +407,4 @@ paths: schema: type: integer tags: - - UserList + - userList diff --git a/dist/docs/paths/post.yaml b/dist/docs/paths/post.yaml index 1ba837b..80e8a94 100644 --- a/dist/docs/paths/post.yaml +++ b/dist/docs/paths/post.yaml @@ -136,11 +136,18 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /1RyAhNwby-gzGCRVsMxKbQ/CreateTweet: + /graphql/1RyAhNwby-gzGCRVsMxKbQ/CreateTweet: post: description: create Tweet operationId: postCreateTweet parameters: + - in: query + name: queryId + required: true + schema: + default: 1RyAhNwby-gzGCRVsMxKbQ + example: 1RyAhNwby-gzGCRVsMxKbQ + type: string - in: query name: variables required: true @@ -322,12 +329,19 @@ paths: schema: type: integer tags: - - Post - /VaenaVgh5q5ih7kvyVjgtg/DeleteTweet: + - post + /graphql/VaenaVgh5q5ih7kvyVjgtg/DeleteTweet: post: description: delete Retweet operationId: postDeleteTweet parameters: + - in: query + name: queryId + required: true + schema: + default: VaenaVgh5q5ih7kvyVjgtg + example: VaenaVgh5q5ih7kvyVjgtg + type: string - in: query name: variables required: true @@ -340,6 +354,13 @@ paths: required: - tweet_id type: object + - in: query + name: features + required: true + schema: + properties: {} + required: [] + type: object responses: '200': content: @@ -382,23 +403,40 @@ paths: schema: type: integer tags: - - Post - /ZYKSe-w7KEslx3JhSIk5LA/UnfavoriteTweet: + - post + /graphql/ZYKSe-w7KEslx3JhSIk5LA/UnfavoriteTweet: post: description: unfavorite Tweet operationId: postUnfavoriteTweet parameters: - in: query - name: variables + name: queryId + required: true + schema: + default: ZYKSe-w7KEslx3JhSIk5LA + example: ZYKSe-w7KEslx3JhSIk5LA + type: string + - in: query + name: Parameters required: true schema: properties: - tweet_id: - default: '1349129669258448897' - example: '1349129669258448897' - type: string + features: + properties: {} + required: [] + type: object + variables: + properties: + tweet_id: + default: '1349129669258448897' + example: '1349129669258448897' + type: string + required: + - tweet_id + type: object required: - - tweet_id + - variables + - features type: object responses: '200': @@ -442,23 +480,40 @@ paths: schema: type: integer tags: - - Post - /iQtK4dl5hBmXewYZuEOKVw/DeleteRetweet: + - post + /graphql/iQtK4dl5hBmXewYZuEOKVw/DeleteRetweet: post: description: delete Retweet operationId: postDeleteRetweet parameters: - in: query - name: variables + name: queryId + required: true + schema: + default: iQtK4dl5hBmXewYZuEOKVw + example: iQtK4dl5hBmXewYZuEOKVw + type: string + - in: query + name: Parameters required: true schema: properties: - tweet_id: - default: '1349129669258448897' - example: '1349129669258448897' - type: string + features: + properties: {} + required: [] + type: object + variables: + properties: + tweet_id: + default: '1349129669258448897' + example: '1349129669258448897' + type: string + required: + - tweet_id + type: object required: - - tweet_id + - variables + - features type: object responses: '200': @@ -502,23 +557,40 @@ paths: schema: type: integer tags: - - Post - /lI07N6Otwv1PhnEgXILM7A/FavoriteTweet: + - post + /graphql/lI07N6Otwv1PhnEgXILM7A/FavoriteTweet: post: description: favorite Tweet operationId: postFavoriteTweet parameters: - in: query - name: variables + name: queryId + required: true + schema: + default: lI07N6Otwv1PhnEgXILM7A + example: lI07N6Otwv1PhnEgXILM7A + type: string + - in: query + name: Parameters required: true schema: properties: - tweet_id: - default: '1349129669258448897' - example: '1349129669258448897' - type: string + features: + properties: {} + required: [] + type: object + variables: + properties: + tweet_id: + default: '1349129669258448897' + example: '1349129669258448897' + type: string + required: + - tweet_id + type: object required: - - tweet_id + - variables + - features type: object responses: '200': @@ -562,23 +634,40 @@ paths: schema: type: integer tags: - - Post - /ojPdsZsimiJrUGLR1sjUtA/CreateRetweet: + - post + /graphql/ojPdsZsimiJrUGLR1sjUtA/CreateRetweet: post: description: create Retweet operationId: postCreateRetweet parameters: - in: query - name: variables + name: queryId + required: true + schema: + default: ojPdsZsimiJrUGLR1sjUtA + example: ojPdsZsimiJrUGLR1sjUtA + type: string + - in: query + name: Parameters required: true schema: properties: - tweet_id: - default: '1349129669258448897' - example: '1349129669258448897' - type: string + features: + properties: {} + required: [] + type: object + variables: + properties: + tweet_id: + default: '1349129669258448897' + example: '1349129669258448897' + type: string + required: + - tweet_id + type: object required: - - tweet_id + - variables + - features type: object responses: '200': @@ -622,4 +711,4 @@ paths: schema: type: integer tags: - - Post + - post diff --git a/dist/docs/paths/profile.yaml b/dist/docs/paths/profile.yaml index ad7a6cf..75e0669 100644 --- a/dist/docs/paths/profile.yaml +++ b/dist/docs/paths/profile.yaml @@ -63,18 +63,20 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /9zwVLJ48lmVUk8u_Gh9DmA/ProfileSpotlightsQuery: + /graphql/9zwVLJ48lmVUk8u_Gh9DmA/ProfileSpotlightsQuery: get: description: get user by screen name operationId: getProfileSpotlightsQuery parameters: - - in: query + - content: + application/json: + schema: + default: 9zwVLJ48lmVUk8u_Gh9DmA + example: 9zwVLJ48lmVUk8u_Gh9DmA + type: string + in: query name: queryId required: true - schema: - default: 9zwVLJ48lmVUk8u_Gh9DmA - example: 9zwVLJ48lmVUk8u_Gh9DmA - type: string - content: application/json: schema: diff --git a/dist/docs/paths/timeline.yaml b/dist/docs/paths/timeline.yaml index a76c391..5d0f78c 100644 --- a/dist/docs/paths/timeline.yaml +++ b/dist/docs/paths/timeline.yaml @@ -47,18 +47,20 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /2TemLyqrMpTeAmysdbnVqw/ListLatestTweetsTimeline: + /graphql/2TemLyqrMpTeAmysdbnVqw/ListLatestTweetsTimeline: get: description: get tweet list of timeline operationId: getListLatestTweetsTimeline parameters: - - in: query + - content: + application/json: + schema: + default: 2TemLyqrMpTeAmysdbnVqw + example: 2TemLyqrMpTeAmysdbnVqw + type: string + in: query name: queryId required: true - schema: - default: 2TemLyqrMpTeAmysdbnVqw - example: 2TemLyqrMpTeAmysdbnVqw - type: string - content: application/json: schema: @@ -224,19 +226,21 @@ paths: schema: type: integer tags: - - Tweet - /HCosKfLNW1AcOo3la3mMgg/HomeTimeline: + - tweet + /graphql/HCosKfLNW1AcOo3la3mMgg/HomeTimeline: get: description: get tweet list of timeline operationId: getHomeTimeline parameters: - - in: query + - content: + application/json: + schema: + default: HCosKfLNW1AcOo3la3mMgg + example: HCosKfLNW1AcOo3la3mMgg + type: string + in: query name: queryId required: true - schema: - default: HCosKfLNW1AcOo3la3mMgg - example: HCosKfLNW1AcOo3la3mMgg - type: string - content: application/json: schema: @@ -417,19 +421,21 @@ paths: schema: type: integer tags: - - Tweet - /zhX91JE87mWvfprhYE97xA/HomeLatestTimeline: + - tweet + /graphql/zhX91JE87mWvfprhYE97xA/HomeLatestTimeline: get: description: get tweet list of timeline operationId: getHomeLatestTimeline parameters: - - in: query + - content: + application/json: + schema: + default: zhX91JE87mWvfprhYE97xA + example: zhX91JE87mWvfprhYE97xA + type: string + in: query name: queryId required: true - schema: - default: zhX91JE87mWvfprhYE97xA - example: zhX91JE87mWvfprhYE97xA - type: string - content: application/json: schema: @@ -605,4 +611,4 @@ paths: schema: type: integer tags: - - Tweet + - tweet diff --git a/dist/docs/paths/tweet.yaml b/dist/docs/paths/tweet.yaml index d96dc0b..1f74738 100644 --- a/dist/docs/paths/tweet.yaml +++ b/dist/docs/paths/tweet.yaml @@ -17,18 +17,20 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /wNNG8DBB8EaXw1lq4vFWGA/TweetDetail: + /graphql/wNNG8DBB8EaXw1lq4vFWGA/TweetDetail: get: description: get TweetDetail operationId: getTweetDetail parameters: - - in: query + - content: + application/json: + schema: + default: wNNG8DBB8EaXw1lq4vFWGA + example: wNNG8DBB8EaXw1lq4vFWGA + type: string + in: query name: queryId required: true - schema: - default: wNNG8DBB8EaXw1lq4vFWGA - example: wNNG8DBB8EaXw1lq4vFWGA - type: string - content: application/json: schema: @@ -224,4 +226,4 @@ paths: schema: type: integer tags: - - Tweet + - tweet diff --git a/dist/docs/paths/user.yaml b/dist/docs/paths/user.yaml index b1b77c6..f53ce08 100644 --- a/dist/docs/paths/user.yaml +++ b/dist/docs/paths/user.yaml @@ -17,18 +17,20 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /sLVLhk0bGj3MVFEKTdax1w/UserByScreenName: + /graphql/sLVLhk0bGj3MVFEKTdax1w/UserByScreenName: get: description: get user by screen name operationId: getUserByScreenName parameters: - - in: query + - content: + application/json: + schema: + default: sLVLhk0bGj3MVFEKTdax1w + example: sLVLhk0bGj3MVFEKTdax1w + type: string + in: query name: queryId required: true - schema: - default: sLVLhk0bGj3MVFEKTdax1w - example: sLVLhk0bGj3MVFEKTdax1w - type: string - content: application/json: schema: @@ -124,4 +126,4 @@ paths: schema: type: integer tags: - - User + - user diff --git a/dist/docs/paths/usertweets.yaml b/dist/docs/paths/usertweets.yaml index 810af29..eef0baa 100644 --- a/dist/docs/paths/usertweets.yaml +++ b/dist/docs/paths/usertweets.yaml @@ -32,18 +32,20 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /5fmEkRT-1AdHqEsbVgehMg/Likes: + /graphql/5fmEkRT-1AdHqEsbVgehMg/Likes: get: description: get user likes tweets operationId: getLikes parameters: - - in: query + - content: + application/json: + schema: + default: 5fmEkRT-1AdHqEsbVgehMg + example: 5fmEkRT-1AdHqEsbVgehMg + type: string + in: query name: queryId required: true - schema: - default: 5fmEkRT-1AdHqEsbVgehMg - example: 5fmEkRT-1AdHqEsbVgehMg - type: string - content: application/json: schema: @@ -234,19 +236,21 @@ paths: schema: type: integer tags: - - Tweet - /HuTx74BxAnezK1gWvYY7zg/UserTweets: + - tweet + /graphql/HuTx74BxAnezK1gWvYY7zg/UserTweets: get: description: get user tweets operationId: getUserTweets parameters: - - in: query + - content: + application/json: + schema: + default: HuTx74BxAnezK1gWvYY7zg + example: HuTx74BxAnezK1gWvYY7zg + type: string + in: query name: queryId required: true - schema: - default: HuTx74BxAnezK1gWvYY7zg - example: HuTx74BxAnezK1gWvYY7zg - type: string - content: application/json: schema: @@ -432,19 +436,21 @@ paths: schema: type: integer tags: - - Tweet - /RIWc55YCNyUJ-U3HHGYkdg/UserTweetsAndReplies: + - tweet + /graphql/RIWc55YCNyUJ-U3HHGYkdg/UserTweetsAndReplies: get: description: get user replies tweets operationId: getUserTweetsAndReplies parameters: - - in: query + - content: + application/json: + schema: + default: RIWc55YCNyUJ-U3HHGYkdg + example: RIWc55YCNyUJ-U3HHGYkdg + type: string + in: query name: queryId required: true - schema: - default: RIWc55YCNyUJ-U3HHGYkdg - example: RIWc55YCNyUJ-U3HHGYkdg - type: string - content: application/json: schema: @@ -630,19 +636,21 @@ paths: schema: type: integer tags: - - Tweet - /YqiE3JL1KNgf9nSljYdxaA/UserMedia: + - tweet + /graphql/YqiE3JL1KNgf9nSljYdxaA/UserMedia: get: description: get user media tweets operationId: getUserMedia parameters: - - in: query + - content: + application/json: + schema: + default: YqiE3JL1KNgf9nSljYdxaA + example: YqiE3JL1KNgf9nSljYdxaA + type: string + in: query name: queryId required: true - schema: - default: YqiE3JL1KNgf9nSljYdxaA - example: YqiE3JL1KNgf9nSljYdxaA - type: string - content: application/json: schema: @@ -833,4 +841,4 @@ paths: schema: type: integer tags: - - Tweet + - tweet diff --git a/dist/docs/paths/v1.1.yaml b/dist/docs/paths/v1.1.yaml new file mode 100644 index 0000000..7141326 --- /dev/null +++ b/dist/docs/paths/v1.1.yaml @@ -0,0 +1,48 @@ +info: + title: Twitter OpenAPI + version: 0.0.1 +openapi: 3.0.3 +paths: + /1.1/friendships/create.json: + post: + description: post create friendships + operationId: postCreateFriendships + responses: + '200': + description: Successful operation + 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 + tags: + - v1.1 diff --git a/dist/test/openapi-3.0.yaml b/dist/test/openapi-3.0.yaml index 0b1141b..10f0888 100644 --- a/dist/test/openapi-3.0.yaml +++ b/dist/test/openapi-3.0.yaml @@ -1,110 +1,246 @@ components: - schemas: {} - securitySchemes: - ActiveUser: - description: 'yes' - in: header - name: x-twitter-active-user - type: apiKey - BearerAuth: - description: AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA - scheme: bearer - type: http - ClientLanguage: - description: en - in: header - name: x-twitter-client-language - type: apiKey - CookieAuthToken: - description: HttpOnly cookie - in: cookie - name: auth_token - type: apiKey - CookieCt0: - description: document.cookie.split('; ').find(row => row.startsWith('ct0=')); - in: cookie - name: ct0 - type: apiKey - CsrfToken: - description: document.cookie.split('; ').find(row => row.startsWith('ct0=')); - in: header - name: x-csrf-token - type: apiKey - UserAgent: - description: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/112.0.0.0 Safari/537.36 - in: header - name: user-agent - type: apiKey - authType: - description: OAuth2Session if you are logged in - in: header - name: x-twitter-auth-type - type: apiKey + schemas: + User: + properties: + __typename: + $ref: ./typename.yaml#/components/schemas/TypeName + affiliates_highlighted_label: + type: object + business_account: + type: object + has_graduated_access: + type: boolean + has_nft_avatar: + default: false + type: boolean + id: + pattern: ^[a-z\-]+[0-9]+$ + type: string + is_blue_verified: + default: false + type: boolean + legacy: + $ref: '#/components/schemas/UserLegacy' + rest_id: + pattern: ^[0-9]+$ + type: string + super_follow_eligible: + default: false + type: boolean + super_followed_by: + default: false + type: boolean + super_following: + default: false + type: boolean + required: + - __typename + - affiliates_highlighted_label + - id + - is_blue_verified + - legacy + - rest_id + - super_follow_eligible + - super_followed_by + - super_following + UserLegacy: + properties: + blocked_by: + default: false + type: boolean + blocking: + default: false + type: boolean + can_dm: + default: false + type: boolean + can_media_tag: + default: false + type: boolean + created_at: + $ref: ./general.yaml#/components/schemas/TwitterTimeFormat + default_profile: + default: false + type: boolean + default_profile_image: + default: false + type: boolean + description: + type: string + entities: + type: object + fast_followers_count: + type: integer + favourites_count: + default: 0 + type: integer + follow_request_sent: + default: false + type: boolean + followed_by: + default: false + type: boolean + followers_count: + default: 0 + type: integer + following: + default: false + type: boolean + friends_count: + default: 0 + type: integer + has_custom_timelines: + default: false + type: boolean + is_translator: + default: false + type: boolean + listed_count: + default: 0 + type: integer + location: + type: string + media_count: + default: 0 + type: integer + muting: + default: false + type: boolean + name: + type: string + normal_followers_count: + default: 0 + type: integer + notifications: + default: false + type: boolean + pinned_tweet_ids_str: + items: + type: string + type: array + possibly_sensitive: + default: false + type: boolean + profile_banner_extensions: + type: object + profile_banner_url: + format: uri + type: string + profile_image_extensions: + type: object + profile_image_url_https: + format: uri + type: string + profile_interstitial_type: + type: string + protected: + default: false + type: boolean + screen_name: + type: string + statuses_count: + default: 0 + type: integer + translator_type: + type: string + url: + type: string + verified: + type: boolean + want_retweets: + default: false + type: boolean + 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 + UserResultCore: + properties: + user_results: + $ref: '#/components/schemas/UserResults' + required: + - user_results + UserResults: + properties: + result: + $ref: '#/components/schemas/User' + required: + - result info: - contact: - email: yuki@yuki0311.com - description: Twitter OpenAPI(Swagger) specification - license: - name: GNU Affero General Public License v3. - url: https://raw.githubusercontent.com/fa0311/twitter-openapi/main/LICENSE.txt - termsOfService: https://github.com/fa0311 title: Twitter OpenAPI version: 0.0.1 openapi: 3.0.3 paths: - /1RyAhNwby-gzGCRVsMxKbQ/CreateTweet: - $ref: ./paths/post.yaml#/paths/~11RyAhNwby-gzGCRVsMxKbQ~1CreateTweet - /2TemLyqrMpTeAmysdbnVqw/ListLatestTweetsTimeline: - $ref: ./paths/timeline.yaml#/paths/~12TemLyqrMpTeAmysdbnVqw~1ListLatestTweetsTimeline - /5fmEkRT-1AdHqEsbVgehMg/Likes: - $ref: ./paths/usertweets.yaml#/paths/~15fmEkRT-1AdHqEsbVgehMg~1Likes - /9zwVLJ48lmVUk8u_Gh9DmA/ProfileSpotlightsQuery: - $ref: ./paths/profile.yaml#/paths/~19zwVLJ48lmVUk8u_Gh9DmA~1ProfileSpotlightsQuery - /HCosKfLNW1AcOo3la3mMgg/HomeTimeline: - $ref: ./paths/timeline.yaml#/paths/~1HCosKfLNW1AcOo3la3mMgg~1HomeTimeline - /HuTx74BxAnezK1gWvYY7zg/UserTweets: - $ref: ./paths/usertweets.yaml#/paths/~1HuTx74BxAnezK1gWvYY7zg~1UserTweets - /IWP6Zt14sARO29lJT35bBw/Following: - $ref: ./paths/follow.yaml#/paths/~1IWP6Zt14sARO29lJT35bBw~1Following - /RIWc55YCNyUJ-U3HHGYkdg/UserTweetsAndReplies: - $ref: ./paths/usertweets.yaml#/paths/~1RIWc55YCNyUJ-U3HHGYkdg~1UserTweetsAndReplies - /VaenaVgh5q5ih7kvyVjgtg/DeleteTweet: - $ref: ./paths/post.yaml#/paths/~1VaenaVgh5q5ih7kvyVjgtg~1DeleteTweet - /YqiE3JL1KNgf9nSljYdxaA/UserMedia: - $ref: ./paths/usertweets.yaml#/paths/~1YqiE3JL1KNgf9nSljYdxaA~1UserMedia - /ZYKSe-w7KEslx3JhSIk5LA/UnfavoriteTweet: - $ref: ./paths/post.yaml#/paths/~1ZYKSe-w7KEslx3JhSIk5LA~1UnfavoriteTweet - /djdTXDIk2qhd4OStqlUFeQ/Followers: - $ref: ./paths/follow.yaml#/paths/~1djdTXDIk2qhd4OStqlUFeQ~1Followers - /iQtK4dl5hBmXewYZuEOKVw/DeleteRetweet: - $ref: ./paths/post.yaml#/paths/~1iQtK4dl5hBmXewYZuEOKVw~1DeleteRetweet - /lI07N6Otwv1PhnEgXILM7A/FavoriteTweet: - $ref: ./paths/post.yaml#/paths/~1lI07N6Otwv1PhnEgXILM7A~1FavoriteTweet - /ojPdsZsimiJrUGLR1sjUtA/CreateRetweet: - $ref: ./paths/post.yaml#/paths/~1ojPdsZsimiJrUGLR1sjUtA~1CreateRetweet - /sLVLhk0bGj3MVFEKTdax1w/UserByScreenName: - $ref: ./paths/user.yaml#/paths/~1sLVLhk0bGj3MVFEKTdax1w~1UserByScreenName - /tmd4ifV8RHltzn8ymGg1aw/Bookmarks: - $ref: ./paths/bookmarks.yaml#/paths/~1tmd4ifV8RHltzn8ymGg1aw~1Bookmarks - /wNNG8DBB8EaXw1lq4vFWGA/TweetDetail: - $ref: ./paths/tweet.yaml#/paths/~1wNNG8DBB8EaXw1lq4vFWGA~1TweetDetail - /zhX91JE87mWvfprhYE97xA/HomeLatestTimeline: - $ref: ./paths/timeline.yaml#/paths/~1zhX91JE87mWvfprhYE97xA~1HomeLatestTimeline -security: -- bearerAuth: [] -- CsrfToken: [] -- ActiveUser: [] -- AuthType: [] -- ClientLanguage: [] -- CookieAuthToken: [] -- CookieCt0: [] -servers: -- url: https://twitter.com/i/api/graphql -tags: -- description: response User - name: User -- description: response User list - name: UserList -- description: response tweet - name: Tweet + /1.1/friendships/create.json: + $ref: ./paths/v1.1.yaml#/paths/~11.1~1friendships~1create.json + /graphql/1RyAhNwby-gzGCRVsMxKbQ/CreateTweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1CreateTweet + /graphql/2TemLyqrMpTeAmysdbnVqw/ListLatestTweetsTimeline: + $ref: ./paths/timeline.yaml#/paths/~1graphql~1{{queryId}}~1ListLatestTweetsTimeline + /graphql/5fmEkRT-1AdHqEsbVgehMg/Likes: + $ref: ./paths/usertweets.yaml#/paths/~1graphql~1{{queryId}}~1Likes + /graphql/9zwVLJ48lmVUk8u_Gh9DmA/ProfileSpotlightsQuery: + $ref: ./paths/profile.yaml#/paths/~1graphql~1{{queryId}}~1ProfileSpotlightsQuery + /graphql/HCosKfLNW1AcOo3la3mMgg/HomeTimeline: + $ref: ./paths/timeline.yaml#/paths/~1graphql~1{{queryId}}~1HomeTimeline + /graphql/HuTx74BxAnezK1gWvYY7zg/UserTweets: + $ref: ./paths/usertweets.yaml#/paths/~1graphql~1{{queryId}}~1UserTweets + /graphql/IWP6Zt14sARO29lJT35bBw/Following: + $ref: ./paths/follow.yaml#/paths/~1graphql~1{{queryId}}~1Following + /graphql/RIWc55YCNyUJ-U3HHGYkdg/UserTweetsAndReplies: + $ref: ./paths/usertweets.yaml#/paths/~1graphql~1{{queryId}}~1UserTweetsAndReplies + /graphql/VaenaVgh5q5ih7kvyVjgtg/DeleteTweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1DeleteTweet + /graphql/YqiE3JL1KNgf9nSljYdxaA/UserMedia: + $ref: ./paths/usertweets.yaml#/paths/~1graphql~1{{queryId}}~1UserMedia + /graphql/ZYKSe-w7KEslx3JhSIk5LA/UnfavoriteTweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1UnfavoriteTweet + /graphql/djdTXDIk2qhd4OStqlUFeQ/Followers: + $ref: ./paths/follow.yaml#/paths/~1graphql~1{{queryId}}~1Followers + /graphql/iQtK4dl5hBmXewYZuEOKVw/DeleteRetweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1DeleteRetweet + /graphql/lI07N6Otwv1PhnEgXILM7A/FavoriteTweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1FavoriteTweet + /graphql/ojPdsZsimiJrUGLR1sjUtA/CreateRetweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1CreateRetweet + /graphql/sLVLhk0bGj3MVFEKTdax1w/UserByScreenName: + $ref: ./paths/user.yaml#/paths/~1graphql~1{{queryId}}~1UserByScreenName + /graphql/tmd4ifV8RHltzn8ymGg1aw/Bookmarks: + $ref: ./paths/bookmarks.yaml#/paths/~1graphql~1{{queryId}}~1Bookmarks + /graphql/wNNG8DBB8EaXw1lq4vFWGA/TweetDetail: + $ref: ./paths/tweet.yaml#/paths/~1graphql~1{{queryId}}~1TweetDetail + /graphql/zhX91JE87mWvfprhYE97xA/HomeLatestTimeline: + $ref: ./paths/timeline.yaml#/paths/~1graphql~1{{queryId}}~1HomeLatestTimeline diff --git a/dist/test/paths/bookmarks.yaml b/dist/test/paths/bookmarks.yaml index b143582..9e3bf98 100644 --- a/dist/test/paths/bookmarks.yaml +++ b/dist/test/paths/bookmarks.yaml @@ -23,7 +23,7 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /tmd4ifV8RHltzn8ymGg1aw/Bookmarks: + /graphql/tmd4ifV8RHltzn8ymGg1aw/Bookmarks: get: description: get bookmarks operationId: getBookmarks @@ -32,8 +32,8 @@ paths: name: queryId required: true schema: - default: tmd4ifV8RHltzn8ymGg1aw - example: tmd4ifV8RHltzn8ymGg1aw + default: '"tmd4ifV8RHltzn8ymGg1aw"' + example: '"tmd4ifV8RHltzn8ymGg1aw"' type: string - in: query name: variables @@ -111,4 +111,4 @@ paths: schema: type: integer tags: - - Tweet + - tweet diff --git a/dist/test/paths/follow.yaml b/dist/test/paths/follow.yaml index b1d2bde..fa321a1 100644 --- a/dist/test/paths/follow.yaml +++ b/dist/test/paths/follow.yaml @@ -38,7 +38,7 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /IWP6Zt14sARO29lJT35bBw/Following: + /graphql/IWP6Zt14sARO29lJT35bBw/Following: get: description: get user list of following operationId: getFollowing @@ -47,8 +47,8 @@ paths: name: queryId required: true schema: - default: IWP6Zt14sARO29lJT35bBw - example: IWP6Zt14sARO29lJT35bBw + default: '"IWP6Zt14sARO29lJT35bBw"' + example: '"IWP6Zt14sARO29lJT35bBw"' type: string - in: query name: variables @@ -128,8 +128,8 @@ paths: schema: type: integer tags: - - UserList - /djdTXDIk2qhd4OStqlUFeQ/Followers: + - userList + /graphql/djdTXDIk2qhd4OStqlUFeQ/Followers: get: description: get user list of followers operationId: getFollowers @@ -138,8 +138,8 @@ paths: name: queryId required: true schema: - default: djdTXDIk2qhd4OStqlUFeQ - example: djdTXDIk2qhd4OStqlUFeQ + default: '"djdTXDIk2qhd4OStqlUFeQ"' + example: '"djdTXDIk2qhd4OStqlUFeQ"' type: string - in: query name: variables @@ -219,4 +219,4 @@ paths: schema: type: integer tags: - - UserList + - userList diff --git a/dist/test/paths/post.yaml b/dist/test/paths/post.yaml index 68744e5..91391a9 100644 --- a/dist/test/paths/post.yaml +++ b/dist/test/paths/post.yaml @@ -136,11 +136,54 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /1RyAhNwby-gzGCRVsMxKbQ/CreateTweet: + /graphql/1RyAhNwby-gzGCRVsMxKbQ/CreateTweet: post: description: create Tweet operationId: postCreateTweet - parameters: [] + parameters: + - in: query + name: queryId + required: true + schema: + default: '"1RyAhNwby-gzGCRVsMxKbQ"' + example: '"1RyAhNwby-gzGCRVsMxKbQ"' + type: string + - in: query + name: variables + required: true + schema: + default: '{"tweet_text": "test", "media": {"media_entities": [], "possibly_sensitive": + false}, "semantic_annotation_ids": [], "dark_request": false}' + example: '{"tweet_text": "test", "media": {"media_entities": [], "possibly_sensitive": + false}, "semantic_annotation_ids": [], "dark_request": false}' + type: string + - in: query + name: features + required: true + schema: + default: '{"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, "interactive_text_enabled": + true, "responsive_web_text_conversations_enabled": false, "longform_notetweets_rich_text_read_enabled": + true, "blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled": + true, "verified_phone_label_enabled": false, "freedom_of_speech_not_reach_fetch_enabled": + true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled": + false, "responsive_web_graphql_skip_user_profile_image_extensions_enabled": + false, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_enhance_cards_enabled": + false}' + example: '{"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, "interactive_text_enabled": + true, "responsive_web_text_conversations_enabled": false, "longform_notetweets_rich_text_read_enabled": + true, "blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled": + true, "verified_phone_label_enabled": false, "freedom_of_speech_not_reach_fetch_enabled": + true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled": + false, "responsive_web_graphql_skip_user_profile_image_extensions_enabled": + false, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_enhance_cards_enabled": + false}' + type: string responses: '200': content: @@ -183,12 +226,33 @@ paths: schema: type: integer tags: - - Post - /VaenaVgh5q5ih7kvyVjgtg/DeleteTweet: + - post + /graphql/VaenaVgh5q5ih7kvyVjgtg/DeleteTweet: post: description: delete Retweet operationId: postDeleteTweet - parameters: [] + parameters: + - in: query + name: queryId + required: true + schema: + default: '"VaenaVgh5q5ih7kvyVjgtg"' + example: '"VaenaVgh5q5ih7kvyVjgtg"' + type: string + - in: query + name: variables + required: true + schema: + default: '{"tweet_id": "1349129669258448897"}' + example: '{"tweet_id": "1349129669258448897"}' + type: string + - in: query + name: features + required: true + schema: + default: '{}' + example: '{}' + type: string responses: '200': content: @@ -231,12 +295,28 @@ paths: schema: type: integer tags: - - Post - /ZYKSe-w7KEslx3JhSIk5LA/UnfavoriteTweet: + - post + /graphql/ZYKSe-w7KEslx3JhSIk5LA/UnfavoriteTweet: post: description: unfavorite Tweet operationId: postUnfavoriteTweet - parameters: [] + parameters: + - in: query + name: queryId + required: true + schema: + default: '"ZYKSe-w7KEslx3JhSIk5LA"' + example: '"ZYKSe-w7KEslx3JhSIk5LA"' + type: string + - in: query + name: Parameters + required: true + schema: + default: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + example: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + type: string responses: '200': content: @@ -279,12 +359,28 @@ paths: schema: type: integer tags: - - Post - /iQtK4dl5hBmXewYZuEOKVw/DeleteRetweet: + - post + /graphql/iQtK4dl5hBmXewYZuEOKVw/DeleteRetweet: post: description: delete Retweet operationId: postDeleteRetweet - parameters: [] + parameters: + - in: query + name: queryId + required: true + schema: + default: '"iQtK4dl5hBmXewYZuEOKVw"' + example: '"iQtK4dl5hBmXewYZuEOKVw"' + type: string + - in: query + name: Parameters + required: true + schema: + default: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + example: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + type: string responses: '200': content: @@ -327,12 +423,28 @@ paths: schema: type: integer tags: - - Post - /lI07N6Otwv1PhnEgXILM7A/FavoriteTweet: + - post + /graphql/lI07N6Otwv1PhnEgXILM7A/FavoriteTweet: post: description: favorite Tweet operationId: postFavoriteTweet - parameters: [] + parameters: + - in: query + name: queryId + required: true + schema: + default: '"lI07N6Otwv1PhnEgXILM7A"' + example: '"lI07N6Otwv1PhnEgXILM7A"' + type: string + - in: query + name: Parameters + required: true + schema: + default: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + example: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + type: string responses: '200': content: @@ -375,12 +487,28 @@ paths: schema: type: integer tags: - - Post - /ojPdsZsimiJrUGLR1sjUtA/CreateRetweet: + - post + /graphql/ojPdsZsimiJrUGLR1sjUtA/CreateRetweet: post: description: create Retweet operationId: postCreateRetweet - parameters: [] + parameters: + - in: query + name: queryId + required: true + schema: + default: '"ojPdsZsimiJrUGLR1sjUtA"' + example: '"ojPdsZsimiJrUGLR1sjUtA"' + type: string + - in: query + name: Parameters + required: true + schema: + default: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + example: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + type: string responses: '200': content: @@ -423,4 +551,4 @@ paths: schema: type: integer tags: - - Post + - post diff --git a/dist/test/paths/profile.yaml b/dist/test/paths/profile.yaml index fdf8e34..0378c1e 100644 --- a/dist/test/paths/profile.yaml +++ b/dist/test/paths/profile.yaml @@ -63,7 +63,7 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /9zwVLJ48lmVUk8u_Gh9DmA/ProfileSpotlightsQuery: + /graphql/9zwVLJ48lmVUk8u_Gh9DmA/ProfileSpotlightsQuery: get: description: get user by screen name operationId: getProfileSpotlightsQuery @@ -72,8 +72,8 @@ paths: name: queryId required: true schema: - default: 9zwVLJ48lmVUk8u_Gh9DmA - example: 9zwVLJ48lmVUk8u_Gh9DmA + default: '"9zwVLJ48lmVUk8u_Gh9DmA"' + example: '"9zwVLJ48lmVUk8u_Gh9DmA"' type: string - in: query name: variables diff --git a/dist/test/paths/timeline.yaml b/dist/test/paths/timeline.yaml index b7c8081..a78ebca 100644 --- a/dist/test/paths/timeline.yaml +++ b/dist/test/paths/timeline.yaml @@ -47,7 +47,7 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /2TemLyqrMpTeAmysdbnVqw/ListLatestTweetsTimeline: + /graphql/2TemLyqrMpTeAmysdbnVqw/ListLatestTweetsTimeline: get: description: get tweet list of timeline operationId: getListLatestTweetsTimeline @@ -56,8 +56,8 @@ paths: name: queryId required: true schema: - default: 2TemLyqrMpTeAmysdbnVqw - example: 2TemLyqrMpTeAmysdbnVqw + default: '"2TemLyqrMpTeAmysdbnVqw"' + example: '"2TemLyqrMpTeAmysdbnVqw"' type: string - in: query name: variables @@ -135,8 +135,8 @@ paths: schema: type: integer tags: - - Tweet - /HCosKfLNW1AcOo3la3mMgg/HomeTimeline: + - tweet + /graphql/HCosKfLNW1AcOo3la3mMgg/HomeTimeline: get: description: get tweet list of timeline operationId: getHomeTimeline @@ -145,8 +145,8 @@ paths: name: queryId required: true schema: - default: HCosKfLNW1AcOo3la3mMgg - example: HCosKfLNW1AcOo3la3mMgg + default: '"HCosKfLNW1AcOo3la3mMgg"' + example: '"HCosKfLNW1AcOo3la3mMgg"' type: string - in: query name: variables @@ -226,8 +226,8 @@ paths: schema: type: integer tags: - - Tweet - /zhX91JE87mWvfprhYE97xA/HomeLatestTimeline: + - tweet + /graphql/zhX91JE87mWvfprhYE97xA/HomeLatestTimeline: get: description: get tweet list of timeline operationId: getHomeLatestTimeline @@ -236,8 +236,8 @@ paths: name: queryId required: true schema: - default: zhX91JE87mWvfprhYE97xA - example: zhX91JE87mWvfprhYE97xA + default: '"zhX91JE87mWvfprhYE97xA"' + example: '"zhX91JE87mWvfprhYE97xA"' type: string - in: query name: variables @@ -317,4 +317,4 @@ paths: schema: type: integer tags: - - Tweet + - tweet diff --git a/dist/test/paths/tweet.yaml b/dist/test/paths/tweet.yaml index dfa2f3f..14442a5 100644 --- a/dist/test/paths/tweet.yaml +++ b/dist/test/paths/tweet.yaml @@ -17,7 +17,7 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /wNNG8DBB8EaXw1lq4vFWGA/TweetDetail: + /graphql/wNNG8DBB8EaXw1lq4vFWGA/TweetDetail: get: description: get TweetDetail operationId: getTweetDetail @@ -26,8 +26,8 @@ paths: name: queryId required: true schema: - default: wNNG8DBB8EaXw1lq4vFWGA - example: wNNG8DBB8EaXw1lq4vFWGA + default: '"wNNG8DBB8EaXw1lq4vFWGA"' + example: '"wNNG8DBB8EaXw1lq4vFWGA"' type: string - in: query name: variables @@ -111,4 +111,4 @@ paths: schema: type: integer tags: - - Tweet + - tweet diff --git a/dist/test/paths/user.yaml b/dist/test/paths/user.yaml index c0c572f..678e134 100644 --- a/dist/test/paths/user.yaml +++ b/dist/test/paths/user.yaml @@ -17,7 +17,7 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /sLVLhk0bGj3MVFEKTdax1w/UserByScreenName: + /graphql/sLVLhk0bGj3MVFEKTdax1w/UserByScreenName: get: description: get user by screen name operationId: getUserByScreenName @@ -26,8 +26,8 @@ paths: name: queryId required: true schema: - default: sLVLhk0bGj3MVFEKTdax1w - example: sLVLhk0bGj3MVFEKTdax1w + default: '"sLVLhk0bGj3MVFEKTdax1w"' + example: '"sLVLhk0bGj3MVFEKTdax1w"' type: string - in: query name: variables @@ -89,4 +89,4 @@ paths: schema: type: integer tags: - - User + - user diff --git a/dist/test/paths/usertweets.yaml b/dist/test/paths/usertweets.yaml index 858c519..87802ae 100644 --- a/dist/test/paths/usertweets.yaml +++ b/dist/test/paths/usertweets.yaml @@ -32,7 +32,7 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /5fmEkRT-1AdHqEsbVgehMg/Likes: + /graphql/5fmEkRT-1AdHqEsbVgehMg/Likes: get: description: get user likes tweets operationId: getLikes @@ -41,8 +41,8 @@ paths: name: queryId required: true schema: - default: 5fmEkRT-1AdHqEsbVgehMg - example: 5fmEkRT-1AdHqEsbVgehMg + default: '"5fmEkRT-1AdHqEsbVgehMg"' + example: '"5fmEkRT-1AdHqEsbVgehMg"' type: string - in: query name: variables @@ -124,8 +124,8 @@ paths: schema: type: integer tags: - - Tweet - /HuTx74BxAnezK1gWvYY7zg/UserTweets: + - tweet + /graphql/HuTx74BxAnezK1gWvYY7zg/UserTweets: get: description: get user tweets operationId: getUserTweets @@ -134,8 +134,8 @@ paths: name: queryId required: true schema: - default: HuTx74BxAnezK1gWvYY7zg - example: HuTx74BxAnezK1gWvYY7zg + default: '"HuTx74BxAnezK1gWvYY7zg"' + example: '"HuTx74BxAnezK1gWvYY7zg"' type: string - in: query name: variables @@ -217,8 +217,8 @@ paths: schema: type: integer tags: - - Tweet - /RIWc55YCNyUJ-U3HHGYkdg/UserTweetsAndReplies: + - tweet + /graphql/RIWc55YCNyUJ-U3HHGYkdg/UserTweetsAndReplies: get: description: get user replies tweets operationId: getUserTweetsAndReplies @@ -227,8 +227,8 @@ paths: name: queryId required: true schema: - default: RIWc55YCNyUJ-U3HHGYkdg - example: RIWc55YCNyUJ-U3HHGYkdg + default: '"RIWc55YCNyUJ-U3HHGYkdg"' + example: '"RIWc55YCNyUJ-U3HHGYkdg"' type: string - in: query name: variables @@ -308,8 +308,8 @@ paths: schema: type: integer tags: - - Tweet - /YqiE3JL1KNgf9nSljYdxaA/UserMedia: + - tweet + /graphql/YqiE3JL1KNgf9nSljYdxaA/UserMedia: get: description: get user media tweets operationId: getUserMedia @@ -318,8 +318,8 @@ paths: name: queryId required: true schema: - default: YqiE3JL1KNgf9nSljYdxaA - example: YqiE3JL1KNgf9nSljYdxaA + default: '"YqiE3JL1KNgf9nSljYdxaA"' + example: '"YqiE3JL1KNgf9nSljYdxaA"' type: string - in: query name: variables @@ -401,4 +401,4 @@ paths: schema: type: integer tags: - - Tweet + - tweet diff --git a/dist/test/paths/v1.1.yaml b/dist/test/paths/v1.1.yaml new file mode 100644 index 0000000..7141326 --- /dev/null +++ b/dist/test/paths/v1.1.yaml @@ -0,0 +1,48 @@ +info: + title: Twitter OpenAPI + version: 0.0.1 +openapi: 3.0.3 +paths: + /1.1/friendships/create.json: + post: + description: post create friendships + operationId: postCreateFriendships + responses: + '200': + description: Successful operation + 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 + tags: + - v1.1 diff --git a/dist/typescript/openapi-3.0.yaml b/dist/typescript/openapi-3.0.yaml index 0b1141b..10f0888 100644 --- a/dist/typescript/openapi-3.0.yaml +++ b/dist/typescript/openapi-3.0.yaml @@ -1,110 +1,246 @@ components: - schemas: {} - securitySchemes: - ActiveUser: - description: 'yes' - in: header - name: x-twitter-active-user - type: apiKey - BearerAuth: - description: AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA - scheme: bearer - type: http - ClientLanguage: - description: en - in: header - name: x-twitter-client-language - type: apiKey - CookieAuthToken: - description: HttpOnly cookie - in: cookie - name: auth_token - type: apiKey - CookieCt0: - description: document.cookie.split('; ').find(row => row.startsWith('ct0=')); - in: cookie - name: ct0 - type: apiKey - CsrfToken: - description: document.cookie.split('; ').find(row => row.startsWith('ct0=')); - in: header - name: x-csrf-token - type: apiKey - UserAgent: - description: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/112.0.0.0 Safari/537.36 - in: header - name: user-agent - type: apiKey - authType: - description: OAuth2Session if you are logged in - in: header - name: x-twitter-auth-type - type: apiKey + schemas: + User: + properties: + __typename: + $ref: ./typename.yaml#/components/schemas/TypeName + affiliates_highlighted_label: + type: object + business_account: + type: object + has_graduated_access: + type: boolean + has_nft_avatar: + default: false + type: boolean + id: + pattern: ^[a-z\-]+[0-9]+$ + type: string + is_blue_verified: + default: false + type: boolean + legacy: + $ref: '#/components/schemas/UserLegacy' + rest_id: + pattern: ^[0-9]+$ + type: string + super_follow_eligible: + default: false + type: boolean + super_followed_by: + default: false + type: boolean + super_following: + default: false + type: boolean + required: + - __typename + - affiliates_highlighted_label + - id + - is_blue_verified + - legacy + - rest_id + - super_follow_eligible + - super_followed_by + - super_following + UserLegacy: + properties: + blocked_by: + default: false + type: boolean + blocking: + default: false + type: boolean + can_dm: + default: false + type: boolean + can_media_tag: + default: false + type: boolean + created_at: + $ref: ./general.yaml#/components/schemas/TwitterTimeFormat + default_profile: + default: false + type: boolean + default_profile_image: + default: false + type: boolean + description: + type: string + entities: + type: object + fast_followers_count: + type: integer + favourites_count: + default: 0 + type: integer + follow_request_sent: + default: false + type: boolean + followed_by: + default: false + type: boolean + followers_count: + default: 0 + type: integer + following: + default: false + type: boolean + friends_count: + default: 0 + type: integer + has_custom_timelines: + default: false + type: boolean + is_translator: + default: false + type: boolean + listed_count: + default: 0 + type: integer + location: + type: string + media_count: + default: 0 + type: integer + muting: + default: false + type: boolean + name: + type: string + normal_followers_count: + default: 0 + type: integer + notifications: + default: false + type: boolean + pinned_tweet_ids_str: + items: + type: string + type: array + possibly_sensitive: + default: false + type: boolean + profile_banner_extensions: + type: object + profile_banner_url: + format: uri + type: string + profile_image_extensions: + type: object + profile_image_url_https: + format: uri + type: string + profile_interstitial_type: + type: string + protected: + default: false + type: boolean + screen_name: + type: string + statuses_count: + default: 0 + type: integer + translator_type: + type: string + url: + type: string + verified: + type: boolean + want_retweets: + default: false + type: boolean + 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 + UserResultCore: + properties: + user_results: + $ref: '#/components/schemas/UserResults' + required: + - user_results + UserResults: + properties: + result: + $ref: '#/components/schemas/User' + required: + - result info: - contact: - email: yuki@yuki0311.com - description: Twitter OpenAPI(Swagger) specification - license: - name: GNU Affero General Public License v3. - url: https://raw.githubusercontent.com/fa0311/twitter-openapi/main/LICENSE.txt - termsOfService: https://github.com/fa0311 title: Twitter OpenAPI version: 0.0.1 openapi: 3.0.3 paths: - /1RyAhNwby-gzGCRVsMxKbQ/CreateTweet: - $ref: ./paths/post.yaml#/paths/~11RyAhNwby-gzGCRVsMxKbQ~1CreateTweet - /2TemLyqrMpTeAmysdbnVqw/ListLatestTweetsTimeline: - $ref: ./paths/timeline.yaml#/paths/~12TemLyqrMpTeAmysdbnVqw~1ListLatestTweetsTimeline - /5fmEkRT-1AdHqEsbVgehMg/Likes: - $ref: ./paths/usertweets.yaml#/paths/~15fmEkRT-1AdHqEsbVgehMg~1Likes - /9zwVLJ48lmVUk8u_Gh9DmA/ProfileSpotlightsQuery: - $ref: ./paths/profile.yaml#/paths/~19zwVLJ48lmVUk8u_Gh9DmA~1ProfileSpotlightsQuery - /HCosKfLNW1AcOo3la3mMgg/HomeTimeline: - $ref: ./paths/timeline.yaml#/paths/~1HCosKfLNW1AcOo3la3mMgg~1HomeTimeline - /HuTx74BxAnezK1gWvYY7zg/UserTweets: - $ref: ./paths/usertweets.yaml#/paths/~1HuTx74BxAnezK1gWvYY7zg~1UserTweets - /IWP6Zt14sARO29lJT35bBw/Following: - $ref: ./paths/follow.yaml#/paths/~1IWP6Zt14sARO29lJT35bBw~1Following - /RIWc55YCNyUJ-U3HHGYkdg/UserTweetsAndReplies: - $ref: ./paths/usertweets.yaml#/paths/~1RIWc55YCNyUJ-U3HHGYkdg~1UserTweetsAndReplies - /VaenaVgh5q5ih7kvyVjgtg/DeleteTweet: - $ref: ./paths/post.yaml#/paths/~1VaenaVgh5q5ih7kvyVjgtg~1DeleteTweet - /YqiE3JL1KNgf9nSljYdxaA/UserMedia: - $ref: ./paths/usertweets.yaml#/paths/~1YqiE3JL1KNgf9nSljYdxaA~1UserMedia - /ZYKSe-w7KEslx3JhSIk5LA/UnfavoriteTweet: - $ref: ./paths/post.yaml#/paths/~1ZYKSe-w7KEslx3JhSIk5LA~1UnfavoriteTweet - /djdTXDIk2qhd4OStqlUFeQ/Followers: - $ref: ./paths/follow.yaml#/paths/~1djdTXDIk2qhd4OStqlUFeQ~1Followers - /iQtK4dl5hBmXewYZuEOKVw/DeleteRetweet: - $ref: ./paths/post.yaml#/paths/~1iQtK4dl5hBmXewYZuEOKVw~1DeleteRetweet - /lI07N6Otwv1PhnEgXILM7A/FavoriteTweet: - $ref: ./paths/post.yaml#/paths/~1lI07N6Otwv1PhnEgXILM7A~1FavoriteTweet - /ojPdsZsimiJrUGLR1sjUtA/CreateRetweet: - $ref: ./paths/post.yaml#/paths/~1ojPdsZsimiJrUGLR1sjUtA~1CreateRetweet - /sLVLhk0bGj3MVFEKTdax1w/UserByScreenName: - $ref: ./paths/user.yaml#/paths/~1sLVLhk0bGj3MVFEKTdax1w~1UserByScreenName - /tmd4ifV8RHltzn8ymGg1aw/Bookmarks: - $ref: ./paths/bookmarks.yaml#/paths/~1tmd4ifV8RHltzn8ymGg1aw~1Bookmarks - /wNNG8DBB8EaXw1lq4vFWGA/TweetDetail: - $ref: ./paths/tweet.yaml#/paths/~1wNNG8DBB8EaXw1lq4vFWGA~1TweetDetail - /zhX91JE87mWvfprhYE97xA/HomeLatestTimeline: - $ref: ./paths/timeline.yaml#/paths/~1zhX91JE87mWvfprhYE97xA~1HomeLatestTimeline -security: -- bearerAuth: [] -- CsrfToken: [] -- ActiveUser: [] -- AuthType: [] -- ClientLanguage: [] -- CookieAuthToken: [] -- CookieCt0: [] -servers: -- url: https://twitter.com/i/api/graphql -tags: -- description: response User - name: User -- description: response User list - name: UserList -- description: response tweet - name: Tweet + /1.1/friendships/create.json: + $ref: ./paths/v1.1.yaml#/paths/~11.1~1friendships~1create.json + /graphql/1RyAhNwby-gzGCRVsMxKbQ/CreateTweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1CreateTweet + /graphql/2TemLyqrMpTeAmysdbnVqw/ListLatestTweetsTimeline: + $ref: ./paths/timeline.yaml#/paths/~1graphql~1{{queryId}}~1ListLatestTweetsTimeline + /graphql/5fmEkRT-1AdHqEsbVgehMg/Likes: + $ref: ./paths/usertweets.yaml#/paths/~1graphql~1{{queryId}}~1Likes + /graphql/9zwVLJ48lmVUk8u_Gh9DmA/ProfileSpotlightsQuery: + $ref: ./paths/profile.yaml#/paths/~1graphql~1{{queryId}}~1ProfileSpotlightsQuery + /graphql/HCosKfLNW1AcOo3la3mMgg/HomeTimeline: + $ref: ./paths/timeline.yaml#/paths/~1graphql~1{{queryId}}~1HomeTimeline + /graphql/HuTx74BxAnezK1gWvYY7zg/UserTweets: + $ref: ./paths/usertweets.yaml#/paths/~1graphql~1{{queryId}}~1UserTweets + /graphql/IWP6Zt14sARO29lJT35bBw/Following: + $ref: ./paths/follow.yaml#/paths/~1graphql~1{{queryId}}~1Following + /graphql/RIWc55YCNyUJ-U3HHGYkdg/UserTweetsAndReplies: + $ref: ./paths/usertweets.yaml#/paths/~1graphql~1{{queryId}}~1UserTweetsAndReplies + /graphql/VaenaVgh5q5ih7kvyVjgtg/DeleteTweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1DeleteTweet + /graphql/YqiE3JL1KNgf9nSljYdxaA/UserMedia: + $ref: ./paths/usertweets.yaml#/paths/~1graphql~1{{queryId}}~1UserMedia + /graphql/ZYKSe-w7KEslx3JhSIk5LA/UnfavoriteTweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1UnfavoriteTweet + /graphql/djdTXDIk2qhd4OStqlUFeQ/Followers: + $ref: ./paths/follow.yaml#/paths/~1graphql~1{{queryId}}~1Followers + /graphql/iQtK4dl5hBmXewYZuEOKVw/DeleteRetweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1DeleteRetweet + /graphql/lI07N6Otwv1PhnEgXILM7A/FavoriteTweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1FavoriteTweet + /graphql/ojPdsZsimiJrUGLR1sjUtA/CreateRetweet: + $ref: ./paths/post.yaml#/paths/~1graphql~1{{queryId}}~1CreateRetweet + /graphql/sLVLhk0bGj3MVFEKTdax1w/UserByScreenName: + $ref: ./paths/user.yaml#/paths/~1graphql~1{{queryId}}~1UserByScreenName + /graphql/tmd4ifV8RHltzn8ymGg1aw/Bookmarks: + $ref: ./paths/bookmarks.yaml#/paths/~1graphql~1{{queryId}}~1Bookmarks + /graphql/wNNG8DBB8EaXw1lq4vFWGA/TweetDetail: + $ref: ./paths/tweet.yaml#/paths/~1graphql~1{{queryId}}~1TweetDetail + /graphql/zhX91JE87mWvfprhYE97xA/HomeLatestTimeline: + $ref: ./paths/timeline.yaml#/paths/~1graphql~1{{queryId}}~1HomeLatestTimeline diff --git a/dist/typescript/paths/bookmarks.yaml b/dist/typescript/paths/bookmarks.yaml index b143582..9e3bf98 100644 --- a/dist/typescript/paths/bookmarks.yaml +++ b/dist/typescript/paths/bookmarks.yaml @@ -23,7 +23,7 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /tmd4ifV8RHltzn8ymGg1aw/Bookmarks: + /graphql/tmd4ifV8RHltzn8ymGg1aw/Bookmarks: get: description: get bookmarks operationId: getBookmarks @@ -32,8 +32,8 @@ paths: name: queryId required: true schema: - default: tmd4ifV8RHltzn8ymGg1aw - example: tmd4ifV8RHltzn8ymGg1aw + default: '"tmd4ifV8RHltzn8ymGg1aw"' + example: '"tmd4ifV8RHltzn8ymGg1aw"' type: string - in: query name: variables @@ -111,4 +111,4 @@ paths: schema: type: integer tags: - - Tweet + - tweet diff --git a/dist/typescript/paths/follow.yaml b/dist/typescript/paths/follow.yaml index b1d2bde..fa321a1 100644 --- a/dist/typescript/paths/follow.yaml +++ b/dist/typescript/paths/follow.yaml @@ -38,7 +38,7 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /IWP6Zt14sARO29lJT35bBw/Following: + /graphql/IWP6Zt14sARO29lJT35bBw/Following: get: description: get user list of following operationId: getFollowing @@ -47,8 +47,8 @@ paths: name: queryId required: true schema: - default: IWP6Zt14sARO29lJT35bBw - example: IWP6Zt14sARO29lJT35bBw + default: '"IWP6Zt14sARO29lJT35bBw"' + example: '"IWP6Zt14sARO29lJT35bBw"' type: string - in: query name: variables @@ -128,8 +128,8 @@ paths: schema: type: integer tags: - - UserList - /djdTXDIk2qhd4OStqlUFeQ/Followers: + - userList + /graphql/djdTXDIk2qhd4OStqlUFeQ/Followers: get: description: get user list of followers operationId: getFollowers @@ -138,8 +138,8 @@ paths: name: queryId required: true schema: - default: djdTXDIk2qhd4OStqlUFeQ - example: djdTXDIk2qhd4OStqlUFeQ + default: '"djdTXDIk2qhd4OStqlUFeQ"' + example: '"djdTXDIk2qhd4OStqlUFeQ"' type: string - in: query name: variables @@ -219,4 +219,4 @@ paths: schema: type: integer tags: - - UserList + - userList diff --git a/dist/typescript/paths/post.yaml b/dist/typescript/paths/post.yaml index fc916a4..1ec5b83 100644 --- a/dist/typescript/paths/post.yaml +++ b/dist/typescript/paths/post.yaml @@ -136,43 +136,54 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /1RyAhNwby-gzGCRVsMxKbQ/CreateTweet: + /graphql/1RyAhNwby-gzGCRVsMxKbQ/CreateTweet: post: description: create Tweet operationId: postCreateTweet - parameters: [] - requestBody: - content: - application/json: - schema: - properties: - features: - example: '{"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, "interactive_text_enabled": - true, "responsive_web_text_conversations_enabled": false, "longform_notetweets_rich_text_read_enabled": - true, "blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled": - true, "verified_phone_label_enabled": false, "freedom_of_speech_not_reach_fetch_enabled": - true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled": - false, "responsive_web_graphql_skip_user_profile_image_extensions_enabled": - false, "responsive_web_graphql_timeline_navigation_enabled": true, - "responsive_web_enhance_cards_enabled": false}' - type: object - queryId: - default: 1RyAhNwby-gzGCRVsMxKbQ - example: 1RyAhNwby-gzGCRVsMxKbQ - type: string - variables: - example: '{"tweet_text": "test", "media": {"media_entities": [], - "possibly_sensitive": false}, "semantic_annotation_ids": [], "dark_request": - false}' - type: object - required: - - queryId - - variables - - features + parameters: + - in: query + name: queryId required: true + schema: + default: '"1RyAhNwby-gzGCRVsMxKbQ"' + example: '"1RyAhNwby-gzGCRVsMxKbQ"' + type: object + - in: query + name: variables + required: true + schema: + default: '{"tweet_text": "test", "media": {"media_entities": [], "possibly_sensitive": + false}, "semantic_annotation_ids": [], "dark_request": false}' + example: '{"tweet_text": "test", "media": {"media_entities": [], "possibly_sensitive": + false}, "semantic_annotation_ids": [], "dark_request": false}' + type: object + - in: query + name: features + required: true + schema: + default: '{"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, "interactive_text_enabled": + true, "responsive_web_text_conversations_enabled": false, "longform_notetweets_rich_text_read_enabled": + true, "blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled": + true, "verified_phone_label_enabled": false, "freedom_of_speech_not_reach_fetch_enabled": + true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled": + false, "responsive_web_graphql_skip_user_profile_image_extensions_enabled": + false, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_enhance_cards_enabled": + false}' + example: '{"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, "interactive_text_enabled": + true, "responsive_web_text_conversations_enabled": false, "longform_notetweets_rich_text_read_enabled": + true, "blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled": + true, "verified_phone_label_enabled": false, "freedom_of_speech_not_reach_fetch_enabled": + true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled": + false, "responsive_web_graphql_skip_user_profile_image_extensions_enabled": + false, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_enhance_cards_enabled": + false}' + type: object responses: '200': content: @@ -215,32 +226,33 @@ paths: schema: type: integer tags: - - Post - /VaenaVgh5q5ih7kvyVjgtg/DeleteTweet: + - post + /graphql/VaenaVgh5q5ih7kvyVjgtg/DeleteTweet: post: description: delete Retweet operationId: postDeleteTweet - parameters: [] - requestBody: - content: - application/json: - schema: - properties: - features: - example: '{{Features}}' - type: object - queryId: - default: VaenaVgh5q5ih7kvyVjgtg - example: VaenaVgh5q5ih7kvyVjgtg - type: string - variables: - example: '{"tweet_id": "1349129669258448897"}' - type: object - required: - - queryId - - variables - - features + parameters: + - in: query + name: queryId required: true + schema: + default: '"VaenaVgh5q5ih7kvyVjgtg"' + example: '"VaenaVgh5q5ih7kvyVjgtg"' + type: object + - in: query + name: variables + required: true + schema: + default: '{"tweet_id": "1349129669258448897"}' + example: '{"tweet_id": "1349129669258448897"}' + type: object + - in: query + name: features + required: true + schema: + default: '{}' + example: '{}' + type: object responses: '200': content: @@ -283,32 +295,28 @@ paths: schema: type: integer tags: - - Post - /ZYKSe-w7KEslx3JhSIk5LA/UnfavoriteTweet: + - post + /graphql/ZYKSe-w7KEslx3JhSIk5LA/UnfavoriteTweet: post: description: unfavorite Tweet operationId: postUnfavoriteTweet - parameters: [] - requestBody: - content: - application/json: - schema: - properties: - features: - example: '{{Features}}' - type: object - queryId: - default: ZYKSe-w7KEslx3JhSIk5LA - example: ZYKSe-w7KEslx3JhSIk5LA - type: string - variables: - example: '{"tweet_id": "1349129669258448897"}' - type: object - required: - - queryId - - variables - - features + parameters: + - in: query + name: queryId required: true + schema: + default: '"ZYKSe-w7KEslx3JhSIk5LA"' + example: '"ZYKSe-w7KEslx3JhSIk5LA"' + type: object + - in: query + name: Parameters + required: true + schema: + default: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + example: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + type: object responses: '200': content: @@ -351,32 +359,28 @@ paths: schema: type: integer tags: - - Post - /iQtK4dl5hBmXewYZuEOKVw/DeleteRetweet: + - post + /graphql/iQtK4dl5hBmXewYZuEOKVw/DeleteRetweet: post: description: delete Retweet operationId: postDeleteRetweet - parameters: [] - requestBody: - content: - application/json: - schema: - properties: - features: - example: '{{Features}}' - type: object - queryId: - default: iQtK4dl5hBmXewYZuEOKVw - example: iQtK4dl5hBmXewYZuEOKVw - type: string - variables: - example: '{"tweet_id": "1349129669258448897"}' - type: object - required: - - queryId - - variables - - features + parameters: + - in: query + name: queryId required: true + schema: + default: '"iQtK4dl5hBmXewYZuEOKVw"' + example: '"iQtK4dl5hBmXewYZuEOKVw"' + type: object + - in: query + name: Parameters + required: true + schema: + default: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + example: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + type: object responses: '200': content: @@ -419,32 +423,28 @@ paths: schema: type: integer tags: - - Post - /lI07N6Otwv1PhnEgXILM7A/FavoriteTweet: + - post + /graphql/lI07N6Otwv1PhnEgXILM7A/FavoriteTweet: post: description: favorite Tweet operationId: postFavoriteTweet - parameters: [] - requestBody: - content: - application/json: - schema: - properties: - features: - example: '{{Features}}' - type: object - queryId: - default: lI07N6Otwv1PhnEgXILM7A - example: lI07N6Otwv1PhnEgXILM7A - type: string - variables: - example: '{"tweet_id": "1349129669258448897"}' - type: object - required: - - queryId - - variables - - features + parameters: + - in: query + name: queryId required: true + schema: + default: '"lI07N6Otwv1PhnEgXILM7A"' + example: '"lI07N6Otwv1PhnEgXILM7A"' + type: object + - in: query + name: Parameters + required: true + schema: + default: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + example: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + type: object responses: '200': content: @@ -487,32 +487,28 @@ paths: schema: type: integer tags: - - Post - /ojPdsZsimiJrUGLR1sjUtA/CreateRetweet: + - post + /graphql/ojPdsZsimiJrUGLR1sjUtA/CreateRetweet: post: description: create Retweet operationId: postCreateRetweet - parameters: [] - requestBody: - content: - application/json: - schema: - properties: - features: - example: '{{Features}}' - type: object - queryId: - default: ojPdsZsimiJrUGLR1sjUtA - example: ojPdsZsimiJrUGLR1sjUtA - type: string - variables: - example: '{"tweet_id": "1349129669258448897"}' - type: object - required: - - queryId - - variables - - features + parameters: + - in: query + name: queryId required: true + schema: + default: '"ojPdsZsimiJrUGLR1sjUtA"' + example: '"ojPdsZsimiJrUGLR1sjUtA"' + type: object + - in: query + name: Parameters + required: true + schema: + default: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + example: '{"variables": {"tweet_id": "1349129669258448897"}, "features": + {}}' + type: object responses: '200': content: @@ -555,4 +551,4 @@ paths: schema: type: integer tags: - - Post + - post diff --git a/dist/typescript/paths/profile.yaml b/dist/typescript/paths/profile.yaml index fdf8e34..0378c1e 100644 --- a/dist/typescript/paths/profile.yaml +++ b/dist/typescript/paths/profile.yaml @@ -63,7 +63,7 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /9zwVLJ48lmVUk8u_Gh9DmA/ProfileSpotlightsQuery: + /graphql/9zwVLJ48lmVUk8u_Gh9DmA/ProfileSpotlightsQuery: get: description: get user by screen name operationId: getProfileSpotlightsQuery @@ -72,8 +72,8 @@ paths: name: queryId required: true schema: - default: 9zwVLJ48lmVUk8u_Gh9DmA - example: 9zwVLJ48lmVUk8u_Gh9DmA + default: '"9zwVLJ48lmVUk8u_Gh9DmA"' + example: '"9zwVLJ48lmVUk8u_Gh9DmA"' type: string - in: query name: variables diff --git a/dist/typescript/paths/timeline.yaml b/dist/typescript/paths/timeline.yaml index b7c8081..a78ebca 100644 --- a/dist/typescript/paths/timeline.yaml +++ b/dist/typescript/paths/timeline.yaml @@ -47,7 +47,7 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /2TemLyqrMpTeAmysdbnVqw/ListLatestTweetsTimeline: + /graphql/2TemLyqrMpTeAmysdbnVqw/ListLatestTweetsTimeline: get: description: get tweet list of timeline operationId: getListLatestTweetsTimeline @@ -56,8 +56,8 @@ paths: name: queryId required: true schema: - default: 2TemLyqrMpTeAmysdbnVqw - example: 2TemLyqrMpTeAmysdbnVqw + default: '"2TemLyqrMpTeAmysdbnVqw"' + example: '"2TemLyqrMpTeAmysdbnVqw"' type: string - in: query name: variables @@ -135,8 +135,8 @@ paths: schema: type: integer tags: - - Tweet - /HCosKfLNW1AcOo3la3mMgg/HomeTimeline: + - tweet + /graphql/HCosKfLNW1AcOo3la3mMgg/HomeTimeline: get: description: get tweet list of timeline operationId: getHomeTimeline @@ -145,8 +145,8 @@ paths: name: queryId required: true schema: - default: HCosKfLNW1AcOo3la3mMgg - example: HCosKfLNW1AcOo3la3mMgg + default: '"HCosKfLNW1AcOo3la3mMgg"' + example: '"HCosKfLNW1AcOo3la3mMgg"' type: string - in: query name: variables @@ -226,8 +226,8 @@ paths: schema: type: integer tags: - - Tweet - /zhX91JE87mWvfprhYE97xA/HomeLatestTimeline: + - tweet + /graphql/zhX91JE87mWvfprhYE97xA/HomeLatestTimeline: get: description: get tweet list of timeline operationId: getHomeLatestTimeline @@ -236,8 +236,8 @@ paths: name: queryId required: true schema: - default: zhX91JE87mWvfprhYE97xA - example: zhX91JE87mWvfprhYE97xA + default: '"zhX91JE87mWvfprhYE97xA"' + example: '"zhX91JE87mWvfprhYE97xA"' type: string - in: query name: variables @@ -317,4 +317,4 @@ paths: schema: type: integer tags: - - Tweet + - tweet diff --git a/dist/typescript/paths/tweet.yaml b/dist/typescript/paths/tweet.yaml index dfa2f3f..14442a5 100644 --- a/dist/typescript/paths/tweet.yaml +++ b/dist/typescript/paths/tweet.yaml @@ -17,7 +17,7 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /wNNG8DBB8EaXw1lq4vFWGA/TweetDetail: + /graphql/wNNG8DBB8EaXw1lq4vFWGA/TweetDetail: get: description: get TweetDetail operationId: getTweetDetail @@ -26,8 +26,8 @@ paths: name: queryId required: true schema: - default: wNNG8DBB8EaXw1lq4vFWGA - example: wNNG8DBB8EaXw1lq4vFWGA + default: '"wNNG8DBB8EaXw1lq4vFWGA"' + example: '"wNNG8DBB8EaXw1lq4vFWGA"' type: string - in: query name: variables @@ -111,4 +111,4 @@ paths: schema: type: integer tags: - - Tweet + - tweet diff --git a/dist/typescript/paths/user.yaml b/dist/typescript/paths/user.yaml index c0c572f..678e134 100644 --- a/dist/typescript/paths/user.yaml +++ b/dist/typescript/paths/user.yaml @@ -17,7 +17,7 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /sLVLhk0bGj3MVFEKTdax1w/UserByScreenName: + /graphql/sLVLhk0bGj3MVFEKTdax1w/UserByScreenName: get: description: get user by screen name operationId: getUserByScreenName @@ -26,8 +26,8 @@ paths: name: queryId required: true schema: - default: sLVLhk0bGj3MVFEKTdax1w - example: sLVLhk0bGj3MVFEKTdax1w + default: '"sLVLhk0bGj3MVFEKTdax1w"' + example: '"sLVLhk0bGj3MVFEKTdax1w"' type: string - in: query name: variables @@ -89,4 +89,4 @@ paths: schema: type: integer tags: - - User + - user diff --git a/dist/typescript/paths/usertweets.yaml b/dist/typescript/paths/usertweets.yaml index 858c519..87802ae 100644 --- a/dist/typescript/paths/usertweets.yaml +++ b/dist/typescript/paths/usertweets.yaml @@ -32,7 +32,7 @@ info: version: 0.0.1 openapi: 3.0.3 paths: - /5fmEkRT-1AdHqEsbVgehMg/Likes: + /graphql/5fmEkRT-1AdHqEsbVgehMg/Likes: get: description: get user likes tweets operationId: getLikes @@ -41,8 +41,8 @@ paths: name: queryId required: true schema: - default: 5fmEkRT-1AdHqEsbVgehMg - example: 5fmEkRT-1AdHqEsbVgehMg + default: '"5fmEkRT-1AdHqEsbVgehMg"' + example: '"5fmEkRT-1AdHqEsbVgehMg"' type: string - in: query name: variables @@ -124,8 +124,8 @@ paths: schema: type: integer tags: - - Tweet - /HuTx74BxAnezK1gWvYY7zg/UserTweets: + - tweet + /graphql/HuTx74BxAnezK1gWvYY7zg/UserTweets: get: description: get user tweets operationId: getUserTweets @@ -134,8 +134,8 @@ paths: name: queryId required: true schema: - default: HuTx74BxAnezK1gWvYY7zg - example: HuTx74BxAnezK1gWvYY7zg + default: '"HuTx74BxAnezK1gWvYY7zg"' + example: '"HuTx74BxAnezK1gWvYY7zg"' type: string - in: query name: variables @@ -217,8 +217,8 @@ paths: schema: type: integer tags: - - Tweet - /RIWc55YCNyUJ-U3HHGYkdg/UserTweetsAndReplies: + - tweet + /graphql/RIWc55YCNyUJ-U3HHGYkdg/UserTweetsAndReplies: get: description: get user replies tweets operationId: getUserTweetsAndReplies @@ -227,8 +227,8 @@ paths: name: queryId required: true schema: - default: RIWc55YCNyUJ-U3HHGYkdg - example: RIWc55YCNyUJ-U3HHGYkdg + default: '"RIWc55YCNyUJ-U3HHGYkdg"' + example: '"RIWc55YCNyUJ-U3HHGYkdg"' type: string - in: query name: variables @@ -308,8 +308,8 @@ paths: schema: type: integer tags: - - Tweet - /YqiE3JL1KNgf9nSljYdxaA/UserMedia: + - tweet + /graphql/YqiE3JL1KNgf9nSljYdxaA/UserMedia: get: description: get user media tweets operationId: getUserMedia @@ -318,8 +318,8 @@ paths: name: queryId required: true schema: - default: YqiE3JL1KNgf9nSljYdxaA - example: YqiE3JL1KNgf9nSljYdxaA + default: '"YqiE3JL1KNgf9nSljYdxaA"' + example: '"YqiE3JL1KNgf9nSljYdxaA"' type: string - in: query name: variables @@ -401,4 +401,4 @@ paths: schema: type: integer tags: - - Tweet + - tweet diff --git a/dist/typescript/paths/v1.1.yaml b/dist/typescript/paths/v1.1.yaml new file mode 100644 index 0000000..7141326 --- /dev/null +++ b/dist/typescript/paths/v1.1.yaml @@ -0,0 +1,48 @@ +info: + title: Twitter OpenAPI + version: 0.0.1 +openapi: 3.0.3 +paths: + /1.1/friendships/create.json: + post: + description: post create friendships + operationId: postCreateFriendships + responses: + '200': + description: Successful operation + 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 + tags: + - v1.1