1
Fork 0
mirror of https://github.com/thegeneralist01/twitter-openapi synced 2026-01-11 23:50:26 +01:00

Merge pull request #39 from fa0311/dev

update output to a single file
This commit is contained in:
ふぁ 2023-09-19 10:09:59 +09:00 committed by GitHub
commit ed8e2fc863
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
48 changed files with 11693 additions and 12244 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,107 +0,0 @@
components:
schemas:
BookmarksResponse:
properties:
data:
$ref: '#/components/schemas/BookmarksResponseData'
required:
- data
BookmarksResponseData:
properties:
bookmark_timeline_v2:
$ref: '#/components/schemas/BookmarksTimeline'
required:
- bookmark_timeline_v2
BookmarksTimeline:
properties:
timeline:
$ref: ./../schemas/timeline.yaml#/components/schemas/Timeline
required:
- timeline
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths:
/graphql/{pathQueryId}/Bookmarks:
get:
description: get bookmarks
operationId: getBookmarks
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: tmd4ifV8RHltzn8ymGg1aw
example: tmd4ifV8RHltzn8ymGg1aw
type: string
- in: query
name: variables
required: true
schema:
default: '{"count": 20, "includePromotedContent": true}'
example: '{"count": 20, "includePromotedContent": true}'
type: string
- in: query
name: features
required: true
schema:
default: '{"graphql_timeline_v2_bookmark_timeline": true, "blue_business_profile_image_shape_enabled":
true, "responsive_web_graphql_exclude_directive_enabled": true, "verified_phone_label_enabled":
false, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled":
true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":
true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled":
false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled":
false}'
example: '{"graphql_timeline_v2_bookmark_timeline": true, "blue_business_profile_image_shape_enabled":
true, "responsive_web_graphql_exclude_directive_enabled": true, "verified_phone_label_enabled":
false, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled":
true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":
true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled":
false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled":
false}'
type: string
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/BookmarksResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- tweet

View file

@ -1,301 +0,0 @@
components:
schemas:
FollowResponse:
properties:
data:
$ref: '#/components/schemas/FollowResponseData'
required:
- data
FollowResponseData:
properties:
user:
$ref: '#/components/schemas/FollowResponseUser'
required:
- user
FollowResponseResult:
properties:
__typename:
$ref: ./../schemas/typename.yaml#/components/schemas/TypeName
timeline:
$ref: '#/components/schemas/FollowTimeline'
required:
- __typename
- timeline
FollowResponseUser:
properties:
result:
$ref: '#/components/schemas/FollowResponseResult'
required:
- result
FollowTimeline:
properties:
timeline:
$ref: ./../schemas/timeline.yaml#/components/schemas/Timeline
required:
- timeline
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths:
/graphql/{pathQueryId}/Followers:
get:
description: get user list of followers
operationId: getFollowers
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: djdTXDIk2qhd4OStqlUFeQ
example: djdTXDIk2qhd4OStqlUFeQ
type: string
- in: query
name: variables
required: true
schema:
default: '{"userId": "44196397", "count": 20, "includePromotedContent":
false}'
example: '{"userId": "44196397", "count": 20, "includePromotedContent":
false}'
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_timeline_navigation_enabled":
true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled":
true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":
true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled":
false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled":
false}'
example: '{"blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "responsive_web_graphql_timeline_navigation_enabled":
true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled":
true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":
true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled":
false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled":
false}'
type: string
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/FollowResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- user-list
/graphql/{pathQueryId}/FollowersYouKnow:
get:
description: get followers you know
operationId: getFollowersYouKnow
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: W9Iz6TVLymzCWjG2uOFKZg
example: W9Iz6TVLymzCWjG2uOFKZg
type: string
- in: query
name: variables
required: true
schema:
default: '{"userId": "44196397", "count": 20, "includePromotedContent":
false}'
example: '{"userId": "44196397", "count": 20, "includePromotedContent":
false}'
type: string
- in: query
name: features
required: true
schema:
default: '{"rweb_lists_timeline_redesign_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "creator_subscriptions_tweet_preview_api_enabled":
true, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_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, "responsive_web_twitter_article_tweet_consumption_enabled": false,
"tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
true, "longform_notetweets_rich_text_read_enabled": true, "longform_notetweets_inline_media_enabled":
true, "responsive_web_media_download_video_enabled": false, "responsive_web_enhance_cards_enabled":
false}'
example: '{"rweb_lists_timeline_redesign_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "creator_subscriptions_tweet_preview_api_enabled":
true, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_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, "responsive_web_twitter_article_tweet_consumption_enabled": false,
"tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
true, "longform_notetweets_rich_text_read_enabled": true, "longform_notetweets_inline_media_enabled":
true, "responsive_web_media_download_video_enabled": false, "responsive_web_enhance_cards_enabled":
false}'
type: string
- in: query
name: fieldToggles
required: true
schema:
default: '{"withArticleRichContentState": false}'
example: '{"withArticleRichContentState": false}'
type: string
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/FollowResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- user-list
/graphql/{pathQueryId}/Following:
get:
description: get user list of following
operationId: getFollowing
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: IWP6Zt14sARO29lJT35bBw
example: IWP6Zt14sARO29lJT35bBw
type: string
- in: query
name: variables
required: true
schema:
default: '{"userId": "44196397", "count": 20, "includePromotedContent":
false}'
example: '{"userId": "44196397", "count": 20, "includePromotedContent":
false}'
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_timeline_navigation_enabled":
true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled":
true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":
true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled":
false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled":
false}'
example: '{"blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "responsive_web_graphql_timeline_navigation_enabled":
true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled":
true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":
true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled":
false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled":
false}'
type: string
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/FollowResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- user-list

View file

@ -1,99 +0,0 @@
components:
schemas:
CommunitiesActions:
properties:
create:
type: boolean
required:
- create
type: object
OneFactorLoginEligibility:
properties:
fetchStatus:
type: string
required:
- fetchStatus
type: object
OtherResponse:
properties:
Session:
$ref: '#/components/schemas/Session'
type: object
Session:
properties:
SsoInitTokens:
type: object
communitiesActions:
$ref: '#/components/schemas/CommunitiesActions'
country:
pattern: ^[A-Z]{2}$
type: string
guestId:
pattern: ^[0-9]+$
type: string
hasCommunityMemberships:
type: boolean
isActiveCreator:
type: boolean
isRestrictedSession:
type: boolean
isSuperFollowSubscriber:
type: boolean
language:
pattern: ^[a-z]{2}$
type: string
oneFactorLoginEligibility:
$ref: '#/components/schemas/OneFactorLoginEligibility'
superFollowersCount:
type: integer
superFollowsApplicationStatus:
enum:
- NotStarted
type: string
userFeatures:
$ref: '#/components/schemas/UserFeatures'
user_id:
pattern: ^[0-9]+$
type: string
required:
- country
- communitiesActions
- isActiveCreator
- isRestrictedSession
- guestId
- hasCommunityMemberships
- language
- oneFactorLoginEligibility
- ssoInitTokens
- superFollowersCount
- superFollowsApplicationStatus
- user_id
- userFeatures
- isSuperFollowSubscriber
type: object
UserFeatures:
properties:
mediatool_studio_library:
type: boolean
required:
- mediatool_studio_library
type: object
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths:
/other:
get:
description: This is not an actual endpoint
operationId: other
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/OtherResponse'
description: Successful operation
tags:
- other

View file

@ -1,714 +0,0 @@
components:
schemas:
CreateRetweet:
properties:
result:
$ref: '#/components/schemas/Retweet'
required:
- result
CreateRetweetResponse:
properties:
data:
$ref: '#/components/schemas/CreateRetweetResponseData'
required:
- data
CreateRetweetResponseData:
properties:
create_retweet:
$ref: '#/components/schemas/CreateRetweetResponseResult'
required:
- create_retweet
CreateRetweetResponseResult:
properties:
retweet_results:
$ref: '#/components/schemas/CreateRetweet'
required:
- retweet_results
CreateTweet:
properties:
result:
$ref: ./../schemas/tweet.yaml#/components/schemas/Tweet
required:
- result
CreateTweetResponse:
properties:
data:
$ref: '#/components/schemas/CreateTweetResponseData'
required:
- data
CreateTweetResponseData:
properties:
create_tweet:
$ref: '#/components/schemas/CreateTweetResponseResult'
required:
- create_tweet
CreateTweetResponseResult:
properties:
tweet_results:
$ref: '#/components/schemas/CreateTweet'
required:
- tweet_results
DeleteRetweet:
properties:
result:
items:
$ref: '#/components/schemas/Retweet'
type: object
required:
- result
DeleteRetweetResponse:
properties:
data:
$ref: '#/components/schemas/DeleteRetweetResponseData'
required:
- data
DeleteRetweetResponseData:
properties:
create_retweet:
$ref: '#/components/schemas/CreateRetweetResponseResult'
required:
- unretweet
DeleteRetweetResponseResult:
properties:
retweet_results:
$ref: '#/components/schemas/DeleteRetweet'
required:
- source_tweet_results
DeleteTweetResponse:
properties:
data:
$ref: '#/components/schemas/DeleteTweetResponseData'
required:
- data
DeleteTweetResponseData:
properties:
delete_retweet:
$ref: '#/components/schemas/DeleteTweetResponseResult'
required:
- delete_tweet
DeleteTweetResponseResult:
properties:
tweet_results:
type: object
required:
- tweet_results
FavoriteTweet:
properties:
favorite_tweet:
type: string
required:
- favorite_tweet
FavoriteTweetResponseData:
properties:
data:
$ref: '#/components/schemas/FavoriteTweet'
required:
- data
Retweet:
properties:
legacy:
properties:
full_text:
type: string
required:
- full_text
type: object
rest_id:
pattern: ^[0-9]+$
type: string
required:
- rest_id
- legacy
UnfavoriteTweet:
properties:
unfavorite_tweet:
type: string
required:
- unfavorite_tweet
UnfavoriteTweetResponseData:
properties:
data:
$ref: '#/components/schemas/UnfavoriteTweet'
required:
- data
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths:
/graphql/{pathQueryId}/CreateRetweet:
post:
description: create Retweet
operationId: postCreateRetweet
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: ojPdsZsimiJrUGLR1sjUtA
example: ojPdsZsimiJrUGLR1sjUtA
type: string
requestBody:
content:
application/json:
schema:
properties:
queryId:
default: ojPdsZsimiJrUGLR1sjUtA
example: ojPdsZsimiJrUGLR1sjUtA
type: string
variables:
properties:
dark_request:
default: false
example: false
type: boolean
tweet_id:
default: '1349129669258448897'
example: '1349129669258448897'
type: string
required:
- tweet_id
- dark_request
type: object
required:
- queryId
- variables
description: body
required: true
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/CreateRetweetResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- post
/graphql/{pathQueryId}/CreateTweet:
post:
description: create Tweet
operationId: postCreateTweet
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: 1RyAhNwby-gzGCRVsMxKbQ
example: 1RyAhNwby-gzGCRVsMxKbQ
type: string
requestBody:
content:
application/json:
schema:
properties:
features:
properties:
blue_business_profile_image_shape_enabled:
default: true
example: true
type: boolean
freedom_of_speech_not_reach_fetch_enabled:
default: true
example: true
type: boolean
graphql_is_translatable_rweb_tweet_is_translatable_enabled:
default: true
example: true
type: boolean
interactive_text_enabled:
default: true
example: true
type: boolean
longform_notetweets_consumption_enabled:
default: true
example: true
type: boolean
longform_notetweets_rich_text_read_enabled:
default: true
example: true
type: boolean
responsive_web_edit_tweet_api_enabled:
default: true
example: true
type: boolean
responsive_web_enhance_cards_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_exclude_directive_enabled:
default: true
example: true
type: boolean
responsive_web_graphql_skip_user_profile_image_extensions_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_timeline_navigation_enabled:
default: true
example: true
type: boolean
responsive_web_text_conversations_enabled:
default: false
example: false
type: boolean
standardized_nudges_misinfo:
default: true
example: true
type: boolean
tweet_awards_web_tipping_enabled:
default: false
example: false
type: boolean
tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled:
default: false
example: false
type: boolean
tweetypie_unmention_optimization_enabled:
default: true
example: true
type: boolean
verified_phone_label_enabled:
default: false
example: false
type: boolean
vibe_api_enabled:
default: true
example: true
type: boolean
view_counts_everywhere_api_enabled:
default: true
example: true
type: boolean
required:
- tweetypie_unmention_optimization_enabled
- vibe_api_enabled
- responsive_web_edit_tweet_api_enabled
- graphql_is_translatable_rweb_tweet_is_translatable_enabled
- view_counts_everywhere_api_enabled
- longform_notetweets_consumption_enabled
- tweet_awards_web_tipping_enabled
- interactive_text_enabled
- responsive_web_text_conversations_enabled
- longform_notetweets_rich_text_read_enabled
- blue_business_profile_image_shape_enabled
- responsive_web_graphql_exclude_directive_enabled
- verified_phone_label_enabled
- freedom_of_speech_not_reach_fetch_enabled
- standardized_nudges_misinfo
- tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled
- responsive_web_graphql_skip_user_profile_image_extensions_enabled
- responsive_web_graphql_timeline_navigation_enabled
- responsive_web_enhance_cards_enabled
type: object
queryId:
default: 1RyAhNwby-gzGCRVsMxKbQ
example: 1RyAhNwby-gzGCRVsMxKbQ
type: string
variables:
properties:
dark_request:
default: false
example: false
type: boolean
media:
properties:
media_entities:
items:
type: object
type: array
possibly_sensitive:
default: false
example: false
type: boolean
required:
- media_entities
- possibly_sensitive
type: object
semantic_annotation_ids:
items:
type: object
type: array
tweet_text:
default: test
example: test
type: string
required:
- tweet_text
- media
- semantic_annotation_ids
- dark_request
type: object
required:
- queryId
- variables
- features
description: body
required: true
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/CreateTweetResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- post
/graphql/{pathQueryId}/DeleteRetweet:
post:
description: delete Retweet
operationId: postDeleteRetweet
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: iQtK4dl5hBmXewYZuEOKVw
example: iQtK4dl5hBmXewYZuEOKVw
type: string
requestBody:
content:
application/json:
schema:
properties:
queryId:
default: iQtK4dl5hBmXewYZuEOKVw
example: iQtK4dl5hBmXewYZuEOKVw
type: string
variables:
properties:
dark_request:
default: false
example: false
type: boolean
source_tweet_id:
default: '1349129669258448897'
example: '1349129669258448897'
type: string
required:
- source_tweet_id
- dark_request
type: object
required:
- queryId
- variables
description: body
required: true
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/DeleteRetweetResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- post
/graphql/{pathQueryId}/DeleteTweet:
post:
description: delete Retweet
operationId: postDeleteTweet
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: VaenaVgh5q5ih7kvyVjgtg
example: VaenaVgh5q5ih7kvyVjgtg
type: string
requestBody:
content:
application/json:
schema:
properties:
queryId:
default: VaenaVgh5q5ih7kvyVjgtg
example: VaenaVgh5q5ih7kvyVjgtg
type: string
variables:
properties:
dark_request:
default: false
example: false
type: boolean
tweet_id:
default: '1349129669258448897'
example: '1349129669258448897'
type: string
required:
- tweet_id
- dark_request
type: object
required:
- queryId
- variables
description: body
required: true
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/DeleteTweetResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- post
/graphql/{pathQueryId}/FavoriteTweet:
post:
description: favorite Tweet
operationId: postFavoriteTweet
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: lI07N6Otwv1PhnEgXILM7A
example: lI07N6Otwv1PhnEgXILM7A
type: string
requestBody:
content:
application/json:
schema:
properties:
queryId:
default: lI07N6Otwv1PhnEgXILM7A
example: lI07N6Otwv1PhnEgXILM7A
type: string
variables:
properties:
dark_request:
default: false
example: false
type: boolean
tweet_id:
default: '1349129669258448897'
example: '1349129669258448897'
type: string
required:
- tweet_id
- dark_request
type: object
required:
- queryId
- variables
description: body
required: true
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/FavoriteTweetResponseData'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- post
/graphql/{pathQueryId}/UnfavoriteTweet:
post:
description: unfavorite Tweet
operationId: postUnfavoriteTweet
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: ZYKSe-w7KEslx3JhSIk5LA
example: ZYKSe-w7KEslx3JhSIk5LA
type: string
requestBody:
content:
application/json:
schema:
properties:
queryId:
default: ZYKSe-w7KEslx3JhSIk5LA
example: ZYKSe-w7KEslx3JhSIk5LA
type: string
variables:
properties:
dark_request:
default: false
example: false
type: boolean
tweet_id:
default: '1349129669258448897'
example: '1349129669258448897'
type: string
required:
- tweet_id
- dark_request
type: object
required:
- queryId
- variables
description: body
required: true
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/UnfavoriteTweetResponseData'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- post

View file

@ -1,126 +0,0 @@
components:
schemas:
ProfileResponse:
properties:
data:
$ref: '#/components/schemas/ProfileResponseData'
required:
- data
ProfileResponseData:
properties:
user_result_by_screen_name:
$ref: '#/components/schemas/UserResultByScreenName'
required:
- user_result_by_screen_name
UserResultByScreenName:
properties:
id:
pattern: ^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?$
type: string
result:
$ref: '#/components/schemas/UserResultByScreenNameResult'
required:
- id
- result
UserResultByScreenNameLegacy:
properties:
blocked_by:
type: boolean
blocking:
type: boolean
followed_by:
type: boolean
following:
type: boolean
name:
type: string
protected:
type: boolean
screen_name:
type: string
UserResultByScreenNameResult:
properties:
__typename:
$ref: ./../schemas/typename.yaml#/components/schemas/TypeName
id:
pattern: ^[0-9a-zA-Z=]+$
type: string
legacy:
$ref: '#/components/schemas/UserResultByScreenNameLegacy'
profilemodules:
additionalProperties: true
type: object
rest_id:
pattern: ^[0-9]+$
type: string
required:
- __typename
- id
- legacy
- profilemodules
- rest_id
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths:
/graphql/{pathQueryId}/ProfileSpotlightsQuery:
get:
description: get user by screen name
operationId: getProfileSpotlightsQuery
parameters:
- in: path
name: pathQueryId
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: '{}'
type: string
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/ProfileResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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

View file

@ -1,416 +0,0 @@
components:
schemas:
HomeTimelineHome:
properties:
home_timeline_urt:
$ref: ./../schemas/timeline.yaml#/components/schemas/Timeline
required:
- home_timeline_urt
HomeTimelineResponseData:
properties:
home:
$ref: '#/components/schemas/HomeTimelineHome'
required:
- home
ListLatestTweetsTimelineResponse:
properties:
data:
$ref: '#/components/schemas/ListTweetsTimelineData'
required:
- data
ListTweetsTimeline:
properties:
timeline:
$ref: ./../schemas/timeline.yaml#/components/schemas/Timeline
required:
- timeline
ListTweetsTimelineData:
properties:
list:
$ref: '#/components/schemas/ListTweetsTimelineList'
required:
- list
ListTweetsTimelineList:
properties:
tweets_timeline:
$ref: '#/components/schemas/ListTweetsTimeline'
required:
- tweets_timeline
SearchByRawQuery:
properties:
search_timeline:
$ref: '#/components/schemas/SearchTimeline'
required:
- search_timeline
SearchTimeline:
properties:
timeline:
$ref: ./../schemas/timeline.yaml#/components/schemas/Timeline
required:
- timeline
SearchTimelineData:
properties:
search_by_raw_query:
$ref: '#/components/schemas/SearchByRawQuery'
required:
- search_by_raw_query
SearchTimelineResponse:
properties:
data:
$ref: '#/components/schemas/SearchTimelineData'
required:
- data
TimelineResponse:
properties:
data:
$ref: '#/components/schemas/HomeTimelineResponseData'
required:
- data
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths:
/graphql/{pathQueryId}/HomeLatestTimeline:
get:
description: get tweet list of timeline
operationId: getHomeLatestTimeline
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: zhX91JE87mWvfprhYE97xA
example: zhX91JE87mWvfprhYE97xA
type: string
- in: query
name: variables
required: true
schema:
default: '{"count": 20, "includePromotedContent": true, "latestControlAvailable":
true, "requestContext": "launch"}'
example: '{"count": 20, "includePromotedContent": true, "latestControlAvailable":
true, "requestContext": "launch"}'
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_timeline_navigation_enabled":
true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled":
true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":
true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled":
false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled":
false}'
example: '{"blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "responsive_web_graphql_timeline_navigation_enabled":
true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled":
true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":
true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled":
false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled":
false}'
type: string
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/TimelineResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- tweet
/graphql/{pathQueryId}/HomeTimeline:
get:
description: get tweet list of timeline
operationId: getHomeTimeline
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: HCosKfLNW1AcOo3la3mMgg
example: HCosKfLNW1AcOo3la3mMgg
type: string
- in: query
name: variables
required: true
schema:
default: '{"count": 20, "includePromotedContent": true, "latestControlAvailable":
true, "requestContext": "launch", "withCommunity": true}'
example: '{"count": 20, "includePromotedContent": true, "latestControlAvailable":
true, "requestContext": "launch", "withCommunity": 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_timeline_navigation_enabled":
true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled":
true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":
true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled":
false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled":
false}'
example: '{"blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "responsive_web_graphql_timeline_navigation_enabled":
true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled":
true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":
true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled":
false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled":
false}'
type: string
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/TimelineResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- tweet
/graphql/{pathQueryId}/ListLatestTweetsTimeline:
get:
description: get tweet list of timeline
operationId: getListLatestTweetsTimeline
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: 2TemLyqrMpTeAmysdbnVqw
example: 2TemLyqrMpTeAmysdbnVqw
type: string
- in: query
name: variables
required: true
schema:
default: '{"listId": "53044119", "count": 20}'
example: '{"listId": "53044119", "count": 20}'
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_timeline_navigation_enabled":
true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled":
true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":
true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled":
false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled":
false}'
example: '{"blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "responsive_web_graphql_timeline_navigation_enabled":
true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled":
true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":
true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled":
false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled":
false}'
type: string
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/ListLatestTweetsTimelineResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- tweet
/graphql/{pathQueryId}/SearchTimeline:
get:
description: search tweet list. product:[Top, Latest, People, Photos, Videos]
operationId: getSearchTimeline
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: L1VfBERtzc3VkBBT0YAYHA
example: L1VfBERtzc3VkBBT0YAYHA
type: string
- in: query
name: variables
required: true
schema:
default: '{"rawQuery": "elonmusk", "count": 20, "querySource": "typed_query",
"product": "Top"}'
example: '{"rawQuery": "elonmusk", "count": 20, "querySource": "typed_query",
"product": "Top"}'
type: string
- in: query
name: features
required: true
schema:
default: '{"rweb_lists_timeline_redesign_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "creator_subscriptions_tweet_preview_api_enabled":
true, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_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, "responsive_web_twitter_article_tweet_consumption_enabled": false,
"tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
true, "longform_notetweets_rich_text_read_enabled": true, "longform_notetweets_inline_media_enabled":
true, "responsive_web_media_download_video_enabled": false, "responsive_web_enhance_cards_enabled":
false}'
example: '{"rweb_lists_timeline_redesign_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "creator_subscriptions_tweet_preview_api_enabled":
true, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_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, "responsive_web_twitter_article_tweet_consumption_enabled": false,
"tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
true, "longform_notetweets_rich_text_read_enabled": true, "longform_notetweets_inline_media_enabled":
true, "responsive_web_media_download_video_enabled": false, "responsive_web_enhance_cards_enabled":
false}'
type: string
- in: query
name: fieldToggles
required: true
schema:
default: '{"withArticleRichContentState": false}'
example: '{"withArticleRichContentState": false}'
type: string
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/SearchTimelineResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- tweet

View file

@ -1,397 +0,0 @@
components:
schemas:
TweetDetailResponse:
properties:
data:
$ref: '#/components/schemas/TweetDetailResponseData'
required:
- data
TweetDetailResponseData:
properties:
threaded_conversation_with_injections_v2:
$ref: ./../schemas/timeline.yaml#/components/schemas/Timeline
required:
- threaded_conversation_with_injections_v2
TweetFavoritersResponse:
properties:
data:
$ref: '#/components/schemas/TweetFavoritersResponseData'
required:
- data
TweetFavoritersResponseData:
properties:
favoriters_timeline:
$ref: ./../schemas/timeline.yaml#/components/schemas/TimelineV2
required:
- favoriters_timeline
TweetResultByRestIdData:
properties:
tweetResult:
$ref: ./../schemas/content.yaml#/components/schemas/ItemResult
required:
- tweetResult
TweetResultByRestIdResponse:
properties:
data:
$ref: '#/components/schemas/TweetResultByRestIdData'
required:
- data
TweetRetweetersResponse:
properties:
data:
$ref: '#/components/schemas/TweetRetweetersResponseData'
required:
- data
TweetRetweetersResponseData:
properties:
retweeters_timeline:
$ref: ./../schemas/timeline.yaml#/components/schemas/TimelineV2
required:
- retweeters_timeline
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths:
/graphql/{pathQueryId}/Favoriters:
get:
description: get tweet favoriters
operationId: getFavoriters
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: rUyh8HWk8IXv_fvVKj3QjA
example: rUyh8HWk8IXv_fvVKj3QjA
type: string
- in: query
name: variables
required: true
schema:
default: '{"tweetId": "1349129669258448897", "count": 20, "includePromotedContent":
true}'
example: '{"tweetId": "1349129669258448897", "count": 20, "includePromotedContent":
true}'
type: string
- in: query
name: features
required: true
schema:
default: '{"rweb_lists_timeline_redesign_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "creator_subscriptions_tweet_preview_api_enabled":
true, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_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, "responsive_web_twitter_article_tweet_consumption_enabled": false,
"tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
true, "longform_notetweets_rich_text_read_enabled": true, "longform_notetweets_inline_media_enabled":
true, "responsive_web_media_download_video_enabled": false, "responsive_web_enhance_cards_enabled":
false}'
example: '{"rweb_lists_timeline_redesign_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "creator_subscriptions_tweet_preview_api_enabled":
true, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_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, "responsive_web_twitter_article_tweet_consumption_enabled": false,
"tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
true, "longform_notetweets_rich_text_read_enabled": true, "longform_notetweets_inline_media_enabled":
true, "responsive_web_media_download_video_enabled": false, "responsive_web_enhance_cards_enabled":
false}'
type: string
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/TweetFavoritersResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- user-list
/graphql/{pathQueryId}/Retweeters:
get:
description: get tweet retweeters
operationId: getRetweeters
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: Gnw_Swm60cS-biSLn2OWNw
example: Gnw_Swm60cS-biSLn2OWNw
type: string
- in: query
name: variables
required: true
schema:
default: '{"tweetId": "1349129669258448897", "count": 20, "includePromotedContent":
true}'
example: '{"tweetId": "1349129669258448897", "count": 20, "includePromotedContent":
true}'
type: string
- in: query
name: features
required: true
schema:
default: '{"rweb_lists_timeline_redesign_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "creator_subscriptions_tweet_preview_api_enabled":
true, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_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, "responsive_web_twitter_article_tweet_consumption_enabled": false,
"tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
true, "longform_notetweets_rich_text_read_enabled": true, "longform_notetweets_inline_media_enabled":
true, "responsive_web_media_download_video_enabled": false, "responsive_web_enhance_cards_enabled":
false}'
example: '{"rweb_lists_timeline_redesign_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "creator_subscriptions_tweet_preview_api_enabled":
true, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_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, "responsive_web_twitter_article_tweet_consumption_enabled": false,
"tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
true, "longform_notetweets_rich_text_read_enabled": true, "longform_notetweets_inline_media_enabled":
true, "responsive_web_media_download_video_enabled": false, "responsive_web_enhance_cards_enabled":
false}'
type: string
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/TweetRetweetersResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- user-list
/graphql/{pathQueryId}/TweetDetail:
get:
description: get TweetDetail
operationId: getTweetDetail
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: wNNG8DBB8EaXw1lq4vFWGA
example: wNNG8DBB8EaXw1lq4vFWGA
type: string
- in: query
name: variables
required: true
schema:
default: '{"focalTweetId": "1349129669258448897", "with_rux_injections":
false, "includePromotedContent": true, "withCommunity": true, "withQuickPromoteEligibilityTweetFields":
true, "withBirdwatchNotes": true, "withVoice": true, "withV2Timeline":
true}'
example: '{"focalTweetId": "1349129669258448897", "with_rux_injections":
false, "includePromotedContent": true, "withCommunity": true, "withQuickPromoteEligibilityTweetFields":
true, "withBirdwatchNotes": true, "withVoice": true, "withV2Timeline":
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_timeline_navigation_enabled":
true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled":
true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":
true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled":
false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled":
false}'
example: '{"blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "responsive_web_graphql_timeline_navigation_enabled":
true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled":
true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":
true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled":
false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled":
false}'
type: string
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/TweetDetailResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- tweet
/graphql/{pathQueryId}/TweetResultByRestId:
get:
description: get TweetResultByRestId
operationId: getTweetResultByRestId
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: 0hWvDhmW8YQ-S_ib3azIrw
example: 0hWvDhmW8YQ-S_ib3azIrw
type: string
- in: query
name: variables
required: true
schema:
default: '{"tweetId": "1691730070669517096", "withCommunity": false, "includePromotedContent":
false, "withVoice": false}'
example: '{"tweetId": "1691730070669517096", "withCommunity": false, "includePromotedContent":
false, "withVoice": false}'
type: string
- in: query
name: features
required: true
schema:
default: '{"creator_subscriptions_tweet_preview_api_enabled": true, "tweetypie_unmention_optimization_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, "responsive_web_twitter_article_tweet_consumption_enabled": false,
"tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
true, "longform_notetweets_rich_text_read_enabled": true, "longform_notetweets_inline_media_enabled":
true, "responsive_web_graphql_exclude_directive_enabled": true, "verified_phone_label_enabled":
false, "responsive_web_media_download_video_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: '{"creator_subscriptions_tweet_preview_api_enabled": true, "tweetypie_unmention_optimization_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, "responsive_web_twitter_article_tweet_consumption_enabled": false,
"tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
true, "longform_notetweets_rich_text_read_enabled": true, "longform_notetweets_inline_media_enabled":
true, "responsive_web_graphql_exclude_directive_enabled": true, "verified_phone_label_enabled":
false, "responsive_web_media_download_video_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:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/TweetResultByRestIdResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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

View file

@ -1,233 +0,0 @@
components:
schemas:
UserResponse:
properties:
data:
$ref: '#/components/schemas/UserResponseData'
required:
- data
UserResponseData:
properties:
user:
$ref: ./../schemas/user.yaml#/components/schemas/UserResults
required:
- user
UsersResponse:
properties:
data:
$ref: '#/components/schemas/UsersResponseData'
required:
- data
UsersResponseData:
properties:
users:
items:
$ref: ./../schemas/user.yaml#/components/schemas/UserResults
type: array
required:
- users
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths:
/graphql/{pathQueryId}/UserByRestId:
get:
description: get user by rest id
operationId: getUserByRestId
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: Lxg1V9AiIzzXEiP2c8dRnw
example: Lxg1V9AiIzzXEiP2c8dRnw
type: string
- in: query
name: variables
required: true
schema:
default: '{"userId": "44196397", "withSafetyModeUserFields": true}'
example: '{"userId": "44196397", "withSafetyModeUserFields": true}'
type: string
- in: query
name: features
required: true
schema:
default: '{"hidden_profile_likes_enabled": false, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "highlights_tweets_tab_ui_enabled":
true, "creator_subscriptions_tweet_preview_api_enabled": true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "responsive_web_graphql_timeline_navigation_enabled": true}'
example: '{"hidden_profile_likes_enabled": false, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "highlights_tweets_tab_ui_enabled":
true, "creator_subscriptions_tweet_preview_api_enabled": true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "responsive_web_graphql_timeline_navigation_enabled": true}'
type: string
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/UserResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- user
/graphql/{pathQueryId}/UserByScreenName:
get:
description: get user by screen name
operationId: getUserByScreenName
parameters:
- in: path
name: pathQueryId
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}'
type: string
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/UserResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- user
/graphql/{pathQueryId}/UsersByRestIds:
get:
description: get users by rest ids
operationId: getUsersByRestIds
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: GD4q8bBE2i6cqWw2iT74Gg
example: GD4q8bBE2i6cqWw2iT74Gg
type: string
- in: query
name: variables
required: true
schema:
default: '{"userIds": ["44196397"]}'
example: '{"userIds": ["44196397"]}'
type: string
- in: query
name: features
required: true
schema:
default: '{"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: '{"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':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/UsersResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- users

View file

@ -1,504 +0,0 @@
components:
schemas:
UserHighlightsTweetsData:
properties:
user:
$ref: '#/components/schemas/UserHighlightsTweetsUser'
required:
- user
UserHighlightsTweetsResponse:
properties:
data:
$ref: '#/components/schemas/UserHighlightsTweetsData'
required:
- data
UserHighlightsTweetsResult:
properties:
__typename:
$ref: ./../schemas/typename.yaml#/components/schemas/TypeName
timeline:
$ref: '#/components/schemas/UserHighlightsTweetsTimeline'
required:
- timeline
- __typename
UserHighlightsTweetsTimeline:
properties:
timeline:
$ref: ./../schemas/timeline.yaml#/components/schemas/Timeline
required:
- timeline
UserHighlightsTweetsUser:
properties:
result:
$ref: '#/components/schemas/UserHighlightsTweetsResult'
required:
- result
UserTweetsData:
properties:
user:
$ref: '#/components/schemas/UserTweetsUser'
required:
- user
UserTweetsResponse:
properties:
data:
$ref: '#/components/schemas/UserTweetsData'
required:
- data
UserTweetsResult:
properties:
__typename:
$ref: ./../schemas/typename.yaml#/components/schemas/TypeName
timeline_v2:
$ref: ./../schemas/timeline.yaml#/components/schemas/TimelineV2
required:
- __typename
- timeline_v2
UserTweetsUser:
properties:
result:
$ref: '#/components/schemas/UserTweetsResult'
required:
- result
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths:
/graphql/{pathQueryId}/Likes:
get:
description: get user likes tweets
operationId: getLikes
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: 5fmEkRT-1AdHqEsbVgehMg
example: 5fmEkRT-1AdHqEsbVgehMg
type: string
- in: query
name: variables
required: true
schema:
default: '{"userId": "44196397", "count": 20, "includePromotedContent":
false, "withClientEventToken": false, "withBirdwatchNotes": false, "withVoice":
true, "withV2Timeline": true}'
example: '{"userId": "44196397", "count": 20, "includePromotedContent":
false, "withClientEventToken": false, "withBirdwatchNotes": false, "withVoice":
true, "withV2Timeline": 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_timeline_navigation_enabled":
true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled":
true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":
true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled":
false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled":
false}'
example: '{"blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "responsive_web_graphql_timeline_navigation_enabled":
true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled":
true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":
true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled":
false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled":
false}'
type: string
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/UserTweetsResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- tweet
/graphql/{pathQueryId}/UserHighlightsTweets:
get:
description: get user highlights tweets
operationId: getUserHighlightsTweets
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: sTveqh05FMMAFfDNpRc_Jg
example: sTveqh05FMMAFfDNpRc_Jg
type: string
- in: query
name: variables
required: true
schema:
default: '{"userId": "44196397", "count": 20, "includePromotedContent":
true, "withVoice": true}'
example: '{"userId": "44196397", "count": 20, "includePromotedContent":
true, "withVoice": true}'
type: string
- in: query
name: features
required: true
schema:
default: '{"rweb_lists_timeline_redesign_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "creator_subscriptions_tweet_preview_api_enabled":
true, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_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, "responsive_web_twitter_article_tweet_consumption_enabled": false,
"tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
true, "longform_notetweets_rich_text_read_enabled": true, "longform_notetweets_inline_media_enabled":
true, "responsive_web_media_download_video_enabled": false, "responsive_web_enhance_cards_enabled":
false}'
example: '{"rweb_lists_timeline_redesign_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "creator_subscriptions_tweet_preview_api_enabled":
true, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_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, "responsive_web_twitter_article_tweet_consumption_enabled": false,
"tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
true, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
true, "longform_notetweets_rich_text_read_enabled": true, "longform_notetweets_inline_media_enabled":
true, "responsive_web_media_download_video_enabled": false, "responsive_web_enhance_cards_enabled":
false}'
type: string
- in: query
name: fieldToggles
required: true
schema:
default: '{"withAuxiliaryUserLabels": false, "withArticleRichContentState":
false}'
example: '{"withAuxiliaryUserLabels": false, "withArticleRichContentState":
false}'
type: string
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/UserHighlightsTweetsResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- tweet
/graphql/{pathQueryId}/UserMedia:
get:
description: get user media tweets
operationId: getUserMedia
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: YqiE3JL1KNgf9nSljYdxaA
example: YqiE3JL1KNgf9nSljYdxaA
type: string
- in: query
name: variables
required: true
schema:
default: '{"userId": "44196397", "count": 40, "includePromotedContent":
false, "withClientEventToken": false, "withBirdwatchNotes": false, "withVoice":
true, "withV2Timeline": true}'
example: '{"userId": "44196397", "count": 40, "includePromotedContent":
false, "withClientEventToken": false, "withBirdwatchNotes": false, "withVoice":
true, "withV2Timeline": 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_timeline_navigation_enabled":
true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled":
true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":
true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled":
false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled":
false}'
example: '{"blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "responsive_web_graphql_timeline_navigation_enabled":
true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled":
true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":
true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled":
false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled":
false}'
type: string
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/UserTweetsResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- tweet
/graphql/{pathQueryId}/UserTweets:
get:
description: get user tweets
operationId: getUserTweets
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: HuTx74BxAnezK1gWvYY7zg
example: HuTx74BxAnezK1gWvYY7zg
type: string
- in: query
name: variables
required: true
schema:
default: '{"userId": "44196397", "count": 40, "includePromotedContent":
true, "withQuickPromoteEligibilityTweetFields": true, "withVoice": true,
"withV2Timeline": true}'
example: '{"userId": "44196397", "count": 40, "includePromotedContent":
true, "withQuickPromoteEligibilityTweetFields": true, "withVoice": true,
"withV2Timeline": 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_timeline_navigation_enabled":
true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled":
true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":
true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled":
false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled":
false}'
example: '{"blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "responsive_web_graphql_timeline_navigation_enabled":
true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled":
true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":
true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled":
false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled":
false}'
type: string
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/UserTweetsResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- tweet
/graphql/{pathQueryId}/UserTweetsAndReplies:
get:
description: get user replies tweets
operationId: getUserTweetsAndReplies
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: RIWc55YCNyUJ-U3HHGYkdg
example: RIWc55YCNyUJ-U3HHGYkdg
type: string
- in: query
name: variables
required: true
schema:
default: '{"userId": "44196397", "count": 40, "includePromotedContent":
true, "withCommunity": true, "withVoice": true, "withV2Timeline": true}'
example: '{"userId": "44196397", "count": 40, "includePromotedContent":
true, "withCommunity": true, "withVoice": true, "withV2Timeline": 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_timeline_navigation_enabled":
true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled":
true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":
true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled":
false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled":
false}'
example: '{"blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled":
true, "verified_phone_label_enabled": false, "responsive_web_graphql_timeline_navigation_enabled":
true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled":
false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled":
true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled":
true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled":
true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled":
false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled":
false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled":
false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled":
false}'
type: string
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/UserTweetsResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- tweet

View file

@ -1,242 +0,0 @@
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths:
/1.1/friends/following/list.json:
get:
description: get friends following list
operationId: getFriendsFollowingList
parameters:
- in: query
name: include_profile_interstitial_type
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_blocking
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_blocked_by
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_followed_by
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_want_retweets
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_mute_edge
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_can_dm
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_can_media_tag
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_has_nft_avatar
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_is_blue_verified
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_verified_type
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_profile_image_shape
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: skip_status
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: cursor
required: true
schema:
default: -1
example: -1
type: integer
- in: query
name: user_id
required: true
schema:
default: '44196397'
example: '44196397'
type: string
- in: query
name: count
required: true
schema:
default: 3
example: 3
type: integer
- in: query
name: with_total_count
required: true
schema:
default: true
example: true
type: boolean
responses:
'200':
description: Successful operation
headers:
status:
schema:
type: string
x-access-level:
schema:
type: string
x-client-event-enabled:
schema:
type: boolean
x-connection-hash:
schema:
type: string
x-content-type-options:
schema:
type: string
x-response-time:
schema:
type: integer
x-transaction:
schema:
type: string
x-transaction-id:
schema:
type: string
x-twitter-response-tags:
schema:
type: string
tags:
- v1.1-get
/1.1/search/typeahead.json:
get:
description: get search typeahead
operationId: getSearchTypeahead
parameters:
- in: query
name: include_ext_is_blue_verified
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_verified_type
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_profile_image_shape
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: q
required: true
schema:
default: test
example: test
type: string
- in: query
name: src
required: true
schema:
default: search_box
example: search_box
type: string
- in: query
name: result_type
required: true
schema:
default: events,users,topics
example: events,users,topics
type: string
responses:
'200':
description: Successful operation
headers:
status:
schema:
type: string
x-access-level:
schema:
type: string
x-client-event-enabled:
schema:
type: boolean
x-connection-hash:
schema:
type: string
x-content-type-options:
schema:
type: string
x-response-time:
schema:
type: integer
x-transaction:
schema:
type: string
x-transaction-id:
schema:
type: string
x-twitter-response-tags:
schema:
type: string
tags:
- v1.1-get

View file

@ -1,237 +0,0 @@
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
parameters: []
requestBody:
content:
application/x-www-form-urlencoded:
schema:
properties:
include_blocked_by:
default: 1
example: 1
type: integer
include_blocking:
default: 1
example: 1
type: integer
include_can_dm:
default: 1
example: 1
type: integer
include_can_media_tag:
default: 1
example: 1
type: integer
include_ext_has_nft_avatar:
default: 1
example: 1
type: integer
include_ext_is_blue_verified:
default: 1
example: 1
type: integer
include_ext_profile_image_shape:
default: 1
example: 1
type: integer
include_ext_verified_type:
default: 1
example: 1
type: integer
include_followed_by:
default: 1
example: 1
type: integer
include_mute_edge:
default: 1
example: 1
type: integer
include_profile_interstitial_type:
default: 1
example: 1
type: integer
include_want_retweets:
default: 1
example: 1
type: integer
skip_status:
default: 1
example: 1
type: integer
user_id:
default: '44196397'
example: '44196397'
type: string
required:
- include_profile_interstitial_type
- include_blocking
- include_blocked_by
- include_followed_by
- include_want_retweets
- include_mute_edge
- include_can_dm
- include_can_media_tag
- include_ext_has_nft_avatar
- include_ext_is_blue_verified
- include_ext_verified_type
- include_ext_profile_image_shape
- skip_status
- user_id
description: body
required: true
responses:
'200':
description: Successful operation
headers:
status:
schema:
type: string
x-access-level:
schema:
type: string
x-client-event-enabled:
schema:
type: boolean
x-connection-hash:
schema:
type: string
x-content-type-options:
schema:
type: string
x-response-time:
schema:
type: integer
x-transaction:
schema:
type: string
x-transaction-id:
schema:
type: string
x-twitter-response-tags:
schema:
type: string
tags:
- v1.1-post
/1.1/friendships/destroy.json:
post:
description: post destroy friendships
operationId: postDestroyFriendships
parameters: []
requestBody:
content:
application/x-www-form-urlencoded:
schema:
properties:
include_blocked_by:
default: 1
example: 1
type: integer
include_blocking:
default: 1
example: 1
type: integer
include_can_dm:
default: 1
example: 1
type: integer
include_can_media_tag:
default: 1
example: 1
type: integer
include_ext_has_nft_avatar:
default: 1
example: 1
type: integer
include_ext_is_blue_verified:
default: 1
example: 1
type: integer
include_ext_profile_image_shape:
default: 1
example: 1
type: integer
include_ext_verified_type:
default: 1
example: 1
type: integer
include_followed_by:
default: 1
example: 1
type: integer
include_mute_edge:
default: 1
example: 1
type: integer
include_profile_interstitial_type:
default: 1
example: 1
type: integer
include_want_retweets:
default: 1
example: 1
type: integer
skip_status:
default: 1
example: 1
type: integer
user_id:
default: '44196397'
example: '44196397'
type: string
required:
- include_profile_interstitial_type
- include_blocking
- include_blocked_by
- include_followed_by
- include_want_retweets
- include_mute_edge
- include_can_dm
- include_can_media_tag
- include_ext_has_nft_avatar
- include_ext_is_blue_verified
- include_ext_verified_type
- include_ext_profile_image_shape
- skip_status
- user_id
description: body
required: true
responses:
'200':
description: Successful operation
headers:
status:
schema:
type: string
x-access-level:
schema:
type: string
x-client-event-enabled:
schema:
type: boolean
x-connection-hash:
schema:
type: string
x-content-type-options:
schema:
type: string
x-response-time:
schema:
type: integer
x-transaction:
schema:
type: string
x-transaction-id:
schema:
type: string
x-twitter-response-tags:
schema:
type: string
tags:
- v1.1-post

View file

@ -1,302 +0,0 @@
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths:
/2/search/adaptive.json:
get:
description: get search adaptive
operationId: getSearchAdaptive
parameters:
- in: query
name: include_profile_interstitial_type
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_blocking
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_blocked_by
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_followed_by
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_want_retweets
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_mute_edge
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_can_dm
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_can_media_tag
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_has_nft_avatar
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_is_blue_verified
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_verified_type
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_profile_image_shape
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: skip_status
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: cards_platform
required: true
schema:
default: Web-12
example: Web-12
type: string
- in: query
name: include_cards
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_alt_text
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: include_ext_limited_action_results
required: true
schema:
default: false
example: false
type: boolean
- in: query
name: include_quote_count
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: include_reply_count
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: tweet_mode
required: true
schema:
default: extended
example: extended
type: string
- in: query
name: include_ext_views
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: include_entities
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: include_user_entities
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: include_ext_media_color
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: include_ext_media_availability
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: include_ext_sensitive_media_warning
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: include_ext_trusted_friends_metadata
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: send_error_codes
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: simple_quoted_tweet
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: q
required: true
schema:
default: elon musk
example: elon musk
type: string
- in: query
name: query_source
required: true
schema:
default: trend_click
example: trend_click
type: string
- in: query
name: count
required: true
schema:
default: 20
example: 20
type: integer
- in: query
name: requestContext
required: true
schema:
default: launch
example: launch
type: string
- in: query
name: pc
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: spelling_corrections
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_edit_control
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: ext
required: true
schema:
default: mediaStats,highlightedLabel,hasNftAvatar,voiceInfo,birdwatchPivot,enrichments,superFollowMetadata,unmentionInfo,editControl,vibe
example: mediaStats,highlightedLabel,hasNftAvatar,voiceInfo,birdwatchPivot,enrichments,superFollowMetadata,unmentionInfo,editControl,vibe
type: string
responses:
'200':
description: Successful operation
headers:
status:
schema:
type: string
x-access-level:
schema:
type: string
x-client-event-enabled:
schema:
type: boolean
x-connection-hash:
schema:
type: string
x-content-type-options:
schema:
type: string
x-response-time:
schema:
type: integer
x-transaction:
schema:
type: string
x-transaction-id:
schema:
type: string
x-twitter-response-tags:
schema:
type: string
tags:
- v2.0-get

View file

@ -1,13 +0,0 @@
components:
parameters:
queryId:
in: path
name: queryId
required: true
schema:
type: string
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths: {}

View file

@ -1,90 +0,0 @@
components:
schemas:
Error:
properties:
code:
type: integer
extensions:
$ref: '#/components/schemas/Extensions'
kind:
type: string
locations:
items:
$ref: '#/components/schemas/Location'
type: array
message:
type: string
name:
type: string
path:
items:
type: string
type: array
source:
type: string
tracing:
$ref: '#/components/schemas/Tracing'
required:
- message
- locations
- path
- extensions
- code
- kind
- name
- source
- tracing
type: object
ErrorResponse:
properties:
errors:
$ref: '#/components/schemas/Errors'
required:
- errors
- data
type: object
Errors:
items:
$ref: '#/components/schemas/Error'
type: array
Extensions:
properties:
code:
type: integer
kind:
type: string
name:
type: string
source:
type: string
tracing:
$ref: '#/components/schemas/Tracing'
required:
- name
- source
- code
- kind
- tracing
type: object
Location:
properties:
column:
type: integer
line:
type: integer
required:
- line
- column
type: object
Tracing:
properties:
trace_id:
type: string
required:
- trace_id
type: object
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths: {}

View file

@ -1,214 +0,0 @@
components:
schemas:
ClientEventInfo:
properties:
component:
type: string
details:
additionalProperties: true
type: object
element:
type: string
ContentEntryType:
enum:
- TimelineTimelineItem
- TimelineTimelineCursor
- TimelineTimelineModule
type: string
ContentItemType:
enum:
- TimelineTweet
- TimelineTimelineCursor
- TimelineUser
- TimelinePrompt
- TimelineMessagePrompt
type: string
ContentUnion:
discriminator:
mapping":
TimelineTimelineCursor: '#/components/schemas/TimelineTimelineCursor'
TimelineTimelineItem: '#/components/schemas/TimelineTimelineItem'
TimelineTimelineModule: '#/components/schemas/TimelineTimelineModule'
propertyName: entryType
oneOf:
- $ref: '#/components/schemas/TimelineTimelineItem'
- $ref: '#/components/schemas/TimelineTimelineModule'
- $ref: '#/components/schemas/TimelineTimelineCursor'
CursorType:
enum:
- Top
- Bottom
- ShowMore
- ShowMoreThreads
- Gap
type: string
ItemContentUnion:
discriminator:
mapping":
TimelineMessagePrompt: '#/components/schemas/TimelineMessagePrompt'
TimelinePrompt: '#/components/schemas/TimelinePrompt'
TimelineTimelineCursor: '#/components/schemas/TimelineTimelineCursor'
TimelineTweet: '#/components/schemas/TimelineTweet'
TimelineUser: '#/components/schemas/TimelineUser'
propertyName: __typename
oneOf:
- $ref: '#/components/schemas/TimelineTweet'
- $ref: '#/components/schemas/TimelineTimelineCursor'
- $ref: '#/components/schemas/TimelineUser'
- $ref: '#/components/schemas/TimelinePrompt'
- $ref: '#/components/schemas/TimelineMessagePrompt'
ItemResult:
properties:
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
result:
$ref: ./tweet.yaml#/components/schemas/TweetUnion
required: null
ModuleEntry:
properties:
clientEventInfo:
$ref: '#/components/schemas/ClientEventInfo'
itemContent:
$ref: '#/components/schemas/ItemContentUnion'
required:
- clientEventInfo
- itemContent
ModuleItem:
properties:
entryId:
pattern: ^(([a-z]+|[0-9]+|[0-9a-f]+)(-|$))+
type: string
item:
$ref: '#/components/schemas/ModuleEntry'
required:
- entryId
- item
SocialContext:
properties:
contextType:
type: string
text:
type: string
type:
type: string
type: object
TimelineMessagePrompt:
additionalProperties: true
properties:
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
TimelinePrompt:
additionalProperties: true
properties:
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
TimelineTimelineCursor:
properties:
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
cursorType:
$ref: '#/components/schemas/CursorType'
entryType:
$ref: '#/components/schemas/ContentEntryType'
itemType:
$ref: '#/components/schemas/ContentEntryType'
value:
type: string
required:
- __typename
- cursorType
- value
TimelineTimelineItem:
properties:
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
clientEventInfo:
$ref: '#/components/schemas/ClientEventInfo'
entryType:
$ref: '#/components/schemas/ContentEntryType'
feedbackInfo:
additionalProperties: true
type: object
itemContent:
$ref: '#/components/schemas/ItemContentUnion'
required:
- __typename
- entryType
- itemContent
TimelineTimelineModule:
properties:
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
type: string
clientEventInfo:
additionalProperties: true
type: object
displayType:
enum:
- Vertical
- VerticalConversation
type: string
entryType:
$ref: '#/components/schemas/ContentEntryType'
footer:
additionalProperties: true
type: object
header:
additionalProperties: true
type: object
items:
items:
$ref: '#/components/schemas/ModuleItem'
type: array
required:
- __typename
- entryType
- displayType
- clientEventInfo
TimelineTweet:
properties:
SocialContext:
$ref: '#/components/schemas/SocialContext'
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
itemType:
$ref: '#/components/schemas/ContentItemType'
promotedMetadata:
additionalProperties: true
type: object
tweetDisplayType:
type: string
tweet_results:
$ref: '#/components/schemas/ItemResult'
required:
- __typename
- itemType
- tweetDisplayType
- tweet_results
TimelineUser:
properties:
SocialContext:
$ref: '#/components/schemas/SocialContext'
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
itemType:
$ref: '#/components/schemas/ContentItemType'
userDisplayType:
enum:
- User
- UserDetailed
- SubscribableUser
type: string
user_results:
$ref: ./user.yaml#/components/schemas/UserResults
required:
- __typename
- itemType
- socialContext
- userDisplayType
- user_results
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths: {}

View file

@ -1,94 +0,0 @@
components:
schemas:
Error:
properties:
code:
type: integer
extensions:
$ref: '#/components/schemas/ErrorExtensions'
kind:
type: string
locations:
items:
$ref: '#/components/schemas/Location'
type: array
message:
type: string
name:
type: string
path:
items:
type: string
type: array
retry_after:
type: integer
source:
type: string
tracing:
$ref: '#/components/schemas/Tracing'
required:
- message
- locations
- path
- extensions
- code
- kind
- name
- source
- retry_after
- tracing
type: object
ErrorExtensions:
properties:
code:
type: integer
kind:
type: string
name:
type: string
retry_after:
type: integer
source:
type: string
tracing:
$ref: '#/components/schemas/Tracing'
required:
- name
- source
- retry_after
- code
- kind
- tracing
type: object
Errors:
properties:
errors:
items:
$ref: '#/components/schemas/Error'
type: array
required:
- errors
type: object
Location:
properties:
column:
type: integer
line:
type: integer
required:
- line
- column
type: object
Tracing:
properties:
trace_id:
pattern: ^[0-9a-f]{16}$
type: string
required:
- trace_id
type: object
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths: {}

View file

@ -1,13 +0,0 @@
components:
schemas:
TwitterTimeFormat:
example: Sat Dec 31 23:59:59 +0000 2023
pattern: ^(Sun|Mon|Tue|Wed|Thu|Fri|Sat) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)
(0[1-9]|[12][0-9]|3[01]) (0[0-9]|1[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])
([+-][0-9]{4}) ([0-9]{4})$
type: string
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths: {}

View file

@ -1,286 +0,0 @@
components:
schemas:
Callback:
properties:
endpoint:
format: uri
type: string
required:
- endpoint
CoverCta:
properties:
Text:
type: string
buttonStyle:
enum:
- Primary
type: string
callbacks:
items:
$ref: '#/components/schemas/Callback'
type: array
clientEventInfo:
$ref: '#/components/schemas/CtaClientEventInfo'
ctaBehavior:
$ref: '#/components/schemas/TimelineCoverBehavior'
required:
- text
- ctaBehavior
- callbacks
- clientEventInfo
- buttonStyle
CtaClientEventInfo:
properties:
action:
enum:
- primary_cta
type: string
required:
- action
InstructionType:
enum:
- TimelineAddEntries
- TimelineAddToModule
- TimelineClearCache
- TimelinePinEntry
- TimelineReplaceEntry
- TimelineShowAlert
- TimelineTerminateTimeline
- TimelineShowCover
type: string
InstructionUnion:
discriminator:
mapping":
TimelineAddEntries: '#/components/schemas/TimelineAddEntries'
TimelineAddToModule: '#/components/schemas/TimelineAddToModule'
TimelineClearCache: '#/components/schemas/TimelineClearCache'
TimelinePinEntry: '#/components/schemas/TimelinePinEntry'
TimelineReplaceEntry: '#/components/schemas/TimelineReplaceEntry'
TimelineShowAlert: '#/components/schemas/TimelineShowAlert'
TimelineShowCover: '#/components/schemas/TimelineShowCover'
TimelineTerminateTimeline: '#/components/schemas/TimelineTerminateTimeline'
propertyName: type
oneOf:
- $ref: '#/components/schemas/TimelineAddEntries'
- $ref: '#/components/schemas/TimelineAddToModule'
- $ref: '#/components/schemas/TimelineClearCache'
- $ref: '#/components/schemas/TimelinePinEntry'
- $ref: '#/components/schemas/TimelineReplaceEntry'
- $ref: '#/components/schemas/TimelineShowAlert'
- $ref: '#/components/schemas/TimelineTerminateTimeline'
- $ref: '#/components/schemas/TimelineShowCover'
Text:
properties:
entities:
items:
$ref: '#/components/schemas/TextEntity'
type: array
text:
type: string
required:
- text
- entities
TextEntity:
properties:
fromIndex:
type: integer
ref:
$ref: '#/components/schemas/TextEntityRef'
toIndex:
type: integer
required:
- fromIndex
- toIndex
- ref
TextEntityRef:
properties:
type:
enum:
- TimelineUrl
type: string
url:
format: uri
type: string
urlType:
enum:
- ExternalUrl
type: string
required:
- type
- url
- urlType
TimelineAddEntries:
properties:
entries:
items:
$ref: '#/components/schemas/TimelineAddEntry'
type: array
type:
$ref: '#/components/schemas/InstructionType'
required:
- type
- entries
TimelineAddEntry:
properties:
content:
$ref: ./content.yaml#/components/schemas/ContentUnion
entryId:
pattern: ^(([a-z]+|[0-9]+|[0-9a-f]+)(-|$))+
type: string
sortIndex:
pattern: '[0-9]+$'
type: string
required:
- content
- entryId
- sortIndex
TimelineAddToModule:
properties:
moduleEntryId:
type: string
moduleItems:
items:
$ref: ./content.yaml#/components/schemas/ModuleItem
type: array
prepend:
type: boolean
type:
$ref: '#/components/schemas/InstructionType'
required:
- type
- moduleItems
- moduleEntryId
TimelineClearCache:
properties:
type:
$ref: '#/components/schemas/InstructionType'
required:
- type
TimelineCoverBehavior:
properties:
type:
enum:
- TimelineCoverBehaviorDismiss
type: string
required:
- type
TimelineHalfCover:
properties:
dismissible:
type: boolean
halfCoverDisplayType:
enum:
- Cover
type: string
impressionCallbacks:
items:
$ref: '#/components/schemas/Callback'
type: array
primaryCoverCta:
$ref: '#/components/schemas/CoverCta'
primaryText:
$ref: '#/components/schemas/Text'
secondaryText:
$ref: '#/components/schemas/Text'
type:
enum:
- TimelineHalfCover
type: string
required:
- type
- halfCoverDisplayType
- primaryText
- primaryCoverCta
- secondaryText
- impressionCallbacks
- dismissible
TimelinePinEntry:
properties:
entry:
$ref: '#/components/schemas/TimelineAddEntry'
type:
$ref: '#/components/schemas/InstructionType'
required:
- type
- entry
TimelineReplaceEntry:
properties:
entry:
$ref: '#/components/schemas/TimelineAddEntry'
entry_id_to_replace:
type: string
type:
$ref: '#/components/schemas/InstructionType'
required:
- type
- entry_id_to_replace
- entry
TimelineShowAlert:
properties:
alertType:
enum:
- NewTweets
type: string
colorConfig:
additionalProperties: true
type: object
displayDurationMs:
type: integer
displayLocation:
enum:
- Top
type: string
iconDisplayInfo:
additionalProperties: true
type: object
richText:
properties:
entities:
items:
additionalProperties: true
type: object
type: array
text:
type: string
type: object
triggerDelayMs:
type: integer
type:
$ref: '#/components/schemas/InstructionType'
usersResults:
items:
$ref: ./user.yaml#/components/schemas/UserResults
type: array
required:
- type
- usersResults
- richText
TimelineShowCover:
properties:
clientEventInfo:
$ref: ./content.yaml#/components/schemas/ClientEventInfo
cover:
$ref: '#/components/schemas/TimelineHalfCover'
type:
$ref: '#/components/schemas/InstructionType'
required:
- type
- clientEventInfo
- cover
TimelineTerminateTimeline:
properties:
direction:
enum:
- Top
- Bottom
type: string
type:
$ref: '#/components/schemas/InstructionType'
required:
- type
- direction
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths: {}

View file

@ -1,27 +0,0 @@
components:
schemas:
Timeline:
properties:
instructions:
items:
$ref: ./../schemas/instruction.yaml#/components/schemas/InstructionUnion
type: array
metadata:
additionalProperties: true
type: object
responseObjects:
additionalProperties: true
type: object
required:
- instructions
TimelineV2:
properties:
timeline:
$ref: '#/components/schemas/Timeline'
required:
- timeline
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths: {}

View file

@ -1,508 +0,0 @@
components:
schemas:
AdditionalMediaInfo:
properties:
monetizable:
type: boolean
required:
- monetizable
Entities:
properties:
hashtags:
items:
$ref: '#/components/schemas/Hashtag'
type: array
media:
items:
$ref: '#/components/schemas/Media'
type: array
symbols:
items:
$ref: '#/components/schemas/Symbol'
type: array
urls:
items:
$ref: '#/components/schemas/Url'
type: array
user_mentions:
items:
$ref: '#/components/schemas/UserMention'
type: array
required:
- hashtags
- symbols
- user_mentions
- urls
ExtendedEntities:
properties:
media:
items:
$ref: '#/components/schemas/MediaExtended'
type: array
required:
- media
Hashtag:
additionalProperties: true
type: object
Media:
properties:
display_url:
format: uri
type: string
expanded_url:
format: uri
type: string
features:
type: object
id_str:
pattern: ^[0-9]+$
type: string
indices:
items:
type: integer
type: array
media_url_https:
format: uri
type: string
original_info:
$ref: '#/components/schemas/MediaOriginalInfo'
sizes:
$ref: '#/components/schemas/MediaSizes'
type:
enum:
- photo
- video
- animated_gif
type: string
url:
format: uri
type: string
required:
- display_url
- expanded_url
- id_str
- indices
- media_url_https
- type
- url
- sizes
- original_info
MediaExtended:
properties:
additional_media_info:
$ref: '#/components/schemas/AdditionalMediaInfo'
display_url:
format: uri
type: string
expanded_url:
format: uri
type: string
ext_media_availability:
$ref: '#/components/schemas/extMediaAvailability'
features:
type: object
id_str:
pattern: ^[0-9]+$
type: string
indices:
items:
type: integer
type: array
mediaStats:
$ref: '#/components/schemas/mediaStats'
media_key:
type: string
media_url_https:
format: uri
type: string
original_info:
$ref: '#/components/schemas/MediaOriginalInfo'
sizes:
$ref: '#/components/schemas/MediaSizes'
type:
enum:
- photo
- video
- animated_gif
type: string
url:
format: uri
type: string
video_info:
$ref: '#/components/schemas/MediaVideoInfo'
required:
- display_url
- expanded_url
- id_str
- indices
- media_key
- media_url_https
- type
- url
- ext_media_availability
- sizes
- original_info
MediaOriginalInfo:
properties:
focus_rects:
items:
$ref: '#/components/schemas/MediaOriginalInfoFocusRect'
type: array
height:
type: integer
width:
type: integer
required:
- height
- width
MediaOriginalInfoFocusRect:
properties:
h:
type: integer
w:
type: integer
x:
type: integer
y:
type: integer
required:
- x
- y
- w
- h
type: object
MediaSize:
properties:
h:
type: integer
resize:
enum:
- crop
- fit
type: string
w:
type: integer
required:
- w
- h
- resize
MediaSizes:
properties:
large:
$ref: '#/components/schemas/MediaSize'
medium:
$ref: '#/components/schemas/MediaSize'
small:
$ref: '#/components/schemas/MediaSize'
thumb:
$ref: '#/components/schemas/MediaSize'
required:
- large
- medium
- small
- thumb
MediaVideoInfo:
properties:
aspect_ratio:
items:
type: integer
type: array
duration_millis:
type: integer
variants:
items:
$ref: '#/components/schemas/MediaVideoInfoVariant'
type: array
required:
- aspect_ratio
- variants
MediaVideoInfoVariant:
properties:
bitrate:
type: integer
content_type:
type: string
url:
format: uri
type: string
required:
- content_type
- url
SelfThread:
properties:
id_str:
pattern: ^[0-9]+$
type: string
required:
- id_str
Symbol:
additionalProperties: true
type: object
Tweet:
properties:
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
card:
$ref: '#/components/schemas/TweetCard'
core:
$ref: ./user.yaml#/components/schemas/UserResultCore
edit_control:
$ref: '#/components/schemas/TweetEditControl'
edit_prespective:
$ref: '#/components/schemas/TweetEditPrespective'
is_translatable:
default: false
type: boolean
legacy:
$ref: '#/components/schemas/TweetLegacy'
quoted_status_result:
$ref: ./content.yaml#/components/schemas/ItemResult
rest_id:
pattern: ^[0-9]+$
type: string
source:
type: string
unmention_data:
additionalProperties: true
type: object
views:
$ref: '#/components/schemas/TweetView'
required:
- rest_id
- edit_control
- is_translatable
- views
TweetCard:
properties:
legacy:
$ref: '#/components/schemas/TweetCardLegacy'
rest_id:
type: string
TweetCardLegacy:
properties:
binding_values:
items:
$ref: '#/components/schemas/TweetCardLegacyBindingValue'
type: array
name:
type: string
url:
type: string
required:
- binding_values
- name
- url
TweetCardLegacyBindingValue:
properties:
key:
type: string
value:
$ref: '#/components/schemas/TweetCardLegacyBindingValueData'
required:
- key
- value
TweetCardLegacyBindingValueData:
properties:
boolean_value:
type: boolean
scribe_key:
type: string
string_value:
type: string
type:
type: string
required:
- type
TweetEditControl:
properties:
edit_control_initial:
$ref: '#/components/schemas/TweetEditControlInitial'
edit_tweet_ids:
items:
pattern: ^[0-9]+$
type: string
type: array
editable_until_msecs:
pattern: ^[0-9]+$
type: string
edits_remaining:
pattern: ^[0-9]+$
type: string
initial_tweet_id:
pattern: ^[0-9]+$
type: string
is_edit_eligible:
type: boolean
TweetEditControlInitial:
properties:
edit_tweet_ids:
items:
pattern: ^[0-9]+$
type: string
type: array
editable_until_msecs:
pattern: ^[0-9]+$
type: string
edits_remaining:
pattern: ^[0-9]+$
type: string
is_edit_eligible:
type: boolean
required:
- edit_tweet_ids
- editable_until_msecs
- is_edit_eligible
- edits_remaining
TweetEditPrespective:
properties:
favorited:
type: boolean
retweeted:
type: boolean
TweetLegacy:
properties:
bookmark_count:
type: integer
bookmarked:
type: boolean
conversation_id_str:
pattern: ^[0-9]+$
type: string
created_at:
$ref: ./general.yaml#/components/schemas/TwitterTimeFormat
display_text_range:
items:
type: integer
type: array
entities:
$ref: '#/components/schemas/Entities'
extended_entities:
$ref: '#/components/schemas/ExtendedEntities'
favorite_count:
type: integer
favorited:
type: boolean
full_text:
type: string
id_str:
pattern: ^[0-9]+$
type: string
is_quote_status:
type: boolean
lang:
type: string
possibly_sensitive:
default: false
type: boolean
possibly_sensitive_editable:
default: false
type: boolean
quote_count:
type: integer
reply_count:
type: integer
retweet_count:
type: integer
retweeted:
type: boolean
retweeted_status_result:
$ref: ./content.yaml#/components/schemas/ItemResult
self_thread:
$ref: '#/components/schemas/SelfThread'
user_id_str:
pattern: ^[0-9]+$
type: string
required:
- bookmark_count
- bookmarked
- conversation_id_str
- created_at
- display_text_range
- entities
- favorite_count
- favorited
- full_text
- is_quote_status
- lang
- quote_count
- reply_count
- retweet_count
- retweeted
- user_id_str
- id_str
TweetTombstone:
additionalProperties: true
properties:
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
TweetUnion:
discriminator:
mapping":
Tweet: '#/components/schemas/Tweet'
TweetTombstone: '#/components/schemas/TweetTombstone'
TweetWithVisibilityResults: '#/components/schemas/TweetWithVisibilityResults'
propertyName: __typename
oneOf:
- $ref: '#/components/schemas/Tweet'
- $ref: '#/components/schemas/TweetWithVisibilityResults'
- $ref: '#/components/schemas/TweetTombstone'
TweetView:
properties:
count:
pattern: ^[0-9]+$
type: string
state:
enum:
- EnabledWithCount
type: string
required:
- state
TweetWithVisibilityResults:
properties:
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
tweet:
$ref: '#/components/schemas/Tweet'
required:
- __typename
- tweet
Url:
properties:
display_url:
type: string
expanded_url:
format: uri
type: string
indices:
items:
type: integer
type: array
url:
format: uri
type: string
required:
- url
- indices
- expanded_url
- display_url
type: object
UserMention:
additionalProperties: true
type: object
extMediaAvailability:
properties:
status:
enum:
- Available
type: string
mediaStats:
properties:
viewCount:
type: integer
required:
- viewCount
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths: {}

View file

@ -1,23 +0,0 @@
components:
schemas:
TypeName:
enum:
- TimelineTweet
- TimelineTimelineItem
- TimelineUser
- TimelineTimelineCursor
- TweetWithVisibilityResults
- TimelineTimelineModule
- TweetTombstone
- TimelinePrompt
- TimelineMessagePrompt
- TweetUnavailable
- Tweet
- User
- UserUnavailable
type: string
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths: {}

View file

@ -1,222 +0,0 @@
components:
schemas:
User:
properties:
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
affiliates_highlighted_label:
additionalProperties: true
type: object
business_account:
additionalProperties: true
type: object
has_graduated_access:
type: boolean
has_nft_avatar:
default: false
type: boolean
id:
pattern: ^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?$
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:
additionalProperties: true
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
- followers_count
- friends_count
- has_custom_timelines
- is_translator
- listed_count
- location
- media_count
- muting
- name
- normal_followers_count
- pinned_tweet_ids_str
- possibly_sensitive
- profile_image_url_https
- profile_interstitial_type
- 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/UserUnion'
required:
- result
UserUnavailable:
properties:
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
reason:
type: string
required:
- __typename
- reason
UserUnion:
discriminator:
mapping":
User: '#/components/schemas/User'
UserUnavailable: '#/components/schemas/UserUnavailable'
propertyName: __typename
oneOf:
- $ref: '#/components/schemas/User'
- $ref: '#/components/schemas/UserUnavailable'
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths: {}

File diff suppressed because it is too large Load diff

View file

@ -1,201 +0,0 @@
components:
schemas:
BookmarksResponse:
properties:
data:
$ref: '#/components/schemas/BookmarksResponseData'
required:
- data
BookmarksResponseData:
properties:
bookmark_timeline_v2:
$ref: '#/components/schemas/BookmarksTimeline'
required:
- bookmark_timeline_v2
BookmarksTimeline:
properties:
timeline:
$ref: ./../schemas/timeline.yaml#/components/schemas/Timeline
required:
- timeline
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths:
/graphql/{pathQueryId}/Bookmarks:
get:
description: get bookmarks
operationId: getBookmarks
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: tmd4ifV8RHltzn8ymGg1aw
example: tmd4ifV8RHltzn8ymGg1aw
type: string
- content:
application/json:
schema:
properties:
count:
default: 20
example: 20
type: integer
includePromotedContent:
default: true
example: true
type: boolean
required:
- count
- includePromotedContent
type: object
in: query
name: variables
required: true
- content:
application/json:
schema:
properties:
blue_business_profile_image_shape_enabled:
default: true
example: true
type: boolean
freedom_of_speech_not_reach_fetch_enabled:
default: false
example: false
type: boolean
graphql_is_translatable_rweb_tweet_is_translatable_enabled:
default: true
example: true
type: boolean
graphql_timeline_v2_bookmark_timeline:
default: true
example: true
type: boolean
interactive_text_enabled:
default: true
example: true
type: boolean
longform_notetweets_consumption_enabled:
default: true
example: true
type: boolean
longform_notetweets_rich_text_read_enabled:
default: true
example: true
type: boolean
responsive_web_edit_tweet_api_enabled:
default: true
example: true
type: boolean
responsive_web_enhance_cards_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_exclude_directive_enabled:
default: true
example: true
type: boolean
responsive_web_graphql_skip_user_profile_image_extensions_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_timeline_navigation_enabled:
default: true
example: true
type: boolean
responsive_web_text_conversations_enabled:
default: false
example: false
type: boolean
standardized_nudges_misinfo:
default: true
example: true
type: boolean
tweet_awards_web_tipping_enabled:
default: false
example: false
type: boolean
tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled:
default: false
example: false
type: boolean
tweetypie_unmention_optimization_enabled:
default: true
example: true
type: boolean
verified_phone_label_enabled:
default: false
example: false
type: boolean
vibe_api_enabled:
default: true
example: true
type: boolean
view_counts_everywhere_api_enabled:
default: true
example: true
type: boolean
required:
- graphql_timeline_v2_bookmark_timeline
- blue_business_profile_image_shape_enabled
- responsive_web_graphql_exclude_directive_enabled
- verified_phone_label_enabled
- responsive_web_graphql_timeline_navigation_enabled
- responsive_web_graphql_skip_user_profile_image_extensions_enabled
- tweetypie_unmention_optimization_enabled
- vibe_api_enabled
- responsive_web_edit_tweet_api_enabled
- graphql_is_translatable_rweb_tweet_is_translatable_enabled
- view_counts_everywhere_api_enabled
- longform_notetweets_consumption_enabled
- tweet_awards_web_tipping_enabled
- freedom_of_speech_not_reach_fetch_enabled
- standardized_nudges_misinfo
- tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled
- interactive_text_enabled
- responsive_web_text_conversations_enabled
- longform_notetweets_rich_text_read_enabled
- responsive_web_enhance_cards_enabled
type: object
in: query
name: features
required: true
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/BookmarksResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- tweet

View file

@ -1,587 +0,0 @@
components:
schemas:
FollowResponse:
properties:
data:
$ref: '#/components/schemas/FollowResponseData'
required:
- data
FollowResponseData:
properties:
user:
$ref: '#/components/schemas/FollowResponseUser'
required:
- user
FollowResponseResult:
properties:
__typename:
$ref: ./../schemas/typename.yaml#/components/schemas/TypeName
timeline:
$ref: '#/components/schemas/FollowTimeline'
required:
- __typename
- timeline
FollowResponseUser:
properties:
result:
$ref: '#/components/schemas/FollowResponseResult'
required:
- result
FollowTimeline:
properties:
timeline:
$ref: ./../schemas/timeline.yaml#/components/schemas/Timeline
required:
- timeline
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths:
/graphql/{pathQueryId}/Followers:
get:
description: get user list of followers
operationId: getFollowers
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: djdTXDIk2qhd4OStqlUFeQ
example: djdTXDIk2qhd4OStqlUFeQ
type: string
- content:
application/json:
schema:
properties:
count:
default: 20
example: 20
type: integer
includePromotedContent:
default: false
example: false
type: boolean
userId:
default: '44196397'
example: '44196397'
type: string
required:
- userId
- count
- includePromotedContent
type: object
in: query
name: variables
required: true
- content:
application/json:
schema:
properties:
blue_business_profile_image_shape_enabled:
default: true
example: true
type: boolean
freedom_of_speech_not_reach_fetch_enabled:
default: false
example: false
type: boolean
graphql_is_translatable_rweb_tweet_is_translatable_enabled:
default: true
example: true
type: boolean
interactive_text_enabled:
default: true
example: true
type: boolean
longform_notetweets_consumption_enabled:
default: true
example: true
type: boolean
longform_notetweets_rich_text_read_enabled:
default: true
example: true
type: boolean
responsive_web_edit_tweet_api_enabled:
default: true
example: true
type: boolean
responsive_web_enhance_cards_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_exclude_directive_enabled:
default: true
example: true
type: boolean
responsive_web_graphql_skip_user_profile_image_extensions_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_timeline_navigation_enabled:
default: true
example: true
type: boolean
responsive_web_text_conversations_enabled:
default: false
example: false
type: boolean
standardized_nudges_misinfo:
default: true
example: true
type: boolean
tweet_awards_web_tipping_enabled:
default: false
example: false
type: boolean
tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled:
default: false
example: false
type: boolean
tweetypie_unmention_optimization_enabled:
default: true
example: true
type: boolean
verified_phone_label_enabled:
default: false
example: false
type: boolean
vibe_api_enabled:
default: true
example: true
type: boolean
view_counts_everywhere_api_enabled:
default: true
example: true
type: boolean
required:
- blue_business_profile_image_shape_enabled
- responsive_web_graphql_exclude_directive_enabled
- verified_phone_label_enabled
- responsive_web_graphql_timeline_navigation_enabled
- responsive_web_graphql_skip_user_profile_image_extensions_enabled
- tweetypie_unmention_optimization_enabled
- vibe_api_enabled
- responsive_web_edit_tweet_api_enabled
- graphql_is_translatable_rweb_tweet_is_translatable_enabled
- view_counts_everywhere_api_enabled
- longform_notetweets_consumption_enabled
- tweet_awards_web_tipping_enabled
- freedom_of_speech_not_reach_fetch_enabled
- standardized_nudges_misinfo
- tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled
- interactive_text_enabled
- responsive_web_text_conversations_enabled
- longform_notetweets_rich_text_read_enabled
- responsive_web_enhance_cards_enabled
type: object
in: query
name: features
required: true
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/FollowResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- user-list
/graphql/{pathQueryId}/FollowersYouKnow:
get:
description: get followers you know
operationId: getFollowersYouKnow
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: W9Iz6TVLymzCWjG2uOFKZg
example: W9Iz6TVLymzCWjG2uOFKZg
type: string
- content:
application/json:
schema:
properties:
count:
default: 20
example: 20
type: integer
includePromotedContent:
default: false
example: false
type: boolean
userId:
default: '44196397'
example: '44196397'
type: string
required:
- userId
- count
- includePromotedContent
type: object
in: query
name: variables
required: true
- content:
application/json:
schema:
properties:
creator_subscriptions_tweet_preview_api_enabled:
default: true
example: true
type: boolean
freedom_of_speech_not_reach_fetch_enabled:
default: true
example: true
type: boolean
graphql_is_translatable_rweb_tweet_is_translatable_enabled:
default: true
example: true
type: boolean
longform_notetweets_consumption_enabled:
default: true
example: true
type: boolean
longform_notetweets_inline_media_enabled:
default: true
example: true
type: boolean
longform_notetweets_rich_text_read_enabled:
default: true
example: true
type: boolean
responsive_web_edit_tweet_api_enabled:
default: true
example: true
type: boolean
responsive_web_enhance_cards_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_exclude_directive_enabled:
default: true
example: true
type: boolean
responsive_web_graphql_skip_user_profile_image_extensions_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_timeline_navigation_enabled:
default: true
example: true
type: boolean
responsive_web_media_download_video_enabled:
default: false
example: false
type: boolean
responsive_web_twitter_article_tweet_consumption_enabled:
default: false
example: false
type: boolean
rweb_lists_timeline_redesign_enabled:
default: true
example: true
type: boolean
standardized_nudges_misinfo:
default: true
example: true
type: boolean
tweet_awards_web_tipping_enabled:
default: false
example: false
type: boolean
tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled:
default: true
example: true
type: boolean
tweetypie_unmention_optimization_enabled:
default: true
example: true
type: boolean
verified_phone_label_enabled:
default: false
example: false
type: boolean
view_counts_everywhere_api_enabled:
default: true
example: true
type: boolean
required:
- rweb_lists_timeline_redesign_enabled
- responsive_web_graphql_exclude_directive_enabled
- verified_phone_label_enabled
- creator_subscriptions_tweet_preview_api_enabled
- responsive_web_graphql_timeline_navigation_enabled
- responsive_web_graphql_skip_user_profile_image_extensions_enabled
- tweetypie_unmention_optimization_enabled
- responsive_web_edit_tweet_api_enabled
- graphql_is_translatable_rweb_tweet_is_translatable_enabled
- view_counts_everywhere_api_enabled
- longform_notetweets_consumption_enabled
- responsive_web_twitter_article_tweet_consumption_enabled
- tweet_awards_web_tipping_enabled
- freedom_of_speech_not_reach_fetch_enabled
- standardized_nudges_misinfo
- tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled
- longform_notetweets_rich_text_read_enabled
- longform_notetweets_inline_media_enabled
- responsive_web_media_download_video_enabled
- responsive_web_enhance_cards_enabled
type: object
in: query
name: features
required: true
- content:
application/json:
schema:
properties:
withArticleRichContentState:
default: false
example: false
type: boolean
required:
- withArticleRichContentState
type: object
in: query
name: fieldToggles
required: true
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/FollowResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- user-list
/graphql/{pathQueryId}/Following:
get:
description: get user list of following
operationId: getFollowing
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: IWP6Zt14sARO29lJT35bBw
example: IWP6Zt14sARO29lJT35bBw
type: string
- content:
application/json:
schema:
properties:
count:
default: 20
example: 20
type: integer
includePromotedContent:
default: false
example: false
type: boolean
userId:
default: '44196397'
example: '44196397'
type: string
required:
- userId
- count
- includePromotedContent
type: object
in: query
name: variables
required: true
- content:
application/json:
schema:
properties:
blue_business_profile_image_shape_enabled:
default: true
example: true
type: boolean
freedom_of_speech_not_reach_fetch_enabled:
default: false
example: false
type: boolean
graphql_is_translatable_rweb_tweet_is_translatable_enabled:
default: true
example: true
type: boolean
interactive_text_enabled:
default: true
example: true
type: boolean
longform_notetweets_consumption_enabled:
default: true
example: true
type: boolean
longform_notetweets_rich_text_read_enabled:
default: true
example: true
type: boolean
responsive_web_edit_tweet_api_enabled:
default: true
example: true
type: boolean
responsive_web_enhance_cards_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_exclude_directive_enabled:
default: true
example: true
type: boolean
responsive_web_graphql_skip_user_profile_image_extensions_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_timeline_navigation_enabled:
default: true
example: true
type: boolean
responsive_web_text_conversations_enabled:
default: false
example: false
type: boolean
standardized_nudges_misinfo:
default: true
example: true
type: boolean
tweet_awards_web_tipping_enabled:
default: false
example: false
type: boolean
tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled:
default: false
example: false
type: boolean
tweetypie_unmention_optimization_enabled:
default: true
example: true
type: boolean
verified_phone_label_enabled:
default: false
example: false
type: boolean
vibe_api_enabled:
default: true
example: true
type: boolean
view_counts_everywhere_api_enabled:
default: true
example: true
type: boolean
required:
- blue_business_profile_image_shape_enabled
- responsive_web_graphql_exclude_directive_enabled
- verified_phone_label_enabled
- responsive_web_graphql_timeline_navigation_enabled
- responsive_web_graphql_skip_user_profile_image_extensions_enabled
- tweetypie_unmention_optimization_enabled
- vibe_api_enabled
- responsive_web_edit_tweet_api_enabled
- graphql_is_translatable_rweb_tweet_is_translatable_enabled
- view_counts_everywhere_api_enabled
- longform_notetweets_consumption_enabled
- tweet_awards_web_tipping_enabled
- freedom_of_speech_not_reach_fetch_enabled
- standardized_nudges_misinfo
- tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled
- interactive_text_enabled
- responsive_web_text_conversations_enabled
- longform_notetweets_rich_text_read_enabled
- responsive_web_enhance_cards_enabled
type: object
in: query
name: features
required: true
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/FollowResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- user-list

View file

@ -1,99 +0,0 @@
components:
schemas:
CommunitiesActions:
properties:
create:
type: boolean
required:
- create
type: object
OneFactorLoginEligibility:
properties:
fetchStatus:
type: string
required:
- fetchStatus
type: object
OtherResponse:
properties:
Session:
$ref: '#/components/schemas/Session'
type: object
Session:
properties:
SsoInitTokens:
type: object
communitiesActions:
$ref: '#/components/schemas/CommunitiesActions'
country:
pattern: ^[A-Z]{2}$
type: string
guestId:
pattern: ^[0-9]+$
type: string
hasCommunityMemberships:
type: boolean
isActiveCreator:
type: boolean
isRestrictedSession:
type: boolean
isSuperFollowSubscriber:
type: boolean
language:
pattern: ^[a-z]{2}$
type: string
oneFactorLoginEligibility:
$ref: '#/components/schemas/OneFactorLoginEligibility'
superFollowersCount:
type: integer
superFollowsApplicationStatus:
enum:
- NotStarted
type: string
userFeatures:
$ref: '#/components/schemas/UserFeatures'
user_id:
pattern: ^[0-9]+$
type: string
required:
- country
- communitiesActions
- isActiveCreator
- isRestrictedSession
- guestId
- hasCommunityMemberships
- language
- oneFactorLoginEligibility
- ssoInitTokens
- superFollowersCount
- superFollowsApplicationStatus
- user_id
- userFeatures
- isSuperFollowSubscriber
type: object
UserFeatures:
properties:
mediatool_studio_library:
type: boolean
required:
- mediatool_studio_library
type: object
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths:
/other:
get:
description: This is not an actual endpoint
operationId: other
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/OtherResponse'
description: Successful operation
tags:
- other

View file

@ -1,692 +0,0 @@
components:
schemas:
CreateRetweet:
properties:
result:
$ref: '#/components/schemas/Retweet'
required:
- result
CreateRetweetResponse:
properties:
data:
$ref: '#/components/schemas/CreateRetweetResponseData'
required:
- data
CreateRetweetResponseData:
properties:
create_retweet:
$ref: '#/components/schemas/CreateRetweetResponseResult'
required:
- create_retweet
CreateRetweetResponseResult:
properties:
retweet_results:
$ref: '#/components/schemas/CreateRetweet'
required:
- retweet_results
CreateTweet:
properties:
result:
$ref: ./../schemas/tweet.yaml#/components/schemas/Tweet
required:
- result
CreateTweetResponse:
properties:
data:
$ref: '#/components/schemas/CreateTweetResponseData'
required:
- data
CreateTweetResponseData:
properties:
create_tweet:
$ref: '#/components/schemas/CreateTweetResponseResult'
required:
- create_tweet
CreateTweetResponseResult:
properties:
tweet_results:
$ref: '#/components/schemas/CreateTweet'
required:
- tweet_results
DeleteRetweet:
properties:
result:
items:
$ref: '#/components/schemas/Retweet'
type: object
required:
- result
DeleteRetweetResponse:
properties:
data:
$ref: '#/components/schemas/DeleteRetweetResponseData'
required:
- data
DeleteRetweetResponseData:
properties:
create_retweet:
$ref: '#/components/schemas/CreateRetweetResponseResult'
required:
- unretweet
DeleteRetweetResponseResult:
properties:
retweet_results:
$ref: '#/components/schemas/DeleteRetweet'
required:
- source_tweet_results
DeleteTweetResponse:
properties:
data:
$ref: '#/components/schemas/DeleteTweetResponseData'
required:
- data
DeleteTweetResponseData:
properties:
delete_retweet:
$ref: '#/components/schemas/DeleteTweetResponseResult'
required:
- delete_tweet
DeleteTweetResponseResult:
properties:
tweet_results:
type: object
required:
- tweet_results
FavoriteTweet:
properties:
favorite_tweet:
type: string
required:
- favorite_tweet
FavoriteTweetResponseData:
properties:
data:
$ref: '#/components/schemas/FavoriteTweet'
required:
- data
Retweet:
properties:
legacy:
properties:
full_text:
type: string
required:
- full_text
type: object
rest_id:
pattern: ^[0-9]+$
type: string
required:
- rest_id
- legacy
UnfavoriteTweet:
properties:
unfavorite_tweet:
type: string
required:
- unfavorite_tweet
UnfavoriteTweetResponseData:
properties:
data:
$ref: '#/components/schemas/UnfavoriteTweet'
required:
- data
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths:
/graphql/{pathQueryId}/CreateRetweet:
post:
description: create Retweet
operationId: postCreateRetweet
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: ojPdsZsimiJrUGLR1sjUtA
example: ojPdsZsimiJrUGLR1sjUtA
type: string
- in: query
name: queryId
required: true
schema:
default: ojPdsZsimiJrUGLR1sjUtA
example: ojPdsZsimiJrUGLR1sjUtA
type: string
- in: query
name: variables
required: true
schema:
properties:
dark_request:
default: false
example: false
type: boolean
tweet_id:
default: '1349129669258448897'
example: '1349129669258448897'
type: string
required:
- tweet_id
- dark_request
type: object
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/CreateRetweetResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- post
/graphql/{pathQueryId}/CreateTweet:
post:
description: create Tweet
operationId: postCreateTweet
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: 1RyAhNwby-gzGCRVsMxKbQ
example: 1RyAhNwby-gzGCRVsMxKbQ
type: string
- in: query
name: queryId
required: true
schema:
default: 1RyAhNwby-gzGCRVsMxKbQ
example: 1RyAhNwby-gzGCRVsMxKbQ
type: string
- in: query
name: variables
required: true
schema:
properties:
dark_request:
default: false
example: false
type: boolean
media:
properties:
media_entities:
items:
type: object
type: array
possibly_sensitive:
default: false
example: false
type: boolean
required:
- media_entities
- possibly_sensitive
type: object
semantic_annotation_ids:
items:
type: object
type: array
tweet_text:
default: test
example: test
type: string
required:
- tweet_text
- media
- semantic_annotation_ids
- dark_request
type: object
- in: query
name: features
required: true
schema:
properties:
blue_business_profile_image_shape_enabled:
default: true
example: true
type: boolean
freedom_of_speech_not_reach_fetch_enabled:
default: true
example: true
type: boolean
graphql_is_translatable_rweb_tweet_is_translatable_enabled:
default: true
example: true
type: boolean
interactive_text_enabled:
default: true
example: true
type: boolean
longform_notetweets_consumption_enabled:
default: true
example: true
type: boolean
longform_notetweets_rich_text_read_enabled:
default: true
example: true
type: boolean
responsive_web_edit_tweet_api_enabled:
default: true
example: true
type: boolean
responsive_web_enhance_cards_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_exclude_directive_enabled:
default: true
example: true
type: boolean
responsive_web_graphql_skip_user_profile_image_extensions_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_timeline_navigation_enabled:
default: true
example: true
type: boolean
responsive_web_text_conversations_enabled:
default: false
example: false
type: boolean
standardized_nudges_misinfo:
default: true
example: true
type: boolean
tweet_awards_web_tipping_enabled:
default: false
example: false
type: boolean
tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled:
default: false
example: false
type: boolean
tweetypie_unmention_optimization_enabled:
default: true
example: true
type: boolean
verified_phone_label_enabled:
default: false
example: false
type: boolean
vibe_api_enabled:
default: true
example: true
type: boolean
view_counts_everywhere_api_enabled:
default: true
example: true
type: boolean
required:
- tweetypie_unmention_optimization_enabled
- vibe_api_enabled
- responsive_web_edit_tweet_api_enabled
- graphql_is_translatable_rweb_tweet_is_translatable_enabled
- view_counts_everywhere_api_enabled
- longform_notetweets_consumption_enabled
- tweet_awards_web_tipping_enabled
- interactive_text_enabled
- responsive_web_text_conversations_enabled
- longform_notetweets_rich_text_read_enabled
- blue_business_profile_image_shape_enabled
- responsive_web_graphql_exclude_directive_enabled
- verified_phone_label_enabled
- freedom_of_speech_not_reach_fetch_enabled
- standardized_nudges_misinfo
- tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled
- responsive_web_graphql_skip_user_profile_image_extensions_enabled
- responsive_web_graphql_timeline_navigation_enabled
- responsive_web_enhance_cards_enabled
type: object
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/CreateTweetResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- post
/graphql/{pathQueryId}/DeleteRetweet:
post:
description: delete Retweet
operationId: postDeleteRetweet
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: iQtK4dl5hBmXewYZuEOKVw
example: iQtK4dl5hBmXewYZuEOKVw
type: string
- in: query
name: queryId
required: true
schema:
default: iQtK4dl5hBmXewYZuEOKVw
example: iQtK4dl5hBmXewYZuEOKVw
type: string
- in: query
name: variables
required: true
schema:
properties:
dark_request:
default: false
example: false
type: boolean
source_tweet_id:
default: '1349129669258448897'
example: '1349129669258448897'
type: string
required:
- source_tweet_id
- dark_request
type: object
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/DeleteRetweetResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- post
/graphql/{pathQueryId}/DeleteTweet:
post:
description: delete Retweet
operationId: postDeleteTweet
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: VaenaVgh5q5ih7kvyVjgtg
example: VaenaVgh5q5ih7kvyVjgtg
type: string
- in: query
name: queryId
required: true
schema:
default: VaenaVgh5q5ih7kvyVjgtg
example: VaenaVgh5q5ih7kvyVjgtg
type: string
- in: query
name: variables
required: true
schema:
properties:
dark_request:
default: false
example: false
type: boolean
tweet_id:
default: '1349129669258448897'
example: '1349129669258448897'
type: string
required:
- tweet_id
- dark_request
type: object
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/DeleteTweetResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- post
/graphql/{pathQueryId}/FavoriteTweet:
post:
description: favorite Tweet
operationId: postFavoriteTweet
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: lI07N6Otwv1PhnEgXILM7A
example: lI07N6Otwv1PhnEgXILM7A
type: string
- in: query
name: queryId
required: true
schema:
default: lI07N6Otwv1PhnEgXILM7A
example: lI07N6Otwv1PhnEgXILM7A
type: string
- in: query
name: variables
required: true
schema:
properties:
dark_request:
default: false
example: false
type: boolean
tweet_id:
default: '1349129669258448897'
example: '1349129669258448897'
type: string
required:
- tweet_id
- dark_request
type: object
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/FavoriteTweetResponseData'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- post
/graphql/{pathQueryId}/UnfavoriteTweet:
post:
description: unfavorite Tweet
operationId: postUnfavoriteTweet
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: ZYKSe-w7KEslx3JhSIk5LA
example: ZYKSe-w7KEslx3JhSIk5LA
type: string
- in: query
name: queryId
required: true
schema:
default: ZYKSe-w7KEslx3JhSIk5LA
example: ZYKSe-w7KEslx3JhSIk5LA
type: string
- in: query
name: variables
required: true
schema:
properties:
dark_request:
default: false
example: false
type: boolean
tweet_id:
default: '1349129669258448897'
example: '1349129669258448897'
type: string
required:
- tweet_id
- dark_request
type: object
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/UnfavoriteTweetResponseData'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- post

View file

@ -1,134 +0,0 @@
components:
schemas:
ProfileResponse:
properties:
data:
$ref: '#/components/schemas/ProfileResponseData'
required:
- data
ProfileResponseData:
properties:
user_result_by_screen_name:
$ref: '#/components/schemas/UserResultByScreenName'
required:
- user_result_by_screen_name
UserResultByScreenName:
properties:
id:
pattern: ^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?$
type: string
result:
$ref: '#/components/schemas/UserResultByScreenNameResult'
required:
- id
- result
UserResultByScreenNameLegacy:
properties:
blocked_by:
type: boolean
blocking:
type: boolean
followed_by:
type: boolean
following:
type: boolean
name:
type: string
protected:
type: boolean
screen_name:
type: string
UserResultByScreenNameResult:
properties:
__typename:
$ref: ./../schemas/typename.yaml#/components/schemas/TypeName
id:
pattern: ^[0-9a-zA-Z=]+$
type: string
legacy:
$ref: '#/components/schemas/UserResultByScreenNameLegacy'
profilemodules:
additionalProperties: true
type: object
rest_id:
pattern: ^[0-9]+$
type: string
required:
- __typename
- id
- legacy
- profilemodules
- rest_id
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths:
/graphql/{pathQueryId}/ProfileSpotlightsQuery:
get:
description: get user by screen name
operationId: getProfileSpotlightsQuery
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: 9zwVLJ48lmVUk8u_Gh9DmA
example: 9zwVLJ48lmVUk8u_Gh9DmA
type: string
- content:
application/json:
schema:
properties:
screen_name:
default: elonmusk
example: elonmusk
type: string
required:
- screen_name
type: object
in: query
name: variables
required: true
- content:
application/json:
schema:
properties: {}
type: object
in: query
name: features
required: true
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/ProfileResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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

View file

@ -1,811 +0,0 @@
components:
schemas:
HomeTimelineHome:
properties:
home_timeline_urt:
$ref: ./../schemas/timeline.yaml#/components/schemas/Timeline
required:
- home_timeline_urt
HomeTimelineResponseData:
properties:
home:
$ref: '#/components/schemas/HomeTimelineHome'
required:
- home
ListLatestTweetsTimelineResponse:
properties:
data:
$ref: '#/components/schemas/ListTweetsTimelineData'
required:
- data
ListTweetsTimeline:
properties:
timeline:
$ref: ./../schemas/timeline.yaml#/components/schemas/Timeline
required:
- timeline
ListTweetsTimelineData:
properties:
list:
$ref: '#/components/schemas/ListTweetsTimelineList'
required:
- list
ListTweetsTimelineList:
properties:
tweets_timeline:
$ref: '#/components/schemas/ListTweetsTimeline'
required:
- tweets_timeline
SearchByRawQuery:
properties:
search_timeline:
$ref: '#/components/schemas/SearchTimeline'
required:
- search_timeline
SearchTimeline:
properties:
timeline:
$ref: ./../schemas/timeline.yaml#/components/schemas/Timeline
required:
- timeline
SearchTimelineData:
properties:
search_by_raw_query:
$ref: '#/components/schemas/SearchByRawQuery'
required:
- search_by_raw_query
SearchTimelineResponse:
properties:
data:
$ref: '#/components/schemas/SearchTimelineData'
required:
- data
TimelineResponse:
properties:
data:
$ref: '#/components/schemas/HomeTimelineResponseData'
required:
- data
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths:
/graphql/{pathQueryId}/HomeLatestTimeline:
get:
description: get tweet list of timeline
operationId: getHomeLatestTimeline
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: zhX91JE87mWvfprhYE97xA
example: zhX91JE87mWvfprhYE97xA
type: string
- content:
application/json:
schema:
properties:
count:
default: 20
example: 20
type: integer
includePromotedContent:
default: true
example: true
type: boolean
latestControlAvailable:
default: true
example: true
type: boolean
requestContext:
default: launch
example: launch
type: string
required:
- count
- includePromotedContent
- latestControlAvailable
- requestContext
type: object
in: query
name: variables
required: true
- content:
application/json:
schema:
properties:
blue_business_profile_image_shape_enabled:
default: true
example: true
type: boolean
freedom_of_speech_not_reach_fetch_enabled:
default: false
example: false
type: boolean
graphql_is_translatable_rweb_tweet_is_translatable_enabled:
default: true
example: true
type: boolean
interactive_text_enabled:
default: true
example: true
type: boolean
longform_notetweets_consumption_enabled:
default: true
example: true
type: boolean
longform_notetweets_rich_text_read_enabled:
default: true
example: true
type: boolean
responsive_web_edit_tweet_api_enabled:
default: true
example: true
type: boolean
responsive_web_enhance_cards_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_exclude_directive_enabled:
default: true
example: true
type: boolean
responsive_web_graphql_skip_user_profile_image_extensions_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_timeline_navigation_enabled:
default: true
example: true
type: boolean
responsive_web_text_conversations_enabled:
default: false
example: false
type: boolean
standardized_nudges_misinfo:
default: true
example: true
type: boolean
tweet_awards_web_tipping_enabled:
default: false
example: false
type: boolean
tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled:
default: false
example: false
type: boolean
tweetypie_unmention_optimization_enabled:
default: true
example: true
type: boolean
verified_phone_label_enabled:
default: false
example: false
type: boolean
vibe_api_enabled:
default: true
example: true
type: boolean
view_counts_everywhere_api_enabled:
default: true
example: true
type: boolean
required:
- blue_business_profile_image_shape_enabled
- responsive_web_graphql_exclude_directive_enabled
- verified_phone_label_enabled
- responsive_web_graphql_timeline_navigation_enabled
- responsive_web_graphql_skip_user_profile_image_extensions_enabled
- tweetypie_unmention_optimization_enabled
- vibe_api_enabled
- responsive_web_edit_tweet_api_enabled
- graphql_is_translatable_rweb_tweet_is_translatable_enabled
- view_counts_everywhere_api_enabled
- longform_notetweets_consumption_enabled
- tweet_awards_web_tipping_enabled
- freedom_of_speech_not_reach_fetch_enabled
- standardized_nudges_misinfo
- tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled
- interactive_text_enabled
- responsive_web_text_conversations_enabled
- longform_notetweets_rich_text_read_enabled
- responsive_web_enhance_cards_enabled
type: object
in: query
name: features
required: true
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/TimelineResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- tweet
/graphql/{pathQueryId}/HomeTimeline:
get:
description: get tweet list of timeline
operationId: getHomeTimeline
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: HCosKfLNW1AcOo3la3mMgg
example: HCosKfLNW1AcOo3la3mMgg
type: string
- content:
application/json:
schema:
properties:
count:
default: 20
example: 20
type: integer
includePromotedContent:
default: true
example: true
type: boolean
latestControlAvailable:
default: true
example: true
type: boolean
requestContext:
default: launch
example: launch
type: string
withCommunity:
default: true
example: true
type: boolean
required:
- count
- includePromotedContent
- latestControlAvailable
- requestContext
- withCommunity
type: object
in: query
name: variables
required: true
- content:
application/json:
schema:
properties:
blue_business_profile_image_shape_enabled:
default: true
example: true
type: boolean
freedom_of_speech_not_reach_fetch_enabled:
default: false
example: false
type: boolean
graphql_is_translatable_rweb_tweet_is_translatable_enabled:
default: true
example: true
type: boolean
interactive_text_enabled:
default: true
example: true
type: boolean
longform_notetweets_consumption_enabled:
default: true
example: true
type: boolean
longform_notetweets_rich_text_read_enabled:
default: true
example: true
type: boolean
responsive_web_edit_tweet_api_enabled:
default: true
example: true
type: boolean
responsive_web_enhance_cards_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_exclude_directive_enabled:
default: true
example: true
type: boolean
responsive_web_graphql_skip_user_profile_image_extensions_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_timeline_navigation_enabled:
default: true
example: true
type: boolean
responsive_web_text_conversations_enabled:
default: false
example: false
type: boolean
standardized_nudges_misinfo:
default: true
example: true
type: boolean
tweet_awards_web_tipping_enabled:
default: false
example: false
type: boolean
tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled:
default: false
example: false
type: boolean
tweetypie_unmention_optimization_enabled:
default: true
example: true
type: boolean
verified_phone_label_enabled:
default: false
example: false
type: boolean
vibe_api_enabled:
default: true
example: true
type: boolean
view_counts_everywhere_api_enabled:
default: true
example: true
type: boolean
required:
- blue_business_profile_image_shape_enabled
- responsive_web_graphql_exclude_directive_enabled
- verified_phone_label_enabled
- responsive_web_graphql_timeline_navigation_enabled
- responsive_web_graphql_skip_user_profile_image_extensions_enabled
- tweetypie_unmention_optimization_enabled
- vibe_api_enabled
- responsive_web_edit_tweet_api_enabled
- graphql_is_translatable_rweb_tweet_is_translatable_enabled
- view_counts_everywhere_api_enabled
- longform_notetweets_consumption_enabled
- tweet_awards_web_tipping_enabled
- freedom_of_speech_not_reach_fetch_enabled
- standardized_nudges_misinfo
- tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled
- interactive_text_enabled
- responsive_web_text_conversations_enabled
- longform_notetweets_rich_text_read_enabled
- responsive_web_enhance_cards_enabled
type: object
in: query
name: features
required: true
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/TimelineResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- tweet
/graphql/{pathQueryId}/ListLatestTweetsTimeline:
get:
description: get tweet list of timeline
operationId: getListLatestTweetsTimeline
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: 2TemLyqrMpTeAmysdbnVqw
example: 2TemLyqrMpTeAmysdbnVqw
type: string
- content:
application/json:
schema:
properties:
count:
default: 20
example: 20
type: integer
listId:
default: '53044119'
example: '53044119'
type: string
required:
- listId
- count
type: object
in: query
name: variables
required: true
- content:
application/json:
schema:
properties:
blue_business_profile_image_shape_enabled:
default: true
example: true
type: boolean
freedom_of_speech_not_reach_fetch_enabled:
default: false
example: false
type: boolean
graphql_is_translatable_rweb_tweet_is_translatable_enabled:
default: true
example: true
type: boolean
interactive_text_enabled:
default: true
example: true
type: boolean
longform_notetweets_consumption_enabled:
default: true
example: true
type: boolean
longform_notetweets_rich_text_read_enabled:
default: true
example: true
type: boolean
responsive_web_edit_tweet_api_enabled:
default: true
example: true
type: boolean
responsive_web_enhance_cards_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_exclude_directive_enabled:
default: true
example: true
type: boolean
responsive_web_graphql_skip_user_profile_image_extensions_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_timeline_navigation_enabled:
default: true
example: true
type: boolean
responsive_web_text_conversations_enabled:
default: false
example: false
type: boolean
standardized_nudges_misinfo:
default: true
example: true
type: boolean
tweet_awards_web_tipping_enabled:
default: false
example: false
type: boolean
tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled:
default: false
example: false
type: boolean
tweetypie_unmention_optimization_enabled:
default: true
example: true
type: boolean
verified_phone_label_enabled:
default: false
example: false
type: boolean
vibe_api_enabled:
default: true
example: true
type: boolean
view_counts_everywhere_api_enabled:
default: true
example: true
type: boolean
required:
- blue_business_profile_image_shape_enabled
- responsive_web_graphql_exclude_directive_enabled
- verified_phone_label_enabled
- responsive_web_graphql_timeline_navigation_enabled
- responsive_web_graphql_skip_user_profile_image_extensions_enabled
- tweetypie_unmention_optimization_enabled
- vibe_api_enabled
- responsive_web_edit_tweet_api_enabled
- graphql_is_translatable_rweb_tweet_is_translatable_enabled
- view_counts_everywhere_api_enabled
- longform_notetweets_consumption_enabled
- tweet_awards_web_tipping_enabled
- freedom_of_speech_not_reach_fetch_enabled
- standardized_nudges_misinfo
- tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled
- interactive_text_enabled
- responsive_web_text_conversations_enabled
- longform_notetweets_rich_text_read_enabled
- responsive_web_enhance_cards_enabled
type: object
in: query
name: features
required: true
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/ListLatestTweetsTimelineResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- tweet
/graphql/{pathQueryId}/SearchTimeline:
get:
description: search tweet list. product:[Top, Latest, People, Photos, Videos]
operationId: getSearchTimeline
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: L1VfBERtzc3VkBBT0YAYHA
example: L1VfBERtzc3VkBBT0YAYHA
type: string
- content:
application/json:
schema:
properties:
count:
default: 20
example: 20
type: integer
product:
default: Top
example: Top
type: string
querySource:
default: typed_query
example: typed_query
type: string
rawQuery:
default: elonmusk
example: elonmusk
type: string
required:
- rawQuery
- count
- querySource
- product
type: object
in: query
name: variables
required: true
- content:
application/json:
schema:
properties:
creator_subscriptions_tweet_preview_api_enabled:
default: true
example: true
type: boolean
freedom_of_speech_not_reach_fetch_enabled:
default: true
example: true
type: boolean
graphql_is_translatable_rweb_tweet_is_translatable_enabled:
default: true
example: true
type: boolean
longform_notetweets_consumption_enabled:
default: true
example: true
type: boolean
longform_notetweets_inline_media_enabled:
default: true
example: true
type: boolean
longform_notetweets_rich_text_read_enabled:
default: true
example: true
type: boolean
responsive_web_edit_tweet_api_enabled:
default: true
example: true
type: boolean
responsive_web_enhance_cards_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_exclude_directive_enabled:
default: true
example: true
type: boolean
responsive_web_graphql_skip_user_profile_image_extensions_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_timeline_navigation_enabled:
default: true
example: true
type: boolean
responsive_web_media_download_video_enabled:
default: false
example: false
type: boolean
responsive_web_twitter_article_tweet_consumption_enabled:
default: false
example: false
type: boolean
rweb_lists_timeline_redesign_enabled:
default: true
example: true
type: boolean
standardized_nudges_misinfo:
default: true
example: true
type: boolean
tweet_awards_web_tipping_enabled:
default: false
example: false
type: boolean
tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled:
default: true
example: true
type: boolean
tweetypie_unmention_optimization_enabled:
default: true
example: true
type: boolean
verified_phone_label_enabled:
default: false
example: false
type: boolean
view_counts_everywhere_api_enabled:
default: true
example: true
type: boolean
required:
- rweb_lists_timeline_redesign_enabled
- responsive_web_graphql_exclude_directive_enabled
- verified_phone_label_enabled
- creator_subscriptions_tweet_preview_api_enabled
- responsive_web_graphql_timeline_navigation_enabled
- responsive_web_graphql_skip_user_profile_image_extensions_enabled
- tweetypie_unmention_optimization_enabled
- responsive_web_edit_tweet_api_enabled
- graphql_is_translatable_rweb_tweet_is_translatable_enabled
- view_counts_everywhere_api_enabled
- longform_notetweets_consumption_enabled
- responsive_web_twitter_article_tweet_consumption_enabled
- tweet_awards_web_tipping_enabled
- freedom_of_speech_not_reach_fetch_enabled
- standardized_nudges_misinfo
- tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled
- longform_notetweets_rich_text_read_enabled
- longform_notetweets_inline_media_enabled
- responsive_web_media_download_video_enabled
- responsive_web_enhance_cards_enabled
type: object
in: query
name: features
required: true
- content:
application/json:
schema:
properties:
withArticleRichContentState:
default: false
example: false
type: boolean
required:
- withArticleRichContentState
type: object
in: query
name: fieldToggles
required: true
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/SearchTimelineResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- tweet

View file

@ -1,797 +0,0 @@
components:
schemas:
TweetDetailResponse:
properties:
data:
$ref: '#/components/schemas/TweetDetailResponseData'
required:
- data
TweetDetailResponseData:
properties:
threaded_conversation_with_injections_v2:
$ref: ./../schemas/timeline.yaml#/components/schemas/Timeline
required:
- threaded_conversation_with_injections_v2
TweetFavoritersResponse:
properties:
data:
$ref: '#/components/schemas/TweetFavoritersResponseData'
required:
- data
TweetFavoritersResponseData:
properties:
favoriters_timeline:
$ref: ./../schemas/timeline.yaml#/components/schemas/TimelineV2
required:
- favoriters_timeline
TweetResultByRestIdData:
properties:
tweetResult:
$ref: ./../schemas/content.yaml#/components/schemas/ItemResult
required:
- tweetResult
TweetResultByRestIdResponse:
properties:
data:
$ref: '#/components/schemas/TweetResultByRestIdData'
required:
- data
TweetRetweetersResponse:
properties:
data:
$ref: '#/components/schemas/TweetRetweetersResponseData'
required:
- data
TweetRetweetersResponseData:
properties:
retweeters_timeline:
$ref: ./../schemas/timeline.yaml#/components/schemas/TimelineV2
required:
- retweeters_timeline
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths:
/graphql/{pathQueryId}/Favoriters:
get:
description: get tweet favoriters
operationId: getFavoriters
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: rUyh8HWk8IXv_fvVKj3QjA
example: rUyh8HWk8IXv_fvVKj3QjA
type: string
- content:
application/json:
schema:
properties:
count:
default: 20
example: 20
type: integer
includePromotedContent:
default: true
example: true
type: boolean
tweetId:
default: '1349129669258448897'
example: '1349129669258448897'
type: string
required:
- tweetId
- count
- includePromotedContent
type: object
in: query
name: variables
required: true
- content:
application/json:
schema:
properties:
creator_subscriptions_tweet_preview_api_enabled:
default: true
example: true
type: boolean
freedom_of_speech_not_reach_fetch_enabled:
default: true
example: true
type: boolean
graphql_is_translatable_rweb_tweet_is_translatable_enabled:
default: true
example: true
type: boolean
longform_notetweets_consumption_enabled:
default: true
example: true
type: boolean
longform_notetweets_inline_media_enabled:
default: true
example: true
type: boolean
longform_notetweets_rich_text_read_enabled:
default: true
example: true
type: boolean
responsive_web_edit_tweet_api_enabled:
default: true
example: true
type: boolean
responsive_web_enhance_cards_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_exclude_directive_enabled:
default: true
example: true
type: boolean
responsive_web_graphql_skip_user_profile_image_extensions_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_timeline_navigation_enabled:
default: true
example: true
type: boolean
responsive_web_media_download_video_enabled:
default: false
example: false
type: boolean
responsive_web_twitter_article_tweet_consumption_enabled:
default: false
example: false
type: boolean
rweb_lists_timeline_redesign_enabled:
default: true
example: true
type: boolean
standardized_nudges_misinfo:
default: true
example: true
type: boolean
tweet_awards_web_tipping_enabled:
default: false
example: false
type: boolean
tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled:
default: true
example: true
type: boolean
tweetypie_unmention_optimization_enabled:
default: true
example: true
type: boolean
verified_phone_label_enabled:
default: false
example: false
type: boolean
view_counts_everywhere_api_enabled:
default: true
example: true
type: boolean
required:
- rweb_lists_timeline_redesign_enabled
- responsive_web_graphql_exclude_directive_enabled
- verified_phone_label_enabled
- creator_subscriptions_tweet_preview_api_enabled
- responsive_web_graphql_timeline_navigation_enabled
- responsive_web_graphql_skip_user_profile_image_extensions_enabled
- tweetypie_unmention_optimization_enabled
- responsive_web_edit_tweet_api_enabled
- graphql_is_translatable_rweb_tweet_is_translatable_enabled
- view_counts_everywhere_api_enabled
- longform_notetweets_consumption_enabled
- responsive_web_twitter_article_tweet_consumption_enabled
- tweet_awards_web_tipping_enabled
- freedom_of_speech_not_reach_fetch_enabled
- standardized_nudges_misinfo
- tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled
- longform_notetweets_rich_text_read_enabled
- longform_notetweets_inline_media_enabled
- responsive_web_media_download_video_enabled
- responsive_web_enhance_cards_enabled
type: object
in: query
name: features
required: true
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/TweetFavoritersResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- user-list
/graphql/{pathQueryId}/Retweeters:
get:
description: get tweet retweeters
operationId: getRetweeters
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: Gnw_Swm60cS-biSLn2OWNw
example: Gnw_Swm60cS-biSLn2OWNw
type: string
- content:
application/json:
schema:
properties:
count:
default: 20
example: 20
type: integer
includePromotedContent:
default: true
example: true
type: boolean
tweetId:
default: '1349129669258448897'
example: '1349129669258448897'
type: string
required:
- tweetId
- count
- includePromotedContent
type: object
in: query
name: variables
required: true
- content:
application/json:
schema:
properties:
creator_subscriptions_tweet_preview_api_enabled:
default: true
example: true
type: boolean
freedom_of_speech_not_reach_fetch_enabled:
default: true
example: true
type: boolean
graphql_is_translatable_rweb_tweet_is_translatable_enabled:
default: true
example: true
type: boolean
longform_notetweets_consumption_enabled:
default: true
example: true
type: boolean
longform_notetweets_inline_media_enabled:
default: true
example: true
type: boolean
longform_notetweets_rich_text_read_enabled:
default: true
example: true
type: boolean
responsive_web_edit_tweet_api_enabled:
default: true
example: true
type: boolean
responsive_web_enhance_cards_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_exclude_directive_enabled:
default: true
example: true
type: boolean
responsive_web_graphql_skip_user_profile_image_extensions_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_timeline_navigation_enabled:
default: true
example: true
type: boolean
responsive_web_media_download_video_enabled:
default: false
example: false
type: boolean
responsive_web_twitter_article_tweet_consumption_enabled:
default: false
example: false
type: boolean
rweb_lists_timeline_redesign_enabled:
default: true
example: true
type: boolean
standardized_nudges_misinfo:
default: true
example: true
type: boolean
tweet_awards_web_tipping_enabled:
default: false
example: false
type: boolean
tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled:
default: true
example: true
type: boolean
tweetypie_unmention_optimization_enabled:
default: true
example: true
type: boolean
verified_phone_label_enabled:
default: false
example: false
type: boolean
view_counts_everywhere_api_enabled:
default: true
example: true
type: boolean
required:
- rweb_lists_timeline_redesign_enabled
- responsive_web_graphql_exclude_directive_enabled
- verified_phone_label_enabled
- creator_subscriptions_tweet_preview_api_enabled
- responsive_web_graphql_timeline_navigation_enabled
- responsive_web_graphql_skip_user_profile_image_extensions_enabled
- tweetypie_unmention_optimization_enabled
- responsive_web_edit_tweet_api_enabled
- graphql_is_translatable_rweb_tweet_is_translatable_enabled
- view_counts_everywhere_api_enabled
- longform_notetweets_consumption_enabled
- responsive_web_twitter_article_tweet_consumption_enabled
- tweet_awards_web_tipping_enabled
- freedom_of_speech_not_reach_fetch_enabled
- standardized_nudges_misinfo
- tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled
- longform_notetweets_rich_text_read_enabled
- longform_notetweets_inline_media_enabled
- responsive_web_media_download_video_enabled
- responsive_web_enhance_cards_enabled
type: object
in: query
name: features
required: true
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/TweetRetweetersResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- user-list
/graphql/{pathQueryId}/TweetDetail:
get:
description: get TweetDetail
operationId: getTweetDetail
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: wNNG8DBB8EaXw1lq4vFWGA
example: wNNG8DBB8EaXw1lq4vFWGA
type: string
- content:
application/json:
schema:
properties:
focalTweetId:
default: '1349129669258448897'
example: '1349129669258448897'
type: string
includePromotedContent:
default: true
example: true
type: boolean
withBirdwatchNotes:
default: true
example: true
type: boolean
withCommunity:
default: true
example: true
type: boolean
withQuickPromoteEligibilityTweetFields:
default: true
example: true
type: boolean
withV2Timeline:
default: true
example: true
type: boolean
withVoice:
default: true
example: true
type: boolean
with_rux_injections:
default: false
example: false
type: boolean
required:
- focalTweetId
- with_rux_injections
- includePromotedContent
- withCommunity
- withQuickPromoteEligibilityTweetFields
- withBirdwatchNotes
- withVoice
- withV2Timeline
type: object
in: query
name: variables
required: true
- content:
application/json:
schema:
properties:
blue_business_profile_image_shape_enabled:
default: true
example: true
type: boolean
freedom_of_speech_not_reach_fetch_enabled:
default: false
example: false
type: boolean
graphql_is_translatable_rweb_tweet_is_translatable_enabled:
default: true
example: true
type: boolean
interactive_text_enabled:
default: true
example: true
type: boolean
longform_notetweets_consumption_enabled:
default: true
example: true
type: boolean
longform_notetweets_rich_text_read_enabled:
default: true
example: true
type: boolean
responsive_web_edit_tweet_api_enabled:
default: true
example: true
type: boolean
responsive_web_enhance_cards_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_exclude_directive_enabled:
default: true
example: true
type: boolean
responsive_web_graphql_skip_user_profile_image_extensions_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_timeline_navigation_enabled:
default: true
example: true
type: boolean
responsive_web_text_conversations_enabled:
default: false
example: false
type: boolean
standardized_nudges_misinfo:
default: true
example: true
type: boolean
tweet_awards_web_tipping_enabled:
default: false
example: false
type: boolean
tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled:
default: false
example: false
type: boolean
tweetypie_unmention_optimization_enabled:
default: true
example: true
type: boolean
verified_phone_label_enabled:
default: false
example: false
type: boolean
vibe_api_enabled:
default: true
example: true
type: boolean
view_counts_everywhere_api_enabled:
default: true
example: true
type: boolean
required:
- blue_business_profile_image_shape_enabled
- responsive_web_graphql_exclude_directive_enabled
- verified_phone_label_enabled
- responsive_web_graphql_timeline_navigation_enabled
- responsive_web_graphql_skip_user_profile_image_extensions_enabled
- tweetypie_unmention_optimization_enabled
- vibe_api_enabled
- responsive_web_edit_tweet_api_enabled
- graphql_is_translatable_rweb_tweet_is_translatable_enabled
- view_counts_everywhere_api_enabled
- longform_notetweets_consumption_enabled
- tweet_awards_web_tipping_enabled
- freedom_of_speech_not_reach_fetch_enabled
- standardized_nudges_misinfo
- tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled
- interactive_text_enabled
- responsive_web_text_conversations_enabled
- longform_notetweets_rich_text_read_enabled
- responsive_web_enhance_cards_enabled
type: object
in: query
name: features
required: true
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/TweetDetailResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- tweet
/graphql/{pathQueryId}/TweetResultByRestId:
get:
description: get TweetResultByRestId
operationId: getTweetResultByRestId
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: 0hWvDhmW8YQ-S_ib3azIrw
example: 0hWvDhmW8YQ-S_ib3azIrw
type: string
- content:
application/json:
schema:
properties:
includePromotedContent:
default: false
example: false
type: boolean
tweetId:
default: '1691730070669517096'
example: '1691730070669517096'
type: string
withCommunity:
default: false
example: false
type: boolean
withVoice:
default: false
example: false
type: boolean
required:
- tweetId
- withCommunity
- includePromotedContent
- withVoice
type: object
in: query
name: variables
required: true
- content:
application/json:
schema:
properties:
creator_subscriptions_tweet_preview_api_enabled:
default: true
example: true
type: boolean
freedom_of_speech_not_reach_fetch_enabled:
default: true
example: true
type: boolean
graphql_is_translatable_rweb_tweet_is_translatable_enabled:
default: true
example: true
type: boolean
longform_notetweets_consumption_enabled:
default: true
example: true
type: boolean
longform_notetweets_inline_media_enabled:
default: true
example: true
type: boolean
longform_notetweets_rich_text_read_enabled:
default: true
example: true
type: boolean
responsive_web_edit_tweet_api_enabled:
default: true
example: true
type: boolean
responsive_web_enhance_cards_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_exclude_directive_enabled:
default: true
example: true
type: boolean
responsive_web_graphql_skip_user_profile_image_extensions_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_timeline_navigation_enabled:
default: true
example: true
type: boolean
responsive_web_media_download_video_enabled:
default: false
example: false
type: boolean
responsive_web_twitter_article_tweet_consumption_enabled:
default: false
example: false
type: boolean
standardized_nudges_misinfo:
default: true
example: true
type: boolean
tweet_awards_web_tipping_enabled:
default: false
example: false
type: boolean
tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled:
default: true
example: true
type: boolean
tweetypie_unmention_optimization_enabled:
default: true
example: true
type: boolean
verified_phone_label_enabled:
default: false
example: false
type: boolean
view_counts_everywhere_api_enabled:
default: true
example: true
type: boolean
required:
- creator_subscriptions_tweet_preview_api_enabled
- tweetypie_unmention_optimization_enabled
- responsive_web_edit_tweet_api_enabled
- graphql_is_translatable_rweb_tweet_is_translatable_enabled
- view_counts_everywhere_api_enabled
- longform_notetweets_consumption_enabled
- responsive_web_twitter_article_tweet_consumption_enabled
- tweet_awards_web_tipping_enabled
- freedom_of_speech_not_reach_fetch_enabled
- standardized_nudges_misinfo
- tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled
- longform_notetweets_rich_text_read_enabled
- longform_notetweets_inline_media_enabled
- responsive_web_graphql_exclude_directive_enabled
- verified_phone_label_enabled
- responsive_web_media_download_video_enabled
- responsive_web_graphql_skip_user_profile_image_extensions_enabled
- responsive_web_graphql_timeline_navigation_enabled
- responsive_web_enhance_cards_enabled
type: object
in: query
name: features
required: true
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/TweetResultByRestIdResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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

View file

@ -1,338 +0,0 @@
components:
schemas:
UserResponse:
properties:
data:
$ref: '#/components/schemas/UserResponseData'
required:
- data
UserResponseData:
properties:
user:
$ref: ./../schemas/user.yaml#/components/schemas/UserResults
required:
- user
UsersResponse:
properties:
data:
$ref: '#/components/schemas/UsersResponseData'
required:
- data
UsersResponseData:
properties:
users:
items:
$ref: ./../schemas/user.yaml#/components/schemas/UserResults
type: array
required:
- users
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths:
/graphql/{pathQueryId}/UserByRestId:
get:
description: get user by rest id
operationId: getUserByRestId
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: Lxg1V9AiIzzXEiP2c8dRnw
example: Lxg1V9AiIzzXEiP2c8dRnw
type: string
- content:
application/json:
schema:
properties:
userId:
default: '44196397'
example: '44196397'
type: string
withSafetyModeUserFields:
default: true
example: true
type: boolean
required:
- userId
- withSafetyModeUserFields
type: object
in: query
name: variables
required: true
- content:
application/json:
schema:
properties:
creator_subscriptions_tweet_preview_api_enabled:
default: true
example: true
type: boolean
hidden_profile_likes_enabled:
default: false
example: false
type: boolean
highlights_tweets_tab_ui_enabled:
default: true
example: true
type: boolean
responsive_web_graphql_exclude_directive_enabled:
default: true
example: true
type: boolean
responsive_web_graphql_skip_user_profile_image_extensions_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_timeline_navigation_enabled:
default: true
example: true
type: boolean
verified_phone_label_enabled:
default: false
example: false
type: boolean
required:
- hidden_profile_likes_enabled
- responsive_web_graphql_exclude_directive_enabled
- verified_phone_label_enabled
- highlights_tweets_tab_ui_enabled
- creator_subscriptions_tweet_preview_api_enabled
- responsive_web_graphql_skip_user_profile_image_extensions_enabled
- responsive_web_graphql_timeline_navigation_enabled
type: object
in: query
name: features
required: true
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/UserResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- user
/graphql/{pathQueryId}/UserByScreenName:
get:
description: get user by screen name
operationId: getUserByScreenName
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: sLVLhk0bGj3MVFEKTdax1w
example: sLVLhk0bGj3MVFEKTdax1w
type: string
- content:
application/json:
schema:
properties:
screen_name:
default: elonmusk
example: elonmusk
type: string
withSafetyModeUserFields:
default: true
example: true
type: boolean
required:
- screen_name
- withSafetyModeUserFields
type: object
in: query
name: variables
required: true
- content:
application/json:
schema:
properties:
blue_business_profile_image_shape_enabled:
default: true
example: true
type: boolean
responsive_web_graphql_exclude_directive_enabled:
default: true
example: true
type: boolean
responsive_web_graphql_skip_user_profile_image_extensions_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_timeline_navigation_enabled:
default: true
example: true
type: boolean
verified_phone_label_enabled:
default: false
example: false
type: boolean
required:
- blue_business_profile_image_shape_enabled
- responsive_web_graphql_exclude_directive_enabled
- verified_phone_label_enabled
- responsive_web_graphql_skip_user_profile_image_extensions_enabled
- responsive_web_graphql_timeline_navigation_enabled
type: object
in: query
name: features
required: true
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/UserResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- user
/graphql/{pathQueryId}/UsersByRestIds:
get:
description: get users by rest ids
operationId: getUsersByRestIds
parameters:
- in: path
name: pathQueryId
required: true
schema:
default: GD4q8bBE2i6cqWw2iT74Gg
example: GD4q8bBE2i6cqWw2iT74Gg
type: string
- content:
application/json:
schema:
properties:
userIds:
items:
default: '44196397'
example: '44196397'
type: string
type: array
required:
- userIds
type: object
in: query
name: variables
required: true
- content:
application/json:
schema:
properties:
responsive_web_graphql_exclude_directive_enabled:
default: true
example: true
type: boolean
responsive_web_graphql_skip_user_profile_image_extensions_enabled:
default: false
example: false
type: boolean
responsive_web_graphql_timeline_navigation_enabled:
default: true
example: true
type: boolean
verified_phone_label_enabled:
default: false
example: false
type: boolean
required:
- responsive_web_graphql_exclude_directive_enabled
- verified_phone_label_enabled
- responsive_web_graphql_skip_user_profile_image_extensions_enabled
- responsive_web_graphql_timeline_navigation_enabled
type: object
in: query
name: features
required: true
responses:
'200':
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/UsersResponse'
- $ref: ./../schemas/error.yaml#/components/schemas/Errors
description: Successful operation
headers:
x-connection-hash:
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
tags:
- users

File diff suppressed because it is too large Load diff

View file

@ -1,242 +0,0 @@
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths:
/1.1/friends/following/list.json:
get:
description: get friends following list
operationId: getFriendsFollowingList
parameters:
- in: query
name: include_profile_interstitial_type
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_blocking
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_blocked_by
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_followed_by
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_want_retweets
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_mute_edge
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_can_dm
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_can_media_tag
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_has_nft_avatar
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_is_blue_verified
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_verified_type
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_profile_image_shape
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: skip_status
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: cursor
required: true
schema:
default: -1
example: -1
type: integer
- in: query
name: user_id
required: true
schema:
default: '44196397'
example: '44196397'
type: string
- in: query
name: count
required: true
schema:
default: 3
example: 3
type: integer
- in: query
name: with_total_count
required: true
schema:
default: true
example: true
type: boolean
responses:
'200':
description: Successful operation
headers:
status:
schema:
type: string
x-access-level:
schema:
type: string
x-client-event-enabled:
schema:
type: boolean
x-connection-hash:
schema:
type: string
x-content-type-options:
schema:
type: string
x-response-time:
schema:
type: integer
x-transaction:
schema:
type: string
x-transaction-id:
schema:
type: string
x-twitter-response-tags:
schema:
type: string
tags:
- v1.1-get
/1.1/search/typeahead.json:
get:
description: get search typeahead
operationId: getSearchTypeahead
parameters:
- in: query
name: include_ext_is_blue_verified
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_verified_type
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_profile_image_shape
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: q
required: true
schema:
default: test
example: test
type: string
- in: query
name: src
required: true
schema:
default: search_box
example: search_box
type: string
- in: query
name: result_type
required: true
schema:
default: events,users,topics
example: events,users,topics
type: string
responses:
'200':
description: Successful operation
headers:
status:
schema:
type: string
x-access-level:
schema:
type: string
x-client-event-enabled:
schema:
type: boolean
x-connection-hash:
schema:
type: string
x-content-type-options:
schema:
type: string
x-response-time:
schema:
type: integer
x-transaction:
schema:
type: string
x-transaction-id:
schema:
type: string
x-twitter-response-tags:
schema:
type: string
tags:
- v1.1-get

View file

@ -1,237 +0,0 @@
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
parameters: []
requestBody:
content:
application/x-www-form-urlencoded:
schema:
properties:
include_blocked_by:
default: 1
example: 1
type: integer
include_blocking:
default: 1
example: 1
type: integer
include_can_dm:
default: 1
example: 1
type: integer
include_can_media_tag:
default: 1
example: 1
type: integer
include_ext_has_nft_avatar:
default: 1
example: 1
type: integer
include_ext_is_blue_verified:
default: 1
example: 1
type: integer
include_ext_profile_image_shape:
default: 1
example: 1
type: integer
include_ext_verified_type:
default: 1
example: 1
type: integer
include_followed_by:
default: 1
example: 1
type: integer
include_mute_edge:
default: 1
example: 1
type: integer
include_profile_interstitial_type:
default: 1
example: 1
type: integer
include_want_retweets:
default: 1
example: 1
type: integer
skip_status:
default: 1
example: 1
type: integer
user_id:
default: '44196397'
example: '44196397'
type: string
required:
- include_profile_interstitial_type
- include_blocking
- include_blocked_by
- include_followed_by
- include_want_retweets
- include_mute_edge
- include_can_dm
- include_can_media_tag
- include_ext_has_nft_avatar
- include_ext_is_blue_verified
- include_ext_verified_type
- include_ext_profile_image_shape
- skip_status
- user_id
description: body
required: true
responses:
'200':
description: Successful operation
headers:
status:
schema:
type: string
x-access-level:
schema:
type: string
x-client-event-enabled:
schema:
type: boolean
x-connection-hash:
schema:
type: string
x-content-type-options:
schema:
type: string
x-response-time:
schema:
type: integer
x-transaction:
schema:
type: string
x-transaction-id:
schema:
type: string
x-twitter-response-tags:
schema:
type: string
tags:
- v1.1-post
/1.1/friendships/destroy.json:
post:
description: post destroy friendships
operationId: postDestroyFriendships
parameters: []
requestBody:
content:
application/x-www-form-urlencoded:
schema:
properties:
include_blocked_by:
default: 1
example: 1
type: integer
include_blocking:
default: 1
example: 1
type: integer
include_can_dm:
default: 1
example: 1
type: integer
include_can_media_tag:
default: 1
example: 1
type: integer
include_ext_has_nft_avatar:
default: 1
example: 1
type: integer
include_ext_is_blue_verified:
default: 1
example: 1
type: integer
include_ext_profile_image_shape:
default: 1
example: 1
type: integer
include_ext_verified_type:
default: 1
example: 1
type: integer
include_followed_by:
default: 1
example: 1
type: integer
include_mute_edge:
default: 1
example: 1
type: integer
include_profile_interstitial_type:
default: 1
example: 1
type: integer
include_want_retweets:
default: 1
example: 1
type: integer
skip_status:
default: 1
example: 1
type: integer
user_id:
default: '44196397'
example: '44196397'
type: string
required:
- include_profile_interstitial_type
- include_blocking
- include_blocked_by
- include_followed_by
- include_want_retweets
- include_mute_edge
- include_can_dm
- include_can_media_tag
- include_ext_has_nft_avatar
- include_ext_is_blue_verified
- include_ext_verified_type
- include_ext_profile_image_shape
- skip_status
- user_id
description: body
required: true
responses:
'200':
description: Successful operation
headers:
status:
schema:
type: string
x-access-level:
schema:
type: string
x-client-event-enabled:
schema:
type: boolean
x-connection-hash:
schema:
type: string
x-content-type-options:
schema:
type: string
x-response-time:
schema:
type: integer
x-transaction:
schema:
type: string
x-transaction-id:
schema:
type: string
x-twitter-response-tags:
schema:
type: string
tags:
- v1.1-post

View file

@ -1,302 +0,0 @@
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths:
/2/search/adaptive.json:
get:
description: get search adaptive
operationId: getSearchAdaptive
parameters:
- in: query
name: include_profile_interstitial_type
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_blocking
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_blocked_by
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_followed_by
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_want_retweets
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_mute_edge
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_can_dm
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_can_media_tag
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_has_nft_avatar
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_is_blue_verified
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_verified_type
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_profile_image_shape
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: skip_status
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: cards_platform
required: true
schema:
default: Web-12
example: Web-12
type: string
- in: query
name: include_cards
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_alt_text
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: include_ext_limited_action_results
required: true
schema:
default: false
example: false
type: boolean
- in: query
name: include_quote_count
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: include_reply_count
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: tweet_mode
required: true
schema:
default: extended
example: extended
type: string
- in: query
name: include_ext_views
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: include_entities
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: include_user_entities
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: include_ext_media_color
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: include_ext_media_availability
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: include_ext_sensitive_media_warning
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: include_ext_trusted_friends_metadata
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: send_error_codes
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: simple_quoted_tweet
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: q
required: true
schema:
default: elon musk
example: elon musk
type: string
- in: query
name: query_source
required: true
schema:
default: trend_click
example: trend_click
type: string
- in: query
name: count
required: true
schema:
default: 20
example: 20
type: integer
- in: query
name: requestContext
required: true
schema:
default: launch
example: launch
type: string
- in: query
name: pc
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: spelling_corrections
required: true
schema:
default: 1
example: 1
type: integer
- in: query
name: include_ext_edit_control
required: true
schema:
default: true
example: true
type: boolean
- in: query
name: ext
required: true
schema:
default: mediaStats,highlightedLabel,hasNftAvatar,voiceInfo,birdwatchPivot,enrichments,superFollowMetadata,unmentionInfo,editControl,vibe
example: mediaStats,highlightedLabel,hasNftAvatar,voiceInfo,birdwatchPivot,enrichments,superFollowMetadata,unmentionInfo,editControl,vibe
type: string
responses:
'200':
description: Successful operation
headers:
status:
schema:
type: string
x-access-level:
schema:
type: string
x-client-event-enabled:
schema:
type: boolean
x-connection-hash:
schema:
type: string
x-content-type-options:
schema:
type: string
x-response-time:
schema:
type: integer
x-transaction:
schema:
type: string
x-transaction-id:
schema:
type: string
x-twitter-response-tags:
schema:
type: string
tags:
- v2.0-get

View file

@ -1,13 +0,0 @@
components:
parameters:
queryId:
in: path
name: queryId
required: true
schema:
type: string
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths: {}

View file

@ -1,90 +0,0 @@
components:
schemas:
Error:
properties:
code:
type: integer
extensions:
$ref: '#/components/schemas/Extensions'
kind:
type: string
locations:
items:
$ref: '#/components/schemas/Location'
type: array
message:
type: string
name:
type: string
path:
items:
type: string
type: array
source:
type: string
tracing:
$ref: '#/components/schemas/Tracing'
required:
- message
- locations
- path
- extensions
- code
- kind
- name
- source
- tracing
type: object
ErrorResponse:
properties:
errors:
$ref: '#/components/schemas/Errors'
required:
- errors
- data
type: object
Errors:
items:
$ref: '#/components/schemas/Error'
type: array
Extensions:
properties:
code:
type: integer
kind:
type: string
name:
type: string
source:
type: string
tracing:
$ref: '#/components/schemas/Tracing'
required:
- name
- source
- code
- kind
- tracing
type: object
Location:
properties:
column:
type: integer
line:
type: integer
required:
- line
- column
type: object
Tracing:
properties:
trace_id:
type: string
required:
- trace_id
type: object
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths: {}

View file

@ -1,214 +0,0 @@
components:
schemas:
ClientEventInfo:
properties:
component:
type: string
details:
additionalProperties: true
type: object
element:
type: string
ContentEntryType:
enum:
- TimelineTimelineItem
- TimelineTimelineCursor
- TimelineTimelineModule
type: string
ContentItemType:
enum:
- TimelineTweet
- TimelineTimelineCursor
- TimelineUser
- TimelinePrompt
- TimelineMessagePrompt
type: string
ContentUnion:
discriminator:
mapping":
TimelineTimelineCursor: '#/components/schemas/TimelineTimelineCursor'
TimelineTimelineItem: '#/components/schemas/TimelineTimelineItem'
TimelineTimelineModule: '#/components/schemas/TimelineTimelineModule'
propertyName: entryType
oneOf:
- $ref: '#/components/schemas/TimelineTimelineItem'
- $ref: '#/components/schemas/TimelineTimelineModule'
- $ref: '#/components/schemas/TimelineTimelineCursor'
CursorType:
enum:
- Top
- Bottom
- ShowMore
- ShowMoreThreads
- Gap
type: string
ItemContentUnion:
discriminator:
mapping":
TimelineMessagePrompt: '#/components/schemas/TimelineMessagePrompt'
TimelinePrompt: '#/components/schemas/TimelinePrompt'
TimelineTimelineCursor: '#/components/schemas/TimelineTimelineCursor'
TimelineTweet: '#/components/schemas/TimelineTweet'
TimelineUser: '#/components/schemas/TimelineUser'
propertyName: __typename
oneOf:
- $ref: '#/components/schemas/TimelineTweet'
- $ref: '#/components/schemas/TimelineTimelineCursor'
- $ref: '#/components/schemas/TimelineUser'
- $ref: '#/components/schemas/TimelinePrompt'
- $ref: '#/components/schemas/TimelineMessagePrompt'
ItemResult:
properties:
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
result:
$ref: ./tweet.yaml#/components/schemas/TweetUnion
required: null
ModuleEntry:
properties:
clientEventInfo:
$ref: '#/components/schemas/ClientEventInfo'
itemContent:
$ref: '#/components/schemas/ItemContentUnion'
required:
- clientEventInfo
- itemContent
ModuleItem:
properties:
entryId:
pattern: ^(([a-z]+|[0-9]+|[0-9a-f]+)(-|$))+
type: string
item:
$ref: '#/components/schemas/ModuleEntry'
required:
- entryId
- item
SocialContext:
properties:
contextType:
type: string
text:
type: string
type:
type: string
type: object
TimelineMessagePrompt:
additionalProperties: true
properties:
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
TimelinePrompt:
additionalProperties: true
properties:
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
TimelineTimelineCursor:
properties:
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
cursorType:
$ref: '#/components/schemas/CursorType'
entryType:
$ref: '#/components/schemas/ContentEntryType'
itemType:
$ref: '#/components/schemas/ContentEntryType'
value:
type: string
required:
- __typename
- cursorType
- value
TimelineTimelineItem:
properties:
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
clientEventInfo:
$ref: '#/components/schemas/ClientEventInfo'
entryType:
$ref: '#/components/schemas/ContentEntryType'
feedbackInfo:
additionalProperties: true
type: object
itemContent:
$ref: '#/components/schemas/ItemContentUnion'
required:
- __typename
- entryType
- itemContent
TimelineTimelineModule:
properties:
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
type: string
clientEventInfo:
additionalProperties: true
type: object
displayType:
enum:
- Vertical
- VerticalConversation
type: string
entryType:
$ref: '#/components/schemas/ContentEntryType'
footer:
additionalProperties: true
type: object
header:
additionalProperties: true
type: object
items:
items:
$ref: '#/components/schemas/ModuleItem'
type: array
required:
- __typename
- entryType
- displayType
- clientEventInfo
TimelineTweet:
properties:
SocialContext:
$ref: '#/components/schemas/SocialContext'
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
itemType:
$ref: '#/components/schemas/ContentItemType'
promotedMetadata:
additionalProperties: true
type: object
tweetDisplayType:
type: string
tweet_results:
$ref: '#/components/schemas/ItemResult'
required:
- __typename
- itemType
- tweetDisplayType
- tweet_results
TimelineUser:
properties:
SocialContext:
$ref: '#/components/schemas/SocialContext'
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
itemType:
$ref: '#/components/schemas/ContentItemType'
userDisplayType:
enum:
- User
- UserDetailed
- SubscribableUser
type: string
user_results:
$ref: ./user.yaml#/components/schemas/UserResults
required:
- __typename
- itemType
- socialContext
- userDisplayType
- user_results
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths: {}

View file

@ -1,94 +0,0 @@
components:
schemas:
Error:
properties:
code:
type: integer
extensions:
$ref: '#/components/schemas/ErrorExtensions'
kind:
type: string
locations:
items:
$ref: '#/components/schemas/Location'
type: array
message:
type: string
name:
type: string
path:
items:
type: string
type: array
retry_after:
type: integer
source:
type: string
tracing:
$ref: '#/components/schemas/Tracing'
required:
- message
- locations
- path
- extensions
- code
- kind
- name
- source
- retry_after
- tracing
type: object
ErrorExtensions:
properties:
code:
type: integer
kind:
type: string
name:
type: string
retry_after:
type: integer
source:
type: string
tracing:
$ref: '#/components/schemas/Tracing'
required:
- name
- source
- retry_after
- code
- kind
- tracing
type: object
Errors:
properties:
errors:
items:
$ref: '#/components/schemas/Error'
type: array
required:
- errors
type: object
Location:
properties:
column:
type: integer
line:
type: integer
required:
- line
- column
type: object
Tracing:
properties:
trace_id:
pattern: ^[0-9a-f]{16}$
type: string
required:
- trace_id
type: object
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths: {}

View file

@ -1,13 +0,0 @@
components:
schemas:
TwitterTimeFormat:
example: Sat Dec 31 23:59:59 +0000 2023
pattern: ^(Sun|Mon|Tue|Wed|Thu|Fri|Sat) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)
(0[1-9]|[12][0-9]|3[01]) (0[0-9]|1[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])
([+-][0-9]{4}) ([0-9]{4})$
type: string
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths: {}

View file

@ -1,286 +0,0 @@
components:
schemas:
Callback:
properties:
endpoint:
format: uri
type: string
required:
- endpoint
CoverCta:
properties:
Text:
type: string
buttonStyle:
enum:
- Primary
type: string
callbacks:
items:
$ref: '#/components/schemas/Callback'
type: array
clientEventInfo:
$ref: '#/components/schemas/CtaClientEventInfo'
ctaBehavior:
$ref: '#/components/schemas/TimelineCoverBehavior'
required:
- text
- ctaBehavior
- callbacks
- clientEventInfo
- buttonStyle
CtaClientEventInfo:
properties:
action:
enum:
- primary_cta
type: string
required:
- action
InstructionType:
enum:
- TimelineAddEntries
- TimelineAddToModule
- TimelineClearCache
- TimelinePinEntry
- TimelineReplaceEntry
- TimelineShowAlert
- TimelineTerminateTimeline
- TimelineShowCover
type: string
InstructionUnion:
discriminator:
mapping":
TimelineAddEntries: '#/components/schemas/TimelineAddEntries'
TimelineAddToModule: '#/components/schemas/TimelineAddToModule'
TimelineClearCache: '#/components/schemas/TimelineClearCache'
TimelinePinEntry: '#/components/schemas/TimelinePinEntry'
TimelineReplaceEntry: '#/components/schemas/TimelineReplaceEntry'
TimelineShowAlert: '#/components/schemas/TimelineShowAlert'
TimelineShowCover: '#/components/schemas/TimelineShowCover'
TimelineTerminateTimeline: '#/components/schemas/TimelineTerminateTimeline'
propertyName: type
oneOf:
- $ref: '#/components/schemas/TimelineAddEntries'
- $ref: '#/components/schemas/TimelineAddToModule'
- $ref: '#/components/schemas/TimelineClearCache'
- $ref: '#/components/schemas/TimelinePinEntry'
- $ref: '#/components/schemas/TimelineReplaceEntry'
- $ref: '#/components/schemas/TimelineShowAlert'
- $ref: '#/components/schemas/TimelineTerminateTimeline'
- $ref: '#/components/schemas/TimelineShowCover'
Text:
properties:
entities:
items:
$ref: '#/components/schemas/TextEntity'
type: array
text:
type: string
required:
- text
- entities
TextEntity:
properties:
fromIndex:
type: integer
ref:
$ref: '#/components/schemas/TextEntityRef'
toIndex:
type: integer
required:
- fromIndex
- toIndex
- ref
TextEntityRef:
properties:
type:
enum:
- TimelineUrl
type: string
url:
format: uri
type: string
urlType:
enum:
- ExternalUrl
type: string
required:
- type
- url
- urlType
TimelineAddEntries:
properties:
entries:
items:
$ref: '#/components/schemas/TimelineAddEntry'
type: array
type:
$ref: '#/components/schemas/InstructionType'
required:
- type
- entries
TimelineAddEntry:
properties:
content:
$ref: ./content.yaml#/components/schemas/ContentUnion
entryId:
pattern: ^(([a-z]+|[0-9]+|[0-9a-f]+)(-|$))+
type: string
sortIndex:
pattern: '[0-9]+$'
type: string
required:
- content
- entryId
- sortIndex
TimelineAddToModule:
properties:
moduleEntryId:
type: string
moduleItems:
items:
$ref: ./content.yaml#/components/schemas/ModuleItem
type: array
prepend:
type: boolean
type:
$ref: '#/components/schemas/InstructionType'
required:
- type
- moduleItems
- moduleEntryId
TimelineClearCache:
properties:
type:
$ref: '#/components/schemas/InstructionType'
required:
- type
TimelineCoverBehavior:
properties:
type:
enum:
- TimelineCoverBehaviorDismiss
type: string
required:
- type
TimelineHalfCover:
properties:
dismissible:
type: boolean
halfCoverDisplayType:
enum:
- Cover
type: string
impressionCallbacks:
items:
$ref: '#/components/schemas/Callback'
type: array
primaryCoverCta:
$ref: '#/components/schemas/CoverCta'
primaryText:
$ref: '#/components/schemas/Text'
secondaryText:
$ref: '#/components/schemas/Text'
type:
enum:
- TimelineHalfCover
type: string
required:
- type
- halfCoverDisplayType
- primaryText
- primaryCoverCta
- secondaryText
- impressionCallbacks
- dismissible
TimelinePinEntry:
properties:
entry:
$ref: '#/components/schemas/TimelineAddEntry'
type:
$ref: '#/components/schemas/InstructionType'
required:
- type
- entry
TimelineReplaceEntry:
properties:
entry:
$ref: '#/components/schemas/TimelineAddEntry'
entry_id_to_replace:
type: string
type:
$ref: '#/components/schemas/InstructionType'
required:
- type
- entry_id_to_replace
- entry
TimelineShowAlert:
properties:
alertType:
enum:
- NewTweets
type: string
colorConfig:
additionalProperties: true
type: object
displayDurationMs:
type: integer
displayLocation:
enum:
- Top
type: string
iconDisplayInfo:
additionalProperties: true
type: object
richText:
properties:
entities:
items:
additionalProperties: true
type: object
type: array
text:
type: string
type: object
triggerDelayMs:
type: integer
type:
$ref: '#/components/schemas/InstructionType'
usersResults:
items:
$ref: ./user.yaml#/components/schemas/UserResults
type: array
required:
- type
- usersResults
- richText
TimelineShowCover:
properties:
clientEventInfo:
$ref: ./content.yaml#/components/schemas/ClientEventInfo
cover:
$ref: '#/components/schemas/TimelineHalfCover'
type:
$ref: '#/components/schemas/InstructionType'
required:
- type
- clientEventInfo
- cover
TimelineTerminateTimeline:
properties:
direction:
enum:
- Top
- Bottom
type: string
type:
$ref: '#/components/schemas/InstructionType'
required:
- type
- direction
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths: {}

View file

@ -1,27 +0,0 @@
components:
schemas:
Timeline:
properties:
instructions:
items:
$ref: ./../schemas/instruction.yaml#/components/schemas/InstructionUnion
type: array
metadata:
additionalProperties: true
type: object
responseObjects:
additionalProperties: true
type: object
required:
- instructions
TimelineV2:
properties:
timeline:
$ref: '#/components/schemas/Timeline'
required:
- timeline
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths: {}

View file

@ -1,508 +0,0 @@
components:
schemas:
AdditionalMediaInfo:
properties:
monetizable:
type: boolean
required:
- monetizable
Entities:
properties:
hashtags:
items:
$ref: '#/components/schemas/Hashtag'
type: array
media:
items:
$ref: '#/components/schemas/Media'
type: array
symbols:
items:
$ref: '#/components/schemas/Symbol'
type: array
urls:
items:
$ref: '#/components/schemas/Url'
type: array
user_mentions:
items:
$ref: '#/components/schemas/UserMention'
type: array
required:
- hashtags
- symbols
- user_mentions
- urls
ExtendedEntities:
properties:
media:
items:
$ref: '#/components/schemas/MediaExtended'
type: array
required:
- media
Hashtag:
additionalProperties: true
type: object
Media:
properties:
display_url:
format: uri
type: string
expanded_url:
format: uri
type: string
features:
type: object
id_str:
pattern: ^[0-9]+$
type: string
indices:
items:
type: integer
type: array
media_url_https:
format: uri
type: string
original_info:
$ref: '#/components/schemas/MediaOriginalInfo'
sizes:
$ref: '#/components/schemas/MediaSizes'
type:
enum:
- photo
- video
- animated_gif
type: string
url:
format: uri
type: string
required:
- display_url
- expanded_url
- id_str
- indices
- media_url_https
- type
- url
- sizes
- original_info
MediaExtended:
properties:
additional_media_info:
$ref: '#/components/schemas/AdditionalMediaInfo'
display_url:
format: uri
type: string
expanded_url:
format: uri
type: string
ext_media_availability:
$ref: '#/components/schemas/extMediaAvailability'
features:
type: object
id_str:
pattern: ^[0-9]+$
type: string
indices:
items:
type: integer
type: array
mediaStats:
$ref: '#/components/schemas/mediaStats'
media_key:
type: string
media_url_https:
format: uri
type: string
original_info:
$ref: '#/components/schemas/MediaOriginalInfo'
sizes:
$ref: '#/components/schemas/MediaSizes'
type:
enum:
- photo
- video
- animated_gif
type: string
url:
format: uri
type: string
video_info:
$ref: '#/components/schemas/MediaVideoInfo'
required:
- display_url
- expanded_url
- id_str
- indices
- media_key
- media_url_https
- type
- url
- ext_media_availability
- sizes
- original_info
MediaOriginalInfo:
properties:
focus_rects:
items:
$ref: '#/components/schemas/MediaOriginalInfoFocusRect'
type: array
height:
type: integer
width:
type: integer
required:
- height
- width
MediaOriginalInfoFocusRect:
properties:
h:
type: integer
w:
type: integer
x:
type: integer
y:
type: integer
required:
- x
- y
- w
- h
type: object
MediaSize:
properties:
h:
type: integer
resize:
enum:
- crop
- fit
type: string
w:
type: integer
required:
- w
- h
- resize
MediaSizes:
properties:
large:
$ref: '#/components/schemas/MediaSize'
medium:
$ref: '#/components/schemas/MediaSize'
small:
$ref: '#/components/schemas/MediaSize'
thumb:
$ref: '#/components/schemas/MediaSize'
required:
- large
- medium
- small
- thumb
MediaVideoInfo:
properties:
aspect_ratio:
items:
type: integer
type: array
duration_millis:
type: integer
variants:
items:
$ref: '#/components/schemas/MediaVideoInfoVariant'
type: array
required:
- aspect_ratio
- variants
MediaVideoInfoVariant:
properties:
bitrate:
type: integer
content_type:
type: string
url:
format: uri
type: string
required:
- content_type
- url
SelfThread:
properties:
id_str:
pattern: ^[0-9]+$
type: string
required:
- id_str
Symbol:
additionalProperties: true
type: object
Tweet:
properties:
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
card:
$ref: '#/components/schemas/TweetCard'
core:
$ref: ./user.yaml#/components/schemas/UserResultCore
edit_control:
$ref: '#/components/schemas/TweetEditControl'
edit_prespective:
$ref: '#/components/schemas/TweetEditPrespective'
is_translatable:
default: false
type: boolean
legacy:
$ref: '#/components/schemas/TweetLegacy'
quoted_status_result:
$ref: ./content.yaml#/components/schemas/ItemResult
rest_id:
pattern: ^[0-9]+$
type: string
source:
type: string
unmention_data:
additionalProperties: true
type: object
views:
$ref: '#/components/schemas/TweetView'
required:
- rest_id
- edit_control
- is_translatable
- views
TweetCard:
properties:
legacy:
$ref: '#/components/schemas/TweetCardLegacy'
rest_id:
type: string
TweetCardLegacy:
properties:
binding_values:
items:
$ref: '#/components/schemas/TweetCardLegacyBindingValue'
type: array
name:
type: string
url:
type: string
required:
- binding_values
- name
- url
TweetCardLegacyBindingValue:
properties:
key:
type: string
value:
$ref: '#/components/schemas/TweetCardLegacyBindingValueData'
required:
- key
- value
TweetCardLegacyBindingValueData:
properties:
boolean_value:
type: boolean
scribe_key:
type: string
string_value:
type: string
type:
type: string
required:
- type
TweetEditControl:
properties:
edit_control_initial:
$ref: '#/components/schemas/TweetEditControlInitial'
edit_tweet_ids:
items:
pattern: ^[0-9]+$
type: string
type: array
editable_until_msecs:
pattern: ^[0-9]+$
type: string
edits_remaining:
pattern: ^[0-9]+$
type: string
initial_tweet_id:
pattern: ^[0-9]+$
type: string
is_edit_eligible:
type: boolean
TweetEditControlInitial:
properties:
edit_tweet_ids:
items:
pattern: ^[0-9]+$
type: string
type: array
editable_until_msecs:
pattern: ^[0-9]+$
type: string
edits_remaining:
pattern: ^[0-9]+$
type: string
is_edit_eligible:
type: boolean
required:
- edit_tweet_ids
- editable_until_msecs
- is_edit_eligible
- edits_remaining
TweetEditPrespective:
properties:
favorited:
type: boolean
retweeted:
type: boolean
TweetLegacy:
properties:
bookmark_count:
type: integer
bookmarked:
type: boolean
conversation_id_str:
pattern: ^[0-9]+$
type: string
created_at:
$ref: ./general.yaml#/components/schemas/TwitterTimeFormat
display_text_range:
items:
type: integer
type: array
entities:
$ref: '#/components/schemas/Entities'
extended_entities:
$ref: '#/components/schemas/ExtendedEntities'
favorite_count:
type: integer
favorited:
type: boolean
full_text:
type: string
id_str:
pattern: ^[0-9]+$
type: string
is_quote_status:
type: boolean
lang:
type: string
possibly_sensitive:
default: false
type: boolean
possibly_sensitive_editable:
default: false
type: boolean
quote_count:
type: integer
reply_count:
type: integer
retweet_count:
type: integer
retweeted:
type: boolean
retweeted_status_result:
$ref: ./content.yaml#/components/schemas/ItemResult
self_thread:
$ref: '#/components/schemas/SelfThread'
user_id_str:
pattern: ^[0-9]+$
type: string
required:
- bookmark_count
- bookmarked
- conversation_id_str
- created_at
- display_text_range
- entities
- favorite_count
- favorited
- full_text
- is_quote_status
- lang
- quote_count
- reply_count
- retweet_count
- retweeted
- user_id_str
- id_str
TweetTombstone:
additionalProperties: true
properties:
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
TweetUnion:
discriminator:
mapping":
Tweet: '#/components/schemas/Tweet'
TweetTombstone: '#/components/schemas/TweetTombstone'
TweetWithVisibilityResults: '#/components/schemas/TweetWithVisibilityResults'
propertyName: __typename
oneOf:
- $ref: '#/components/schemas/Tweet'
- $ref: '#/components/schemas/TweetWithVisibilityResults'
- $ref: '#/components/schemas/TweetTombstone'
TweetView:
properties:
count:
pattern: ^[0-9]+$
type: string
state:
enum:
- EnabledWithCount
type: string
required:
- state
TweetWithVisibilityResults:
properties:
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
tweet:
$ref: '#/components/schemas/Tweet'
required:
- __typename
- tweet
Url:
properties:
display_url:
type: string
expanded_url:
format: uri
type: string
indices:
items:
type: integer
type: array
url:
format: uri
type: string
required:
- url
- indices
- expanded_url
- display_url
type: object
UserMention:
additionalProperties: true
type: object
extMediaAvailability:
properties:
status:
enum:
- Available
type: string
mediaStats:
properties:
viewCount:
type: integer
required:
- viewCount
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths: {}

View file

@ -1,23 +0,0 @@
components:
schemas:
TypeName:
enum:
- TimelineTweet
- TimelineTimelineItem
- TimelineUser
- TimelineTimelineCursor
- TweetWithVisibilityResults
- TimelineTimelineModule
- TweetTombstone
- TimelinePrompt
- TimelineMessagePrompt
- TweetUnavailable
- Tweet
- User
- UserUnavailable
type: string
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths: {}

View file

@ -1,222 +0,0 @@
components:
schemas:
User:
properties:
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
affiliates_highlighted_label:
additionalProperties: true
type: object
business_account:
additionalProperties: true
type: object
has_graduated_access:
type: boolean
has_nft_avatar:
default: false
type: boolean
id:
pattern: ^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?$
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:
additionalProperties: true
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
- followers_count
- friends_count
- has_custom_timelines
- is_translator
- listed_count
- location
- media_count
- muting
- name
- normal_followers_count
- pinned_tweet_ids_str
- possibly_sensitive
- profile_image_url_https
- profile_interstitial_type
- 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/UserUnion'
required:
- result
UserUnavailable:
properties:
__typename:
$ref: ./typename.yaml#/components/schemas/TypeName
reason:
type: string
required:
- __typename
- reason
UserUnion:
discriminator:
mapping":
User: '#/components/schemas/User'
UserUnavailable: '#/components/schemas/UserUnavailable'
propertyName: __typename
oneOf:
- $ref: '#/components/schemas/User'
- $ref: '#/components/schemas/UserUnavailable'
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths: {}

View file

@ -188,7 +188,6 @@ components:
$ref: "./user.yaml#/components/schemas/UserResults"
ItemResult:
required:
properties:
__typename:
$ref: "./typename.yaml#/components/schemas/TypeName" # null | TimelineTweet

View file

@ -1,79 +1,83 @@
import os
import glob
import json
import yaml
import shutil
import copy
import re
from build_config import Config
from hooks import OpenapiHookBase, RequestHookBase, SchemasHookBase,OtherHookBase
from hooks import OpenapiHookBase, RequestHookBase, SchemasHookBase, OtherHookBase
from tqdm import tqdm
def replace_ref(x):
if isinstance(x, dict):
return {
key: "#" + value.split("#")[-1] if key == "$ref" else replace_ref(value)
for key, value in x.items()
}
elif isinstance(x, list):
return [replace_ref(value) for value in x]
return x
print("=== Build Start ===")
config = Config()
try:
shutil.rmtree("dist")
except:
pass
shutil.rmtree("dist", ignore_errors=True)
for lang, profile in tqdm(config.main().items(), leave=False):
dist_replace = lambda x: x.replace(
config.INPUT_DIR, config.OUTPUT_DIR.format(lang), 1
)
for dir in glob.glob(os.path.join(config.INPUT_DIR, "**/")):
os.makedirs(dist_replace(dir), exist_ok=True)
paths = {}
schemas = {}
files = glob.glob(os.path.join(config.INPUT_DIR, "**/*.yaml"))
for file in tqdm(files, leave=False):
file = file.replace(os.path.sep, "/")
with open(file, mode="r", encoding="utf-8") as f:
load = yaml.safe_load(f)
# RequestHookBase hook
for path in list(load["paths"]):
for method in list(load["paths"][path]):
for tag in list(load["paths"][path][method].get("tags", ["default"])):
key, value = path, load["paths"][path][method]
for tag in list(load["paths"][path][method].get("tags", ["default"])):
for hook in profile["request"][tag]:
hook: RequestHookBase
key, value = hook.hook(key, value)
load["paths"][path][method] = value
load["paths"][key] = load["paths"].pop(path)
paths.update({key: {}})
paths[key].update({method: value})
escape = key.replace("/", "~1")
relative = file.replace(config.INPUT_DIR, "", 1)
paths.update({key: {"$ref": f".{relative}#/paths/{escape}"}})
# SchemasHookBase hook
for name in list(load.get("components", {}).get("schemas", {})):
value = load["components"]["schemas"][name]
for hook in profile["schemas"]:
hook: SchemasHookBase
value = hook.hook(value)
load["components"]["schemas"][name] = value
schemas.update({name: value})
# OtherHookBase hook
if file == "src/openapi/paths/other.yaml":
for hook in profile["other"]:
hook: OtherHookBase
key, value = hook.hook()
load["components"]["schemas"][key] = value
load["components"]["schemas"]["OtherResponse"]["properties"][key] = {
"$ref": f"#/components/schemas/{key}"
}
with open(dist_replace(file), mode="w+", encoding="utf-8") as f:
f.write(yaml.dump(load))
schemas["OtherResponse"]["properties"].append({key: value})
file = "src/openapi/openapi-3.0.yaml"
with open(file, mode="r", encoding="utf-8") as f:
openapi = yaml.safe_load(f)
for path in paths:
openapi["paths"] = paths
# OpenapiHookBase hook
for hook in profile["openapi"]:
hook: OpenapiHookBase
openapi = hook.hook(openapi)
with open(dist_replace(file), mode="w+", encoding="utf-8") as f:
openapi["paths"] = replace_ref(paths)
openapi["components"]["schemas"] = replace_ref(schemas)
output = config.OUTPUT_DIR.format(lang)
os.makedirs(output, exist_ok=True)
with open(output + "/openapi-3.0.yaml", mode="w+", encoding="utf-8") as f:
f.write(yaml.dump(openapi))
print("=== Build End ===")