1
Fork 0
mirror of https://github.com/thegeneralist01/twitter-openapi synced 2026-03-07 12:39:54 +01:00

add NotificationsTimeline

Signed-off-by: ふぁ <yuki@yuki0311.com>
This commit is contained in:
ふぁ 2025-05-07 02:39:02 +09:00
parent 3f0a10f4f6
commit 04f13cbf87
No known key found for this signature in database
GPG key ID: 83A8A5E74872A8AA
6 changed files with 183 additions and 38 deletions

View file

@ -1134,6 +1134,48 @@
"responsive_web_enhance_cards_enabled": false
}
},
"NotificationsTimeline": {
"@path": "/i/api/graphql/GquVPn-SKYxKLgLsRPpJ6g/NotificationsTimeline",
"@method": "GET",
"queryId": "GquVPn-SKYxKLgLsRPpJ6g",
"variables": {
"timeline_type": "All",
"count": 20
},
"features": {
"rweb_video_screen_enabled": false,
"profile_label_improvements_pcf_label_in_post_enabled": true,
"rweb_tipjar_consumption_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,
"premium_content_api_read_enabled": false,
"communities_web_enable_tweet_community_results_fetch": true,
"c9s_tweet_anatomy_moderator_badge_enabled": true,
"responsive_web_grok_analyze_button_fetch_trends_enabled": false,
"responsive_web_grok_analyze_post_followups_enabled": true,
"responsive_web_jetfuel_frame": false,
"responsive_web_grok_share_attachment_enabled": true,
"articles_preview_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": true,
"tweet_awards_web_tipping_enabled": false,
"responsive_web_grok_show_grok_translated_post": false,
"responsive_web_grok_analysis_button_from_backend": false,
"creator_subscriptions_quote_tweet_preview_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_grok_image_annotation_enabled": true,
"responsive_web_enhance_cards_enabled": false
}
},
"#=====v1.1====": {
"url": "https://x.com/i/api/1.1/"
},
@ -1727,44 +1769,6 @@
"@method": "GET",
"queryId": "I_tJ_DO6WLqG0em8EQsVVg"
},
"NotificationsTimeline": {
"@path": "/i/api/graphql/GquVPn-SKYxKLgLsRPpJ6g/NotificationsTimeline",
"@method": "GET",
"queryId": "GquVPn-SKYxKLgLsRPpJ6g",
"features": {
"rweb_video_screen_enabled": false,
"profile_label_improvements_pcf_label_in_post_enabled": true,
"rweb_tipjar_consumption_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,
"premium_content_api_read_enabled": false,
"communities_web_enable_tweet_community_results_fetch": true,
"c9s_tweet_anatomy_moderator_badge_enabled": true,
"responsive_web_grok_analyze_button_fetch_trends_enabled": false,
"responsive_web_grok_analyze_post_followups_enabled": true,
"responsive_web_jetfuel_frame": false,
"responsive_web_grok_share_attachment_enabled": true,
"articles_preview_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": true,
"tweet_awards_web_tipping_enabled": false,
"responsive_web_grok_show_grok_translated_post": false,
"responsive_web_grok_analysis_button_from_backend": false,
"creator_subscriptions_quote_tweet_preview_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_grok_image_annotation_enabled": true,
"responsive_web_enhance_cards_enabled": false
}
},
"TopicCarouselQuery": {
"@path": "/i/api/graphql/byVjaS0CUtBqAao_lhZFgA/TopicCarouselQuery",
"@method": "GET",

View file

@ -102,6 +102,20 @@ paths:
tags:
- "tweet"
/graphql/{pathQueryId}/NotificationsTimeline:
get:
operationId: getNotificationsTimeline
description: get notification list. timeline_type:[All, Verified, Mentions]
responses:
"200":
description: Successful operation
content:
application/json:
schema:
$ref: "#/components/schemas/NotificationsTimelineResponse"
tags:
- "tweet"
components:
schemas:
TimelineResponse:
@ -291,3 +305,49 @@ components:
$ref: "./../schemas/typename.yaml#/components/schemas/TypeName" # Community
about_timeline:
$ref: "./../schemas/timeline.yaml#/components/schemas/TimelineResult"
NotificationsTimelineResponse:
required:
- "data"
properties:
data:
$ref: "#/components/schemas/NotificationsTimelineData"
errors:
type: array
items:
$ref: "./../response/error.yaml#/components/schemas/ErrorResponse"
NotificationsTimelineData:
required:
- "viewer_v2"
properties:
viewer_v2:
$ref: "#/components/schemas/NotificationsViewerV2"
NotificationsViewerV2:
required:
- "user_results"
properties:
user_results:
$ref: "#/components/schemas/NotificationsUserResults"
NotificationsUserResults:
required:
- "result"
properties:
result:
$ref: "#/components/schemas/NotificationsResult"
NotificationsResult:
required:
- "__typename"
- "rest_id"
- "notification_timeline"
properties:
__typename:
$ref: "./../schemas/typename.yaml#/components/schemas/TypeName" # User
rest_id:
type: string
pattern: "^[0-9]+$"
notification_timeline:
$ref: "./../schemas/timeline.yaml#/components/schemas/TimelineResult"

View file

@ -166,6 +166,7 @@ components:
- $ref: "#/components/schemas/TimelineCommunity"
- $ref: "#/components/schemas/TimelineTombstone"
- $ref: "#/components/schemas/TimelineTrend"
- $ref: "#/components/schemas/TimelineNotification"
discriminator:
propertyName: __typename
@ -178,6 +179,7 @@ components:
TimelineCommunity: "#/components/schemas/TimelineCommunity"
TimelineTombstone: "#/components/schemas/TimelineTombstone"
TimelineTrend: "#/components/schemas/TimelineTrend"
TimelineNotification: "#/components/schemas/TimelineNotification"
ContentItemType:
type: string
@ -190,6 +192,8 @@ components:
TimelineMessagePrompt,
TimelineCommunity,
TimelineTombstone,
TimelineTrend,
TimelineNotification,
]
TimelineTweet:
@ -507,3 +511,53 @@ components:
url:
type: string
format: uri
TimelineNotification:
required:
- "__typename"
- "itemType"
- "id"
- "notification_icon"
- "rich_message"
- "notification_url"
- "template"
- "timestamp_ms"
properties:
__typename:
$ref: "./typename.yaml#/components/schemas/TypeName" # TimelineNotification
itemType:
$ref: "#/components/schemas/ContentItemType" # TimelineNotification
id:
type: string
notification_icon:
type: string # enum milestone_icon
rich_message:
$ref: "#/components/schemas/RichMessage"
notification_url:
$ref: "#/components/schemas/SocialContextLandingUrl"
template:
$ref: "#/components/schemas/NotificationTemplate"
timestamp_ms:
type: string # 2025-05-05T01:18:21.657Z
RichMessage:
type: object
properties:
rtl:
type: boolean
text:
type: string
NotificationTemplate:
type: object
properties:
__typename:
$ref: "./typename.yaml#/components/schemas/TypeName" # NotificationTemplate
target_objects:
type: array
items:
type: object
from_users:
type: array
items:
type: object

View file

@ -16,6 +16,8 @@ components:
- $ref: "#/components/schemas/TimelineShowAlert"
- $ref: "#/components/schemas/TimelineTerminateTimeline"
- $ref: "#/components/schemas/TimelineShowCover"
- $ref: "#/components/schemas/TimelineClearEntriesUnreadState"
- $ref: "#/components/schemas/TimelineMarkEntriesUnreadGreaterThanSortIndex"
discriminator:
propertyName: type
@ -28,6 +30,8 @@ components:
TimelineShowAlert: "#/components/schemas/TimelineShowAlert"
TimelineTerminateTimeline: "#/components/schemas/TimelineTerminateTimeline"
TimelineShowCover: "#/components/schemas/TimelineShowCover"
TimelineClearEntriesUnreadState: "#/components/schemas/TimelineClearEntriesUnreadState"
TimelineMarkEntriesUnreadGreaterThanSortIndex: "#/components/schemas/TimelineMarkEntriesUnreadGreaterThanSortIndex"
InstructionType:
type: string
@ -41,6 +45,8 @@ components:
TimelineShowAlert,
TimelineTerminateTimeline,
TimelineShowCover,
TimelineClearEntriesUnreadState,
TimelineMarkEntriesUnreadGreaterThanSortIndex,
]
TimelineAddEntries:
@ -309,3 +315,20 @@ components:
action:
type: string
enum: [primary_cta]
TimelineClearEntriesUnreadState:
required:
- type
properties:
type:
$ref: "#/components/schemas/InstructionType" # TimelineClearEntriesUnreadState
TimelineMarkEntriesUnreadGreaterThanSortIndex:
required:
- type
properties:
type:
$ref: "#/components/schemas/InstructionType" # TimelineMarkEntriesUnreadGreaterThanSortIndex
sort_index:
type: string
pattern: "[0-9]+$"

View file

@ -8,6 +8,8 @@ components:
schemas:
TimelineResult:
properties:
id:
type: string
timeline:
$ref: "#/components/schemas/Timeline"

View file

@ -22,6 +22,8 @@ components:
TimelineCommunity,
TimelineTombstone,
TimelineTrend,
TimelineNotification,
TimelineNotificationAggregateUserActions,
TweetUnavailable,
TweetPreviewDisplay,
Tweet,