X (Twitter)

Social media platform API

developer.x.com/en/docs/twitter-api ↗
Version
2.62
OpenAPI
3.0.0
Endpoints
80
Schemas
228
Updated
3 days ago
Social social media messaging
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://api.twitter.com

Authentication

bearer oauth2 OAuth

Endpoints

Clear filters

Bookmarks 1 endpoints

GET /2/users/{id}/bookmarks

Returns Tweet objects that have been bookmarked by the requesting User

operationId: Bookmarks_getUserBookmarks

Parameters

Name In Required Type Description
id path required The ID of the authenticated source User for whom to return results.
max_results query optional integer The maximum number of results.
pagination_token query optional This parameter is used to get the next 'page' of results.
optional
optional
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/users/{id}/bookmarks

Compliance 5 endpoints

GET /2/compliance/jobs

Returns recent Compliance Jobs for a given job type and optional job status

operationId: Compliance_listJobs

Parameters

Name In Required Type Description
type query required string Type of Compliance Job to list.
status query optional string Status of Compliance Job to list.
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/compliance/jobs
GET /2/compliance/jobs/{id}

Returns a single Compliance Job by ID

operationId: Compliance_getJobById

Parameters

Name In Required Type Description
id path required The ID of the Compliance Job to retrieve.
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/compliance/jobs/{id}
GET /2/tweets/compliance/stream

Streams 100% of compliance data for Tweets

operationId: Compliance_streamData

Parameters

Name In Required Type Description
backfill_minutes query optional integer The number of minutes of backfill requested.
partition query required integer The partition number.
start_time query optional string YYYY-MM-DDTHH:mm:ssZ. The earliest UTC timestamp from which the Tweet Compliance events will be provided.
end_time query optional string YYYY-MM-DDTHH:mm:ssZ. The latest UTC timestamp to which the Tweet Compliance events will be provided.

Responses

default The request has failed.
200 The request has succeeded.
GET /2/tweets/compliance/stream
GET /2/tweets/label/stream

Streams 100% of labeling events applied to Tweets

operationId: Compliance_streamTweetsLabelEvents

Parameters

Name In Required Type Description
backfill_minutes query optional integer The number of minutes of backfill requested.
start_time query optional string YYYY-MM-DDTHH:mm:ssZ. The earliest UTC timestamp from which the Tweet labels will be provided.
end_time query optional string YYYY-MM-DDTHH:mm:ssZ. The latest UTC timestamp from which the Tweet labels will be provided.

Responses

default The request has failed.
200 The request has succeeded.
GET /2/tweets/label/stream
GET /2/users/compliance/stream

Streams 100% of compliance data for Users

operationId: Compliance_streamUsersData

Parameters

Name In Required Type Description
backfill_minutes query optional integer The number of minutes of backfill requested.
partition query required integer The partition number.
start_time query optional string YYYY-MM-DDTHH:mm:ssZ. The earliest UTC timestamp from which the User Compliance events will be provided.
end_time query optional string YYYY-MM-DDTHH:mm:ssZ. The latest UTC timestamp from which the User Compliance events will be provided.

Responses

default The request has failed.
200 The request has succeeded.
GET /2/users/compliance/stream

Direct messages 3 endpoints

GET /2/dm_conversations/with/{participant_id}/dm_events

Returns DM Events for a DM Conversation

operationId: DirectMessages_getDmEvents

Parameters

Name In Required Type Description
participant_id path required The ID of the participant user for the One to One DM conversation.
max_results query optional integer The maximum number of results.
pagination_token query optional This parameter is used to get a specified 'page' of results.
event_types query optional array The set of event_types to include in the results.
optional
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/dm_conversations/with/{participant_id}/dm_events
GET /2/dm_conversations/{id}/dm_events

Returns DM Events for a DM Conversation

operationId: DirectMessages_getDmEvents

Parameters

Name In Required Type Description
id path required The DM Conversation ID.
max_results query optional integer The maximum number of results.
pagination_token query optional This parameter is used to get a specified 'page' of results.
event_types query optional array The set of event_types to include in the results.
optional
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/dm_conversations/{id}/dm_events
GET /2/dm_events

Returns recent DM Events across DM conversations

operationId: DirectMessages_getRecentDmEvents

Parameters

Name In Required Type Description
max_results query optional integer The maximum number of results.
pagination_token query optional This parameter is used to get a specified 'page' of results.
event_types query optional array The set of event_types to include in the results.
optional
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/dm_events

General 1 endpoints

GET /2/openapi.json

Full OpenAPI Specification in JSON format. (See https://github.com/OAI/OpenAPI-Specification/blob/master/README.md)

operationId: General_getOpenApiSpec

Responses

200 The request was successful
GET /2/openapi.json

Lists 5 endpoints

GET /2/lists/{id}

Returns a List.

operationId: Lists_lookupByListId

Parameters

Name In Required Type Description
id path required The ID of the List.
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/lists/{id}
GET /2/users/{id}/followed_lists

Returns a User's followed Lists.

operationId: Lists_getFollowed

Parameters

Name In Required Type Description
id path required The ID of the User to lookup.
max_results query optional integer The maximum number of results.
pagination_token query optional This parameter is used to get a specified 'page' of results.
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/users/{id}/followed_lists
GET /2/users/{id}/list_memberships

Get a User's List Memberships.

operationId: Lists_getUserMemberships

Parameters

Name In Required Type Description
id path required The ID of the User to lookup.
max_results query optional integer The maximum number of results.
pagination_token query optional This parameter is used to get a specified 'page' of results.
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/users/{id}/list_memberships
GET /2/users/{id}/owned_lists

Get a User's Owned Lists.

operationId: Lists_getUserOwnedLists

Parameters

Name In Required Type Description
id path required The ID of the User to lookup.
max_results query optional integer The maximum number of results.
pagination_token query optional This parameter is used to get a specified 'page' of results.
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/users/{id}/owned_lists
GET /2/users/{id}/pinned_lists

Get a User's Pinned Lists.

operationId: Lists_getUserPinnedLists

Parameters

Name In Required Type Description
id path required The ID of the authenticated source User for whom to return results.
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/users/{id}/pinned_lists

Spaces 6 endpoints

GET /2/spaces

Returns a variety of information about the Spaces specified by the requested IDs

operationId: Spaces_lookupSpaceIds

Parameters

Name In Required Type Description
ids query required array The list of Space IDs to return.
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/spaces
GET /2/spaces/by/creator_ids

Returns a variety of information about the Spaces created by the provided User IDs

operationId: Spaces_lookupByCreatorIds

Parameters

Name In Required Type Description
user_ids query required array The IDs of Users to search through.
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/spaces/by/creator_ids
GET /2/spaces/search

Returns Spaces that match the provided query.

operationId: Spaces_findMatchingSpaces

Parameters

Name In Required Type Description
query query required string The search query.
state query optional string The state of Spaces to search for.
max_results query optional integer The number of results to return.
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/spaces/search
GET /2/spaces/{id}

Returns a variety of information about the Space specified by the requested ID

operationId: Spaces_lookupSpaceById

Parameters

Name In Required Type Description
id path required string The ID of the Space to be retrieved.
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/spaces/{id}
GET /2/spaces/{id}/buyers

Retrieves the list of Users who purchased a ticket to the given space

operationId: Spaces_getBuyersList

Parameters

Name In Required Type Description
id path required string The ID of the Space to be retrieved.
pagination_token query optional This parameter is used to get a specified 'page' of results.
max_results query optional integer The maximum number of results.
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/spaces/{id}/buyers
GET /2/spaces/{id}/tweets

Retrieves Tweets shared in the specified Space.

operationId: Spaces_getTweets

Parameters

Name In Required Type Description
id path required string The ID of the Space to be retrieved.
max_results query optional integer The number of Tweets to fetch from the provided space. If not provided, the value will default to the maximum of 100.
optional
optional
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/spaces/{id}/tweets

Tweets 17 endpoints

GET /2/lists/{id}/tweets

Returns a list of Tweets associated with the provided List ID.

operationId: Tweets_listByListId

Parameters

Name In Required Type Description
id path required The ID of the List.
max_results query optional integer The maximum number of results.
pagination_token query optional This parameter is used to get the next 'page' of results.
optional
optional
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/lists/{id}/tweets
GET /2/tweets

Returns a variety of information about the Tweet specified by the requested ID.

operationId: Tweets_lookupByTweetIds

Parameters

Name In Required Type Description
ids query required array A comma separated list of Tweet IDs. Up to 100 are allowed in a single request.
optional
optional
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/tweets
GET /2/tweets/counts/all

Returns Tweet Counts that match a search query.

operationId: Tweets_getTweetCounts

Parameters

Name In Required Type Description
query query required string One query/rule/filter for matching Tweets. Refer to https://t.co/rulelength to identify the max query length.
start_time query optional string YYYY-MM-DDTHH:mm:ssZ. The oldest UTC timestamp (from most recent 7 days) from which the Tweets will be provided. Timestamp is in second granularity and is inclusive (i.e. 12:00:01 includes the first second of the minute).
end_time query optional string YYYY-MM-DDTHH:mm:ssZ. The newest, most recent UTC timestamp to which the Tweets will be provided. Timestamp is in second granularity and is exclusive (i.e. 12:00:01 excludes the first second of the minute).
since_id query optional Returns results with a Tweet ID greater than (that is, more recent than) the specified ID.
until_id query optional Returns results with a Tweet ID less than (that is, older than) the specified ID.
next_token query optional This parameter is used to get the next 'page' of results. The value used with the parameter is pulled directly from the response provided by the API, and should not be modified.
pagination_token query optional This parameter is used to get the next 'page' of results. The value used with the parameter is pulled directly from the response provided by the API, and should not be modified.
granularity query optional string The granularity for the search counts results.
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/tweets/counts/all
GET /2/tweets/counts/recent

Returns Tweet Counts from the last 7 days that match a search query.

operationId: Tweets_getRecentTweetCounts

Parameters

Name In Required Type Description
query query required string One query/rule/filter for matching Tweets. Refer to https://t.co/rulelength to identify the max query length.
start_time query optional string YYYY-MM-DDTHH:mm:ssZ. The oldest UTC timestamp (from most recent 7 days) from which the Tweets will be provided. Timestamp is in second granularity and is inclusive (i.e. 12:00:01 includes the first second of the minute).
end_time query optional string YYYY-MM-DDTHH:mm:ssZ. The newest, most recent UTC timestamp to which the Tweets will be provided. Timestamp is in second granularity and is exclusive (i.e. 12:00:01 excludes the first second of the minute).
since_id query optional Returns results with a Tweet ID greater than (that is, more recent than) the specified ID.
until_id query optional Returns results with a Tweet ID less than (that is, older than) the specified ID.
next_token query optional This parameter is used to get the next 'page' of results. The value used with the parameter is pulled directly from the response provided by the API, and should not be modified.
pagination_token query optional This parameter is used to get the next 'page' of results. The value used with the parameter is pulled directly from the response provided by the API, and should not be modified.
granularity query optional string The granularity for the search counts results.
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/tweets/counts/recent
GET /2/tweets/firehose/stream

Streams 100% of public Tweets.

operationId: Tweets_getFirehoseStream

Parameters

Name In Required Type Description
backfill_minutes query optional integer The number of minutes of backfill requested.
partition query required integer The partition number.
start_time query optional string YYYY-MM-DDTHH:mm:ssZ. The earliest UTC timestamp to which the Tweets will be provided.
end_time query optional string YYYY-MM-DDTHH:mm:ssZ. The latest UTC timestamp to which the Tweets will be provided.
optional
optional
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/tweets/firehose/stream
GET /2/tweets/sample/stream

Streams a deterministic 1% of public Tweets.

operationId: Tweets_streamSample

Parameters

Name In Required Type Description
backfill_minutes query optional integer The number of minutes of backfill requested.
optional
optional
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/tweets/sample/stream
GET /2/tweets/sample10/stream

Streams a deterministic 10% of public Tweets.

operationId: Tweets_streamSample10

Parameters

Name In Required Type Description
backfill_minutes query optional integer The number of minutes of backfill requested.
partition query required integer The partition number.
start_time query optional string YYYY-MM-DDTHH:mm:ssZ. The earliest UTC timestamp to which the Tweets will be provided.
end_time query optional string YYYY-MM-DDTHH:mm:ssZ. The latest UTC timestamp to which the Tweets will be provided.
optional
optional
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/tweets/sample10/stream
GET /2/tweets/search/all

Returns Tweets that match a search query.

operationId: Tweets_searchAll

Parameters

Name In Required Type Description
query query required string One query/rule/filter for matching Tweets. Refer to https://t.co/rulelength to identify the max query length.
start_time query optional string YYYY-MM-DDTHH:mm:ssZ. The oldest UTC timestamp from which the Tweets will be provided. Timestamp is in second granularity and is inclusive (i.e. 12:00:01 includes the first second of the minute).
end_time query optional string YYYY-MM-DDTHH:mm:ssZ. The newest, most recent UTC timestamp to which the Tweets will be provided. Timestamp is in second granularity and is exclusive (i.e. 12:00:01 excludes the first second of the minute).
since_id query optional Returns results with a Tweet ID greater than (that is, more recent than) the specified ID.
until_id query optional Returns results with a Tweet ID less than (that is, older than) the specified ID.
max_results query optional integer The maximum number of search results to be returned by a request.
next_token query optional This parameter is used to get the next 'page' of results. The value used with the parameter is pulled directly from the response provided by the API, and should not be modified.
pagination_token query optional This parameter is used to get the next 'page' of results. The value used with the parameter is pulled directly from the response provided by the API, and should not be modified.
sort_order query optional string This order in which to return results.
optional
optional
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/tweets/search/all
GET /2/tweets/search/recent

Returns Tweets from the last 7 days that match a search query.

operationId: Tweets_getRecentTweets

Parameters

Name In Required Type Description
query query required string One query/rule/filter for matching Tweets. Refer to https://t.co/rulelength to identify the max query length.
start_time query optional string YYYY-MM-DDTHH:mm:ssZ. The oldest UTC timestamp from which the Tweets will be provided. Timestamp is in second granularity and is inclusive (i.e. 12:00:01 includes the first second of the minute).
end_time query optional string YYYY-MM-DDTHH:mm:ssZ. The newest, most recent UTC timestamp to which the Tweets will be provided. Timestamp is in second granularity and is exclusive (i.e. 12:00:01 excludes the first second of the minute).
since_id query optional Returns results with a Tweet ID greater than (that is, more recent than) the specified ID.
until_id query optional Returns results with a Tweet ID less than (that is, older than) the specified ID.
max_results query optional integer The maximum number of search results to be returned by a request.
next_token query optional This parameter is used to get the next 'page' of results. The value used with the parameter is pulled directly from the response provided by the API, and should not be modified.
pagination_token query optional This parameter is used to get the next 'page' of results. The value used with the parameter is pulled directly from the response provided by the API, and should not be modified.
sort_order query optional string This order in which to return results.
optional
optional
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/tweets/search/recent
GET /2/tweets/search/stream

Streams Tweets matching the stream's active rule set.

operationId: Tweets_getFilteredStream

Parameters

Name In Required Type Description
backfill_minutes query optional integer The number of minutes of backfill requested.
start_time query optional string YYYY-MM-DDTHH:mm:ssZ. The earliest UTC timestamp from which the Tweets will be provided.
end_time query optional string YYYY-MM-DDTHH:mm:ssZ. The latest UTC timestamp to which the Tweets will be provided.
optional
optional
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/tweets/search/stream
GET /2/tweets/search/stream/rules

Returns rules from a User's active rule set. Users can fetch all of their rules or a subset, specified by the provided rule ids.

operationId: Tweets_searchStreamRules

Parameters

Name In Required Type Description
ids query optional array A comma-separated list of Rule IDs.
max_results query optional integer The maximum number of results.
pagination_token query optional string This value is populated by passing the 'next_token' returned in a request to paginate through results.

Responses

default The request has failed.
200 The request has succeeded.
GET /2/tweets/search/stream/rules
GET /2/tweets/{id}

Returns a variety of information about the Tweet specified by the requested ID.

operationId: Tweets_lookupById

Parameters

Name In Required Type Description
id path required A single Tweet ID.
optional
optional
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/tweets/{id}
GET /2/tweets/{id}/quote_tweets

Returns a variety of information about each Tweet that quotes the Tweet specified by the requested ID.

operationId: Tweets_getQuoteTweets

Parameters

Name In Required Type Description
id path required A single Tweet ID.
max_results query optional integer The maximum number of results to be returned.
pagination_token query optional This parameter is used to get a specified 'page' of results.
exclude query optional array The set of entities to exclude (e.g. 'replies' or 'retweets').
optional
optional
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/tweets/{id}/quote_tweets
GET /2/users/{id}/liked_tweets

Returns a list of Tweets liked by the provided User ID

operationId: Tweets_getLikedTweets

Parameters

Name In Required Type Description
id path required The ID of the User to lookup.
max_results query optional integer The maximum number of results.
pagination_token query optional This parameter is used to get the next 'page' of results.
optional
optional
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/users/{id}/liked_tweets
GET /2/users/{id}/mentions

Returns Tweet objects that mention username associated to the provided User ID

operationId: Tweets_getMentionsById

Parameters

Name In Required Type Description
id path required The ID of the User to lookup.
since_id query optional The minimum Tweet ID to be included in the result set. This parameter takes precedence over start_time if both are specified.
until_id query optional The maximum Tweet ID to be included in the result set. This parameter takes precedence over end_time if both are specified.
max_results query optional integer The maximum number of results.
pagination_token query optional This parameter is used to get the next 'page' of results.
start_time query optional string YYYY-MM-DDTHH:mm:ssZ. The earliest UTC timestamp from which the Tweets will be provided. The since_id parameter takes precedence if it is also specified.
end_time query optional string YYYY-MM-DDTHH:mm:ssZ. The latest UTC timestamp to which the Tweets will be provided. The until_id parameter takes precedence if it is also specified.
optional
optional
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/users/{id}/mentions
GET /2/users/{id}/timelines/reverse_chronological

Returns Tweet objects that appears in the provided User ID's home timeline

operationId: Tweets_getUserHomeTimeline

Parameters

Name In Required Type Description
id path required The ID of the authenticated source User to list Reverse Chronological Timeline Tweets of.
since_id query optional The minimum Tweet ID to be included in the result set. This parameter takes precedence over start_time if both are specified.
until_id query optional The maximum Tweet ID to be included in the result set. This parameter takes precedence over end_time if both are specified.
max_results query optional integer The maximum number of results.
pagination_token query optional This parameter is used to get the next 'page' of results.
exclude query optional array The set of entities to exclude (e.g. 'replies' or 'retweets').
start_time query optional string YYYY-MM-DDTHH:mm:ssZ. The earliest UTC timestamp from which the Tweets will be provided. The since_id parameter takes precedence if it is also specified.
end_time query optional string YYYY-MM-DDTHH:mm:ssZ. The latest UTC timestamp to which the Tweets will be provided. The until_id parameter takes precedence if it is also specified.
optional
optional
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/users/{id}/timelines/reverse_chronological
GET /2/users/{id}/tweets

Returns a list of Tweets authored by the provided User ID

operationId: Tweets_listByUserId

Parameters

Name In Required Type Description
id path required The ID of the User to lookup.
since_id query optional The minimum Tweet ID to be included in the result set. This parameter takes precedence over start_time if both are specified.
until_id query optional The maximum Tweet ID to be included in the result set. This parameter takes precedence over end_time if both are specified.
max_results query optional integer The maximum number of results.
pagination_token query optional This parameter is used to get the next 'page' of results.
exclude query optional array The set of entities to exclude (e.g. 'replies' or 'retweets').
start_time query optional string YYYY-MM-DDTHH:mm:ssZ. The earliest UTC timestamp from which the Tweets will be provided. The since_id parameter takes precedence if it is also specified.
end_time query optional string YYYY-MM-DDTHH:mm:ssZ. The latest UTC timestamp to which the Tweets will be provided. The until_id parameter takes precedence if it is also specified.
optional
optional
optional
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/users/{id}/tweets

Users 13 endpoints

GET /2/lists/{id}/followers

Returns a list of Users that follow a List by the provided List ID

operationId: Users_getFollowersByListId

Parameters

Name In Required Type Description
id path required The ID of the List.
max_results query optional integer The maximum number of results.
pagination_token query optional This parameter is used to get a specified 'page' of results.
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/lists/{id}/followers
GET /2/lists/{id}/members

Returns a list of Users that are members of a List by the provided List ID.

operationId: Users_getMembersByListId

Parameters

Name In Required Type Description
id path required The ID of the List.
max_results query optional integer The maximum number of results.
pagination_token query optional This parameter is used to get a specified 'page' of results.
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/lists/{id}/members
GET /2/tweets/{id}/liking_users

Returns a list of Users that have liked the provided Tweet ID

operationId: Users_listLikingUsers

Parameters

Name In Required Type Description
id path required A single Tweet ID.
max_results query optional integer The maximum number of results.
pagination_token query optional This parameter is used to get the next 'page' of results.
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/tweets/{id}/liking_users
GET /2/tweets/{id}/retweeted_by

Returns a list of Users that have retweeted the provided Tweet ID

operationId: Users_getRetweetedByTweetIdUsers

Parameters

Name In Required Type Description
id path required A single Tweet ID.
max_results query optional integer The maximum number of results.
pagination_token query optional This parameter is used to get the next 'page' of results.
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/tweets/{id}/retweeted_by
GET /2/users

This endpoint returns information about Users. Specify Users by their ID.

operationId: Users_lookupByIds

Parameters

Name In Required Type Description
ids query required array A list of User IDs, comma-separated. You can specify up to 100 IDs.
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/users
GET /2/users/by

This endpoint returns information about Users. Specify Users by their username.

operationId: Users_lookupByUsernames

Parameters

Name In Required Type Description
usernames query required array A list of usernames, comma-separated.
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/users/by
GET /2/users/by/username/{username}

This endpoint returns information about a User. Specify User by username.

operationId: Users_lookupByUsername

Parameters

Name In Required Type Description
username path required string A username.
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/users/by/username/{username}
GET /2/users/me

This endpoint returns information about the requesting User.

operationId: Users_lookupMe

Parameters

Name In Required Type Description
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/users/me
GET /2/users/{id}

This endpoint returns information about a User. Specify User by ID.

operationId: Users_lookupById

Parameters

Name In Required Type Description
id path required The ID of the User to lookup.
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/users/{id}
GET /2/users/{id}/blocking

Returns a list of Users that are blocked by the provided User ID

operationId: Users_getBlockedUsers

Parameters

Name In Required Type Description
id path required The ID of the authenticated source User for whom to return results.
max_results query optional integer The maximum number of results.
pagination_token query optional This parameter is used to get a specified 'page' of results.
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/users/{id}/blocking
GET /2/users/{id}/followers

Returns a list of Users who are followers of the specified User ID.

operationId: Users_getFollowersById

Parameters

Name In Required Type Description
id path required The ID of the User to lookup.
max_results query optional integer The maximum number of results.
pagination_token query optional This parameter is used to get a specified 'page' of results.
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/users/{id}/followers
GET /2/users/{id}/following

Returns a list of Users that are being followed by the provided User ID

operationId: Users_getFollowingUsers

Parameters

Name In Required Type Description
id path required The ID of the User to lookup.
max_results query optional integer The maximum number of results.
pagination_token query optional This parameter is used to get a specified 'page' of results.
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/users/{id}/following
GET /2/users/{id}/muting

Returns a list of Users that are muted by the provided User ID

operationId: Users_getMutedUsersById

Parameters

Name In Required Type Description
id path required The ID of the authenticated source User for whom to return results.
max_results query optional integer The maximum number of results.
pagination_token query optional This parameter is used to get the next 'page' of results.
optional
optional
optional

Responses

default The request has failed.
200 The request has succeeded.
GET /2/users/{id}/muting

Schemas

object AddOrDeleteRulesRequest
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/AddRulesRequest"
    },
    {
      "$ref": "#/components/schemas/DeleteRulesRequest"
    }
  ]
}
object AddOrDeleteRulesResponse
{
  "type": "object",
  "required": [
    "meta"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Rule"
      },
      "description": "All user-specified stream filtering rules that were created."
    },
    "meta": {
      "$ref": "#/components/schemas/RulesResponseMetadata"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  },
  "description": "A response from modifying user-specified stream filtering rules."
}
object AddRulesRequest
{
  "type": "object",
  "required": [
    "add"
  ],
  "properties": {
    "add": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/RuleNoId"
      }
    }
  },
  "description": "A request to add a user-specified stream filtering rule."
}
integer Aggregate
{
  "type": "integer",
  "format": "int32",
  "description": "The sum of results returned in this response."
}
object AnimatedGif
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Media"
    },
    {
      "type": "object",
      "properties": {
        "variants": {
          "$ref": "#/components/schemas/Variants"
        },
        "preview_image_url": {
          "type": "string",
          "format": "uri"
        }
      }
    }
  ]
}
object BlockUserMutationResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "blocking": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object BlockUserRequest
{
  "type": "object",
  "required": [
    "target_user_id"
  ],
  "properties": {
    "target_user_id": {
      "$ref": "#/components/schemas/UserId"
    }
  }
}
object BookmarkAddRequest
{
  "type": "object",
  "required": [
    "tweet_id"
  ],
  "properties": {
    "tweet_id": {
      "$ref": "#/components/schemas/TweetId"
    }
  }
}
object BookmarkMutationResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "bookmarked": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object CashtagEntity
{
  "allOf": [
    {
      "$ref": "#/components/schemas/EntityIndicesInclusiveExclusive"
    },
    {
      "$ref": "#/components/schemas/CashtagFields"
    }
  ]
}
object CashtagFields
{
  "type": "object",
  "required": [
    "tag"
  ],
  "properties": {
    "tag": {
      "type": "string",
      "example": "TWTR"
    }
  },
  "description": "Represent the portion of text recognized as a Cashtag, and its start and end position within the text."
}
object ClientForbiddenProblem
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Problem"
    },
    {
      "type": "object",
      "properties": {
        "reason": {
          "enum": [
            "official-client-forbidden",
            "client-not-enrolled"
          ],
          "type": "string"
        },
        "registration_url": {
          "type": "string",
          "format": "uri"
        }
      }
    }
  ],
  "description": "A problem that indicates your client is forbidden from making this request."
}
object ComplianceJob
{
  "type": "object",
  "required": [
    "id",
    "type",
    "created_at",
    "upload_url",
    "download_url",
    "upload_expires_at",
    "download_expires_at",
    "status"
  ],
  "properties": {
    "id": {
      "$ref": "#/components/schemas/JobId"
    },
    "name": {
      "$ref": "#/components/schemas/ComplianceJobName"
    },
    "type": {
      "$ref": "#/components/schemas/ComplianceJobType"
    },
    "status": {
      "$ref": "#/components/schemas/ComplianceJobStatus"
    },
    "created_at": {
      "$ref": "#/components/schemas/CreatedAt"
    },
    "upload_url": {
      "$ref": "#/components/schemas/UploadUrl"
    },
    "download_url": {
      "$ref": "#/components/schemas/DownloadUrl"
    },
    "upload_expires_at": {
      "$ref": "#/components/schemas/UploadExpiration"
    },
    "download_expires_at": {
      "$ref": "#/components/schemas/DownloadExpiration"
    }
  }
}
string ComplianceJobName
{
  "type": "string",
  "example": "my-job",
  "maxLength": 64,
  "description": "User-provided name for a compliance job."
}
string ComplianceJobStatus
{
  "enum": [
    "created",
    "in_progress",
    "failed",
    "complete",
    "expired"
  ],
  "type": "string",
  "description": "Status of a compliance job."
}
string ComplianceJobType
{
  "enum": [
    "tweets",
    "users"
  ],
  "type": "string",
  "description": "Type of compliance job to list."
}
object ConnectionExceptionProblem
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Problem"
    },
    {
      "type": "object",
      "properties": {
        "connection_issue": {
          "enum": [
            "TooManyConnections",
            "ProvisioningSubscription",
            "RuleConfigurationIssue",
            "RulesInvalidIssue"
          ],
          "type": "string"
        }
      }
    }
  ],
  "description": "A problem that indicates something is wrong with the connection."
}
object ContextAnnotation
{
  "type": "object",
  "required": [
    "domain",
    "entity"
  ],
  "properties": {
    "domain": {
      "$ref": "#/components/schemas/ContextAnnotationDomainFields"
    },
    "entity": {
      "$ref": "#/components/schemas/ContextAnnotationEntityFields"
    }
  },
  "description": "Annotation inferred from the Tweet text."
}
object ContextAnnotationDomainFields
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9]{1,19}$",
      "description": "The unique id for a context annotation domain."
    },
    "name": {
      "type": "string",
      "description": "Name of the context annotation domain."
    },
    "description": {
      "type": "string",
      "description": "Description of the context annotation domain."
    }
  },
  "description": "Represents the data for the context annotation domain."
}
object ContextAnnotationEntityFields
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9]{1,19}$",
      "description": "The unique id for a context annotation entity."
    },
    "name": {
      "type": "string",
      "description": "Name of the context annotation entity."
    },
    "description": {
      "type": "string",
      "description": "Description of the context annotation entity."
    }
  },
  "description": "Represents the data for the context annotation entity."
}
string CountryCode
{
  "type": "string",
  "example": "US",
  "pattern": "^[A-Z]{2}$",
  "description": "A two-letter ISO 3166-1 alpha-2 country code."
}
object CreateAttachmentsMessageRequest
{
  "type": "object",
  "required": [
    "attachments"
  ],
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "description": "Text of the message."
    },
    "attachments": {
      "$ref": "#/components/schemas/DmAttachments"
    }
  }
}
object CreateComplianceJobRequest
{
  "type": "object",
  "required": [
    "type"
  ],
  "properties": {
    "name": {
      "$ref": "#/components/schemas/ComplianceJobName"
    },
    "type": {
      "enum": [
        "tweets",
        "users"
      ],
      "type": "string",
      "description": "Type of compliance job to list."
    },
    "resumable": {
      "type": "boolean",
      "description": "If true, this endpoint will return a pre-signed URL with resumable uploads enabled."
    }
  },
  "description": "A request to create a new batch compliance job."
}
object CreateComplianceJobResponse
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/ComplianceJob"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object CreateDmConversationRequest
{
  "type": "object",
  "required": [
    "conversation_type",
    "participant_ids",
    "message"
  ],
  "properties": {
    "message": {
      "$ref": "#/components/schemas/CreateMessageRequest"
    },
    "participant_ids": {
      "$ref": "#/components/schemas/DmParticipants"
    },
    "conversation_type": {
      "enum": [
        "Group"
      ],
      "type": "string",
      "description": "The conversation type that is being created."
    }
  }
}
object CreateDmEventResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "dm_conversation_id",
        "dm_event_id"
      ],
      "properties": {
        "dm_event_id": {
          "$ref": "#/components/schemas/DmEventId"
        },
        "dm_conversation_id": {
          "$ref": "#/components/schemas/DmConversationId"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object CreateMessageRequest
{
  "anyOf": [
    {
      "$ref": "#/components/schemas/CreateTextMessageRequest"
    },
    {
      "$ref": "#/components/schemas/CreateAttachmentsMessageRequest"
    }
  ]
}
object CreateTextMessageRequest
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "description": "Text of the message."
    },
    "attachments": {
      "$ref": "#/components/schemas/DmAttachments"
    }
  }
}
string CreatedAt
{
  "type": "string",
  "format": "date-time",
  "example": "2021-01-06T18:40:40.000Z",
  "description": "Creation time of the compliance job."
}
object DeleteRulesRequest
{
  "type": "object",
  "required": [
    "delete"
  ],
  "properties": {
    "delete": {
      "type": "object",
      "properties": {
        "ids": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/RuleId"
          },
          "description": "IDs of all deleted user-specified stream filtering rules."
        },
        "values": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/RuleValue"
          },
          "description": "Values of all deleted user-specified stream filtering rules."
        }
      },
      "description": "IDs and values of all deleted user-specified stream filtering rules."
    }
  },
  "description": "A response from deleting user-specified stream filtering rules."
}
object DisallowedResourceProblem
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Problem"
    },
    {
      "type": "object",
      "required": [
        "resource_id",
        "resource_type",
        "section"
      ],
      "properties": {
        "section": {
          "enum": [
            "data",
            "includes"
          ],
          "type": "string"
        },
        "resource_id": {
          "type": "string"
        },
        "resource_type": {
          "enum": [
            "user",
            "tweet",
            "media",
            "list",
            "space"
          ],
          "type": "string"
        }
      }
    }
  ],
  "description": "A problem that indicates that the resource requested violates the precepts of this API."
}
array DmAttachments
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DmMediaAttachment"
  },
  "description": "Attachments to a DM Event."
}
string DmConversationId
{
  "type": "string",
  "example": "123123123-456456456",
  "pattern": "^([0-9]{1,19}-[0-9]{1,19}|[0-9]{15,19})$",
  "description": "Unique identifier of a DM conversation. This can either be a numeric string, or a pair of numeric strings separated by a '-' character in the case of one-on-one DM Conversations."
}
object DmEvent
{
  "type": "object",
  "required": [
    "id",
    "event_type"
  ],
  "properties": {
    "id": {
      "$ref": "#/components/schemas/DmEventId"
    },
    "text": {
      "type": "string"
    },
    "sender_id": {
      "$ref": "#/components/schemas/UserId"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "event_type": {
      "type": "string",
      "example": "MessageCreate"
    },
    "attachments": {
      "type": "object",
      "properties": {
        "card_ids": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "description": "A list of card IDs (if cards are attached)."
        },
        "media_keys": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/MediaKey"
          },
          "minItems": 1,
          "description": "A list of Media Keys for each one of the media attachments (if media are attached)."
        }
      },
      "description": "Specifies the type of attachments (if any) present in this DM."
    },
    "participant_ids": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UserId"
      },
      "minItems": 1,
      "description": "A list of participants for a ParticipantsJoin or ParticipantsLeave event_type."
    },
    "referenced_tweets": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/TweetId"
          }
        }
      },
      "minItems": 1,
      "description": "A list of Tweets this DM refers to."
    },
    "dm_conversation_id": {
      "$ref": "#/components/schemas/DmConversationId"
    }
  }
}
string DmEventId
{
  "type": "string",
  "example": "1146654567674912769",
  "pattern": "^[0-9]{1,19}$",
  "description": "Unique identifier of a DM Event."
}
object DmMediaAttachment
{
  "type": "object",
  "required": [
    "media_id"
  ],
  "properties": {
    "media_id": {
      "$ref": "#/components/schemas/MediaId"
    }
  }
}
array DmParticipants
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/UserId"
  },
  "maxItems": 49,
  "minItems": 2,
  "description": "Participants for the DM Conversation."
}
string DownloadExpiration
{
  "type": "string",
  "format": "date-time",
  "example": "2021-01-06T18:40:40.000Z",
  "description": "Expiration time of the download URL."
}
string DownloadUrl
{
  "type": "string",
  "format": "uri",
  "description": "URL from which the user will retrieve their compliance results."
}
object DuplicateRuleProblem
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Problem"
    },
    {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      }
    }
  ],
  "description": "The rule you have submitted is a duplicate."
}
string End
{
  "type": "string",
  "format": "date-time",
  "description": "The end time of the bucket."
}
object EntityIndicesInclusiveExclusive
{
  "type": "object",
  "required": [
    "start",
    "end"
  ],
  "properties": {
    "end": {
      "type": "integer",
      "example": 61,
      "minimum": 0,
      "description": "Index (zero-based) at which position this entity ends.  The index is exclusive."
    },
    "start": {
      "type": "integer",
      "example": 50,
      "minimum": 0,
      "description": "Index (zero-based) at which position this entity starts.  The index is inclusive."
    }
  },
  "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."
}
object EntityIndicesInclusiveInclusive
{
  "type": "object",
  "required": [
    "start",
    "end"
  ],
  "properties": {
    "end": {
      "type": "integer",
      "example": 61,
      "minimum": 0,
      "description": "Index (zero-based) at which position this entity ends.  The index is inclusive."
    },
    "start": {
      "type": "integer",
      "example": 50,
      "minimum": 0,
      "description": "Index (zero-based) at which position this entity starts.  The index is inclusive."
    }
  },
  "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."
}
object Error
{
  "type": "object",
  "required": [
    "code",
    "message"
  ],
  "properties": {
    "code": {
      "type": "integer",
      "format": "int32"
    },
    "message": {
      "type": "string"
    }
  }
}
object Expansions
{
  "type": "object",
  "properties": {
    "media": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Media"
      },
      "minItems": 1
    },
    "polls": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Poll"
      },
      "minItems": 1
    },
    "users": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/User"
      },
      "minItems": 1
    },
    "places": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Place"
      },
      "minItems": 1
    },
    "topics": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Topic"
      },
      "minItems": 1
    },
    "tweets": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Tweet"
      },
      "minItems": 1
    }
  }
}
object FieldUnauthorizedProblem
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Problem"
    },
    {
      "type": "object",
      "required": [
        "resource_type",
        "field",
        "section"
      ],
      "properties": {
        "field": {
          "type": "string"
        },
        "section": {
          "enum": [
            "data",
            "includes"
          ],
          "type": "string"
        },
        "resource_type": {
          "enum": [
            "user",
            "tweet",
            "media",
            "list",
            "space"
          ],
          "type": "string"
        }
      }
    }
  ],
  "description": "A problem that indicates that you are not allowed to see a particular field on a Tweet, User, etc."
}
object FilteredStreamingTweetResponse
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/Tweet"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    },
    "matching_rules": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/RuleId"
          },
          "tag": {
            "$ref": "#/components/schemas/RuleTag"
          }
        }
      },
      "description": "The list of rules which matched the Tweet"
    }
  },
  "description": "A Tweet or error that can be returned by the streaming Tweet API. The values returned with a successful streamed Tweet includes the user provided rules that the Tweet matched."
}
object FullTextEntities
{
  "type": "object",
  "properties": {
    "urls": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UrlEntity"
      },
      "minItems": 1
    },
    "cashtags": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CashtagEntity"
      },
      "minItems": 1
    },
    "hashtags": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/HashtagEntity"
      },
      "minItems": 1
    },
    "mentions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/MentionEntity"
      },
      "minItems": 1
    },
    "annotations": {
      "type": "array",
      "items": {
        "allOf": [
          {
            "$ref": "#/components/schemas/EntityIndicesInclusiveInclusive"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "example": "Person",
                "description": "Annotation type."
              },
              "probability": {
                "type": "number",
                "format": "double",
                "maximum": 1,
                "minimum": 0,
                "description": "Confidence factor for annotation type."
              },
              "normalized_text": {
                "type": "string",
                "example": "Barack Obama",
                "description": "Text used to determine annotation."
              }
            },
            "description": "Represents the data for the annotation."
          }
        ],
        "description": "Annotation for entities based on the Tweet text."
      },
      "minItems": 1
    }
  }
}
object GeneralGetOpenApiSpecResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object Geo
{
  "type": "object",
  "required": [
    "type",
    "bbox",
    "properties"
  ],
  "properties": {
    "bbox": {
      "type": "array",
      "items": {
        "type": "number",
        "format": "double",
        "maximum": 180,
        "minimum": -180
      },
      "example": [
        -105.193475,
        39.60973,
        -105.053164,
        39.761974
      ],
      "maxItems": 4,
      "minItems": 4
    },
    "type": {
      "enum": [
        "Feature"
      ],
      "type": "string"
    },
    "geometry": {
      "$ref": "#/components/schemas/Point"
    },
    "properties": {
      "type": "object"
    }
  }
}
object Get2ComplianceJobsIdResponse
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/ComplianceJob"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object Get2ComplianceJobsResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ComplianceJob"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object Get2DmConversationsIdDmEventsResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/DmEvent"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        },
        "previous_token": {
          "$ref": "#/components/schemas/PreviousToken"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2DmConversationsWithParticipantIdDmEventsResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/DmEvent"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        },
        "previous_token": {
          "$ref": "#/components/schemas/PreviousToken"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2DmEventsResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/DmEvent"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        },
        "previous_token": {
          "$ref": "#/components/schemas/PreviousToken"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2ListsIdFollowersResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/User"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        },
        "previous_token": {
          "$ref": "#/components/schemas/PreviousToken"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2ListsIdMembersResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/User"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        },
        "previous_token": {
          "$ref": "#/components/schemas/PreviousToken"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2ListsIdResponse
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/List"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2ListsIdTweetsResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Tweet"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        },
        "previous_token": {
          "$ref": "#/components/schemas/PreviousToken"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2SpacesByCreatorIdsResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Space"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2SpacesIdBuyersResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/User"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        },
        "previous_token": {
          "$ref": "#/components/schemas/PreviousToken"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2SpacesIdResponse
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/Space"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2SpacesIdTweetsResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Tweet"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        },
        "previous_token": {
          "$ref": "#/components/schemas/PreviousToken"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2SpacesResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Space"
      },
      "minItems": 1
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2SpacesSearchResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Space"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2TweetsCountsAllResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SearchCount"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "newest_id": {
          "$ref": "#/components/schemas/NewestId"
        },
        "oldest_id": {
          "$ref": "#/components/schemas/OldestId"
        },
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "total_tweet_count": {
          "$ref": "#/components/schemas/Aggregate"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object Get2TweetsCountsRecentResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SearchCount"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "newest_id": {
          "$ref": "#/components/schemas/NewestId"
        },
        "oldest_id": {
          "$ref": "#/components/schemas/OldestId"
        },
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "total_tweet_count": {
          "$ref": "#/components/schemas/Aggregate"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object Get2TweetsFirehoseStreamResponse
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/Tweet"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2TweetsIdLikingUsersResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/User"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        },
        "previous_token": {
          "$ref": "#/components/schemas/PreviousToken"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2TweetsIdQuoteTweetsResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Tweet"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2TweetsIdResponse
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/Tweet"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2TweetsIdRetweetedByResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/User"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        },
        "previous_token": {
          "$ref": "#/components/schemas/PreviousToken"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2TweetsResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Tweet"
      },
      "minItems": 1
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2TweetsSample10StreamResponse
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/Tweet"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2TweetsSampleStreamResponse
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/Tweet"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2TweetsSearchAllResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Tweet"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "newest_id": {
          "$ref": "#/components/schemas/NewestId"
        },
        "oldest_id": {
          "$ref": "#/components/schemas/OldestId"
        },
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2TweetsSearchRecentResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Tweet"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "newest_id": {
          "$ref": "#/components/schemas/NewestId"
        },
        "oldest_id": {
          "$ref": "#/components/schemas/OldestId"
        },
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2TweetsSearchStreamResponse
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/Tweet"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2UsersByResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/User"
      },
      "minItems": 1
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2UsersByUsernameUsernameResponse
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/User"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2UsersIdBlockingResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/User"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        },
        "previous_token": {
          "$ref": "#/components/schemas/PreviousToken"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2UsersIdBookmarksResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Tweet"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        },
        "previous_token": {
          "$ref": "#/components/schemas/PreviousToken"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2UsersIdFollowedListsResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/List"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        },
        "previous_token": {
          "$ref": "#/components/schemas/PreviousToken"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2UsersIdFollowersResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/User"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        },
        "previous_token": {
          "$ref": "#/components/schemas/PreviousToken"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2UsersIdFollowingResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/User"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        },
        "previous_token": {
          "$ref": "#/components/schemas/PreviousToken"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2UsersIdLikedTweetsResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Tweet"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        },
        "previous_token": {
          "$ref": "#/components/schemas/PreviousToken"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2UsersIdListMembershipsResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/List"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        },
        "previous_token": {
          "$ref": "#/components/schemas/PreviousToken"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2UsersIdMentionsResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Tweet"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "newest_id": {
          "$ref": "#/components/schemas/NewestId"
        },
        "oldest_id": {
          "$ref": "#/components/schemas/OldestId"
        },
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        },
        "previous_token": {
          "$ref": "#/components/schemas/PreviousToken"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2UsersIdMutingResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/User"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        },
        "previous_token": {
          "$ref": "#/components/schemas/PreviousToken"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2UsersIdOwnedListsResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/List"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        },
        "previous_token": {
          "$ref": "#/components/schemas/PreviousToken"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2UsersIdPinnedListsResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/List"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2UsersIdResponse
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/User"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2UsersIdTimelinesReverseChronologicalResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Tweet"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "newest_id": {
          "$ref": "#/components/schemas/NewestId"
        },
        "oldest_id": {
          "$ref": "#/components/schemas/OldestId"
        },
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        },
        "previous_token": {
          "$ref": "#/components/schemas/PreviousToken"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2UsersIdTweetsResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Tweet"
      },
      "minItems": 1
    },
    "meta": {
      "type": "object",
      "properties": {
        "newest_id": {
          "$ref": "#/components/schemas/NewestId"
        },
        "oldest_id": {
          "$ref": "#/components/schemas/OldestId"
        },
        "next_token": {
          "$ref": "#/components/schemas/NextToken"
        },
        "result_count": {
          "$ref": "#/components/schemas/ResultCount"
        },
        "previous_token": {
          "$ref": "#/components/schemas/PreviousToken"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2UsersMeResponse
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/User"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Get2UsersResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/User"
      },
      "minItems": 1
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object HashtagEntity
{
  "allOf": [
    {
      "$ref": "#/components/schemas/EntityIndicesInclusiveExclusive"
    },
    {
      "$ref": "#/components/schemas/HashtagFields"
    }
  ]
}
object HashtagFields
{
  "type": "object",
  "required": [
    "tag"
  ],
  "properties": {
    "tag": {
      "type": "string",
      "example": "MondayMotivation",
      "description": "The text of the Hashtag."
    }
  },
  "description": "Represent the portion of text recognized as a Hashtag, and its start and end position within the text."
}
integer HttpStatusCode
{
  "type": "integer",
  "maximum": 599,
  "minimum": 100,
  "description": "HTTP Status Code."
}
object InvalidRequestProblem
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Problem"
    },
    {
      "type": "object",
      "properties": {
        "errors": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "message": {
                "type": "string"
              },
              "parameters": {
                "type": "object",
                "additionalProperties": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "minItems": 1
        }
      }
    }
  ],
  "description": "A problem that indicates this request is invalid."
}
string JobId
{
  "type": "string",
  "example": "1372966999991541762",
  "pattern": "^[0-9]{1,19}$",
  "description": "Compliance Job ID."
}
object List
{
  "type": "object",
  "required": [
    "id",
    "name"
  ],
  "properties": {
    "id": {
      "$ref": "#/components/schemas/ListId"
    },
    "name": {
      "type": "string",
      "description": "The name of this List."
    },
    "private": {
      "type": "boolean"
    },
    "owner_id": {
      "$ref": "#/components/schemas/UserId"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "description": {
      "type": "string"
    },
    "member_count": {
      "type": "integer"
    },
    "follower_count": {
      "type": "integer"
    }
  },
  "description": "A Twitter List is a curated group of accounts."
}
object ListAddUserRequest
{
  "type": "object",
  "required": [
    "user_id"
  ],
  "properties": {
    "user_id": {
      "$ref": "#/components/schemas/UserId"
    }
  }
}
object ListCreateRequest
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 25,
      "minLength": 1
    },
    "private": {
      "type": "boolean",
      "default": false
    },
    "description": {
      "type": "string",
      "maxLength": 100,
      "minLength": 0
    }
  }
}
object ListCreateResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "id",
        "name"
      ],
      "properties": {
        "id": {
          "$ref": "#/components/schemas/ListId"
        },
        "name": {
          "type": "string",
          "description": "The name of this List."
        }
      },
      "description": "A Twitter List is a curated group of accounts."
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object ListDeleteResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "deleted": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object ListFollowedRequest
{
  "type": "object",
  "required": [
    "list_id"
  ],
  "properties": {
    "list_id": {
      "$ref": "#/components/schemas/ListId"
    }
  }
}
object ListFollowedResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "following": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
string ListId
{
  "type": "string",
  "example": "1146654567674912769",
  "pattern": "^[0-9]{1,19}$",
  "description": "The unique identifier of this List."
}
object ListMutateResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "is_member": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object ListPinnedRequest
{
  "type": "object",
  "required": [
    "list_id"
  ],
  "properties": {
    "list_id": {
      "$ref": "#/components/schemas/ListId"
    }
  }
}
object ListPinnedResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "pinned": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object ListUnpinResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "pinned": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object ListUpdateRequest
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 25,
      "minLength": 1
    },
    "private": {
      "type": "boolean"
    },
    "description": {
      "type": "string",
      "maxLength": 100,
      "minLength": 0
    }
  }
}
object ListUpdateResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "updated": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object Media
{
  "type": "object",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "type": "string"
    },
    "width": {
      "$ref": "#/components/schemas/MediaWidth"
    },
    "height": {
      "$ref": "#/components/schemas/MediaHeight"
    },
    "media_key": {
      "$ref": "#/components/schemas/MediaKey"
    }
  },
  "discriminator": {
    "mapping": {
      "photo": "#/components/schemas/Photo",
      "video": "#/components/schemas/Video",
      "animated_gif": "#/components/schemas/AnimatedGif"
    },
    "propertyName": "type"
  }
}
integer MediaHeight
{
  "type": "integer",
  "minimum": 0,
  "description": "The height of the media in pixels."
}
string MediaId
{
  "type": "string",
  "example": "1146654567674912769",
  "pattern": "^[0-9]{1,19}$",
  "description": "The unique identifier of this Media."
}
string MediaKey
{
  "type": "string",
  "pattern": "^([0-9]+)_([0-9]+)$",
  "description": "The Media Key identifier for this attachment."
}
integer MediaWidth
{
  "type": "integer",
  "minimum": 0,
  "description": "The width of the media in pixels."
}
object MentionEntity
{
  "allOf": [
    {
      "$ref": "#/components/schemas/EntityIndicesInclusiveExclusive"
    },
    {
      "$ref": "#/components/schemas/MentionFields"
    }
  ]
}
object MentionFields
{
  "type": "object",
  "required": [
    "username"
  ],
  "properties": {
    "id": {
      "$ref": "#/components/schemas/UserId"
    },
    "username": {
      "$ref": "#/components/schemas/UserName"
    }
  },
  "description": "Represent the portion of text recognized as a User mention, and its start and end position within the text."
}
object MuteUserMutationResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "muting": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object MuteUserRequest
{
  "type": "object",
  "required": [
    "target_user_id"
  ],
  "properties": {
    "target_user_id": {
      "$ref": "#/components/schemas/UserId"
    }
  }
}
string NewestId
{
  "type": "string",
  "description": "The newest id in this response."
}
string NextToken
{
  "type": "string",
  "minLength": 1,
  "description": "The next token."
}
string OldestId
{
  "type": "string",
  "description": "The oldest id in this response."
}
object OperationalDisconnectProblem
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Problem"
    },
    {
      "type": "object",
      "properties": {
        "disconnect_type": {
          "enum": [
            "OperationalDisconnect",
            "UpstreamOperationalDisconnect",
            "ForceDisconnect",
            "UpstreamUncleanDisconnect",
            "SlowReader",
            "InternalError",
            "ClientApplicationStateDegraded",
            "InvalidRules"
          ],
          "type": "string"
        }
      }
    }
  ],
  "description": "You have been disconnected for operational reasons."
}
string PaginationToken32
{
  "type": "string",
  "minLength": 16,
  "description": "A base32 pagination token."
}
string PaginationToken36
{
  "type": "string",
  "minLength": 1,
  "description": "A base36 pagination token."
}
string PaginationTokenLong
{
  "type": "string",
  "maxLength": 19,
  "minLength": 1,
  "description": "A 'long' pagination token."
}
object Photo
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Media"
    },
    {
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "format": "uri"
        },
        "alt_text": {
          "type": "string"
        }
      }
    }
  ]
}
object Place
{
  "type": "object",
  "required": [
    "id",
    "full_name"
  ],
  "properties": {
    "id": {
      "$ref": "#/components/schemas/PlaceId"
    },
    "geo": {
      "$ref": "#/components/schemas/Geo"
    },
    "name": {
      "type": "string",
      "example": "Lakewood",
      "description": "The human readable name of this place."
    },
    "country": {
      "type": "string",
      "example": "United States",
      "description": "The full name of the county in which this place exists."
    },
    "full_name": {
      "type": "string",
      "example": "Lakewood, CO",
      "description": "The full name of this place."
    },
    "place_type": {
      "$ref": "#/components/schemas/PlaceType"
    },
    "country_code": {
      "$ref": "#/components/schemas/CountryCode"
    },
    "contained_within": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PlaceId"
      },
      "minItems": 1
    }
  }
}
string PlaceId
{
  "type": "string",
  "example": "f7eb2fa2fea288b1",
  "description": "The identifier for this place."
}
string PlaceType
{
  "enum": [
    "poi",
    "neighborhood",
    "city",
    "admin",
    "country",
    "unknown"
  ],
  "type": "string",
  "example": "city"
}
object Point
{
  "type": "object",
  "required": [
    "type",
    "coordinates"
  ],
  "properties": {
    "type": {
      "enum": [
        "Point"
      ],
      "type": "string",
      "example": "Point"
    },
    "coordinates": {
      "$ref": "#/components/schemas/Position"
    }
  },
  "description": "A [GeoJson Point](https://tools.ietf.org/html/rfc7946#section-3.1.2) geometry object."
}
object Poll
{
  "type": "object",
  "required": [
    "id",
    "options"
  ],
  "properties": {
    "id": {
      "$ref": "#/components/schemas/PollId"
    },
    "options": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PollOption"
      },
      "maxItems": 4,
      "minItems": 2
    },
    "end_datetime": {
      "type": "string",
      "format": "date-time"
    },
    "voting_status": {
      "enum": [
        "open",
        "closed"
      ],
      "type": "string"
    },
    "duration_minutes": {
      "type": "integer",
      "format": "int32",
      "maximum": 10080,
      "minimum": 5
    }
  },
  "description": "Represent a Poll attached to a Tweet."
}
string PollId
{
  "type": "string",
  "example": "1365059861688410112",
  "pattern": "^[0-9]{1,19}$",
  "description": "Unique identifier of this poll."
}
object PollOption
{
  "type": "object",
  "required": [
    "position",
    "label",
    "votes"
  ],
  "properties": {
    "label": {
      "$ref": "#/components/schemas/PollOptionLabel"
    },
    "votes": {
      "type": "integer",
      "description": "Number of users who voted for this choice."
    },
    "position": {
      "type": "integer",
      "description": "Position of this choice in the poll."
    }
  },
  "description": "Describes a choice in a Poll object."
}
string PollOptionLabel
{
  "type": "string",
  "maxLength": 25,
  "minLength": 1,
  "description": "The text of a poll choice."
}
array Position
{
  "type": "array",
  "items": {
    "type": "number"
  },
  "example": [
    -105.18816086351444,
    40.247749999999996
  ],
  "maxItems": 2,
  "minItems": 2,
  "description": "A [GeoJson Position](https://tools.ietf.org/html/rfc7946#section-3.1.1) in the format `[longitude,latitude]`."
}
string PreviousToken
{
  "type": "string",
  "minLength": 1,
  "description": "The previous token."
}
object Problem
{
  "type": "object",
  "required": [
    "type",
    "title"
  ],
  "properties": {
    "type": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "integer"
    }
  },
  "description": "An HTTP Problem Details object, as defined in IETF RFC 7807 (https://tools.ietf.org/html/rfc7807).",
  "discriminator": {
    "mapping": {
      "about:blank": "#/components/schemas/GenericProblem",
      "https://api.twitter.com/2/problems/conflict": "#/components/schemas/ConflictProblem",
      "https://api.twitter.com/2/problems/rule-cap": "#/components/schemas/RulesCapProblem",
      "https://api.twitter.com/2/problems/usage-capped": "#/components/schemas/UsageCapExceededProblem",
      "https://api.twitter.com/2/problems/invalid-rules": "#/components/schemas/InvalidRuleProblem",
      "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/client-forbidden": "#/components/schemas/ClientForbiddenProblem",
      "https://api.twitter.com/2/problems/noncompliant-rules": "#/components/schemas/NonCompliantRulesProblem",
      "https://api.twitter.com/2/problems/oauth1-permissions": "#/components/schemas/Oauth1PermissionsProblem",
      "https://api.twitter.com/2/problems/resource-not-found": "#/components/schemas/ResourceNotFoundProblem",
      "https://api.twitter.com/2/problems/client-disconnected": "#/components/schemas/ClientDisconnectedProblem",
      "https://api.twitter.com/2/problems/disallowed-resource": "#/components/schemas/DisallowedResourceProblem",
      "https://api.twitter.com/2/problems/resource-unavailable": "#/components/schemas/ResourceUnavailableProblem",
      "https://api.twitter.com/2/problems/streaming-connection": "#/components/schemas/ConnectionExceptionProblem",
      "https://api.twitter.com/2/problems/operational-disconnect": "#/components/schemas/OperationalDisconnectProblem",
      "https://api.twitter.com/2/problems/not-authorized-for-field": "#/components/schemas/FieldUnauthorizedProblem",
      "https://api.twitter.com/2/problems/unsupported-authentication": "#/components/schemas/UnsupportedAuthenticationProblem",
      "https://api.twitter.com/2/problems/not-authorized-for-resource": "#/components/schemas/ResourceUnauthorizedProblem"
    },
    "propertyName": "type"
  }
}
string ReplySettings
{
  "enum": [
    "everyone",
    "mentionedUsers",
    "following",
    "other"
  ],
  "type": "string",
  "pattern": "^[A-Za-z]{1,12}$",
  "description": "Shows who can reply a Tweet. Fields returned are everyone, mentioned_users, and following."
}
object ResourceNotFoundProblem
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Problem"
    },
    {
      "type": "object",
      "required": [
        "parameter",
        "value",
        "resource_id",
        "resource_type"
      ],
      "properties": {
        "value": {
          "type": "string",
          "description": "Value will match the schema of the field."
        },
        "parameter": {
          "type": "string",
          "minLength": 1
        },
        "resource_id": {
          "type": "string"
        },
        "resource_type": {
          "enum": [
            "user",
            "tweet",
            "media",
            "list",
            "space"
          ],
          "type": "string"
        }
      }
    }
  ],
  "description": "A problem that indicates that a given Tweet, User, etc. does not exist."
}
object ResourceUnauthorizedProblem
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Problem"
    },
    {
      "type": "object",
      "required": [
        "value",
        "resource_id",
        "resource_type",
        "section",
        "parameter"
      ],
      "properties": {
        "value": {
          "type": "string"
        },
        "section": {
          "enum": [
            "data",
            "includes"
          ],
          "type": "string"
        },
        "parameter": {
          "type": "string"
        },
        "resource_id": {
          "type": "string"
        },
        "resource_type": {
          "enum": [
            "user",
            "tweet",
            "media",
            "list",
            "space"
          ],
          "type": "string"
        }
      }
    }
  ],
  "description": "A problem that indicates you are not allowed to see a particular Tweet, User, etc."
}
object ResourceUnavailableProblem
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Problem"
    },
    {
      "type": "object",
      "required": [
        "parameter",
        "resource_id",
        "resource_type"
      ],
      "properties": {
        "parameter": {
          "type": "string",
          "minLength": 1
        },
        "resource_id": {
          "type": "string"
        },
        "resource_type": {
          "enum": [
            "user",
            "tweet",
            "media",
            "list",
            "space"
          ],
          "type": "string"
        }
      }
    }
  ],
  "description": "A problem that indicates a particular Tweet, User, etc. is not available to you."
}
integer ResultCount
{
  "type": "integer",
  "format": "int32",
  "description": "The number of results returned in this response."
}
object Rule
{
  "type": "object",
  "required": [
    "value"
  ],
  "properties": {
    "id": {
      "$ref": "#/components/schemas/RuleId"
    },
    "tag": {
      "$ref": "#/components/schemas/RuleTag"
    },
    "value": {
      "$ref": "#/components/schemas/RuleValue"
    }
  },
  "description": "A user-provided stream filtering rule."
}
string RuleId
{
  "type": "string",
  "example": "120897978112909812",
  "pattern": "^[0-9]{1,19}$",
  "description": "Unique identifier of this rule."
}
object RuleNoId
{
  "type": "object",
  "required": [
    "value"
  ],
  "properties": {
    "tag": {
      "$ref": "#/components/schemas/RuleTag"
    },
    "value": {
      "$ref": "#/components/schemas/RuleValue"
    }
  },
  "description": "A user-provided stream filtering rule."
}
string RuleTag
{
  "type": "string",
  "example": "Non-retweeted coffee Tweets",
  "description": "A tag meant for the labeling of user provided rules."
}
string RuleValue
{
  "type": "string",
  "example": "coffee -is:retweet",
  "description": "The filterlang value of the rule."
}
object RulesLookupResponse
{
  "type": "object",
  "required": [
    "meta"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Rule"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/RulesResponseMetadata"
    }
  }
}
object RulesRequestSummary
{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "created",
        "not_created",
        "valid",
        "invalid"
      ],
      "properties": {
        "valid": {
          "type": "integer",
          "format": "int32",
          "example": 1,
          "description": "Number of valid user-specified stream filtering rules."
        },
        "created": {
          "type": "integer",
          "format": "int32",
          "example": 1,
          "description": "Number of user-specified stream filtering rules that were created."
        },
        "invalid": {
          "type": "integer",
          "format": "int32",
          "example": 1,
          "description": "Number of invalid user-specified stream filtering rules."
        },
        "not_created": {
          "type": "integer",
          "format": "int32",
          "example": 1,
          "description": "Number of user-specified stream filtering rules that were not created."
        }
      },
      "description": "A summary of the results of the addition of user-specified stream filtering rules."
    },
    {
      "type": "object",
      "required": [
        "deleted",
        "not_deleted"
      ],
      "properties": {
        "deleted": {
          "type": "integer",
          "format": "int32",
          "description": "Number of user-specified stream filtering rules that were deleted."
        },
        "not_deleted": {
          "type": "integer",
          "format": "int32",
          "description": "Number of user-specified stream filtering rules that were not deleted."
        }
      }
    }
  ]
}
object RulesResponseMetadata
{
  "type": "object",
  "required": [
    "sent"
  ],
  "properties": {
    "sent": {
      "type": "string"
    },
    "summary": {
      "$ref": "#/components/schemas/RulesRequestSummary"
    },
    "next_token": {
      "$ref": "#/components/schemas/NextToken"
    },
    "result_count": {
      "type": "integer",
      "format": "int32",
      "description": "Number of Rules in result set."
    }
  }
}
object SearchCount
{
  "type": "object",
  "required": [
    "end",
    "start",
    "tweet_count"
  ],
  "properties": {
    "end": {
      "$ref": "#/components/schemas/End"
    },
    "start": {
      "$ref": "#/components/schemas/Start"
    },
    "tweet_count": {
      "$ref": "#/components/schemas/TweetCount"
    }
  },
  "description": "Represent a Search Count Result."
}
object Space
{
  "type": "object",
  "required": [
    "id",
    "state"
  ],
  "properties": {
    "id": {
      "$ref": "#/components/schemas/SpaceId"
    },
    "lang": {
      "type": "string",
      "example": "en",
      "description": "The language of the Space."
    },
    "state": {
      "enum": [
        "live",
        "scheduled",
        "ended"
      ],
      "type": "string",
      "example": "live",
      "description": "The current state of the Space."
    },
    "title": {
      "type": "string",
      "example": "Spaces are Awesome",
      "description": "The title of the Space."
    },
    "topics": {
      "type": "array",
      "items": {
        "type": "object",
        "example": {
          "id": "848920371311001600",
          "name": "Technology",
          "description": "All about technology"
        },
        "required": [
          "id",
          "name"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "An ID suitable for use in the REST API."
          },
          "name": {
            "type": "string",
            "description": "The name of the given topic."
          },
          "description": {
            "type": "string",
            "description": "The description of the given topic."
          }
        },
        "description": "The Twitter Topic object."
      },
      "description": "The topics of a Space, as selected by its creator."
    },
    "ended_at": {
      "type": "string",
      "format": "date-time",
      "example": "2021-07-06T18:40:40.000Z",
      "description": "End time of the Space."
    },
    "host_ids": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UserId"
      },
      "description": "The user ids for the hosts of the Space."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "example": "2021-07-06T18:40:40.000Z",
      "description": "Creation time of the Space."
    },
    "creator_id": {
      "$ref": "#/components/schemas/UserId"
    },
    "started_at": {
      "type": "string",
      "format": "date-time",
      "example": "2021-07-14T04:35:55.000Z",
      "description": "When the Space was started as a date string."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "example": "2021-07-14T04:35:55.000Z",
      "description": "When the Space was last updated."
    },
    "is_ticketed": {
      "type": "boolean",
      "example": false,
      "description": "Denotes if the Space is a ticketed Space."
    },
    "speaker_ids": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UserId"
      },
      "description": "An array of user ids for people who were speakers in a Space."
    },
    "scheduled_start": {
      "type": "string",
      "format": "date-time",
      "example": "2021-07-06T18:40:40.000Z",
      "description": "A date time stamp for when a Space is scheduled to begin."
    },
    "invited_user_ids": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UserId"
      },
      "description": "An array of user ids for people who were invited to a Space."
    },
    "subscriber_count": {
      "type": "integer",
      "format": "int32",
      "example": 10,
      "description": "The number of people who have either purchased a ticket or set a reminder for this Space."
    },
    "participant_count": {
      "type": "integer",
      "format": "int32",
      "example": 10,
      "description": "The number of participants in a Space."
    }
  },
  "description": ""
}
string SpaceId
{
  "type": "string",
  "example": "1SLjjRYNejbKM",
  "pattern": "^[a-zA-Z0-9]{1,13}$",
  "description": "The unique identifier of this Space."
}
string Start
{
  "type": "string",
  "format": "date-time",
  "description": "The start time of the bucket."
}
object StreamingTweetResponse
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/Tweet"
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    },
    "includes": {
      "$ref": "#/components/schemas/Expansions"
    }
  }
}
object Topic
{
  "type": "object",
  "required": [
    "id",
    "name"
  ],
  "properties": {
    "id": {
      "$ref": "#/components/schemas/TopicId"
    },
    "name": {
      "type": "string",
      "example": "Technology",
      "description": "The name of the given topic."
    },
    "description": {
      "type": "string",
      "example": "All about technology",
      "description": "The description of the given topic."
    }
  },
  "description": "The topic of a Space, as selected by its creator."
}
string TopicId
{
  "type": "string",
  "description": "Unique identifier of this Topic."
}
object Tweet
{
  "type": "object",
  "example": {
    "id": "1346889436626259968",
    "text": "Learn how to use the user Tweet timeline and user mention timeline endpoints in the Twitter API v2 to explore Tweet\\u2026 https:\\/\\/t.co\\/56a0vZUx7i",
    "author_id": "2244994945",
    "created_at": "Wed Jan 06 18:40:40 +0000 2021"
  },
  "required": [
    "id",
    "text",
    "edit_history_tweet_ids"
  ],
  "properties": {
    "id": {
      "$ref": "#/components/schemas/TweetId"
    },
    "geo": {
      "type": "object",
      "properties": {
        "place_id": {
          "$ref": "#/components/schemas/PlaceId"
        },
        "coordinates": {
          "$ref": "#/components/schemas/Point"
        }
      },
      "description": "The location tagged on the Tweet, if the user provided one."
    },
    "lang": {
      "type": "string",
      "example": "en",
      "description": "Language of the Tweet, if detected by Twitter. Returned as a BCP47 language tag."
    },
    "text": {
      "$ref": "#/components/schemas/TweetText"
    },
    "source": {
      "type": "string",
      "description": "This is deprecated."
    },
    "entities": {
      "$ref": "#/components/schemas/FullTextEntities"
    },
    "withheld": {
      "$ref": "#/components/schemas/TweetWithheld"
    },
    "author_id": {
      "$ref": "#/components/schemas/UserId"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "example": "2021-01-06T18:40:40.000Z",
      "description": "Creation time of the Tweet."
    },
    "attachments": {
      "type": "object",
      "properties": {
        "poll_ids": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/PollId"
          },
          "minItems": 1,
          "description": "A list of poll IDs (if polls are attached)."
        },
        "media_keys": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/MediaKey"
          },
          "minItems": 1,
          "description": "A list of Media Keys for each one of the media attachments (if media are attached)."
        }
      },
      "description": "Specifies the type of attachments (if any) present in this Tweet."
    },
    "edit_controls": {
      "type": "object",
      "required": [
        "is_edit_eligible",
        "editable_until",
        "edits_remaining"
      ],
      "properties": {
        "editable_until": {
          "type": "string",
          "format": "date-time",
          "example": "2021-01-06T18:40:40.000Z",
          "description": "Time when Tweet is no longer editable."
        },
        "edits_remaining": {
          "type": "integer",
          "description": "Number of times this Tweet can be edited."
        },
        "is_edit_eligible": {
          "type": "boolean",
          "example": false,
          "description": "Indicates if this Tweet is eligible to be edited."
        }
      }
    },
    "public_metrics": {
      "type": "object",
      "required": [
        "retweet_count",
        "reply_count",
        "like_count",
        "impression_count"
      ],
      "properties": {
        "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."
        },
        "impression_count": {
          "type": "integer",
          "format": "int32",
          "description": "Number of times this Tweet has been viewed."
        }
      },
      "description": "Engagement metrics for the Tweet at the time of the request."
    },
    "reply_settings": {
      "$ref": "#/components/schemas/ReplySettings"
    },
    "conversation_id": {
      "$ref": "#/components/schemas/TweetId"
    },
    "organic_metrics": {
      "type": "object",
      "required": [
        "impression_count",
        "retweet_count",
        "reply_count",
        "like_count"
      ],
      "properties": {
        "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."
        },
        "impression_count": {
          "type": "integer",
          "description": "Number of times this Tweet has been viewed."
        }
      },
      "description": "Organic nonpublic engagement metrics for the Tweet at the time of the request."
    },
    "promoted_metrics": {
      "type": "object",
      "properties": {
        "like_count": {
          "type": "integer",
          "format": "int32",
          "description": "Number of times this Tweet has been liked."
        },
        "reply_count": {
          "type": "integer",
          "format": "int32",
          "description": "Number of times this Tweet has been replied to."
        },
        "retweet_count": {
          "type": "integer",
          "format": "int32",
          "description": "Number of times this Tweet has been Retweeted."
        },
        "impression_count": {
          "type": "integer",
          "format": "int32",
          "description": "Number of times this Tweet has been viewed."
        }
      },
      "description": "Promoted nonpublic engagement metrics for the Tweet at the time of the request."
    },
    "referenced_tweets": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "type",
          "id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/TweetId"
          },
          "type": {
            "enum": [
              "retweeted",
              "quoted",
              "replied_to"
            ],
            "type": "string"
          }
        }
      },
      "minItems": 1,
      "description": "A list of Tweets 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."
    },
    "non_public_metrics": {
      "type": "object",
      "properties": {
        "impression_count": {
          "type": "integer",
          "format": "int32",
          "description": "Number of times this Tweet has been viewed."
        }
      },
      "description": "Nonpublic engagement metrics for the Tweet at the time of the request."
    },
    "possibly_sensitive": {
      "type": "boolean",
      "example": false,
      "description": "Indicates if this Tweet contains URLs marked as sensitive, for example content suitable for mature audiences."
    },
    "context_annotations": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ContextAnnotation"
      },
      "minItems": 1
    },
    "in_reply_to_user_id": {
      "$ref": "#/components/schemas/UserId"
    },
    "edit_history_tweet_ids": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TweetId"
      },
      "minItems": 1,
      "description": "A list of Tweet Ids in this Tweet chain."
    }
  }
}
object TweetComplianceData
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/TweetDeleteComplianceSchema"
    },
    {
      "$ref": "#/components/schemas/TweetWithheldComplianceSchema"
    },
    {
      "$ref": "#/components/schemas/TweetDropComplianceSchema"
    },
    {
      "$ref": "#/components/schemas/TweetUndropComplianceSchema"
    },
    {
      "$ref": "#/components/schemas/TweetEditComplianceSchema"
    }
  ],
  "description": "Tweet compliance data."
}
object TweetComplianceSchema
{
  "type": "object",
  "required": [
    "tweet",
    "event_at"
  ],
  "properties": {
    "tweet": {
      "type": "object",
      "required": [
        "id",
        "author_id"
      ],
      "properties": {
        "id": {
          "$ref": "#/components/schemas/TweetId"
        },
        "author_id": {
          "$ref": "#/components/schemas/UserId"
        }
      }
    },
    "event_at": {
      "type": "string",
      "format": "date-time",
      "example": "2021-07-06T18:40:40.000Z",
      "description": "Event time."
    },
    "quote_tweet_id": {
      "$ref": "#/components/schemas/TweetId"
    }
  }
}
object TweetComplianceStreamResponse
{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "data"
      ],
      "properties": {
        "data": {
          "$ref": "#/components/schemas/TweetComplianceData"
        }
      },
      "description": "Compliance event."
    },
    {
      "type": "object",
      "required": [
        "errors"
      ],
      "properties": {
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Problem"
          },
          "minItems": 1
        }
      }
    }
  ],
  "description": "Tweet compliance stream events."
}
integer TweetCount
{
  "type": "integer",
  "description": "The count for the bucket."
}
object TweetCreateRequest
{
  "type": "object",
  "properties": {
    "geo": {
      "type": "object",
      "properties": {
        "place_id": {
          "type": "string"
        }
      },
      "description": "Place ID being attached to the Tweet for geo location."
    },
    "poll": {
      "type": "object",
      "required": [
        "options",
        "duration_minutes"
      ],
      "properties": {
        "options": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 25,
            "minLength": 1,
            "description": "The text of a poll choice."
          },
          "maxItems": 4,
          "minItems": 2
        },
        "reply_settings": {
          "enum": [
            "following",
            "mentionedUsers"
          ],
          "type": "string",
          "description": "Settings to indicate who can reply to the Tweet."
        },
        "duration_minutes": {
          "type": "integer",
          "format": "int32",
          "maximum": 10080,
          "minimum": 5,
          "description": "Duration of the poll in minutes."
        }
      },
      "description": "Poll options for a Tweet with a poll. This is mutually exclusive from Media, Quote Tweet Id, and Card URI."
    },
    "text": {
      "$ref": "#/components/schemas/TweetText"
    },
    "media": {
      "type": "object",
      "required": [
        "media_ids"
      ],
      "properties": {
        "media_ids": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/MediaId"
          },
          "maxItems": 4,
          "minItems": 1,
          "description": "A list of Media Ids to be attached to a created Tweet."
        },
        "tagged_user_ids": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/UserId"
          },
          "maxItems": 10,
          "minItems": 0,
          "description": "A list of User Ids to be tagged in the media for created Tweet."
        }
      },
      "description": "Media information being attached to created Tweet. This is mutually exclusive from Quote Tweet Id, Poll, and Card URI."
    },
    "reply": {
      "type": "object",
      "required": [
        "in_reply_to_tweet_id"
      ],
      "properties": {
        "in_reply_to_tweet_id": {
          "$ref": "#/components/schemas/TweetId"
        },
        "exclude_reply_user_ids": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/UserId"
          },
          "description": "A list of User Ids to be excluded from the reply Tweet."
        }
      },
      "description": "Tweet information of the Tweet being replied to."
    },
    "card_uri": {
      "type": "string",
      "description": "Card Uri Parameter. This is mutually exclusive from Quote Tweet Id, Poll, Media, and Direct Message Deep Link."
    },
    "nullcast": {
      "type": "boolean",
      "default": false,
      "description": "Nullcasted (promoted-only) Tweets do not appear in the public timeline and are not served to followers."
    },
    "quote_tweet_id": {
      "$ref": "#/components/schemas/TweetId"
    },
    "reply_settings": {
      "enum": [
        "following",
        "mentionedUsers"
      ],
      "type": "string",
      "description": "Settings to indicate who can reply to the Tweet."
    },
    "direct_message_deep_link": {
      "type": "string",
      "description": "Link to take the conversation from the public timeline to a private Direct Message."
    },
    "for_super_followers_only": {
      "type": "boolean",
      "default": false,
      "description": "Exclusive Tweet for super followers."
    }
  }
}
object TweetCreateResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "id",
        "text"
      ],
      "properties": {
        "id": {
          "$ref": "#/components/schemas/TweetId"
        },
        "text": {
          "$ref": "#/components/schemas/TweetText"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object TweetDeleteComplianceSchema
{
  "type": "object",
  "required": [
    "delete"
  ],
  "properties": {
    "delete": {
      "$ref": "#/components/schemas/TweetComplianceSchema"
    }
  }
}
object TweetDeleteResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "deleted"
      ],
      "properties": {
        "deleted": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object TweetDropComplianceSchema
{
  "type": "object",
  "required": [
    "drop"
  ],
  "properties": {
    "drop": {
      "$ref": "#/components/schemas/TweetComplianceSchema"
    }
  }
}
object TweetEditComplianceObjectSchema
{
  "type": "object",
  "required": [
    "tweet",
    "event_at",
    "initial_tweet_id",
    "edit_tweet_ids"
  ],
  "properties": {
    "tweet": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "$ref": "#/components/schemas/TweetId"
        }
      }
    },
    "event_at": {
      "type": "string",
      "format": "date-time",
      "example": "2021-07-06T18:40:40.000Z",
      "description": "Event time."
    },
    "edit_tweet_ids": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TweetId"
      },
      "minItems": 1
    },
    "initial_tweet_id": {
      "$ref": "#/components/schemas/TweetId"
    }
  }
}
object TweetEditComplianceSchema
{
  "type": "object",
  "required": [
    "tweet_edit"
  ],
  "properties": {
    "tweet_edit": {
      "$ref": "#/components/schemas/TweetEditComplianceObjectSchema"
    }
  }
}
object TweetHideRequest
{
  "type": "object",
  "required": [
    "hidden"
  ],
  "properties": {
    "hidden": {
      "type": "boolean"
    }
  }
}
object TweetHideResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "hidden": {
          "type": "boolean"
        }
      }
    }
  }
}
string TweetId
{
  "type": "string",
  "example": "1346889436626259968",
  "pattern": "^[0-9]{1,19}$",
  "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."
}
object TweetLabelData
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/TweetNoticeSchema"
    },
    {
      "$ref": "#/components/schemas/TweetUnviewableSchema"
    }
  ],
  "description": "Tweet label data."
}
object TweetLabelStreamResponse
{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "data"
      ],
      "properties": {
        "data": {
          "$ref": "#/components/schemas/TweetLabelData"
        }
      },
      "description": "Tweet Label event."
    },
    {
      "type": "object",
      "required": [
        "errors"
      ],
      "properties": {
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Problem"
          },
          "minItems": 1
        }
      }
    }
  ],
  "description": "Tweet label stream events."
}
object TweetNotice
{
  "type": "object",
  "required": [
    "tweet",
    "event_type",
    "event_at",
    "application"
  ],
  "properties": {
    "tweet": {
      "type": "object",
      "required": [
        "id",
        "author_id"
      ],
      "properties": {
        "id": {
          "$ref": "#/components/schemas/TweetId"
        },
        "author_id": {
          "$ref": "#/components/schemas/UserId"
        }
      }
    },
    "details": {
      "type": "string",
      "description": "Information shown on the Tweet label"
    },
    "event_at": {
      "type": "string",
      "format": "date-time",
      "example": "2021-07-06T18:40:40.000Z",
      "description": "Event time."
    },
    "event_type": {
      "type": "string",
      "example": "misleading",
      "description": "The type of label on the Tweet"
    },
    "application": {
      "type": "string",
      "example": "apply",
      "description": "If the label is being applied or removed. Possible values are ‘apply’ or ‘remove’."
    },
    "label_title": {
      "type": "string",
      "description": "Title/header of the Tweet label"
    },
    "extended_details_url": {
      "type": "string",
      "description": "Link to more information about this kind of label"
    }
  }
}
object TweetNoticeSchema
{
  "type": "object",
  "required": [
    "public_tweet_notice"
  ],
  "properties": {
    "public_tweet_notice": {
      "$ref": "#/components/schemas/TweetNotice"
    }
  }
}
object TweetTakedownComplianceSchema
{
  "type": "object",
  "required": [
    "tweet",
    "withheld_in_countries",
    "event_at"
  ],
  "properties": {
    "tweet": {
      "type": "object",
      "required": [
        "id",
        "author_id"
      ],
      "properties": {
        "id": {
          "$ref": "#/components/schemas/TweetId"
        },
        "author_id": {
          "$ref": "#/components/schemas/UserId"
        }
      }
    },
    "event_at": {
      "type": "string",
      "format": "date-time",
      "example": "2021-07-06T18:40:40.000Z",
      "description": "Event time."
    },
    "quote_tweet_id": {
      "$ref": "#/components/schemas/TweetId"
    },
    "withheld_in_countries": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CountryCode"
      },
      "minItems": 1
    }
  }
}
string TweetText
{
  "type": "string",
  "example": "Learn how to use the user Tweet timeline and user mention timeline endpoints in the Twitter API v2 to explore Tweet\\u2026 https:\\/\\/t.co\\/56a0vZUx7i",
  "description": "The content of the Tweet."
}
object TweetUndropComplianceSchema
{
  "type": "object",
  "required": [
    "undrop"
  ],
  "properties": {
    "undrop": {
      "$ref": "#/components/schemas/TweetComplianceSchema"
    }
  }
}
object TweetUnviewable
{
  "type": "object",
  "required": [
    "tweet",
    "event_at",
    "application"
  ],
  "properties": {
    "tweet": {
      "type": "object",
      "required": [
        "id",
        "author_id"
      ],
      "properties": {
        "id": {
          "$ref": "#/components/schemas/TweetId"
        },
        "author_id": {
          "$ref": "#/components/schemas/UserId"
        }
      }
    },
    "event_at": {
      "type": "string",
      "format": "date-time",
      "example": "2021-07-06T18:40:40.000Z",
      "description": "Event time."
    },
    "application": {
      "type": "string",
      "example": "apply",
      "description": "If the label is being applied or removed. Possible values are ‘apply’ or ‘remove’."
    }
  }
}
object TweetUnviewableSchema
{
  "type": "object",
  "required": [
    "public_tweet_unviewable"
  ],
  "properties": {
    "public_tweet_unviewable": {
      "$ref": "#/components/schemas/TweetUnviewable"
    }
  }
}
object TweetWithheld
{
  "type": "object",
  "required": [
    "copyright",
    "country_codes"
  ],
  "properties": {
    "scope": {
      "enum": [
        "tweet",
        "user"
      ],
      "type": "string",
      "description": "Indicates whether the content being withheld is the `tweet` or a `user`."
    },
    "copyright": {
      "type": "boolean",
      "description": "Indicates if the content is being withheld for on the basis of copyright infringement."
    },
    "country_codes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CountryCode"
      },
      "minItems": 1,
      "description": "Provides a list of countries where this content is not available.",
      "uniqueItems": true
    }
  },
  "description": "Indicates withholding details for [withheld content](https://help.twitter.com/en/rules-and-policies/tweet-withheld-by-country)."
}
object TweetWithheldComplianceSchema
{
  "type": "object",
  "required": [
    "withheld"
  ],
  "properties": {
    "withheld": {
      "$ref": "#/components/schemas/TweetTakedownComplianceSchema"
    }
  }
}
string UploadExpiration
{
  "type": "string",
  "format": "date-time",
  "example": "2021-01-06T18:40:40.000Z",
  "description": "Expiration time of the upload URL."
}
string UploadUrl
{
  "type": "string",
  "format": "uri",
  "description": "URL to which the user will upload their Tweet or user IDs."
}
string Url
{
  "type": "string",
  "format": "uri",
  "example": "https://developer.twitter.com/en/docs/twitter-api",
  "description": "A validly formatted URL."
}
object UrlEntity
{
  "allOf": [
    {
      "$ref": "#/components/schemas/EntityIndicesInclusiveExclusive"
    },
    {
      "$ref": "#/components/schemas/UrlFields"
    }
  ],
  "description": "Represent the portion of text recognized as a URL, and its start and end position within the text."
}
object UrlFields
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "$ref": "#/components/schemas/Url"
    },
    "title": {
      "type": "string",
      "example": "Introducing the v2 follow lookup endpoints",
      "description": "Title of the page the URL points to."
    },
    "images": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UrlImage"
      },
      "minItems": 1
    },
    "status": {
      "$ref": "#/components/schemas/HttpStatusCode"
    },
    "media_key": {
      "$ref": "#/components/schemas/MediaKey"
    },
    "description": {
      "type": "string",
      "example": "This is a description of the website.",
      "description": "Description of the URL landing page."
    },
    "display_url": {
      "type": "string",
      "example": "twittercommunity.com/t/introducing-…",
      "description": "The URL as displayed in the Twitter client."
    },
    "unwound_url": {
      "type": "string",
      "format": "uri",
      "example": "https://twittercommunity.com/t/introducing-the-v2-follow-lookup-endpoints/147118",
      "description": "Fully resolved url."
    },
    "expanded_url": {
      "$ref": "#/components/schemas/Url"
    }
  },
  "description": "Represent the portion of text recognized as a URL."
}
object UrlImage
{
  "type": "object",
  "properties": {
    "url": {
      "$ref": "#/components/schemas/Url"
    },
    "width": {
      "$ref": "#/components/schemas/MediaWidth"
    },
    "height": {
      "$ref": "#/components/schemas/MediaHeight"
    }
  },
  "description": "Represent the information for the URL image."
}
object UsageCapExceededProblem
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Problem"
    },
    {
      "type": "object",
      "properties": {
        "scope": {
          "enum": [
            "Account",
            "Product"
          ],
          "type": "string"
        },
        "period": {
          "enum": [
            "Daily",
            "Monthly"
          ],
          "type": "string"
        }
      }
    }
  ],
  "description": "A problem that indicates that a usage cap has been exceeded."
}
object User
{
  "type": "object",
  "example": {
    "id": "2244994945",
    "name": "Twitter Dev",
    "username": "TwitterDev",
    "protected": false,
    "created_at": "2013-12-14T04:35:55.000Z"
  },
  "required": [
    "id",
    "name",
    "username"
  ],
  "properties": {
    "id": {
      "$ref": "#/components/schemas/UserId"
    },
    "url": {
      "type": "string",
      "description": "The URL specified in the User's profile."
    },
    "name": {
      "type": "string",
      "description": "The friendly name of this User, as shown on their profile."
    },
    "entities": {
      "type": "object",
      "properties": {
        "url": {
          "type": "object",
          "properties": {
            "urls": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/UrlEntity"
              },
              "minItems": 1
            }
          },
          "description": "Expanded details for the URL specified in the User's profile, with start and end indices."
        },
        "description": {
          "$ref": "#/components/schemas/FullTextEntities"
        }
      },
      "description": "A list of metadata found in the User's profile description."
    },
    "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."
    },
    "username": {
      "$ref": "#/components/schemas/UserName"
    },
    "verified": {
      "type": "boolean",
      "description": "Indicate if this User is a verified Twitter User."
    },
    "withheld": {
      "$ref": "#/components/schemas/UserWithheld"
    },
    "protected": {
      "type": "boolean",
      "description": "Indicates if this User has chosen to protect their Tweets (in other words, if this User's Tweets are private)."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "Creation time of this User."
    },
    "description": {
      "type": "string",
      "description": "The text of this User's profile description (also known as bio), if the User provided one."
    },
    "verified_type": {
      "type": "string",
      "description": "The Twitter Blue verified type of the user, eg: blue, government, business or none."
    },
    "public_metrics": {
      "type": "object",
      "required": [
        "followers_count",
        "following_count",
        "tweet_count",
        "listed_count"
      ],
      "properties": {
        "tweet_count": {
          "type": "integer",
          "description": "The number of Tweets (including Retweets) posted by this User."
        },
        "listed_count": {
          "type": "integer",
          "description": "The number of lists that include this User."
        },
        "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."
        }
      },
      "description": "A list of metrics for this User."
    },
    "pinned_tweet_id": {
      "$ref": "#/components/schemas/TweetId"
    },
    "profile_image_url": {
      "type": "string",
      "format": "uri",
      "description": "The URL to the profile image for this User."
    }
  },
  "description": "The Twitter User object."
}
object UserComplianceData
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/UserProtectComplianceSchema"
    },
    {
      "$ref": "#/components/schemas/UserUnprotectComplianceSchema"
    },
    {
      "$ref": "#/components/schemas/UserDeleteComplianceSchema"
    },
    {
      "$ref": "#/components/schemas/UserUndeleteComplianceSchema"
    },
    {
      "$ref": "#/components/schemas/UserSuspendComplianceSchema"
    },
    {
      "$ref": "#/components/schemas/UserUnsuspendComplianceSchema"
    },
    {
      "$ref": "#/components/schemas/UserWithheldComplianceSchema"
    },
    {
      "$ref": "#/components/schemas/UserScrubGeoSchema"
    },
    {
      "$ref": "#/components/schemas/UserProfileModificationComplianceSchema"
    }
  ],
  "description": "User compliance data."
}
object UserComplianceSchema
{
  "type": "object",
  "required": [
    "user",
    "event_at"
  ],
  "properties": {
    "user": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "$ref": "#/components/schemas/UserId"
        }
      }
    },
    "event_at": {
      "type": "string",
      "format": "date-time",
      "example": "2021-07-06T18:40:40.000Z",
      "description": "Event time."
    }
  }
}
object UserComplianceStreamResponse
{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "data"
      ],
      "properties": {
        "data": {
          "$ref": "#/components/schemas/UserComplianceData"
        }
      },
      "description": "User compliance event."
    },
    {
      "type": "object",
      "required": [
        "errors"
      ],
      "properties": {
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Problem"
          },
          "minItems": 1
        }
      }
    }
  ],
  "description": "User compliance stream events."
}
object UserDeleteComplianceSchema
{
  "type": "object",
  "required": [
    "user_delete"
  ],
  "properties": {
    "user_delete": {
      "$ref": "#/components/schemas/UserComplianceSchema"
    }
  }
}
string UserId
{
  "type": "string",
  "example": "2244994945",
  "pattern": "^[0-9]{1,19}$",
  "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."
}
string UserIdMatchesAuthenticatedUser
{
  "type": "string",
  "example": "2244994945",
  "description": "Unique identifier of this User. The value must be the same as the authenticated user."
}
string UserName
{
  "type": "string",
  "pattern": "^[A-Za-z0-9_]{1,15}$",
  "description": "The Twitter handle (screen name) of this user."
}
object UserProfileModificationComplianceSchema
{
  "type": "object",
  "required": [
    "user_profile_modification"
  ],
  "properties": {
    "user_profile_modification": {
      "$ref": "#/components/schemas/UserProfileModificationObjectSchema"
    }
  }
}
object UserProfileModificationObjectSchema
{
  "type": "object",
  "required": [
    "user",
    "profile_field",
    "new_value",
    "event_at"
  ],
  "properties": {
    "user": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "$ref": "#/components/schemas/UserId"
        }
      }
    },
    "event_at": {
      "type": "string",
      "format": "date-time",
      "example": "2021-07-06T18:40:40.000Z",
      "description": "Event time."
    },
    "new_value": {
      "type": "string"
    },
    "profile_field": {
      "type": "string"
    }
  }
}
object UserProtectComplianceSchema
{
  "type": "object",
  "required": [
    "user_protect"
  ],
  "properties": {
    "user_protect": {
      "$ref": "#/components/schemas/UserComplianceSchema"
    }
  }
}
object UserScrubGeoObjectSchema
{
  "type": "object",
  "required": [
    "user",
    "up_to_tweet_id",
    "event_at"
  ],
  "properties": {
    "user": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "$ref": "#/components/schemas/UserId"
        }
      }
    },
    "event_at": {
      "type": "string",
      "format": "date-time",
      "example": "2021-07-06T18:40:40.000Z",
      "description": "Event time."
    },
    "up_to_tweet_id": {
      "$ref": "#/components/schemas/TweetId"
    }
  }
}
object UserScrubGeoSchema
{
  "type": "object",
  "required": [
    "scrub_geo"
  ],
  "properties": {
    "scrub_geo": {
      "$ref": "#/components/schemas/UserScrubGeoObjectSchema"
    }
  }
}
object UserSuspendComplianceSchema
{
  "type": "object",
  "required": [
    "user_suspend"
  ],
  "properties": {
    "user_suspend": {
      "$ref": "#/components/schemas/UserComplianceSchema"
    }
  }
}
object UserTakedownComplianceSchema
{
  "type": "object",
  "required": [
    "user",
    "withheld_in_countries",
    "event_at"
  ],
  "properties": {
    "user": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "$ref": "#/components/schemas/UserId"
        }
      }
    },
    "event_at": {
      "type": "string",
      "format": "date-time",
      "example": "2021-07-06T18:40:40.000Z",
      "description": "Event time."
    },
    "withheld_in_countries": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CountryCode"
      },
      "minItems": 1
    }
  }
}
object UserUndeleteComplianceSchema
{
  "type": "object",
  "required": [
    "user_undelete"
  ],
  "properties": {
    "user_undelete": {
      "$ref": "#/components/schemas/UserComplianceSchema"
    }
  }
}
object UserUnprotectComplianceSchema
{
  "type": "object",
  "required": [
    "user_unprotect"
  ],
  "properties": {
    "user_unprotect": {
      "$ref": "#/components/schemas/UserComplianceSchema"
    }
  }
}
object UserUnsuspendComplianceSchema
{
  "type": "object",
  "required": [
    "user_unsuspend"
  ],
  "properties": {
    "user_unsuspend": {
      "$ref": "#/components/schemas/UserComplianceSchema"
    }
  }
}
object UserWithheld
{
  "type": "object",
  "required": [
    "country_codes"
  ],
  "properties": {
    "scope": {
      "enum": [
        "user"
      ],
      "type": "string",
      "description": "Indicates that the content being withheld is a `user`."
    },
    "country_codes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CountryCode"
      },
      "minItems": 1,
      "description": "Provides a list of countries where this content is not available.",
      "uniqueItems": true
    }
  },
  "description": "Indicates withholding details for [withheld content](https://help.twitter.com/en/rules-and-policies/tweet-withheld-by-country)."
}
object UserWithheldComplianceSchema
{
  "type": "object",
  "required": [
    "user_withheld"
  ],
  "properties": {
    "user_withheld": {
      "$ref": "#/components/schemas/UserTakedownComplianceSchema"
    }
  }
}
object UsersFollowingCreateRequest
{
  "type": "object",
  "required": [
    "target_user_id"
  ],
  "properties": {
    "target_user_id": {
      "$ref": "#/components/schemas/UserId"
    }
  }
}
object UsersFollowingCreateResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "following": {
          "type": "boolean"
        },
        "pending_follow": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object UsersFollowingDeleteResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "following": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object UsersLikesCreateRequest
{
  "type": "object",
  "required": [
    "tweet_id"
  ],
  "properties": {
    "tweet_id": {
      "$ref": "#/components/schemas/TweetId"
    }
  }
}
object UsersLikesCreateResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "liked": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object UsersLikesDeleteResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "liked": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object UsersRetweetsCreateRequest
{
  "type": "object",
  "required": [
    "tweet_id"
  ],
  "properties": {
    "tweet_id": {
      "$ref": "#/components/schemas/TweetId"
    }
  }
}
object UsersRetweetsCreateResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "retweeted": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object UsersRetweetsDeleteResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "retweeted": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object Variant
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "The url to the media."
    },
    "bit_rate": {
      "type": "integer",
      "description": "The bit rate of the media."
    },
    "content_type": {
      "type": "string",
      "description": "The content type of the media."
    }
  }
}
array Variants
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Variant"
  },
  "description": "An array of all available variants of the media."
}
object Video
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Media"
    },
    {
      "type": "object",
      "properties": {
        "variants": {
          "$ref": "#/components/schemas/Variants"
        },
        "duration_ms": {
          "type": "integer"
        },
        "public_metrics": {
          "type": "object",
          "properties": {
            "view_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of times this video has been viewed."
            }
          },
          "description": "Engagement metrics for the Media at the time of the request."
        },
        "organic_metrics": {
          "type": "object",
          "properties": {
            "view_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of times this video has been viewed."
            },
            "playback_0_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 0% of the video."
            },
            "playback_25_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 25% of the video."
            },
            "playback_50_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 50% of the video."
            },
            "playback_75_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 75% of the video."
            },
            "playback_100_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 100% of the video."
            }
          },
          "description": "Organic nonpublic engagement metrics for the Media at the time of the request."
        },
        "promoted_metrics": {
          "type": "object",
          "properties": {
            "view_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of times this video has been viewed."
            },
            "playback_0_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 0% of the video."
            },
            "playback_25_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 25% of the video."
            },
            "playback_50_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 50% of the video."
            },
            "playback_75_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 75% of the video."
            },
            "playback_100_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 100% of the video."
            }
          },
          "description": "Promoted nonpublic engagement metrics for the Media at the time of the request."
        },
        "preview_image_url": {
          "type": "string",
          "format": "uri"
        },
        "non_public_metrics": {
          "type": "object",
          "properties": {
            "playback_0_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 0% of the video."
            },
            "playback_25_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 25% of the video."
            },
            "playback_50_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 50% of the video."
            },
            "playback_75_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 75% of the video."
            },
            "playback_100_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 100% of the video."
            }
          },
          "description": "Nonpublic engagement metrics for the Media at the time of the request."
        }
      }
    }
  ]
}