1
Fork 0
mirror of https://github.com/thegeneralist01/twitter-openapi synced 2026-01-09 23:00:24 +01:00
twitter-openapi/src/openapi/schemas/tweet.yaml
ふぁ 28e49c7ddb
fix error schema
Signed-off-by: ふぁ <yuki@yuki0311.com>
2024-09-29 18:08:58 +09:00

1494 lines
36 KiB
YAML

openapi: 3.0.3
info:
title: Twitter OpenAPI
version: 0.0.1
paths: {}
components:
schemas:
TweetUnion:
oneOf:
- $ref: "#/components/schemas/Tweet"
- $ref: "#/components/schemas/TweetWithVisibilityResults"
- $ref: "#/components/schemas/TweetTombstone"
- $ref: "#/components/schemas/TweetUnavailable"
discriminator:
propertyName: __typename
mapping": # deprecated
Tweet: "#/components/schemas/Tweet"
TweetWithVisibilityResults: "#/components/schemas/TweetWithVisibilityResults"
TweetTombstone: "#/components/schemas/TweetTombstone"
TweetUnavailable: "#/components/schemas/TweetUnavailable"
TweetWithVisibilityResults:
required:
- "__typename"
- "tweet"
properties:
__typename:
$ref: "./typename.yaml#/components/schemas/TypeName" # TweetWithVisibilityResults
tweet:
$ref: "#/components/schemas/Tweet"
limitedActionResults:
type: object
additionalProperties: true # todo
tweetInterstitial:
$ref: "#/components/schemas/TweetInterstitial"
mediaVisibilityResults:
$ref: "#/components/schemas/MediaVisibilityResults"
TweetInterstitial:
required:
- "__typename"
- "displayType"
- "text"
- "revealText"
properties:
__typename:
$ref: "./typename.yaml#/components/schemas/TypeName" # ContextualTweetInterstitial
displayType:
type: string
enum: [NonCompliant]
text:
$ref: "#/components/schemas/TweetInterstitialText"
revealText:
$ref: "#/components/schemas/TweetInterstitialRevealText"
TweetInterstitialText:
required:
- "rtl"
- "text"
- "entities"
properties:
rtl:
type: boolean
text:
type: string
entities:
type: array
items:
$ref: "#/components/schemas/TweetInterstitialTextEntity"
TweetInterstitialTextEntity:
required:
- "fromIndex"
- "toIndex"
- "ref"
properties:
fromIndex:
type: integer
toIndex:
type: integer
ref:
$ref: "#/components/schemas/TweetInterstitialTextEntityRef"
TweetInterstitialTextEntityRef:
required:
- "type"
- "url"
- "urlType"
properties:
type:
type: string
enum: [TimelineUrl]
url:
type: string
format: uri
urlType:
type: string
enum: [ExternalUrl]
MediaVisibilityResults:
required:
- "blurred_image_interstitial"
properties:
blurred_image_interstitial:
$ref: "#/components/schemas/MediaVisibilityResultsBlurredImageInterstitial"
MediaVisibilityResultsBlurredImageInterstitial:
required:
- "opacity"
- "text"
- "title"
properties:
opacity:
type: number
text:
$ref: "#/components/schemas/TweetInterstitialText"
title:
$ref: "#/components/schemas/TweetInterstitialText"
TweetInterstitialRevealText:
required:
- "rtl"
- "text"
- "entities"
properties:
rtl:
type: boolean
text:
type: string
entities:
type: array
items:
$ref: "#/components/schemas/TweetInterstitialTextEntity"
TweetTombstone: #remove tweet
properties:
__typename:
$ref: "./typename.yaml#/components/schemas/TypeName" # TweetWithVisibilityResults
additionalProperties: true # todo
TweetUnavailable: # nsfw tweet
properties:
__typename:
$ref: "./typename.yaml#/components/schemas/TypeName" # TweetUnavailable
reason:
type: string
Tweet:
required:
- "rest_id"
properties:
__typename:
$ref: "./typename.yaml#/components/schemas/TypeName" # null | Tweet
rest_id:
type: string
pattern: "^[0-9]+$"
birdwatch_pivot:
$ref: "#/components/schemas/BirdwatchPivot"
core:
$ref: "./user.yaml#/components/schemas/UserResultCore"
card:
$ref: "#/components/schemas/TweetCard"
unmention_data:
type: object
additionalProperties: true # todo
edit_control:
$ref: "#/components/schemas/TweetEditControl"
edit_prespective:
$ref: "#/components/schemas/TweetEditPrespective"
is_translatable:
type: boolean
default: false
source:
type: string # html (<a href="http://twitter.com/download/android" rel="nofollow">Twitter for Android</a>)
legacy:
$ref: "#/components/schemas/TweetLegacy"
views:
$ref: "#/components/schemas/TweetView"
quoted_status_result:
$ref: "./content.yaml#/components/schemas/ItemResult"
note_tweet:
$ref: "#/components/schemas/NoteTweet"
quick_promote_eligibility:
type: object
unified_card:
$ref: "#/components/schemas/UnifiedCard"
previous_counts:
$ref: "#/components/schemas/TweetPreviousCounts"
quotedRefResult:
$ref: "#/components/schemas/QuotedRefResult"
superFollowsReplyUserResult:
$ref: "#/components/schemas/SuperFollowsReplyUserResult"
has_birdwatch_notes:
type: boolean
author_community_relationship:
$ref: "#/components/schemas/AuthorCommunityRelationship"
article:
$ref: "#/components/schemas/Article"
community_results:
$ref: "#/components/schemas/Community"
TweetEditControl:
properties:
edit_tweet_ids:
type: array
items:
type: string
pattern: "^[0-9]+$"
editable_until_msecs:
type: string
pattern: "^[0-9]+$"
is_edit_eligible:
type: boolean
edits_remaining:
type: string
pattern: "^[0-9]+$"
initial_tweet_id:
type: string
pattern: "^[0-9]+$"
edit_control_initial:
$ref: "#/components/schemas/TweetEditControlInitial"
TweetEditControlInitial:
required:
- "edit_tweet_ids"
- "editable_until_msecs"
- "is_edit_eligible"
- "edits_remaining"
properties:
edit_tweet_ids:
type: array
items:
type: string
pattern: "^[0-9]+$"
editable_until_msecs:
type: string
pattern: "^[0-9]+$"
is_edit_eligible:
type: boolean
edits_remaining:
type: string
pattern: "^[0-9]+$"
TweetEditPrespective:
properties:
favorited:
type: boolean
retweeted:
type: boolean
TweetView:
required:
- "state"
properties:
count:
type: string
pattern: "^[0-9]+$"
state:
type: string
enum:
- Enabled
- EnabledWithCount
NoteTweet:
required:
- "is_expandable"
- "note_tweet_results"
properties:
is_expandable:
type: boolean
note_tweet_results:
$ref: "#/components/schemas/NoteTweetResult"
NoteTweetResult:
required:
- "result"
properties:
result:
$ref: "#/components/schemas/NoteTweetResultData"
NoteTweetResultData:
required:
- "entity_set"
- "id"
- "text"
properties:
entity_set:
$ref: "#/components/schemas/Entities"
id:
type: string
pattern: "^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?$" # base64
media:
$ref: "#/components/schemas/NoteTweetResultMedia"
richtext:
$ref: "#/components/schemas/NoteTweetResultRichText"
text:
type: string
NoteTweetResultMedia:
required:
- "inline_media"
properties:
inline_media:
type: array
items:
$ref: "#/components/schemas/NoteTweetResultMediaInlineMedia"
NoteTweetResultMediaInlineMedia:
required:
- "media_id"
- "index"
properties:
media_id:
type: string
pattern: "^[0-9]+$"
index:
type: integer
NoteTweetResultRichText:
required:
- "richtext_tags"
properties:
richtext_tags:
type: array
items:
$ref: "#/components/schemas/NoteTweetResultRichTextTag"
NoteTweetResultRichTextTag:
required:
- "from_index"
- "to_index"
- "richtext_types"
properties:
from_index:
type: integer
to_index:
type: integer
richtext_types:
type: array
items:
type: string
enum: [Bold, Italic]
UnifiedCard:
required:
- "card_fetch_state"
properties:
card_fetch_state:
type: string
enum: [NoCard]
TweetPreviousCounts:
required:
- "bookmark_count"
- "favorite_count"
- "quote_count"
- "reply_count"
- "retweet_count"
properties:
bookmark_count:
type: integer
favorite_count:
type: integer
quote_count:
type: integer
reply_count:
type: integer
retweet_count:
type: integer
QuotedRefResult:
properties:
result:
$ref: "#/components/schemas/TweetUnion"
SuperFollowsReplyUserResult:
required:
- "result"
properties:
result:
$ref: "#/components/schemas/SuperFollowsReplyUserResultData"
SuperFollowsReplyUserResultData:
required:
- "__typename"
- "legacy"
properties:
__typename:
$ref: "./../schemas/typename.yaml#/components/schemas/TypeName" # User
legacy:
$ref: "#/components/schemas/SuperFollowsReplyUserResultLegacy"
SuperFollowsReplyUserResultLegacy:
required:
- "screen_name"
properties:
screen_name:
type: string
AuthorCommunityRelationship:
required:
- "community_results"
properties:
community_results:
$ref: "#/components/schemas/Community"
role:
type: string
enum: [Member]
user_results:
$ref: "user.yaml#/components/schemas/UserResults"
Community:
required:
- "result"
properties:
result:
$ref: "#/components/schemas/CommunityData"
CommunityData:
required:
- "__typename"
- "id_str"
- "name"
- "description"
- "question"
- "search_tags"
- "actions"
- "admin_results"
- "creator_results"
- "invites_result"
- "join_policy"
- "invites_policy"
- "is_pinned"
- "members_facepile_results"
- "moderator_count"
- "member_count"
- "role"
- "rules"
properties:
__typename:
$ref: "./typename.yaml#/components/schemas/TypeName" # Community
id_str:
type: string
pattern: "^[0-9]+$"
name:
type: string
description:
type: string
created_at:
type: integer
question:
type: string
search_tags:
type: array
items:
type: string
primary_community_topic:
$ref: "#/components/schemas/PrimaryCommunityTopic"
actions:
$ref: "#/components/schemas/CommunityActions"
admin_results:
$ref: "user.yaml#/components/schemas/UserResults"
creator_results:
$ref: "user.yaml#/components/schemas/UserResults"
invites_result:
$ref: "#/components/schemas/CommunityInvitesResult"
join_requests_result:
$ref: "#/components/schemas/CommunityJoinRequestsResult"
join_policy:
type: string
enum: [Open]
invites_policy:
type: string
enum: [MemberInvitesAllowed]
is_pinned:
type: boolean
members_facepile_results:
type: array
items:
$ref: "user.yaml#/components/schemas/UserResults"
moderator_count:
type: integer
member_count:
type: integer
role:
type: string
enum: [NonMember]
rules:
type: array
items:
$ref: "#/components/schemas/CommunityRule"
show_only_users_to_display:
type: array
items:
type: string
urls:
$ref: "#/components/schemas/CommunityUrls"
default_banner_media:
type: object
additionalProperties: true # todo
custom_banner_media:
type: object
additionalProperties: true # todo
viewer_relationship:
type: object
additionalProperties: true # todo
PrimaryCommunityTopic:
required:
- "topic_id"
- "topic_name"
properties:
topic_id:
type: string
pattern: "^[0-9]+$"
topic_name:
type: string
CommunityActions:
required:
- "delete_action_result"
- "join_action_result"
- "leave_action_result"
- "pin_action_result"
properties:
delete_action_result:
$ref: "#/components/schemas/CommunityDeleteActionResult"
join_action_result:
$ref: "#/components/schemas/CommunityJoinActionResult"
leave_action_result:
$ref: "#/components/schemas/CommunityLeaveActionResult"
pin_action_result:
$ref: "#/components/schemas/CommunityPinActionResult"
CommunityDeleteActionResult:
required:
- "__typename"
- "reason"
properties:
__typename:
$ref: "./typename.yaml#/components/schemas/TypeName" # CommunityDeleteActionUnavailable
reason:
type: string
enum: [Unavailable]
CommunityJoinActionResult:
required:
- "__typename"
properties:
__typename:
$ref: "./typename.yaml#/components/schemas/TypeName" # CommunityJoinAction
CommunityLeaveActionResult:
required:
- "__typename"
- "reason"
- "message"
properties:
__typename:
$ref: "./typename.yaml#/components/schemas/TypeName" # CommunityLeaveActionUnavailable
reason:
type: string
enum: [ViewerNotMember]
message:
type: string
CommunityPinActionResult:
required:
- "__typename"
properties:
__typename:
$ref: "./typename.yaml#/components/schemas/TypeName" # CommunityTweetPinActionUnavailable
CommunityInvitesResult:
required:
- "__typename"
- "reason"
- "message"
properties:
__typename:
$ref: "./typename.yaml#/components/schemas/TypeName" # CommunityInvitesUnavailable
reason:
type: string
enum: [Unavailable]
message:
type: string
CommunityJoinRequestsResult:
required:
- "__typename"
properties:
__typename:
$ref: "./typename.yaml#/components/schemas/TypeName" # CommunityJoinRequestsUnavailable
CommunityRule:
required:
- "rest_id"
- "name"
properties:
rest_id:
type: string
pattern: "^[0-9]+$"
name:
type: string
description:
type: string
CommunityUrls:
required:
- "permalink"
properties:
permalink:
$ref: "#/components/schemas/CommunityUrlsPermalink"
CommunityUrlsPermalink:
required:
- "url"
properties:
url:
type: string
format: uri
BirdwatchPivot:
required:
- "destinationUrl"
- "footer"
- "note"
- "subtitle"
- "title"
- "shorttitle"
- "iconType"
properties:
destinationUrl:
type: string
format: uri
footer:
$ref: "#/components/schemas/BirdwatchPivotFooter"
note:
$ref: "#/components/schemas/BirdwatchPivotNote"
subtitle:
$ref: "#/components/schemas/BirdwatchPivotSubtitle"
title:
type: string
shorttitle:
type: string
visualStyle:
type: string
enum: [Default]
iconType:
type: string
enum: [BirdwatchV1Icon]
callToAction:
$ref: "#/components/schemas/BirdwatchPivotCallToAction"
BirdwatchPivotFooter:
required:
- "text"
- "entities"
properties:
text:
type: string
entities:
type: array
items:
$ref: "#/components/schemas/BirdwatchEntity"
BirdwatchEntity:
required:
- "fromIndex"
- "toIndex"
- "ref"
properties:
fromIndex:
type: integer
toIndex:
type: integer
ref:
$ref: "#/components/schemas/BirdwatchEntityRef"
BirdwatchEntityRef: # Union
required:
- "type"
properties:
type:
type: string
enum: [TimelineUrl, TimelineRichTextHashtag]
url:
type: string
format: uri
urlType:
type: string
enum: [ExternalUrl]
text:
type: string
BirdwatchPivotNote:
required:
- "rest_id"
properties:
rest_id:
type: string
pattern: "^[0-9]+$"
BirdwatchPivotSubtitle:
required:
- "text"
- "entities"
properties:
text:
type: string
entities:
type: array
items:
$ref: "#/components/schemas/BirdwatchEntity"
BirdwatchPivotCallToAction:
required:
- "prompt"
- "title"
- "destinationUrl"
properties:
prompt:
type: string
title:
type: string
destinationUrl:
type: string
format: uri
TweetCard:
properties:
rest_id:
type: string
legacy:
$ref: "#/components/schemas/TweetCardLegacy"
TweetCardLegacy:
required:
- "binding_values"
- "name"
- "url"
properties:
name:
type: string
url:
type: string
binding_values:
type: array
items:
$ref: "#/components/schemas/TweetCardLegacyBindingValue"
# {'platform': {'audience': {'name': 'production'}, 'device': {'name': 'Swift', 'version': '12'}}}
card_platform:
$ref: "#/components/schemas/TweetCardPlatformData"
user_refs_results:
type: array
items:
$ref: "user.yaml#/components/schemas/UserResults"
TweetCardPlatformData:
required:
- "platform"
properties:
platform:
$ref: "#/components/schemas/TweetCardPlatform"
TweetCardPlatform:
required:
- "audience"
- "device"
properties:
audience:
$ref: "#/components/schemas/TweetCardPlatformAudience"
device:
$ref: "#/components/schemas/TweetCardPlatformDevice"
TweetCardPlatformAudience:
required:
- "name"
properties:
name:
type: string
enum: [production]
TweetCardPlatformDevice:
required:
- "name"
- "version"
properties:
name:
type: string # enum Swift
version:
type: string
pattern: "^[0-9]+$"
TweetCardLegacyBindingValue:
required:
- "key"
- "value"
properties:
key:
type: string
value:
$ref: "#/components/schemas/TweetCardLegacyBindingValueData"
TweetCardLegacyBindingValueData:
required:
- "type"
properties:
string_value:
type: string
boolean_value:
type: boolean
scribe_key:
type: string
type:
type: string
image_value:
$ref: "#/components/schemas/TweetCardLegacyBindingValueDataImage"
image_color_value:
type: object
additionalProperties: true # todo
user_value:
$ref: "#/components/schemas/UserValue"
UserValue:
required:
- "id_str"
properties:
id_str:
type: string
pattern: "^[0-9]+$"
TweetCardLegacyBindingValueDataImage:
required:
- "height"
- "width"
- "url"
properties:
height:
type: integer
width:
type: integer
url:
type: string
format: uri
alt:
type: string
TweetLegacy:
required:
- "bookmark_count"
- "bookmarked"
- "conversation_id_str"
- "created_at"
- "display_text_range"
- "entities"
- "favorite_count"
- "favorited"
- "full_text"
- "is_quote_status"
- "lang"
- "quote_count"
- "reply_count"
- "retweet_count"
- "retweeted"
- "user_id_str"
- "id_str"
properties:
bookmark_count:
type: integer
bookmarked:
type: boolean
created_at:
$ref: "./general.yaml#/components/schemas/TwitterTimeFormat"
conversation_id_str:
type: string
pattern: "^[0-9]+$"
display_text_range:
type: array
items:
type: integer
entities:
$ref: "#/components/schemas/Entities"
favorite_count:
type: integer
favorited:
type: boolean
full_text:
type: string
is_quote_status:
type: boolean
lang:
type: string # enum
possibly_sensitive:
type: boolean
default: false
possibly_sensitive_editable:
type: boolean
default: false
quote_count:
type: integer
reply_count:
type: integer
retweet_count:
type: integer
retweeted:
type: boolean
retweeted_status_result:
$ref: "./content.yaml#/components/schemas/ItemResult"
user_id_str:
type: string
pattern: "^[0-9]+$"
id_str:
type: string
pattern: "^[0-9]+$"
self_thread:
$ref: "#/components/schemas/SelfThread"
extended_entities:
$ref: "#/components/schemas/ExtendedEntities"
scopes:
$ref: "#/components/schemas/TweetLegacyScopes"
in_reply_to_screen_name:
type: string
in_reply_to_status_id_str:
type: string
pattern: "^[0-9]+$"
in_reply_to_user_id_str:
type: string
pattern: "^[0-9]+$"
quoted_status_permalink:
$ref: "#/components/schemas/QuotedStatusPermalink"
quoted_status_id_str:
type: string
pattern: "^[0-9]+$"
conversation_control:
additionalProperties: true # todo
limited_actions:
type: string
enum:
- "limited_replies"
- "non_compliant"
- "dynamic_product_ad"
- "stale_tweet"
- "community_tweet_non_member_public_community"
- "community_tweet_non_member_closed_community"
place:
additionalProperties: true # todo
SelfThread:
required:
- "id_str"
properties:
id_str:
type: string
pattern: "^[0-9]+$"
Entities:
required:
- "hashtags"
- "symbols"
- "user_mentions"
- "urls"
properties:
hashtags:
type: array
items:
$ref: "#/components/schemas/Hashtag"
symbols:
type: array
items:
$ref: "#/components/schemas/Symbol"
user_mentions:
type: array
items:
$ref: "#/components/schemas/UserMention"
urls:
type: array
items:
$ref: "#/components/schemas/Url"
media:
type: array
items:
$ref: "#/components/schemas/Media"
timestamps:
type: array
items:
$ref: "#/components/schemas/Timestamp"
Hashtag:
type: object
additionalProperties: true # todo
Symbol:
type: object
additionalProperties: true # todo
UserMention:
type: object
additionalProperties: true # todo
Url:
type: object
required:
- "url"
- "indices"
- "display_url"
properties:
display_url:
type: string
expanded_url:
type: string
format: uri
url:
type: string
format: uri
indices:
type: array
items:
type: integer
Media:
required:
- "display_url"
- "expanded_url"
- "id_str"
- "indices"
- "media_url_https"
- "type"
- "url"
# - "features"
- "sizes"
- "original_info"
- "media_key"
- "ext_media_availability"
properties:
display_url:
type: string
format: uri
expanded_url:
type: string
format: uri
id_str:
type: string
pattern: "^[0-9]+$"
indices:
type: array
items:
type: integer
media_url_https:
type: string
format: uri
type:
type: string
enum: [photo, video, animated_gif]
url:
type: string
format: uri
features:
type: object
sizes:
$ref: "#/components/schemas/MediaSizes"
original_info:
$ref: "#/components/schemas/MediaOriginalInfo"
media_key:
type: string
ext_media_availability:
$ref: "#/components/schemas/ExtMediaAvailability"
video_info:
$ref: "#/components/schemas/MediaVideoInfo"
additional_media_info:
$ref: "#/components/schemas/AdditionalMediaInfo"
source_user_id_str:
type: string
pattern: "^[0-9]+$"
source_status_id_str:
type: string
pattern: "^[0-9]+$"
ext_alt_text:
type: string
sensitive_media_warning:
$ref: "#/components/schemas/SensitiveMediaWarning"
allow_download_status:
$ref: "#/components/schemas/AllowDownloadStatus"
media_results:
$ref: "#/components/schemas/MediaResults"
TweetLegacyScopes:
required:
- "followers"
properties:
followers:
type: boolean
QuotedStatusPermalink:
required:
- "url"
- "expanded"
- "display"
properties:
url:
type: string
format: uri
expanded:
type: string
format: uri
display:
type: string
format: uri
ExtendedEntities:
required:
- "media"
properties:
media:
type: array
items:
$ref: "#/components/schemas/MediaExtended"
MediaExtended:
required:
- "display_url"
- "expanded_url"
- "id_str"
- "indices"
- "media_key"
- "media_url_https"
- "type"
- "url"
# - "ext_media_availability"
# - "features"
- "sizes"
- "original_info"
properties:
display_url:
type: string
format: uri
expanded_url:
type: string
format: uri
id_str:
type: string
pattern: "^[0-9]+$"
indices:
type: array
items:
type: integer
media_key:
type: string
media_url_https:
type: string
format: uri
type:
type: string
enum: [photo, video, animated_gif]
url:
type: string
format: uri
additional_media_info:
$ref: "#/components/schemas/AdditionalMediaInfo"
mediaStats:
$ref: "#/components/schemas/MediaStats"
ext_media_availability:
$ref: "#/components/schemas/ExtMediaAvailability"
features:
type: object
sizes:
$ref: "#/components/schemas/MediaSizes"
original_info:
$ref: "#/components/schemas/MediaOriginalInfo"
video_info:
$ref: "#/components/schemas/MediaVideoInfo"
source_user_id_str:
type: string
pattern: "^[0-9]+$"
source_status_id_str:
type: string
pattern: "^[0-9]+$"
ext_alt_text:
type: string
sensitive_media_warning:
$ref: "#/components/schemas/SensitiveMediaWarning"
allow_download_status:
$ref: "#/components/schemas/AllowDownloadStatus"
media_results:
$ref: "#/components/schemas/MediaResults"
MediaOriginalInfo:
required:
- "height"
- "width"
properties:
height:
type: integer
width:
type: integer
focus_rects:
type: array
items:
$ref: "#/components/schemas/MediaOriginalInfoFocusRect"
MediaOriginalInfoFocusRect:
type: object
required:
- "x"
- "y"
- "w"
- "h"
properties:
x:
type: integer
y:
type: integer
w:
type: integer
h:
type: integer
MediaVideoInfo:
required:
- "aspect_ratio"
- "variants"
properties:
aspect_ratio:
type: array
items:
type: integer
duration_millis:
type: integer
variants:
type: array
items:
$ref: "#/components/schemas/MediaVideoInfoVariant"
MediaVideoInfoVariant:
required:
- "content_type"
- "url"
properties:
bitrate:
type: integer
content_type:
type: string
url:
type: string
format: uri
AdditionalMediaInfo:
required:
- "monetizable"
properties:
monetizable:
type: boolean
source_user:
$ref: "./user.yaml#/components/schemas/UserResultCore"
title: # null character
type: string
description: # null character
type: string
embeddable:
type: boolean
call_to_actions:
$ref: "#/components/schemas/AdditionalMediaInfoCallToActions"
AdditionalMediaInfoCallToActions:
properties:
visit_site:
$ref: "#/components/schemas/AdditionalMediaInfoCallToActionsUrl"
watch_now:
$ref: "#/components/schemas/AdditionalMediaInfoCallToActionsUrl"
AdditionalMediaInfoCallToActionsUrl:
required:
- "url"
properties:
url:
type: string
format: uri
MediaStats:
required:
- "viewCount"
properties:
viewCount:
type: integer
ExtMediaAvailability:
# required:
# - "status"
properties:
reason:
type: string # enum Dmcaed
status:
type: string
enum: [Available, Unavailable]
SensitiveMediaWarning:
required:
- "adult_content"
- "graphic_violence"
- "other"
properties:
adult_content:
type: boolean
default: false
graphic_violence:
type: boolean
default: false
other:
type: boolean
default: false
MediaSizes:
required:
- "large"
- "medium"
- "small"
- "thumb"
properties:
large:
$ref: "#/components/schemas/MediaSize"
medium:
$ref: "#/components/schemas/MediaSize"
small:
$ref: "#/components/schemas/MediaSize"
thumb:
$ref: "#/components/schemas/MediaSize"
MediaSize:
required:
- "w"
- "h"
- "resize"
properties:
w:
type: integer
h:
type: integer
resize:
type: string
enum: [crop, fit]
Timestamp:
required:
- "indices"
- "seconds"
- "text"
properties:
indices:
type: array
items:
type: integer
seconds:
type: integer
text:
type: string
Article:
required:
- "article_results"
properties:
article_results:
$ref: "#/components/schemas/ArticleResults"
ArticleResults:
required:
- "result"
properties:
result:
$ref: "#/components/schemas/ArticleResult"
ArticleResult:
required:
- "rest_id"
- "id"
- "title"
- "preview_text"
- "cover_media"
- "metadata"
properties:
rest_id:
type: string
pattern: "^[0-9]+$"
id:
type: string
title:
type: string
preview_text:
type: string
cover_media:
$ref: "#/components/schemas/ArticleCoverMedia"
metadata:
$ref: "#/components/schemas/ArticleMetadata"
lifecycle_state:
$ref: "#/components/schemas/ArticleLifecycleState"
ArticleCoverMedia:
required:
- "id"
- "media_key"
- "media_id"
- "media_info"
properties:
id:
type: string
media_key:
type: string
media_id:
type: string
pattern: "^[0-9]+$"
media_info:
$ref: "#/components/schemas/ArticleCoverMediaInfo"
ArticleCoverMediaInfo:
required:
- "original_img_height"
- "original_img_width"
- "original_img_url"
- "color_info"
properties:
__typename:
$ref: "./typename.yaml#/components/schemas/TypeName" # ApiImage
original_img_height:
type: integer
original_img_width:
type: integer
original_img_url:
type: string
format: uri
color_info:
$ref: "#/components/schemas/ArticleCoverMediaColorInfo"
ArticleCoverMediaColorInfo:
required:
- "palette"
properties:
palette:
type: array
items:
$ref: "#/components/schemas/ArticleCoverMediaColorInfoPalette"
ArticleCoverMediaColorInfoPalette:
required:
- "percentage"
- "rgb"
properties:
percentage:
type: number
rgb:
$ref: "#/components/schemas/ArticleCoverMediaColorInfoPaletteRGB"
ArticleCoverMediaColorInfoPaletteRGB:
required:
- "blue"
- "green"
- "red"
properties:
blue:
type: integer
green:
type: integer
red:
type: integer
ArticleMetadata:
required:
- "first_published_at_secs"
properties:
first_published_at_secs:
type: integer
ArticleLifecycleState:
required:
- "modified_at_secs"
properties:
modified_at_secs:
type: integer
AllowDownloadStatus:
properties:
allow_download:
type: boolean
MediaResults:
required:
- "result"
properties:
result:
$ref: "#/components/schemas/MediaResult"
MediaResult:
required:
- "media_key"
properties:
media_key:
type: string