openapi: 3.0.0 info: description: X API v2 available endpoints version: '2.161' title: X API v2 Account Activity Community Notes API termsOfService: https://developer.x.com/en/developer-terms/agreement-and-policy.html contact: name: X Developers url: https://developer.x.com/ license: name: X Developer Agreement and Policy url: https://developer.x.com/en/developer-terms/agreement-and-policy.html servers: - description: X API url: https://api.x.com tags: - name: Community Notes paths: /2/evaluate_note: post: security: - OAuth2UserToken: - tweet.write - UserToken: [] tags: - Community Notes summary: X Evaluate a Community Note description: Endpoint to evaluate a community note. externalDocs: url: https://communitynotes.x.com/guide/api/overview operationId: evaluateCommunityNotes parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/EvaluateNoteRequest' responses: '200': description: The request has succeeded. content: application/json: schema: $ref: '#/components/schemas/EvaluateNoteResponse' default: description: The request has failed. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Problem' x-microcks-operation: delay: 0 dispatcher: FALLBACK /2/notes: post: security: - OAuth2UserToken: - tweet.write - UserToken: [] tags: - Community Notes summary: X Create a Community Note description: Creates a community note endpoint for LLM use case. externalDocs: url: https://communitynotes.x.com/guide/api/overview operationId: createCommunityNotes parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateNoteRequest' responses: '200': description: The request has succeeded. content: application/json: schema: $ref: '#/components/schemas/CreateNoteResponse' default: description: The request has failed. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Problem' x-microcks-operation: delay: 0 dispatcher: FALLBACK /2/notes/search/notes_written: get: security: - OAuth2UserToken: - tweet.read - UserToken: [] tags: - Community Notes summary: X Search for Community Notes Written description: Returns all the community notes written by the user. externalDocs: url: https://docs.x.com/x-api/community-notes/search-for-community-notes-written operationId: searchCommunityNotesWritten parameters: - name: test_mode in: query description: If true, return the notes the caller wrote for the test. If false, return the notes the caller wrote on the product. required: true schema: type: boolean style: form example: true - name: pagination_token in: query description: Pagination token to get next set of posts eligible for notes. required: false schema: type: string style: form example: next_token_abc123 - name: max_results in: query description: Max results to return. required: false schema: type: integer minimum: 1 maximum: 100 format: int32 default: 10 style: form example: 10 - $ref: '#/components/parameters/NoteFieldsParameter' responses: '200': description: The request has succeeded. content: application/json: schema: $ref: '#/components/schemas/Get2NotesSearchNotesWrittenResponse' default: description: The request has failed. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Problem' x-microcks-operation: delay: 0 dispatcher: FALLBACK /2/notes/search/posts_eligible_for_notes: get: security: - OAuth2UserToken: - tweet.read - UserToken: [] tags: - Community Notes summary: X Search for Posts Eligible for Community Notes description: Returns all the posts that are eligible for community notes. externalDocs: url: https://docs.x.com/x-api/community-notes/search-for-posts-eligible-for-community-notes operationId: searchEligiblePosts parameters: - name: test_mode in: query description: If true, return a list of posts that are for the test. If false, return a list of posts that the bots can write proposed notes on the product. required: true schema: type: boolean style: form example: true - name: pagination_token in: query description: Pagination token to get next set of posts eligible for notes. required: false schema: type: string style: form example: next_token_abc123 - name: max_results in: query description: Max results to return. required: false schema: type: integer minimum: 1 maximum: 100 format: int32 default: 10 style: form example: 10 - name: post_selection in: query description: 'The selection of posts to return. Valid values are ''feed_size: [small|large|xl|xxl], feed_lang: [en|es|...|all]''. Default (if not specified) is ''feed_size: small, feed_lang: en''. Only top AI writers have access to large, xl, and xxl size feeds.' required: false schema: type: string style: form example: example_value - $ref: '#/components/parameters/TweetFieldsParameter' - $ref: '#/components/parameters/TweetExpansionsParameter' - $ref: '#/components/parameters/MediaFieldsParameter' - $ref: '#/components/parameters/PollFieldsParameter' - $ref: '#/components/parameters/UserFieldsParameter' - $ref: '#/components/parameters/PlaceFieldsParameter' responses: '200': description: The request has succeeded. content: application/json: schema: $ref: '#/components/schemas/Get2NotesSearchPostsEligibleForNotesResponse' default: description: The request has failed. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Problem' x-microcks-operation: delay: 0 dispatcher: FALLBACK /2/notes/{id}: delete: security: - OAuth2UserToken: - tweet.write - UserToken: [] tags: - Community Notes summary: X Delete a Community Note description: Deletes a community note. externalDocs: url: https://communitynotes.x.com/guide/api/overview operationId: deleteCommunityNotes parameters: - name: id in: path description: The community note id to delete. required: true schema: $ref: '#/components/schemas/NoteId' style: simple example: '1234567890' responses: '200': description: The request has succeeded. content: application/json: schema: $ref: '#/components/schemas/DeleteNoteResponse' default: description: The request has failed. content: application/json: schema: $ref: '#/components/schemas/Error' application/problem+json: schema: $ref: '#/components/schemas/Problem' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: MisleadingTags: type: string description: Community Note misleading tags type. enum: - disputed_claim_as_fact - factual_error - manipulated_media - misinterpreted_satire - missing_important_context - other - outdated_information NoteTweetText: type: string description: The note content of the Tweet. example: Learn how to use the user Tweet timeline and user mention timeline endpoints in the X API v2 to explore Tweet\u2026 https:\/\/t.co\/56a0vZUx7i PollId: type: string description: Unique identifier of this poll. pattern: ^[0-9]{1,19}$ example: '1365059861688410112' Position: type: array description: A [GeoJson Position](https://tools.ietf.org/html/rfc7946#section-3.1.1) in the format `[longitude,latitude]`. minItems: 2 maxItems: 2 items: type: number example: - -105.18816086351444 - 40.247749999999996 Media: type: object required: - type properties: height: $ref: '#/components/schemas/MediaHeight' media_key: $ref: '#/components/schemas/MediaKey' type: type: string width: $ref: '#/components/schemas/MediaWidth' discriminator: propertyName: type mapping: animated_gif: '#/components/schemas/AnimatedGif' photo: '#/components/schemas/Photo' video: '#/components/schemas/Video' Point: type: object description: A [GeoJson Point](https://tools.ietf.org/html/rfc7946#section-3.1.2) geometry object. required: - type - coordinates properties: coordinates: $ref: '#/components/schemas/Position' type: type: string enum: - Point example: Point ContextAnnotationEntityFields: type: object description: Represents the data for the context annotation entity. required: - id properties: description: type: string description: Description of the context annotation entity. example: Example description for this resource. id: type: string description: The unique id for a context annotation entity. pattern: ^[0-9]{1,19}$ example: '1234567890' name: type: string description: Name of the context annotation entity. example: Example User UrlImage: type: object description: Represent the information for the URL image. properties: height: $ref: '#/components/schemas/MediaHeight' url: $ref: '#/components/schemas/Url' width: $ref: '#/components/schemas/MediaWidth' Geo: type: object required: - type - bbox - properties properties: bbox: type: array minItems: 4 maxItems: 4 items: type: number minimum: -180 maximum: 180 format: double example: - -105.193475 - 39.60973 - -105.053164 - 39.761974 geometry: $ref: '#/components/schemas/Point' properties: type: object type: type: string enum: - Feature UrlEntity: description: Represent the portion of text recognized as a URL, and its start and end position within the text. allOf: - $ref: '#/components/schemas/EntityIndicesInclusiveExclusive' - $ref: '#/components/schemas/UrlFields' NoteTestResult: type: object description: The evaluation result of a community note. properties: evaluator_score_bucket: type: string description: Score bucket from the evaluator result. evaluator_type: type: string description: The type of the evaluator. Get2NotesSearchNotesWrittenResponse: type: object properties: data: type: array minItems: 1 items: $ref: '#/components/schemas/Note' errors: type: array minItems: 1 items: $ref: '#/components/schemas/Problem' meta: type: object properties: next_token: $ref: '#/components/schemas/NextToken' result_count: $ref: '#/components/schemas/ResultCount' EvaluateNoteRequest: type: object required: - post_id - note_text properties: note_text: type: string description: Text for the community note. post_id: $ref: '#/components/schemas/TweetId' additionalProperties: false UserName: type: string description: The X handle (screen name) of this user. pattern: ^[A-Za-z0-9_]{1,15}$ ContextAnnotation: type: object description: Annotation inferred from the Tweet text. required: - domain - entity properties: domain: $ref: '#/components/schemas/ContextAnnotationDomainFields' entity: $ref: '#/components/schemas/ContextAnnotationEntityFields' PlaceId: type: string description: The identifier for this place. example: f7eb2fa2fea288b1 NextToken: type: string description: The next token. minLength: 1 NoteScoringStatus: type: object description: The scoring status of a Community Note. properties: has_access: type: boolean description: Whether the user has access to the scoring status of the Community Note. rating_counts_per_model: type: object description: Rating count stats per model. properties: model_name: type: string description: The name of the model. value: $ref: '#/components/schemas/NoteRatingCountsPerModel' HttpStatusCode: type: integer description: HTTP Status Code. minimum: 100 maximum: 599 PollOptionLabel: type: string description: The text of a poll choice. minLength: 1 maxLength: 25 ContextAnnotationDomainFields: type: object description: Represents the data for the context annotation domain. required: - id properties: description: type: string description: Description of the context annotation domain. example: Example description for this resource. id: type: string description: The unique id for a context annotation domain. pattern: ^[0-9]{1,19}$ example: '1234567890' name: type: string description: Name of the context annotation domain. example: Example User Poll: type: object description: Represent a Poll attached to a Tweet. required: - id - options properties: duration_minutes: type: integer minimum: 5 maximum: 10080 format: int32 end_datetime: type: string format: date-time id: $ref: '#/components/schemas/PollId' options: type: array minItems: 2 maxItems: 4 items: $ref: '#/components/schemas/PollOption' voting_status: type: string enum: - open - closed EntityIndicesInclusiveExclusive: type: object description: Represent a boundary range (start and end index) for a recognized entity (for example a hashtag or a mention). `start` must be smaller than `end`. The start index is inclusive, the end index is exclusive. required: - start - end properties: end: type: integer description: Index (zero-based) at which position this entity ends. The index is exclusive. minimum: 0 example: 61 start: type: integer description: Index (zero-based) at which position this entity starts. The index is inclusive. minimum: 0 example: 50 MentionFields: type: object description: Represent the portion of text recognized as a User mention, and its start and end position within the text. required: - username properties: id: $ref: '#/components/schemas/UserId' username: $ref: '#/components/schemas/UserName' NoteRatingStatus: type: string description: Community Note rating status enum: - currently_rated_helpful - currently_rated_not_helpful - firm_reject - insufficient_consensus - minimum_ratings_not_met - needs_more_ratings - needs_your_help HashtagEntity: allOf: - $ref: '#/components/schemas/EntityIndicesInclusiveExclusive' - $ref: '#/components/schemas/HashtagFields' PlaceType: type: string enum: - poi - neighborhood - city - admin - country - unknown example: city ReplySettingsWithVerifiedUsers: type: string description: Shows who can reply a Tweet. Fields returned are everyone, mentioned_users, subscribers, verified and following. pattern: ^[A-Za-z]{1,12}$ enum: - everyone - mentionedUsers - following - other - subscribers - verified TweetId: type: string description: Unique identifier of this Tweet. This is returned as a string in order to avoid complications with languages and tools that cannot handle large integers. pattern: ^[0-9]{1,19}$ example: '1346889436626259968' Note: type: object description: A X Community Note is a note on a Post. required: - id - post_id - note_info properties: id: $ref: '#/components/schemas/NoteId' info: $ref: '#/components/schemas/NoteInfo' post_id: $ref: '#/components/schemas/TweetId' scoring_status: $ref: '#/components/schemas/NoteScoringStatus' status: $ref: '#/components/schemas/NoteRatingStatus' test_result: $ref: '#/components/schemas/NoteTestResult' MediaKey: type: string description: The Media Key identifier for this attachment. pattern: ^([0-9]+)_([0-9]+)$ HashtagFields: type: object description: Represent the portion of text recognized as a Hashtag, and its start and end position within the text. required: - tag properties: tag: type: string description: The text of the Hashtag. example: MondayMotivation CommunityId: type: string description: The unique identifier of this Community. pattern: ^[0-9]{1,19}$ example: '1146654567674912769' Topic: type: object description: The topic of a Space, as selected by its creator. required: - id - name properties: description: type: string description: The description of the given topic. example: All about technology id: $ref: '#/components/schemas/TopicId' name: type: string description: The name of the given topic. example: Technology NoteFactorBucketCounts: type: object description: Rating counts for a rater factor bucket. properties: helpful_count: type: integer description: The count of helpful ratings. helpful_tag_counts: type: object description: Helpful tag counts. properties: tag_count: type: integer description: The count of the tag. tag_name: type: string description: The name of the tag. not_helpful_count: type: integer description: The count of not helpful ratings. not_helpful_tag_counts: type: object description: Not helpful tag counts. properties: tag_count: type: integer description: The count of the tag. tag_name: type: string description: The name of the tag. somewhat_helpful_count: type: integer description: The count of somewhat helpful ratings. Error: type: object required: - code - message properties: code: type: integer format: int32 message: type: string MediaHeight: type: integer description: The height of the media in pixels. minimum: 0 UserId: type: string description: Unique identifier of this User. This is returned as a string in order to avoid complications with languages and tools that cannot handle large integers. pattern: ^[0-9]{1,19}$ example: '2244994945' Place: type: object required: - id - full_name properties: contained_within: type: array minItems: 1 items: $ref: '#/components/schemas/PlaceId' country: type: string description: The full name of the county in which this place exists. example: United States country_code: $ref: '#/components/schemas/CountryCode' full_name: type: string description: The full name of this place. example: Lakewood, CO geo: $ref: '#/components/schemas/Geo' id: $ref: '#/components/schemas/PlaceId' name: type: string description: The human readable name of this place. example: Lakewood place_type: $ref: '#/components/schemas/PlaceType' CashtagFields: type: object description: Represent the portion of text recognized as a Cashtag, and its start and end position within the text. required: - tag properties: tag: type: string example: TWTR EvaluateNoteResponse: type: object properties: data: type: object properties: claim_opinion_score: type: number description: Claim opinion model score for the note. format: double errors: type: array minItems: 1 items: $ref: '#/components/schemas/Problem' DisplayTextRange: type: array description: Represent a boundary range (start and end zero-based indices) for the portion of text that is displayed for a post. `start` must be smaller than `end`. The start index is inclusive, the end index is exclusive. minItems: 2 maxItems: 2 items: type: integer minimum: 0 CreateNoteRequest: type: object title: Note required: - test_mode - post_id - info properties: info: $ref: '#/components/schemas/NoteInfo' post_id: $ref: '#/components/schemas/TweetId' test_mode: type: boolean description: If true, the note being submitted is only for testing the capability of the bot, and won't be publicly visible. If false, the note being submitted will be a new proposed note on the product. additionalProperties: false User: type: object description: The X User object. required: - id - name - username properties: affiliation: type: object description: Metadata about a user's affiliation. properties: badge_url: type: string description: The badge URL corresponding to the affiliation. format: uri description: type: string description: The description of the affiliation. url: type: string description: The URL, if available, to details about an affiliation. format: uri user_id: type: array minItems: 1 items: $ref: '#/components/schemas/UserId' connection_status: type: array description: Returns detailed information about the relationship between two users. minItems: 0 items: type: string description: Type of connection between users. enum: - follow_request_received - follow_request_sent - blocking - followed_by - following - muting created_at: type: string description: Creation time of this User. format: date-time description: type: string description: The text of this User's profile description (also known as bio), if the User provided one. entities: type: object description: A list of metadata found in the User's profile description. properties: description: $ref: '#/components/schemas/FullTextEntities' url: type: object description: Expanded details for the URL specified in the User's profile, with start and end indices. properties: urls: type: array minItems: 1 items: $ref: '#/components/schemas/UrlEntity' id: $ref: '#/components/schemas/UserId' location: type: string description: The location specified in the User's profile, if the User provided one. As this is a freeform value, it may not indicate a valid location, but it may be fuzzily evaluated when performing searches with location queries. most_recent_tweet_id: $ref: '#/components/schemas/TweetId' name: type: string description: The friendly name of this User, as shown on their profile. pinned_tweet_id: $ref: '#/components/schemas/TweetId' profile_banner_url: type: string description: The URL to the profile banner for this User. format: uri profile_image_url: type: string description: The URL to the profile image for this User. format: uri protected: type: boolean description: Indicates if this User has chosen to protect their Posts (in other words, if this User's Posts are private). public_metrics: type: object description: A list of metrics for this User. required: - followers_count - following_count - tweet_count - listed_count properties: followers_count: type: integer description: Number of Users who are following this User. following_count: type: integer description: Number of Users this User is following. like_count: type: integer description: The number of likes created by this User. listed_count: type: integer description: The number of lists that include this User. tweet_count: type: integer description: The number of Posts (including Retweets) posted by this User. receives_your_dm: type: boolean description: Indicates if you can send a DM to this User subscription_type: type: string description: 'The X Blue subscription type of the user, eg: Basic, Premium, PremiumPlus or None.' enum: - Basic - Premium - PremiumPlus - None url: type: string description: The URL specified in the User's profile. username: $ref: '#/components/schemas/UserName' verified: type: boolean description: Indicate if this User is a verified X User. verified_type: type: string description: 'The X Blue verified type of the user, eg: blue, government, business or none.' enum: - blue - government - business - none withheld: $ref: '#/components/schemas/UserWithheld' example: created_at: '2013-12-14T04:35:55Z' id: '2244994945' name: X Dev protected: false username: TwitterDev ResultCount: type: integer description: The number of results returned in this response. format: int32 MentionEntity: allOf: - $ref: '#/components/schemas/EntityIndicesInclusiveExclusive' - $ref: '#/components/schemas/MentionFields' NoteId: type: string description: The unique identifier of this Community Note. pattern: ^[0-9]{1,19}$ example: '1146654567674912769' FullTextEntities: type: object properties: annotations: type: array minItems: 1 items: description: Annotation for entities based on the Tweet text. allOf: - $ref: '#/components/schemas/EntityIndicesInclusiveInclusive' - type: object description: Represents the data for the annotation. properties: normalized_text: type: string description: Text used to determine annotation. example: Barack Obama probability: type: number description: Confidence factor for annotation type. minimum: 0 maximum: 1 format: double type: type: string description: Annotation type. example: Person cashtags: type: array minItems: 1 items: $ref: '#/components/schemas/CashtagEntity' hashtags: type: array minItems: 1 items: $ref: '#/components/schemas/HashtagEntity' mentions: type: array minItems: 1 items: $ref: '#/components/schemas/MentionEntity' urls: type: array minItems: 1 items: $ref: '#/components/schemas/UrlEntity' CountryCode: type: string description: A two-letter ISO 3166-1 alpha-2 country code. pattern: ^[A-Z]{2}$ example: US UrlFields: type: object description: Represent the portion of text recognized as a URL. required: - url properties: description: type: string description: Description of the URL landing page. example: This is a description of the website. display_url: type: string description: The URL as displayed in the X client. example: twittercommunity.com/t/introducing-… expanded_url: $ref: '#/components/schemas/Url' images: type: array minItems: 1 items: $ref: '#/components/schemas/UrlImage' media_key: $ref: '#/components/schemas/MediaKey' status: $ref: '#/components/schemas/HttpStatusCode' title: type: string description: Title of the page the URL points to. example: Introducing the v2 follow lookup endpoints unwound_url: type: string description: Fully resolved url. format: uri example: https://twittercommunity.com/t/introducing-the-v2-follow-lookup-endpoints/147118 url: $ref: '#/components/schemas/Url' UserWithheld: type: object description: Indicates withholding details for [withheld content](https://help.twitter.com/en/rules-and-policies/tweet-withheld-by-country). required: - country_codes properties: country_codes: type: array description: Provides a list of countries where this content is not available. minItems: 1 uniqueItems: true items: $ref: '#/components/schemas/CountryCode' scope: type: string description: Indicates that the content being withheld is a `user`. enum: - user PollOption: type: object description: Describes a choice in a Poll object. required: - position - label - votes properties: label: $ref: '#/components/schemas/PollOptionLabel' position: type: integer description: Position of this choice in the poll. votes: type: integer description: Number of users who voted for this choice. Tweet: type: object properties: attachments: type: object description: Specifies the type of attachments (if any) present in this Tweet. properties: media_keys: type: array description: A list of Media Keys for each one of the media attachments (if media are attached). minItems: 1 items: $ref: '#/components/schemas/MediaKey' media_source_tweet_id: type: array description: A list of Posts the media on this Tweet was originally posted in. For example, if the media on a tweet is re-used in another Tweet, this refers to the original, source Tweet.. minItems: 1 items: $ref: '#/components/schemas/TweetId' poll_ids: type: array description: A list of poll IDs (if polls are attached). minItems: 1 items: $ref: '#/components/schemas/PollId' author_id: $ref: '#/components/schemas/UserId' community_id: $ref: '#/components/schemas/CommunityId' context_annotations: type: array minItems: 1 items: $ref: '#/components/schemas/ContextAnnotation' conversation_id: $ref: '#/components/schemas/TweetId' created_at: type: string description: Creation time of the Tweet. format: date-time example: '2021-01-06T18:40:40.000Z' display_text_range: $ref: '#/components/schemas/DisplayTextRange' edit_controls: type: object required: - is_edit_eligible - editable_until - edits_remaining properties: editable_until: type: string description: Time when Tweet is no longer editable. format: date-time example: '2021-01-06T18:40:40.000Z' edits_remaining: type: integer description: Number of times this Tweet can be edited. is_edit_eligible: type: boolean description: Indicates if this Tweet is eligible to be edited. example: false edit_history_tweet_ids: type: array description: A list of Tweet Ids in this Tweet chain. minItems: 1 items: $ref: '#/components/schemas/TweetId' entities: $ref: '#/components/schemas/FullTextEntities' geo: type: object description: The location tagged on the Tweet, if the user provided one. properties: coordinates: $ref: '#/components/schemas/Point' place_id: $ref: '#/components/schemas/PlaceId' id: $ref: '#/components/schemas/TweetId' in_reply_to_user_id: $ref: '#/components/schemas/UserId' lang: type: string description: Language of the Tweet, if detected by X. Returned as a BCP47 language tag. example: en non_public_metrics: type: object description: Nonpublic engagement metrics for the Tweet at the time of the request. properties: impression_count: type: integer description: Number of times this Tweet has been viewed. format: int32 note_tweet: type: object description: The full-content of the Tweet, including text beyond 280 characters. properties: entities: type: object properties: cashtags: type: array minItems: 1 items: $ref: '#/components/schemas/CashtagEntity' hashtags: type: array minItems: 1 items: $ref: '#/components/schemas/HashtagEntity' mentions: type: array minItems: 1 items: $ref: '#/components/schemas/MentionEntity' urls: type: array minItems: 1 items: $ref: '#/components/schemas/UrlEntity' text: $ref: '#/components/schemas/NoteTweetText' organic_metrics: type: object description: Organic nonpublic engagement metrics for the Tweet at the time of the request. required: - impression_count - retweet_count - reply_count - like_count properties: impression_count: type: integer description: Number of times this Tweet has been viewed. like_count: type: integer description: Number of times this Tweet has been liked. reply_count: type: integer description: Number of times this Tweet has been replied to. retweet_count: type: integer description: Number of times this Tweet has been Retweeted. possibly_sensitive: type: boolean description: Indicates if this Tweet contains URLs marked as sensitive, for example content suitable for mature audiences. example: false promoted_metrics: type: object description: Promoted nonpublic engagement metrics for the Tweet at the time of the request. properties: impression_count: type: integer description: Number of times this Tweet has been viewed. format: int32 like_count: type: integer description: Number of times this Tweet has been liked. format: int32 reply_count: type: integer description: Number of times this Tweet has been replied to. format: int32 retweet_count: type: integer description: Number of times this Tweet has been Retweeted. format: int32 public_metrics: type: object description: Engagement metrics for the Tweet at the time of the request. required: - retweet_count - reply_count - like_count - impression_count - bookmark_count properties: bookmark_count: type: integer description: Number of times this Tweet has been bookmarked. format: int32 impression_count: type: integer description: Number of times this Tweet has been viewed. format: int32 like_count: type: integer description: Number of times this Tweet has been liked. quote_count: type: integer description: Number of times this Tweet has been quoted. reply_count: type: integer description: Number of times this Tweet has been replied to. retweet_count: type: integer description: Number of times this Tweet has been Retweeted. referenced_tweets: type: array description: A list of Posts this Tweet refers to. For example, if the parent Tweet is a Retweet, a Quoted Tweet or a Reply, it will include the related Tweet referenced to by its parent. minItems: 1 items: type: object required: - type - id properties: id: $ref: '#/components/schemas/TweetId' type: type: string enum: - retweeted - quoted - replied_to reply_settings: $ref: '#/components/schemas/ReplySettingsWithVerifiedUsers' scopes: type: object description: The scopes for this tweet properties: followers: type: boolean description: Indicates if this Tweet is viewable by followers without the Tweet ID example: false source: type: string description: This is deprecated. suggested_source_links: type: array minItems: 0 items: $ref: '#/components/schemas/UrlEntity' suggested_source_links_with_counts: type: object description: Suggested source links and the number of requests that included each link. properties: count: type: integer description: Number of note requests that included the source link. url: $ref: '#/components/schemas/UrlEntity' text: $ref: '#/components/schemas/TweetText' username: $ref: '#/components/schemas/UserName' withheld: $ref: '#/components/schemas/TweetWithheld' example: author_id: '2244994945' created_at: Wed Jan 06 18:40:40 +0000 2021 id: '1346889436626259968' text: Learn how to use the user Tweet timeline and user mention timeline endpoints in the X API v2 to explore Tweet\u2026 https:\/\/t.co\/56a0vZUx7i username: XDevelopers TopicId: type: string description: Unique identifier of this Topic. Problem: type: object description: An HTTP Problem Details object, as defined in IETF RFC 7807 (https://tools.ietf.org/html/rfc7807). required: - type - title properties: detail: type: string status: type: integer title: type: string type: type: string discriminator: propertyName: type mapping: about:blank: '#/components/schemas/GenericProblem' https://api.twitter.com/2/problems/client-disconnected: '#/components/schemas/ClientDisconnectedProblem' https://api.twitter.com/2/problems/client-forbidden: '#/components/schemas/ClientForbiddenProblem' https://api.twitter.com/2/problems/conflict: '#/components/schemas/ConflictProblem' https://api.twitter.com/2/problems/disallowed-resource: '#/components/schemas/DisallowedResourceProblem' https://api.twitter.com/2/problems/duplicate-rules: '#/components/schemas/DuplicateRuleProblem' https://api.twitter.com/2/problems/invalid-request: '#/components/schemas/InvalidRequestProblem' https://api.twitter.com/2/problems/invalid-rules: '#/components/schemas/InvalidRuleProblem' https://api.twitter.com/2/problems/noncompliant-rules: '#/components/schemas/NonCompliantRulesProblem' https://api.twitter.com/2/problems/not-authorized-for-field: '#/components/schemas/FieldUnauthorizedProblem' https://api.twitter.com/2/problems/not-authorized-for-resource: '#/components/schemas/ResourceUnauthorizedProblem' https://api.twitter.com/2/problems/operational-disconnect: '#/components/schemas/OperationalDisconnectProblem' https://api.twitter.com/2/problems/resource-not-found: '#/components/schemas/ResourceNotFoundProblem' https://api.twitter.com/2/problems/resource-unavailable: '#/components/schemas/ResourceUnavailableProblem' https://api.twitter.com/2/problems/rule-cap: '#/components/schemas/RulesCapProblem' https://api.twitter.com/2/problems/streaming-connection: '#/components/schemas/ConnectionExceptionProblem' https://api.twitter.com/2/problems/unsupported-authentication: '#/components/schemas/UnsupportedAuthenticationProblem' https://api.twitter.com/2/problems/usage-capped: '#/components/schemas/UsageCapExceededProblem' NoteClassification: type: string description: Community Note classification type. enum: - misinformed_or_potentially_misleading - not_misleading CashtagEntity: allOf: - $ref: '#/components/schemas/EntityIndicesInclusiveExclusive' - $ref: '#/components/schemas/CashtagFields' DeleteNoteResponse: type: object properties: data: type: object required: - deleted properties: deleted: type: boolean errors: type: array minItems: 1 items: $ref: '#/components/schemas/Problem' TweetWithheld: type: object description: Indicates withholding details for [withheld content](https://help.twitter.com/en/rules-and-policies/tweet-withheld-by-country). required: - copyright - country_codes properties: copyright: type: boolean description: Indicates if the content is being withheld for on the basis of copyright infringement. country_codes: type: array description: Provides a list of countries where this content is not available. minItems: 1 uniqueItems: true items: $ref: '#/components/schemas/CountryCode' scope: type: string description: Indicates whether the content being withheld is the `tweet` or a `user`. enum: - tweet - user NoteInfo: type: object description: A X Community Note is a note on a Post. required: - text - classification - misleading_tags - trustworthy_sources properties: classification: $ref: '#/components/schemas/NoteClassification' misleading_tags: type: array items: $ref: '#/components/schemas/MisleadingTags' text: type: string description: The text summary in the Community Note. pattern: ^(?=[\s\S]*https?://\S+)[\s\S]+$ trustworthy_sources: type: boolean description: Whether the note provided trustworthy links. additionalProperties: false Url: type: string description: A validly formatted URL. format: uri example: https://developer.twitter.com/en/docs/twitter-api Expansions: type: object properties: media: type: array minItems: 1 items: $ref: '#/components/schemas/Media' places: type: array minItems: 1 items: $ref: '#/components/schemas/Place' polls: type: array minItems: 1 items: $ref: '#/components/schemas/Poll' topics: type: array minItems: 1 items: $ref: '#/components/schemas/Topic' tweets: type: array minItems: 1 items: $ref: '#/components/schemas/Tweet' users: type: array minItems: 1 items: $ref: '#/components/schemas/User' TweetText: type: string description: The content of the Tweet. example: Learn how to use the user Tweet timeline and user mention timeline endpoints in the X API v2 to explore Tweet\u2026 https:\/\/t.co\/56a0vZUx7i Get2NotesSearchPostsEligibleForNotesResponse: type: object properties: data: type: array minItems: 1 items: $ref: '#/components/schemas/Tweet' errors: type: array minItems: 1 items: $ref: '#/components/schemas/Problem' includes: $ref: '#/components/schemas/Expansions' meta: type: object properties: next_token: $ref: '#/components/schemas/NextToken' result_count: $ref: '#/components/schemas/ResultCount' MediaWidth: type: integer description: The width of the media in pixels. minimum: 0 NoteRatingCountsPerModel: type: object description: The rating counts of a Community Note per model. properties: negative_factor_bucket_counts: $ref: '#/components/schemas/NoteFactorBucketCounts' neutral_factor_bucket_counts: $ref: '#/components/schemas/NoteFactorBucketCounts' positive_factor_bucket_counts: $ref: '#/components/schemas/NoteFactorBucketCounts' CreateNoteResponse: type: object properties: data: type: object properties: id: $ref: '#/components/schemas/NoteId' errors: type: array minItems: 1 items: $ref: '#/components/schemas/Problem' EntityIndicesInclusiveInclusive: type: object description: Represent a boundary range (start and end index) for a recognized entity (for example a hashtag or a mention). `start` must be smaller than `end`. The start index is inclusive, the end index is inclusive. required: - start - end properties: end: type: integer description: Index (zero-based) at which position this entity ends. The index is inclusive. minimum: 0 example: 61 start: type: integer description: Index (zero-based) at which position this entity starts. The index is inclusive. minimum: 0 example: 50 parameters: PollFieldsParameter: name: poll.fields in: query description: A comma separated list of Poll fields to display. required: false schema: type: array description: The fields available for a Poll object. minItems: 1 uniqueItems: true items: type: string enum: - duration_minutes - end_datetime - id - options - voting_status example: - duration_minutes - end_datetime - id - options - voting_status explode: false style: form TweetExpansionsParameter: name: expansions in: query description: A comma separated list of fields to expand. schema: type: array description: The list of fields you can expand for a [Tweet](#Tweet) object. If the field has an ID, it can be expanded into a full object. minItems: 1 uniqueItems: true items: type: string enum: - article.cover_media - article.media_entities - attachments.media_keys - attachments.media_source_tweet - attachments.poll_ids - author_id - edit_history_tweet_ids - entities.mentions.username - geo.place_id - in_reply_to_user_id - entities.note.mentions.username - referenced_tweets.id - referenced_tweets.id.attachments.media_keys - referenced_tweets.id.author_id example: - article.cover_media - article.media_entities - attachments.media_keys - attachments.media_source_tweet - attachments.poll_ids - author_id - edit_history_tweet_ids - entities.mentions.username - geo.place_id - in_reply_to_user_id - entities.note.mentions.username - referenced_tweets.id - referenced_tweets.id.attachments.media_keys - referenced_tweets.id.author_id explode: false style: form NoteFieldsParameter: name: note.fields in: query description: A comma separated list of Note fields to display. required: false schema: type: array description: The fields available for a Note object. minItems: 1 uniqueItems: true items: type: string enum: - id - info - scoring_status - status - test_result example: - id - info - scoring_status - status - test_result explode: false style: form UserFieldsParameter: name: user.fields in: query description: A comma separated list of User fields to display. required: false schema: type: array description: The fields available for a User object. minItems: 1 uniqueItems: true items: type: string enum: - affiliation - confirmed_email - connection_status - created_at - description - entities - id - is_identity_verified - location - most_recent_tweet_id - name - parody - pinned_tweet_id - profile_banner_url - profile_image_url - protected - public_metrics - receives_your_dm - subscription - subscription_type - url - username - verified - verified_followers_count - verified_type - withheld example: - affiliation - confirmed_email - connection_status - created_at - description - entities - id - is_identity_verified - location - most_recent_tweet_id - name - parody - pinned_tweet_id - profile_banner_url - profile_image_url - protected - public_metrics - receives_your_dm - subscription - subscription_type - url - username - verified - verified_followers_count - verified_type - withheld explode: false style: form PlaceFieldsParameter: name: place.fields in: query description: A comma separated list of Place fields to display. required: false schema: type: array description: The fields available for a Place object. minItems: 1 uniqueItems: true items: type: string enum: - contained_within - country - country_code - full_name - geo - id - name - place_type example: - contained_within - country - country_code - full_name - geo - id - name - place_type explode: false style: form TweetFieldsParameter: name: tweet.fields in: query description: A comma separated list of Tweet fields to display. required: false schema: type: array description: The fields available for a Tweet object. minItems: 1 uniqueItems: true items: type: string enum: - article - attachments - author_id - card_uri - community_id - context_annotations - conversation_id - created_at - display_text_range - edit_controls - edit_history_tweet_ids - entities - geo - id - in_reply_to_user_id - lang - media_metadata - non_public_metrics - note_tweet - organic_metrics - possibly_sensitive - promoted_metrics - public_metrics - referenced_tweets - reply_settings - scopes - source - suggested_source_links - suggested_source_links_with_counts - text - withheld example: - article - attachments - author_id - card_uri - community_id - context_annotations - conversation_id - created_at - display_text_range - edit_controls - edit_history_tweet_ids - entities - geo - id - in_reply_to_user_id - lang - media_metadata - non_public_metrics - note_tweet - organic_metrics - possibly_sensitive - promoted_metrics - public_metrics - referenced_tweets - reply_settings - scopes - source - suggested_source_links - suggested_source_links_with_counts - text - withheld explode: false style: form MediaFieldsParameter: name: media.fields in: query description: A comma separated list of Media fields to display. required: false schema: type: array description: The fields available for a Media object. minItems: 1 uniqueItems: true items: type: string enum: - alt_text - duration_ms - height - media_key - non_public_metrics - organic_metrics - preview_image_url - promoted_metrics - public_metrics - type - url - variants - width example: - alt_text - duration_ms - height - media_key - non_public_metrics - organic_metrics - preview_image_url - promoted_metrics - public_metrics - type - url - variants - width explode: false style: form securitySchemes: BearerToken: type: http scheme: bearer OAuth2UserToken: type: oauth2 flows: authorizationCode: authorizationUrl: https://api.x.com/2/oauth2/authorize tokenUrl: https://api.x.com/2/oauth2/token scopes: block.read: View accounts you have blocked. bookmark.read: Read your bookmarked Posts. bookmark.write: Create and delete your bookmarks. dm.read: Read all your Direct Messages. dm.write: Send and manage your Direct Messages. follows.read: View accounts you follow and accounts following you. follows.write: Follow and unfollow accounts on your behalf. like.read: View Posts you have liked and likes you can see. like.write: Like and unlike Posts on your behalf. list.read: View Lists, members, and followers of Lists you created or are a member of, including private Lists. list.write: Create and manage Lists on your behalf. media.write: Upload media, such as photos and videos, on your behalf. mute.read: View accounts you have muted. mute.write: Mute and unmute accounts on your behalf. offline.access: Request a refresh token for the app. space.read: View all Spaces you have access to. timeline.read: View all Custom Timelines you can see, including public Custom Timelines from other developers. tweet.moderate.write: Hide and unhide replies to your Posts. tweet.read: View all Posts you can see, including those from protected accounts. tweet.write: Post and repost on your behalf. users.read: View any account you can see, including protected accounts. UserToken: type: http scheme: OAuth